Interface IPaintTo3D
Interface to paint on a OpenGL, DirectX, GDI or some other output device. This interface may still change in future it is provided for informational purposes only.
Namespace: CADability
Assembly: CADability.dll
Syntax
public interface IPaintTo3D
Properties
| Improve this Doc View SourceCapabilities
Returns the capabilities of this implementation of the paint interface
Declaration
PaintCapabilities Capabilities { get; }
Property Value
| Type | Description |
|---|---|
| PaintCapabilities |
DelayAll
Depricated, not implemented in any current paint interface
Declaration
bool DelayAll { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
DelayText
Depricated, not implemented in any current paint interface
Declaration
bool DelayText { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
DontRecalcTriangulation
Deprecated, currently not used
Declaration
bool DontRecalcTriangulation { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
FacesBehindEdgesOffset
Internal use only.
Declaration
IDisposable FacesBehindEdgesOffset { get; }
Property Value
| Type | Description |
|---|---|
| System.IDisposable |
IsBitmap
Declaration
bool IsBitmap { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
PaintEdges
Determins whether curves are included in painting
Declaration
bool PaintEdges { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
PaintSurfaceEdges
Determins whether edges of faces should also be painted
Declaration
bool PaintSurfaceEdges { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
PaintSurfaces
Determins whether surfaces (triangles) are included in painting
Declaration
bool PaintSurfaces { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
PixelToWorld
Returns a factor that translates a one pixel distance into world coordinates
Declaration
double PixelToWorld { get; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Precision
Gets or sets the precision of the display. (used for tesselation or curve approximation)
Declaration
double Precision { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
SelectColor
Gets or sets the select color
Declaration
Color SelectColor { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Drawing.Color |
SelectMode
Gets or sets the flag whether the next objects should be painted in the "select mode"
Declaration
bool SelectMode { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
TriangulateText
Will text objects be tesselated
Declaration
bool TriangulateText { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
UseLineWidth
Should the line width be applied to painting curves
Declaration
bool UseLineWidth { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Methods
| Improve this Doc View SourceArc(GeoPoint, GeoVector, GeoVector, Double, Double)
Draws an (elliptical) arc according to the provided parameters. May only be used when the implementation supports arcs (see CanDoArcs.
Declaration
void Arc(GeoPoint center, GeoVector majorAxis, GeoVector minorAxis, double startParameter, double sweepParameter)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint | center | The center of the arc |
| GeoVector | majorAxis | Major axis, also defines the radius |
| GeoVector | minorAxis | Minor axis, also defines the radius. When painting a circular arc, minorAxis and majorAxis must have the same length |
| System.Double | startParameter | Radian value of the starting position (0 is direction of majorAxis) |
| System.Double | sweepParameter | Radian for the sweep angle |
AvoidColor(Color)
Never use this color for drawing (because it is the background color)
Declaration
void AvoidColor(Color color)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Color | color | Color to avoid |
Blending(Boolean)
OpenGL specific, set blending mode
Declaration
void Blending(bool on)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | on |
Clear(Color)
Clear the whole area with this color. Used before painting objects.
Declaration
void Clear(Color background)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Color | background | Color to clear display with |
CloseFigure()
Closes a subfigure while defining a path. Subfigures are the enclosing path and the holes to be spared. Only valid after OpenPath() and before ClosePath(Color) have been called.
Declaration
void CloseFigure()
CloseList()
Close the display list OpenList().
Declaration
IPaintTo3DList CloseList()
Returns
| Type | Description |
|---|---|
| IPaintTo3DList | An object resembling the display list |
ClosePath(Color)
Closes the path which was started with OpenPath() and fills the interior with the provided color.
Declaration
void ClosePath(Color color)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Color | color | Color to fill the path with. |
DisplayBitmap(GeoPoint, Bitmap)
Displays the provided bitmap at the provided location. The bitmap always faces the viewer. PrepareBitmap(Bitmap, Int32, Int32) has been called or must be called prior to this method.
Declaration
void DisplayBitmap(GeoPoint p, Bitmap bitmap)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint | p | Where to Paint |
| System.Drawing.Bitmap | bitmap | Th ebitmap to paint |
DisplayIcon(GeoPoint, Bitmap)
Displays the provided icon at the provided position. PrepareIcon(Bitmap) has been called or must be called before this method is called. The icon aleasy faces the viewer, no perspective of the projection is applied.
Declaration
void DisplayIcon(GeoPoint p, Bitmap icon)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint | p | Where to draw the icon (world coordinates) |
| System.Drawing.Bitmap | icon | The icon to draw |
Dispose()
Will be called when the assoziated control is closed.
Declaration
void Dispose()
FilledPolyline(GeoPoint[])
Deprecated, will not be used from within CADability.
Declaration
void FilledPolyline(GeoPoint[] points)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint[] | points |
FillRect2D(PointF, PointF)
Fill the axis oriented rectangle with the current color. Usually used for background painting.
Declaration
void FillRect2D(PointF p1, PointF p2)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.PointF | p1 | Lower left point of the rectangle |
| System.Drawing.PointF | p2 | Upper right point of the rectangle |
FinishPaint()
Call when a frame is finished and the display buffers should now be switched (if using two display buffers)
Declaration
void FinishPaint()
FreeUnusedLists()
Only used internally, no need to call.
Declaration
void FreeUnusedLists()
Line2D(PointF, PointF)
Paint a 2D line in the pixel coordinates system of the display. Usually used for background painting. Currently not used.
Declaration
void Line2D(PointF p1, PointF p2)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.PointF | p1 | Start point |
| System.Drawing.PointF | p2 | End point |
Line2D(Int32, Int32, Int32, Int32)
Paint a 2D line in the pixel coordinates system of the display. Usually used for background painting.
Declaration
void Line2D(int sx, int sy, int ex, int ey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | sx | Start x-coordinate |
| System.Int32 | sy | Start y-coordinate |
| System.Int32 | ex | End x-coordinate |
| System.Int32 | ey | End y-coordinate |
List(IPaintTo3DList)
Paint the provided display list.
Declaration
void List(IPaintTo3DList paintThisList)
Parameters
| Type | Name | Description |
|---|---|---|
| IPaintTo3DList | paintThisList | Display list to paint |
MakeCurrent()
Will be called before any other paint methods are called. May be called multiple times after
Declaration
void MakeCurrent()
MakeList(List<IPaintTo3DList>)
Makes a new display list as an assembly of the provided lists.
Declaration
IPaintTo3DList MakeList(List<IPaintTo3DList> sublists)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.List<IPaintTo3DList> | sublists | List to assemble |
Returns
| Type | Description |
|---|---|
| IPaintTo3DList | Created display list |
Nurbs(GeoPoint[], Double[], Double[], Int32)
Deprecated, not used anymore and not implemented by the CADability display drivers.
Declaration
void Nurbs(GeoPoint[] poles, double[] weights, double[] knots, int degree)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint[] | poles | |
| System.Double[] | weights | |
| System.Double[] | knots | |
| System.Int32 | degree |
OpenList()
Opens a new display list. All subsequent calls to paint methods will be stred in the list. When CloseList() will be called the object resembling the list will be returned. Only the following method calls are allowed while a displaylist is open: Polyline(GeoPoint[]), FilledPolyline(GeoPoint[]), Points(GeoPoint[], Single, PointSymbol), Triangle(GeoPoint[], GeoVector[], Int32[]), RectangularBitmap(Bitmap, GeoPoint, GeoVector, GeoVector), Text(GeoVector, GeoVector, GeoPoint, String, String, FontStyle, Text.AlignMode, Text.LineAlignMode), DisplayIcon(GeoPoint, Bitmap), DisplayBitmap(GeoPoint, Bitmap), List(IPaintTo3DList)
Declaration
void OpenList()
OpenPath()
When the implementation supports Paths (see CanFillPaths), this call will start recording calls to Polyline(GeoPoint[]) and Arc(GeoPoint, GeoVector, GeoVector, Double, Double) until ClosePath(Color) is called.
Declaration
void OpenPath()
PaintFaces(PaintTo3D.PaintMode)
Faces are painted with a small offset to the backgroung, wheras curves are painted with a small offset to the front. This ensures proper visibility of edges that lie on faces.
Declaration
void PaintFaces(PaintTo3D.PaintMode paintMode)
Parameters
| Type | Name | Description |
|---|---|---|
| PaintTo3D.PaintMode | paintMode | Paint faces, curves or both (PaintTo3D.PaintMode) |
Point2D(Int32, Int32)
Deprecated, currently not used and not implemented
Declaration
void Point2D(int x, int y)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | x | |
| System.Int32 | y |
Points(GeoPoint[], Single, PointSymbol)
Draws simple pixel based points e.g. for background grid display.
Declaration
void Points(GeoPoint[] points, float size, PointSymbol pointSymbol)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint[] | points | |
| System.Single | size | |
| PointSymbol | pointSymbol |
Polyline(GeoPoint[])
Draws a sequence of lines.
Declaration
void Polyline(GeoPoint[] points)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint[] | points | The points to connect |
PopModOp()
Undoes the previously called PushMultModOp(ModOp)
Declaration
void PopModOp()
PopState()
Restores the previously saved state
Declaration
void PopState()
PrepareBitmap(Bitmap)
Similar to PrepareBitmap(Bitmap, Int32, Int32) with origin set to (0,0)
Declaration
void PrepareBitmap(Bitmap bitmap)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Bitmap | bitmap | The bitmap. |
PrepareBitmap(Bitmap, Int32, Int32)
Assure that the bitmap
will be available when DisplayIcon(GeoPoint, Bitmap) will subsequently be called.
(Some implementations cache the bitmap or transform it into an convenient format)
Declaration
void PrepareBitmap(Bitmap bitmap, int xoffset, int yoffset)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Bitmap | bitmap | The bitmap |
| System.Int32 | xoffset | x-component of the origin that defines the insertion point (e.g. to center the bitmap) |
| System.Int32 | yoffset | y-component of the origin |
PrepareIcon(Bitmap)
Assure that the icon
will be available when DisplayIcon(GeoPoint, Bitmap) will subsequently be called.
(Some implementations cache the icon or transform it into an convenient format)
Declaration
void PrepareIcon(Bitmap icon)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Bitmap | icon | The icon |
PreparePointSymbol(PointSymbol)
Assure that the point symbol is loaded
Declaration
void PreparePointSymbol(PointSymbol pointSymbol)
Parameters
| Type | Name | Description |
|---|---|---|
| PointSymbol | pointSymbol |
PrepareText(String, String, FontStyle)
Assure that the charactres in textString
will be available when
Text(GeoVector, GeoVector, GeoPoint, String, String, FontStyle, Text.AlignMode, Text.LineAlignMode) is called.
Declaration
void PrepareText(string fontName, string textString, FontStyle fontStyle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | fontName | Name of the font |
| System.String | textString | String to be painted |
| System.Drawing.FontStyle | fontStyle | Additional font style (bold, italic, etc.) |
PushMultModOp(ModOp)
Sets a matrix to multiply all objects beeing displayed with. This matrix will be applied additionally to the current matrix
Declaration
void PushMultModOp(ModOp insertion)
Parameters
| Type | Name | Description |
|---|---|---|
| ModOp | insertion | New matrix |
PushState()
Saves the current state.
Declaration
void PushState()
RectangularBitmap(Bitmap, GeoPoint, GeoVector, GeoVector)
Draws a rectangular bitmap at the provided location
with directionWidth
specifying the direction of the lower edge of the bitmap and directionHeight
specifying the direction of the left edge of the bitmap. PrepareBitmap(Bitmap, Int32, Int32) must be called
before this method is called.
Declaration
void RectangularBitmap(Bitmap bitmap, GeoPoint location, GeoVector directionWidth, GeoVector directionHeight)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Bitmap | bitmap | The bitmap to draw |
| GeoPoint | location | Location of the lower left corner of the bitmap |
| GeoVector | directionWidth | Direction of the lower edge of the bitmap |
| GeoVector | directionHeight | Direction of the left edge of the bitmap |
Resize(Int32, Int32)
Called when the size of the container associated with this interface changes.
Declaration
void Resize(int width, int height)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | width | New width in pixels |
| System.Int32 | height | New height in pixels |
SelectedList(IPaintTo3DList, Int32)
Paint the provided display list using the display mode.
Declaration
void SelectedList(IPaintTo3DList paintThisList, int wobbleRadius)
Parameters
| Type | Name | Description |
|---|---|---|
| IPaintTo3DList | paintThisList | List to paint |
| System.Int32 | wobbleRadius | Wobble radius to paint the same list multiple times with small offsets |
SetClip(Rectangle)
Sets a clip rectangle for subsequent paint commands. If clipRectangle
is empty,
no clipping will occur.
Declaration
void SetClip(Rectangle clipRectangle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Rectangle | clipRectangle | Rectangle to use for clipping |
SetColor(Color)
Sets the color for the next paint methods
Declaration
void SetColor(Color color)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Drawing.Color | color | The color to use for drawing |
SetLinePattern(LinePattern)
Sets the line pattern for subsequent curve drawing. A pattern consists of pairs of double values: stroke length followed by gap length. If the parameter is null or an empty array, solidlines or curves will be drawn.
Declaration
void SetLinePattern(LinePattern pattern)
Parameters
| Type | Name | Description |
|---|---|---|
| LinePattern | pattern |
SetLineWidth(LineWidth)
Sets the line width for subsequent curve drawing
Declaration
void SetLineWidth(LineWidth lineWidth)
Parameters
| Type | Name | Description |
|---|---|---|
| LineWidth | lineWidth | Line width in world coordinates |
SetProjection(Projection, BoundingCube)
Sets the projection to use in subsequent calls to paint methods.
Declaration
void SetProjection(Projection projection, BoundingCube boundingCube)
Parameters
| Type | Name | Description |
|---|---|---|
| Projection | projection | The projection |
| BoundingCube | boundingCube | The bounding cube, may be used for clipping |
Text(GeoVector, GeoVector, GeoPoint, String, String, FontStyle, Text.AlignMode, Text.LineAlignMode)
Draw a text with the provided parameters and the current color.
Declaration
void Text(GeoVector lineDirection, GeoVector glyphDirection, GeoPoint location, string fontName, string textString, FontStyle fontStyle, Text.AlignMode alignment, Text.LineAlignMode lineAlignment)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoVector | lineDirection | Direction of the base line of the text |
| GeoVector | glyphDirection | Direction of the glyph of the characters (for horizontal text this is the y-axis) |
| GeoPoint | location | Location where to draw the text (using alignement) |
| System.String | fontName | Name of the font |
| System.String | textString | String to draw |
| System.Drawing.FontStyle | fontStyle | Style of the font (e.g. bold) |
| Text.AlignMode | alignment | Left, right or center (horizontal) alignement |
| Text.LineAlignMode | lineAlignment | Vertical alignement |
Triangle(GeoPoint[], GeoVector[], Int32[])
Draw a set of solid-filled triangles with the current color.
Declaration
void Triangle(GeoPoint[] vertex, GeoVector[] normals, int[] indextriples)
Parameters
| Type | Name | Description |
|---|---|---|
| GeoPoint[] | vertex | The coordinates of the vertices |
| GeoVector[] | normals | The coordinates of the normal vectors in the vertices |
| System.Int32[] | indextriples | Triples of indices which define traingles. Length must be a multiple of 3 |
UseZBuffer(Boolean)
Usually set to true, switch off to paint coordinate axis etc.
Declaration
void UseZBuffer(bool use)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | use |


ClubCard
playlist_add
Create New Card
settings_overscan
Scan Qr
About
contact_phone
Contact
menu
ClubCard
App Name: Clubcard
Version: 1.1
Created by: Gai Technologies(http://gai.co.in/)


Aloha Editor with Semantic Annotations / Autosuggested Tags
In this demonstration you can try the Aloha Editor Annotation plugin. After editing an article the text is sent to a semantic annotation service and related tags are suggested. (The text will be annotated with RDFa data inline (soon))
Semantic services:
- IKS FISE
The text will be analyzed by the semantic services when you leave the text edit mode (or click on the analyze button (soon)).
Text to analyze:
Singapore police arrest death penalty book author
Singapore police arrested British author and journalist Alan Shadrake one day after the launch of his book about the country's use of the death penalty.
Shadrake, 75, was arrested on Sunday morning at a hotel in Singapore and taken into custody by police on charges of criminal defamation, in response to a complaint lodged by the city-state's Media Development Authority (MDA) over the contents of his new book, Once a Jolly Hangman: Singapore Justice in the Dock. Separately, the Attorney-General served Shadrake with an application for an order of committal for contempt of court, accusing him of "cast[ing] doubt on the impartiality, integrity, and independence" of Singapore's courts through his book.
Shadrake's latest book discusses alleged "double standards" in the country's application of the death penalty, and contains interviews with local human rights activists, lawyers, and former police officers, including retired Changi Prison executioner Darshan Singh; Singh later claimed that he had been "tricked" into the interview. In earlier media comments, Shadrake stated that he expected "trouble" but no concrete action from authorities over his book, lest they draw even more attention to its claims. Retailers took his book off shelves after inquiries by the MDA; a spokesman for the MDA stated that the book was not banned, but suggested that booksellers "seek legal advice to ensure that the books they sell do not contravene Singapore laws".
Shadrake has written for a variety of newspapers, including The Daily Telegraph of London as well as the New Straits Times of neighbouring Malaysia. His previous book, The Yellow Pimpernels, told the tale of various attempts to escape from East Germany over the Berlin Wall. If convicted, he faces a two-year imprisonment and a fine.
Shadrake, 75, was arrested on Sunday morning at a hotel in Singapore and taken into custody by police on charges of criminal defamation, in response to a complaint lodged by the city-state's Media Development Authority (MDA) over the contents of his new book, Once a Jolly Hangman: Singapore Justice in the Dock. Separately, the Attorney-General served Shadrake with an application for an order of committal for contempt of court, accusing him of "cast[ing] doubt on the impartiality, integrity, and independence" of Singapore's courts through his book.
Shadrake's latest book discusses alleged "double standards" in the country's application of the death penalty, and contains interviews with local human rights activists, lawyers, and former police officers, including retired Changi Prison executioner Darshan Singh; Singh later claimed that he had been "tricked" into the interview. In earlier media comments, Shadrake stated that he expected "trouble" but no concrete action from authorities over his book, lest they draw even more attention to its claims. Retailers took his book off shelves after inquiries by the MDA; a spokesman for the MDA stated that the book was not banned, but suggested that booksellers "seek legal advice to ensure that the books they sell do not contravene Singapore laws".
Shadrake has written for a variety of newspapers, including The Daily Telegraph of London as well as the New Straits Times of neighbouring Malaysia. His previous book, The Yellow Pimpernels, told the tale of various attempts to escape from East Germany over the Berlin Wall. If convicted, he faces a two-year imprisonment and a fine.
Status:
0
Status2:
0
Suggestions from Annotation Service:
This removed Suggestions will not be added automaticly again. You can add them manually. Reload to empty stack.
- Aloha


public interface
RestrictedVTI
Interface for Table Functions which can be told which columns need to be fetched plus simple bounds on those columns.
This interface can be implemented by the ResultSet returned by the public static method which is bound to the Table Function. If that ResultSet implements this interface, then the initScan() method of this interface will be called before the scan of the ResultSet starts, that is, before calling any ResultSet method.
ResultSets which implement this interface can perform more efficiently because they don't have to fetch all columns and rows. This can mean performance boosts for queries which only need a subset of the Table Function's columns and for queries which compare those columns to constant expressions using the , >=, and != operators. This can also mean performance boosts for LIKE and BETWEEN operations on Table Function columns. For more information, see the commentary on DERBY-4357 .
| Modifier and Type | Method and Description |
|---|---|
void
|
initScan
(java.lang.String[] columnNames,
Restriction
restriction)
Initialize a scan of a ResultSet.
|
void initScan(java.lang.String[] columnNames, Restriction restriction) throws java.sql.SQLException
Initialize a scan of a ResultSet. This method is called once before the scan begins. It is called before any ResultSet method is called. This method performs two tasks:
The columnNames argument is an array of columns which need to be fetched. This is an array of the column names declared in the Table Function's CREATE FUNCTION statement. Column names which were double-quoted in the CREATE FUNCTION statement appear case-sensitive in this array. Column names which were not double-quoted appear upper-cased. Derby asks the Table Function to fetch all columns mentioned in the query. This includes columns mentioned in the SELECT list as well as columns mentioned in the WHERE clause. Note that a column could be mentioned in the WHERE clause in a complex expression which could not be passed to the Table Function via the restriction argument.
The array has one slot for each column declared in the CREATE FUNCTION statement. Slot 0 corresponds to the first column declared in the CREATE FUNCTION statement and so on. If a column does not need to be fetched, then the corresponding slot is null. If a column needs to be fetched, then the corresponding slot holds the column's name.
Note that even though the array may have gaps, it is expected that columns in the ResultSet will occur at the positions declared in the CREATE FUNCTION statement. Consider the following declaration:
create function foreignEmployeeTable() returns table ( id int, birthDay date, firstName varchar( 100 ), lastName varchar( 100 ) ) ...
and the following query:
select lastName from table( foreignEmployeeTable() ) s
In this example, the array passed to this method will have 4 slots. Slots 0, 1, and 2 will be null and slot 3 will hold the String "LASTNAME". Last names will be retrieved from the ResultSet by calls to getString( 4 )--remember that JDBC column ids are 1-based.
The restriction argument is a simple expression which should be evaluated inside the Table Function in order to eliminate rows. The expression is a binary tree built out of ANDs, ORs, and column qualifiers. The column qualifiers are simple comparisons between constant values and columns in the Table Function. The Table Function only returns rows which satisfy the expression. The restriction is redundantly enforced by Derby on the rows returned by the ResultSet--this means that restriction gives the Table Function a hint about how to optimize its performance but the Table Function is not required to enforce the entire restriction .
java.sql.SQLException
Apache Derby 10.9 API Documentation - Copyright © 2004,2012 The Apache Software Foundation. All Rights Reserved.


|
MLIB
|
#include <math.h>
Go to the source code of this file.
Macros | |
| #define | _USE_MATH_DEFINES |
| #define | D2R 0.01745329251994 |
| Degrees to radians conversion factor. | |
| #define | A_WGS84 6378137.000 |
| Semimajor axis of WGS84 ellipsoid. | |
| #define | F_WGS84 0.003352810664747 |
| Flattening of WGS84 ellipsoid. | |
| #define | F1_WGS84<PHONE_NUMBER>63 |
| Inverse of flattening for WGS84 ellipsoid. | |
| #define | NM2M 1852. |
| Nautical mile to meters conversion factor. | |
| #define | MPS2KNOT (3600./NM2M) |
| Meters/sec to knots conversion factor. | |
| #define | USFOOT2M (1200./3937.) |
| US Survey foot to meters conversion factor. | |
| #define | MAS (M_PI/(180*3600000.)) |
| milli-arcsecond | |
| #define | DEG(dd) ((dd)*D2R) |
| Convert decimal degrees to radians. | |
| #define | DM(dd, mm) (((dd)+(mm)/60.)*D2R) |
| Convert degrees, minutes to radians. | |
| #define | DMS(dd, mm, ss) (((dd)+(mm)/60.+(ss)/3600.)*D2R) |
| Convert degrees, minutes seconds to radians. | |
Functions | |
| constexpr double | operator""_deg (long double deg) |
| Degrees literal operator converts a value to radians. | |
| constexpr double | operator""_mas (long double mas) |
| Milli-arcseconds literal operator converts a value to radians. | |
| constexpr double | operator""_ftus (long double ftus) |
| US survey foot literal operator converts a value to meters. | |
| constexpr double | operator""_nmi (long double nmi) |
| Nautical miles literal operator converts a value to meters. | |
| double | DMD2deg (double) |
| Conversion to decimal degrees from DDMM.mmm. | |
| double | DMS2deg (double) |
| Conversion to decimal degrees from DDMMSS.ssss. | |
| double | deg2DMD (double value) |
| Conversion from decimal degrees to degrees, minutes (DDMM.mmm) | |
| double | D2rad (double val) |
| Conversion from degrees to radians. | |
| double | DMD2rad (double val) |
| Conversion from degrees, minutes (DDMM.mmm) to radians. | |
| double | DMS2rad (double val) |
| Conversion from degrees, minutes, seconds (DDMMSS.sss) to radians. | |
| double | rad2DMD (double val) |
| Conversion from radians to degrees, minutes (DDMM.mmm) | |
Conversion functions and frequently used constants


Time Picker shows a time dropdown for easy selection. It is a wrapper for a JQuery time picker. The time step is set to 30 minutes but can be configured. It is localized: try changing your browser locale and refreshing your browser.
TimePickerTextBox.java


| ---------- Issues in Console Programming ---------- |
In this series of articles I intend to cover both the "how-to" of programming console applications but also the
reasons that things are done the way they are.
The purpose of these articles is threefold:
1
First, this information is rather scattered about the internet. It sure would be nice to have it all in one spot. I don't aim to cover every possible issue, but I do intend to have a complete primer.
2
Second, some of these issues are a constant sore spot for forum regulars (on forums everywhere). These questions get asked so often that people tire of answering them, and start giving simple answers just to shut the asker up. Answering a question takes a fair amount of energy, and when someone shows up two days after some brilliant answer to ask some simple variation, it makes us want to unplug his computer with a pair of wire-cutters. These articles aim to provide an easy, canned answer that makes everyone happy.
3
Third, I intend to encourage people to think properly about how they are programming. Too often these days programmers fall into the trap of believing that the computer will help them program. This is true of all
other computer activities, but
not programming. Programming the computer requires careful thought and insight. Simple answers are simply the Wrong Thing. It is better to get a good, comprehensive answer that makes you more capable, skilled, and valuable -- a
better programmer than the average wannabe. Don't be a liability to your software!
| -------------------- For The Brain -------------------- |
Why system() is
evil
http://www.cplusplus.com/forum/articles/11153/
How to set up a nice console-programming environment
-- todo --
Types and purposes of console applications
-- todo --
Issues when reading user input
-- todo --
Making your application well-behaved
-- todo --
Windows and Linux issues
-- todo --
Getting started with Curses
-- todo --
Using <conio.h>
-- todo --
Using Win32
-- todo --
Using POSIX
-- todo --
| -------------------- For The Body -------------------- |
Keep the console open long enough to see your program's output
http://www.cplusplus.com/forum/articles/7312/
Flush stdin
-- todo --
Clear the screen
http://www.cplusplus.com/forum/articles/10515/
Read a password
-- todo --
Read arrow keys and other fancy stuff
-- todo --
Know whether or not a key is pressed
-- todo --
Read a single key for input (without having to press
Enter)
-- todo --
Use timeouts or delays when getting input
-- todo --
Change the text colors
-- todo --
Change the console window's title
-- todo --
Cursor position
-- todo --
Mouse input
-- todo --
Determine if there is a human interacting with the program
-- todo --
| ------------------- Actualization ------------------- |
Console Functions Source Code (Win32 and POSIX)
-- todo --
| -------------------- Boilerplate -------------------- |
First off, I wrote all this code. The articles are designed to be as cut-n-paste as possible so that you can get along with your life and not worry too much about making things work. That said, though, in many cases the code, while relatively simple, is still
way above your heads.  Or if you've been working in C or C++ for the past five years.  If you knew this stuff you wouldn't need me. Learn from it. But don't present it as your own. Professors and professionals alike hate cheaters. Be honest and enjoy the code, and share it with others.
For students, remember that your professor is more interested in seeing you solve problems than write amazing code. Amazing code and cool solutions are nothing more than a bonus. Code
you wrote and understand, and that
does what it is supposed to do is the goal.
Always. (That truth never changes!)
This is obviously a work in progress. If I haven't answered your question yet, either post on the beginner's forum or ask me to write it next. You can also spend time looking through the following:
Comments, suggestions, clarifications, corrections, and tactful critisisms are, as always, welcome.
Hope this helps
-- Dúthomhas


S2Container.PHP5 is a port of Java version Seasar2 to PHP5. For information on AOP, refer to S2AOP page.
- Aspect may not be applied to a final class
- Aspect may not be applied to a static method
- Not specifying a pointcut attribute does not imply all methods - it means only interfaces with implementations. To imply all methods, specify ".*" in pointcut attribute.
S2AOP is defined in S2Container configuration file (dicon file). There is no restriction on placement of the configuration file, but it is usually placed in the same folder as the Crosscutting Concern or in the same folder as the component it configures.
Weave an aspect into a component. Interceptor is specified in a PHP statement in a BODY or in a component tag in a child tag. If several aspects are weaved into a component, the are processes in the order they are declared. Refer to Custom implementation of Interceptor for further details.
Warning:
Components specified by the aspect tag are gotten from the contrainer when the container is initialized. Therefore, even if the instance attribute of a component specified by the aspect tag is set to "prototype", new instance will NOT be created on each invocation of a method in an Interceptor.
pointcut attribute (optional)
Several method names may be specified by delimiting the names with a comma. Not specifying any pointcut implies all methods in an interface implemented by a component. Regular expression may be used to specify method names.
Example
Following is a example of a definition to apply aspect to getTime() method in Date by specifying pointcut attribute. If pointcut attribute is not specified, aspect will be applied to all methods in the interface implemented by Date. <?php
class Date {
function Date() {}
function getTime(){
return '12:00:30';
}
function getDate(){
return '25';
}
}
?>
Following is an example using a regular expression to apply aspect to all public methods in java.util.Date. Note that this example applies to ALL public methods regardless of whether they are implemented by the class or not.
<component class="Date">
<aspect pointcut=".*">
<component class="TraceInterceptor"/>
</aspect>
</component>
Following are Interceptors made available by S2AOP. Custom Interceptors may also be created.
Class name
TraceInterceptor
Description
Interceptor to process trace as a "Crosscutting Concern". Following is an example of a dicon file that applies TraceInterceptor to the Date class. getTime() method will be applied in this example. <component class="Date">
<aspect pointcut="getTime">
<component class="TraceInterceptor"/>
</aspect>
</component>
Refer to TraceInterceptor for detailed information.
Class name
ThrowsInterceptor
Description
Interceptor to process Exception as a "Crosscutting Concern". To use this Interceptor, just extend ThrowsInterceptor class and implement function handleThrowable(Exception, MethodInvocation) method. Refer to ThrowsInterceptor for detailed information.
Class name
MockInterceptor
Description
Interceptor to make tests using Mock easier. Refer to for further details.
Class name
DelegateInterceptor
Description
Interceptor to delegate method invocation to another component. To use, specify a component to delegate in a target property in DelegateInterceptor. To use a different method name in delegation, specify DeleateInterceptor#addMethodNameMap( $methodName, $targetMethodName). For example, to delegate method bar() to foo->bar2(), specify DeleateInterceptor#setTarget(foo)，DeleateInterceptor#addMethodNameMap("bar", "bar2"). Refer to DelegateInterceptor for detailed information.
Warning:
Component specified by target property is gotten during container initialization. Therefore, the same instance will be used even when the instance property is set to "prototype". To get a new instance from a container on every method invocation, use PrototypeDelegateInterceptor.
Class name
PrototypeDelegateInterceptor
Description
Interceptor to delegate method invocation to another component. Get component on every method invocation. To use, specify a component to delegate in a target property in PrototypeDelegateInterceptor. To use a different method name in delegation, specify PrototypeDeleateInterceptor#addMethodNameMap($methodName, $targetMethodName). For example, to delegate method bar() to foo->bar2(), specify PrototypeDeleateInterceptor#setTarget(foo)， PrototypeDeleateInterceptor#addMethodNameMap("bar", "bar2"). Refer to PrototypeDelegateInterceptor for detailed information.
Class name
InterceptorChain
Description
Group several Interceptors to make it easier to manage and reuse. If several Interceptors are often used in several components, Interceptors may be bundled into Interceptor1 by using InterceptorChain. Each component can then specify InterceptorChain instead of several Interceptors. <component name="interceptor1" .../>
<component name="interceptor2" .../>
<component name="interceptor3" .../> <component name="chain" class="InterceptorChain"> <initMethod name="add"><arg>interceptor1</arg></initMethod> <initMethod name="add"><arg>interceptor2</arg></initMethod> <initMethod name="add"><arg>interceptor3</arg></initMethod> </component>
<component ...>
<aspect>chain</aspect>
</component>
<component ...>
<aspect>chain</aspect>
</component>
Description
To create an custom Interceptor, implement following interface or abstract class.
- MethodInterceptor
- AbstractInterceptor
In either cases, only method invoke() is required.
- public function
invoke(MethodInvocation $methodInvocation)
AbstractInterceptor is an abstract class that implements MethodInterceptor. AbstractInterceptor has createProxy() method, which gets Proxy object, and getTargetClass() method, which gets class to apply aspect. To create an Interceptor that requires a class name with aspect applied (e.g. Interceptor to log output), class name may be obtained by using AbstractInterceptor.
- public function
createProxy($proxyClass)
- protected function
getTargetClass(MethodInvocation $methodInvocation)
Get object, method, arguments that is the target of getThis(), getMethod(), getArguments() in MethodInvocation. When proceed() is invoked, the actual method is invoked and execution result is returned. Following is an example of custom Interceptor:
Example<?php
class ABS implements MethodInterceptor {
public function invoke(MethodInvocation $invocation){
print "Before \n"; <-- Before invocation
$ret = $invocation->proceed();
print "After \n"; <-- After invocation
return $ret;
}
}
?>
In this example, "Before" is outputted before MethodInvocation#proceed() is invoked and "After" is outputted after the invocation. When several aspects are defined to one component, aspects are invoked as follows:
- Aspects before MethodInterceptor are invoked in order as they are defined in the dicon file.
- Component is invoked after the last aspect defined before MethodInterceptor is invoked
- Aspects after MethodInterceptor are invoked in reverse order as they are defined in the dicon file.
Refer to Custom implementation of Interceptor for detailed information.
It is possible to use aspect in a program without manually creating a dicon file by doing the followings:
- Specify name of class (several names may be specified) to apply an aspect as PointcutImpl constructor arguments. All methods implemented by the class are automatically applied.
- Specify Interceptor as the first argument and Pointcut created from PointcutImpl as the second argument to AspectImpl constructor.
- Specify the target class and an array of Aspect created from AspectImpl to AopProxy constructor
- Objects that had aspect applied may be gotten by using AopProxy#create()
In the following example, TraceInterceptor is applied to the Date class. Target method is getTime(). <?php
$pointcut = new PointcutImpl(array("getTime"));
$aspect = new AspectImpl(new TraceInterceptor(), $pointcut);
$aopProxy = new AopProxy('Date', array($aspect));
$proxy = $aopProxy->create();
$proxy->getTime();
?>
S2Container.PHP needs to be setup before trying this example.
This example uses TraceInterceptor to output trace when getTime() method in Date class is invoked. Following files are created in this example:
- dicon file (Trace.dicon) with component definition
- Execution script file (AopTraceClient.php) to test the settings
Create a dicon File
- Define TraceInterceptor component. Set name attribute to "traceInterceptor"
- Define Date class. Set pointcut attribute to getTime() method. Set aspect tag to Interceptor
Trace.dicon <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components>
<component name="traceInterceptor" class="TraceInterceptor"/>
<component class="Date">
<aspect pointcut="getTime">
traceInterceptor
</aspect>
</component>
</components>
Create an Execution Script
- Create container by specifying dicon file (Trace.dicon) as the first argument to S2Container#create() method
- Get component by specifying class name (Date) as the first argument to S2Container#getComponent() method
- Invoke getTime() method in Date component to check if trace aspect was properly applied
AopTraceClient.php <?php
require_once(dirname(__FILE__) . '/trace.inc.php');
$PATH = EXAMPLE_DIR . "/aop/traceinterceptor/Trace.dicon";
$container = S2ContainerFactory::create($PATH);
$date = $container->getComponent('Date');
$date->getTime();
?>
Results
Trace is outputted before and after method is invoked. % php AopTraceClient.php
BEGIN Date#getTime()
END Date#getTime() : 12:00:30
%
Files in this example are available in the s2container.php5/src/examples/aop/traceinterceptor folder.
(1) This example uses ThrowsInterceptor so process will continue even after an exception is thrown. Following files are created in this example:
- Class that throws an Exception (Checker.class.php)
- Interceptor that extends ThrowsInterceptor (HandleThrowableInterceptor.class.php)
- dicon file (Checker.dicon) with component definition
- Execution file (AopCheckerClient.php) to check if the settings are correct
Create class that throws an exception
- If the argument to run() method is not null, output the argument
- If the argument is null, throw and Exception
Checker.class.php <?php
class Checker {
public function check($str) {
if ($str != null) {
print $str . "\n";
} else {
throw new Exception("null");
}
}
}
?>
Create Interceptor that extends ThrowsInterceptor
- Extend ThrowsInterceptor
- Implement handleThrowable(Exception, MethodInvocation)
HandleThrowableInterceptor.class.php <?php
class HandleThrowableInterceptor extends ThrowsInterceptor {
public function handleThrowable(Exception $t, MethodInvocation $invocation){
}
}
?>
Create a dicon File
- Define created Interceptor as a component. Set name attribute to handleThrowableInterceptor
- Aspect HandleThrowableInterceptor to the check() method in Check class which throws an exception
Checker.dicon <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components>
<component name="handleThrowableInterceptor" class="HandleThrowableInterceptor"/>
<component class="Checker">
<aspect pointcut="check">
handleThrowableInterceptor
</aspect>
</component>
</components>
Create an Execution File
- Create a container by specifying the path to the created dicon file (Checker.dicon) as the first argument to S2Container#create() method
- Gets component by specifying class name (Foo.class) as the first argument to S2Container#getComponent() method
- Specify String "foo" as an argument to Checker#check() method
- Make it throw an Exception by specifying null to Checker#check() method
- Specify String "hoge" as an argument to Checker#check() method
AopCheckerClient.php <?php
require_once(dirname(__FILE__) . '/throws.inc.php');
$PATH = EXAMPLE_DIR . "/aop/throwsinterceptor/Checker.dicon";
$container = S2ContainerFactory::create($PATH);
$checker = $container->getComponent('Checker');
try{
$checker->check("foo");
}catch(Exception $e){
print "Exception : " . $e->getMessage() . "\n";
}
try{
$checker->check(null);
}catch(Exception $e){
print "Exception : " . $e->getMessage() . "\n";
}
try{
$checker->check("hoge");
}catch(Exception $e){
print "Exception : " . $e->getMessage() . "\n";
}
?>
Result
Check to make sure process is not stopped by an Exception. % php AopCheckerClient.php
foo
hoge
%
Files for this example are available in the s2container.php5/src/examples/aop/throwsinterceptor folder
(2) This example creates an Interceptor that will replace an Exception to a different Exception and display a different message. The Interceptor is created by using class (HandleThrowableInterceptor.class.php) which extends ThrowsInterceptor.
Create Interceptor that replaces Exception with another Exception
Create a new message by throwing a new S2RuntimeException exception <?php
class HandleThrowableInterceptor extends ThrowsInterceptor {
public function handleThrowable(Exception $t, MethodInvocation $invocation){
throw new S2RuntimeException("ESSR0007", array("arg"));
}
}
?>
Invoke the method by selecting the execution file created above Result
Confirm the change in error message. % php AopCheckerClient.php
foo
Exception : arg should not be null or empty
hoge
%
Files in this example are available in the s2container.php5/src/examples/aop/throwsinterceptor folder.
This example uses DelegateInterceptor to delegate to a method in another class. Create an abstract method in an interface and implement that interface to both an abstract class and non-abstract class. Then, delegate method implemented in an abstract class to method implemented in a non-abstract class. Following files are created in this example:
- Interface(IBase.class.php)
- Abstract class (Dummy.class.php) implementing an interface
- Class (Substance.class.php) implementing an interface
- dicon file (Delegate.dicon) configuring Delegation
- Execution file (AopDelegateClient.class.php) to check if the configuration is correct.
Create an interface
IBase.class.php <?php
interface IBase {
public function run();
}
?>
Create abstract class implementing an interface
- Implement created interface
Dummy.class.php <?php
abstract class Dummy implements IBase {
}
?>
Create an class implementing an interface
- Implement created interface
- Implement abstract method in an implemented interface
Substance.class.php <?php
class Substance implements IBase{
public function run() {
print "substance\n";
}
}
?>
Create dicon file
- Define abstract class (Dummy) as a component
- Define DelegateInterceptor component in aspect tag. Specify target to delegation by using DelegateInterceptor#setTarget(). Target of the delegation is Substance class so use method injection.
Delegate.dicon <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components>
<component class="Dummy">
<aspect>
<component class="DelegateInterceptor">
<initMethod name="setTarget">
<arg>new Substance()</arg>
</initMethod>
</component>
</aspect>
</component>
</components>
Create execution file
- Create a S2Container by specifying path to the dicon file (Delegate.dicon) as the first argument in S2Container#create() method
- Get component by specifying class name (IBase) as the first argument to S2Container#getComponent() method.
- Invoke IBase#run() method gotten from the container
AopDelegateCilent.php <?php
require_once(dirname(__FILE__) . '/delegate.inc.php');
$PATH = EXAMPLE_DIR . "/aop/delegateinterceptor/Delegate.dicon";
$container = S2ContainerFactory::create($PATH);
$base = $container->getComponent('Dummy');
$base->run();
?>
Result
String "substance" is outputted implying that Dummy#run() method delegated to Substance#run() method. % php AopDelegateCilent.php
substance
%
Files in this example are available in the s2container.php5/src/examples/aop/delegateinterceptor folder.
This examples uses PrototypeDelegateInterceptor to delegate from a singleton component to a prototype component. create abstract interface and implement the method on both abstract class (singleton) and non-abstract class (prototype). Delegate method implemented in an abstract class to method implemented in a non-abstract class. Following files are created in this example.
- Interface (IBase.class.php)
- singleton abstract class (Dummy.class.php) that implements an interface
- Class (Substance.class.php) implementing an interface
- dicon file (Delegate.dicon) with delegation settings
- Execution file (AopPrototypeDelegateClient.php) to test if the settings are correct
Create an interface
- Create an abstract method
IBase.class.php <?php
interface IBase {
public abstract function run();
}
?>
Create abstract class implmenting an interface
- Implement created interface
Dummy.class.php <?php
abstract class Dummy implements IBase {
}
?>
Create class implementing an interface
- Implement created interface
- Implement abstract method in implemented interface
Substance.class.php <?php
class Substance implements IBase{
private $sum = 0;
public function run() {
print "sum : " . $this->sum . "\n";
$this->sum++;
}
}
?>
Create dicon file
- Define abstract class(Dummy) as a component. This component is a singleton.
- Define component PrototypeDelegateInterceptor in aspect tag. Specify name of object to delegate to ("target") in targetName property of PrototypeDelegateInterceptor.
- Define delegated class (Substance) as a component. instance attribute of this component is prototype.
PrototypeDelegate.dicon <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components>
<component class="Dummy">
<aspect>
<component class="PrototypeDelegateInterceptor">
<property name="targetName">"target"</property>
</component>
</aspect>
</component>
<component name="target" class="Substance" instance="prototype"/>
</components>
Create execution file
- Create a container by specifying the path to the created dicon file (PrototypeDelegate.dicon) as the first argument to S2Container#create() method
- Gets component by specifying class name (IBase) as the first argument to S2Container#getComponent() method
- repetitively invoke IBase#run() method gotten from the container
AopPrototypeDelegateCilent.php <?php
require_once(dirname(__FILE__) . '/prototype.inc.php');
$PATH = EXAMPLE_DIR . "/aop/prototypedelegateinterceptor/PrototypeDelegate.dicon";
$container = S2ContainerFactory::create($PATH);
$base = $container->getComponent('Dummy');
for ($i = 0; $i < 5; ++$i) {
$base->run();
}
?>
Result
"sum : 0" is outputted implying Dummy#run() method delegated to Substance#run() method. Additionally, sum are all 0 implying new Substance instance was created on each invocation of run() method. % php AopPrototypeDelegateCilent.php
sum : 0
sum : 0
sum : 0
sum : 0
sum : 0
%
Files in this example are available in the s2container.php5/src/examples/aop/delegateinterceptor folder.
This example creates an Interceptor that will trace class name, method name, arguments, and time required by the thread. Use this Iterceptor to trace "heavy" threads. Following files are created in this example:
- Interceptor(MeasurementInterceptor.java) method that displays class name, method name, arguments, time required by the thread
- Class to process "heavy" tasks (HeavyProcess.java)
- dicon file (Measurement.dicon) with component definition
- Execution file (AopMeasurementClient.java) to check if settings are correct
Create custom implementation Intercepter
- Implement AbstractInterceptor class
- Implement invoke(MethodInvocation $invocation) method
- Get class name by invoking getTargetClass($invocation)->getName()
- Get method name by invoking $invocation->getMethod()->getName()
- Get arguments by invoking $invocation->getArguments()
- Get the time before $invocation->proceed() actual method invocation.
MeasurementInterceptor.class.php <?php
class MeasurementInterceptor extends AbstractInterceptor {
public function invoke(MethodInvocation $invocation){
$start = 0;
$end = 0;
$buf = "";
$buf = $this->getTargetClass($invocation)->getName();
$buf .= "#";
$buf .= $invocation->getMethod()->getName();
$buf .= "(";
$args = $invocation->getArguments();
$buf .= implode($args) . ")";
try {
$start = $this->microtime_float();
$ret = $invocation->proceed();
$end = $this->microtime_float();
$buf .= " : ";
$t = $end - $start;
print $buf . $t . "\n";
return $ret;
} catch (Exception $t) {
$buf .= " Exception:";
$buf .= $t->getMessage();
throw $t;
}
}
private function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
}
?>
Create class to process "heavy" threads
- sleep 5 seconds when a thread requires extensive resources
HeavyProcess.class.php <?php
class HeavyProcess {
public function heavy(){
sleep(5);
}
}
?>
Create dicon file
- Define MeasurementInterceptor as a component Set name attribute to measurement
- Apply MeasurementInterceptor as an aspect to heavy() method in HeavyProcess class
Measurement.dicon <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components32.dtd">
<components>
<component name="measurement" class="MeasurementInterceptor"/>
<component class="HeavyProcess">
<aspect pointcut="heavy">
measurement
</aspect>
</component>
</components>
Create execution file
- Create a container by specifying the path to the created dicon file (Measurement.dicon) as the first argument to S2Container#create() method
- Get component by specifying class name (HeavyProcess) as the first argument to S2Container#getComponent() method
- Invoke HeavyProcess#heavy() method gotten from the container
AopMeasurementClient.php <?php
require_once(dirname(__FILE__) . '/original.inc.php');
$PATH = EXAMPLE_DIR . "/aop/originalinterceptor/Measurement.dicon";
$container = S2ContainerFactory::create($PATH);
$heavyProcess = $container->getComponent('HeavyProcess');
$heavyProcess->heavy();
?>
Result
Class name, method name, arguments, and time used to process a thread are displayed. % php AopMeasurementClient.php
HeavyProcess#heavy() : 5.0025010108948
%
Files in this example are available in the s2container.php5/src/examples/aop/originalinterceptor folder |


Site visitors get to it only after clicking the links outputted by any of these tags {tag_button,Your Text}, {tag_name} or {tag_itemurl_withhost}.
{tag_addtocart} | Ability to add products to the shopping cart (vertical layout) |
{tag_addtocartinputfield} | Input field to enter product quantity |
{tag_addtofavorites,add_Image, remove_Image} | Add product to favorites list. Optionally customize to display your own custom image for adding and removing. |
{tag_attributes, horizontal, hideDisabledVariations, autoSelectFirstVariation} | Renders attribute dropdowns for a given product. Parameters:
|
{tag_buynow} | Add to cart and redirects to check out |
{tag_capturedetails} | Displays a text box that allows the customer to enter instructions related to the product that they are purchasing |
{tag_countrycode} | Display the country code; for example, AU |
{tag_countrycurrencyformat} | Display the country currency code; for example, AUD |
{tag_currencyformat} | Display the currency format; for example, $ |
{tag_custom1} | Custom field #1. Use to display any information about a product |
{tag_custom2} | Custom field #2. Use to display any information about a product |
{tag_custom3} | Custom field #3. Use to display any information about a product |
{tag_custom4} | Custom field #4. Use to display any information about a product |
{tag_description} | Description of the product (Editor content) |
{tag_discountprice} | The price if a discount applies to the current customer otherwise the normal sale price. |
{tag_expirydate} | Expiration date of product |
{tag_grouping} | Pop-up menu of product attributes used to select a product to add to cart |
{tag_groupinglist} | List of product attributes used to switch between products |
{tag_instock, syncWithAttributes, noSelectionMessage, disabledSelectionMessage} | Number of units in stock. Parameters:
|
{tag_itemurl_nolink} | URL to the item referred, without host |
{tag_itemurl_withhost} | URL to the item referred, with host |
{tag_largeimage} | Large image for product |
{tag_largeimage,zoom,width,height} | Large image for a product. You can now allow a zoom effect for the large product image. Simply alter {tag_largeimage} to {tag_largeimage,zoom,150,150} |
{tag_largeimage_path} | Outputs the file path of the image; for example /images/imagename.jpg |
{tag_maxunits} | Maximum units |
{tag_minunits} | Minimum units |
{tag_name} | Name of product |
{tag_onorder, syncWithAttributes, noSelectionMessage, disabledSelectionMessage} | Number of units on order. Parameters:
|
{tag_onsale} | Renders 1 if product on sale, otherwise 0. If page elements need to be altered for products on sale, then embed tag in relevant javascript. |
{tag_poplets,rowlength,width,height} |
Displays thumbnail version of poplet images. If you add ,noscript to this tag it will render the poplets with no default javascript lightbox feature. e.g. {tag_poplets,4,100,100,noscript} |
{tag_productcode, syncWithAttributes, noSelectionMessage, disabledSelectionMessage} | Product code. With variations enabled, tg product will render the variation code instead of the product codes in all layouts where this is used. Parameters:
|
{tag_productmetadescription} | Meta description information added in the SEO Metadata section of product details page. |
{tag_relatedproducts,itemsperrow, hideEmptyMessage} |
Displays a list of products related to this product that can be browsed and added separately to cart (useful for up/cross selling purposes), {tag_relatedproducts,itemsperrow, hideEmptyMessage} renders a table containing the related products, 6 per row and hides the "This product has no related products." message if no related products are found. |
{tag_relatedproductslist} | Displays a list of products related to this product that are added to the cart when this product is. By default this renders as check boxes otherwise: {tag_relatedproductslist,7} will display them as radio buttons, {tag_relatedproductslist,6} will display them as check boxes and {tag_relatedproductslist,8} displays small images of the product only. (useful for up/cross selling purposes) |
{tag_releasedate} | Release date of item |
{tag_reorder} | Number of units to reorder threshold |
{tag_retailprice} | Retail price of the product |
{tag_saleprice} | Sale price of the product (the amount that customers are charged) |
{tag_smallimage} | Small image for product |
{tag_smallimage_path} | Outputs the file path of the image; for example /images/imagename.jpg |
{tag_tags} | Product tags (you can use field for anything) |
{tag_tax} | Tax amount for the product |
{tag_taxcode} | Tax code name used for item |
{tag_taxrate} | Tax rate used for item (%) |
{tag_tellafriend} | Tell a friend about this product |
{tag_totaldiscountprice} | Total discounted price of the product: Discount Price + Tax. |
{tag_totalprice} | Total price of the product: Sale Price + Tax |
{tag_totalretailprice} | Total retail price of the product: Retail Price + Tax |
{tag_unittype} | Product unit type: single, by the dozen |
{tag_volumeprices} | Displays volume pricing for product |
{tag_productid} | Displays product system id |
{tag_catalogueid} | Displays catalog system id the product is currently displayed in |
{tag_attributes_json} | Renders all the product attributes in JSON format |
{tag_instock_json} | Renders the total stock and SKU variation stock in JSON format |
{tag_onorder_json} | Renders on order information in JSON format |
{tag_productcode_json} | Renders the product code and SKU codes in JSON format |
{tag_product_json} | Renders the product ID, Catalog ID the currently being viewed and template ID being used in JSON format |


This is a web page placeholder. This will show up if no default application is configured.
If you have a domain name pointing to your server at the time of creation, you will can access your server using http://[app-name].yourdomain.com.
If not, you can access the server via http://[app-name].[Your Public IP].nip.io.
Please see the post installation notes for more information.
You can also find additional documentation here.


PtrNfaStateFactory Class
Definition
Line
108
of
System.Text.RegularExpressions/PtrNfa.cm
Constructors & Destructor
public
~PtrNfaStateFactory
()
Member Functions
public
void
Clear
()
public
PtrNfaState
*
MakeState
()
Member Variables
private
List
<
PtrNfaState
*>
states
Constructor& Destructor Details
~PtrNfaStateFactory Destructor
public
~PtrNfaStateFactory()
Definition
Line
110
of
System.Text.RegularExpressions/PtrNfa.cm
Member Function Details
Clear Member Function
public
void
Clear()
Definition
Line
120
of
System.Text.RegularExpressions/PtrNfa.cm
MakeState Member Function
public
PtrNfaState
* MakeState()
Definition
Line
128
of
System.Text.RegularExpressions/PtrNfa.cm


EXAMPLE PUZZLE FOR KOTWORDS Jeff Davidson, 2018 Jeff Davidson
1.
First across clue
5.
Second across clue
6.
Third across clue
8.
Fourth across clue
9.
Fifth across clue
1.
First down clue
2.
Second down clue
3.
Third down clue
4.
Fourth down clue
7.
Fifth down clue


HIGHWAY 61 A film review by George V. Reilly Copyright 1992 George V. Reilly
HIGHWAY 61 is a film directed by Bruce McDonald from a story by Don McKellar. It stars Don McKellar, Valerie Bulhagiar, Earl Pastko, and Peter Breck. Canadian. Rated R: restricted due to language and nudity.
HIGHWAY 61 is, as the title suggests, a road movie, the tale of a young couple driving from a small town in Ontario down the length of Highway 61 to New Orleans, 1500 miles to the south. With a coffin on the roof.
Pokey Jones, played by McKellar, is the town barber, one of the few young men left in a small, dying town. Orphaned at the age of nine, he has grown up alone, with his father's 1963 Ford Galaxie as a surrogate parent of sorts. Pokey is a naif and a would-be musician who wants to go to the America of his dreams and become a famous trumpeter.
The catalyst comes when he finds a frozen corpse in his backyard. The local newspaper, desperate for news, proclaims him a hero for trying to revive the corpse and catches the attention of a fugitive roadie. A quick-witted opportunist, Jackie Bangs (played by Bulhagiar) claims the corpse as her brother and seizes a few minutes alone in the funeral parlor to stuff the corpse full of drugs.
By force of will, she convinces Pokey to drive her and her brother's corpse to New Orleans for the funeral. With the coffin strapped to the roof, they head south, talking their way past the US Customs, but not without some difficulty.
Although they don't realize it at first, they are being pursued by Mr. Skin (Pastko), who also claims to be Satan. Satan has a contract signed in blood by Jackie's "brother" in which he was sold the young man's soul upon his death. Satan wants to collect and follows them, buying up a few more souls along the way. Most of them come cheap: a bottle of bourbon, $20, or a promise of fame and beauty. He's also uncannily lucky at bingo.
Pokey's initial high spirits are reinforced by the pilgrimages he makes along the way---Bob Dylan's childhood home, St. Louis, Memphis---but are then dampened as he comes to realize Jackie's true character. He is especially shocked when Jackie steals the lifesavings of the Watsons, three untalented little girls and their showbiz father who travel around the country, "bringing pop to the people."
The film is quirky and often funny, treating its characters in a good-natured fashion. Both McKellar and Bulhagiar give strong performances, as do Pastko and Breck (as Watson). The main problem is that the film is too long to sustain itself and begins to plod: the scene with the drugged-out rock stars for whom Jackie was once a roadie could have been cut with little loss.
If you like offbeat films, you'll probably like HIGHWAY 61.
(Of note: I have been told that the jingoistic US Customs guard is played by Jello Biafra of the Dead Kennedys, who is apparently known in real life for his anti-American views.)
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


locality.nyc
Exploring the neighborhoods of New York City
new york city map nyc neighborhoods boundaries manhattan brooklyn queens the bronx staten island
You Are Offline
✕
Manhattan
Brooklyn
Queens
The Bronx
Staten Island
Pale Dawn
Greyscale
Old map
Retro
Normal


Devices that scored a 2 out of 10 on the iFixit Repairability Score. Ouch!
{% for each in smartphone %}
{{ each }}
{% endfor %}{% for each in tablet %}
{{ each }}
{% endfor %}{% for each in laptop %}
{{ each }}
{% endfor %}Made with ❤ by Ravi Shah


If this is checked, then whenever a new full backup is performed all old backup sets will be moved to ZIP files. Each ZIP file will contain one backup set, i.e. one full backup and any diff backups referencing it. The filename will identify the timeframe where the backups are included (i.e. the timestamp of the full backup and the timestamp of the latest diff backup).
NOTE:
The setting "Max number of backup sets" applies to backup ZIP files created by thinBackup as well. Also note that in case "Clean up differential backups" is checked it is performed before zipping is run (i.e. there will be no diff backups in the ZIP files).


Dearest, I am Chief Thomas Nimely yaya, chairman of the Movement for Democracy in Liberia (MODEL),now Foreign Minister in the transitional government, and also a first cousin to the deposed President of Liberia, Charles Taylor, who is presently in exile in one of the West African Countries. During the reign of my cousin, Charles Taylor, I was in-charge of all Diamond operations coming from Angola, Sierra Leone, etc. Then Charles Taylor enjoyed the patronage of the rebels controlling parts of these countries, as tonnes of uncut diamond were shipped to him, and he inturn through me sold these diamonds to foreigners, and used the proceeds to buy arms for the rebels in these countries, and a large chunk of this money was for the enrichment of the rebel leaders. Literally speaking he gave cover to the rebel Leaders. This operation was code named: Conflict Diamond. I cordinated the entire Diamond trade in the sub-region and this ran into hundreds of Million of Dollar. While carrying out this operation, I was able to divert the sum of US$45,000,000.00 (Forty-Five Million United States Dollars) for my personal benefit, and it is concelled into 4 Trunk Boxes and deposited as artifacts materials with ecowas diplomatic Security and cargo unit in Accra-Ghana. The Security Company does not know the true contents of the consignments. This is only known to you and me, and I hope you will keep this confidential. Now that Charles Taylor is no more in Power, I thought it wise to move the money out to any country of the world for investment purposes. Now I am contacting you seeking your assistance to help me in transfering this money to your country. All you need do is to make necesary arrangement and fly down to Accra-Ghana, see the money and talk about it. Already, I have the consent of the Security Company Director in Accra-Ghana who has agreed to help us move the consignments out through Diplomatic means to their affilliate office in Europe. I am offering you 25% of the total amount involved for assisting me while 5% is set aside for any expenses that might be incurred during the completion of this project, and the remaining 70% will be used for any lucrative investment you will introduce me into. Best Regards, Chief Thomas Nimely yaya. N/B: You can also contact me through my alternative email address: dr_nimely@latinmail.com