Interface ILcdGXYPen
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
ALcdGXYPen,TLcdGeodeticPen,TLcdGridPen,TLcdGXYPen,TLcdProjectionPen
ILcdGXYView.See
ALcdGXYPen.create(com.luciad.model.ILcdModelReference) for default factory methods.
Objects to be painted or manipulated are typically specified in model coordinates. These coordinates
are transformed to world coordinates and AWT view coordinates, e.g for painting or picking.
Therefore, the ILcdGXYPen saves you a lot of work and helps you to write code which
is easier to understand and maintain.
An ILcdGXYPen maintains a current position which is used by several methods.
It also provides a convenient way to transform between model, world and AWT coordinates.
Related methods are:
An ILcdGXYPen stores an internal path which can be accumulated and painted.
The path is accumulated by appending lines, point lists, or arcs. Subsequently, it can
then be painted as a polyline, a polygon, or a filled polygon. Related methods are:
emptyAccumulatedaccumulateLineToaccumulatePointListaccumulateArcdrawAccumulatedPolylinedrawAccumulatedPolygonfillAccumulatedPolygon
Alternatively, an ILcdGXYPen allows to construct an external AWT path which the user
can modify, transform, or paint as required. Related methods are:
Similarly, lines, point lists, or arcs can be appended to an external general path which the user can modify, transform or paint as required. Related methods are:
An ILcdGXYPen also provides a set of methods to paint elementary shapes such
as lines and arcs. Related methods are:
Furthermore, information can be obtained about the geometry of elementary shapes, such as distances and bounding boxes in AWT coordinates. Related methods are:
An ILcdGXYPen also provides assistance with picking objects. Related methods are:
Finally, an ILcdGXYPen allows the user to specify and paint hot points. Related methods are:

- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intconstant representing a circle to be used as hot point shapestatic final intconstant representing a filled circle to be used as hot point shapestatic final intconstant representing a filled square to be used as hot point shapestatic final intconstant representing a horizontal cross to be used as hot point shapestatic final intconstant representing a vertical cross to be used as hot point shape -
Method Summary
Modifier and TypeMethodDescriptionvoidaccumulateArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a polyline approximation of the given arc to the internally stored path.voidaccumulateHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a horizontal line starting from the current position to the internally stored path.voidaccumulateLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a line from the current position to the given model point to the internally stored path.voidaccumulatePointList(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a polyline to the internally stored path.voidaccumulateVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a vertical line starting from the current position to the internally stored path.voidappendArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a polyline approximation of the given arc to the givenILcdGeneralPath.voidappendArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a polyline approximation of the given arc to the givenILcdAWTPath.voidappendGeneralPath(ILcdGeneralPath aGeneralPath, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends the givenILcdGeneralPathto the givenILcdAWTPath.voidappendHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a horizontal line starting from the current position to the givenILcdGeneralPath.voidappendHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a horizontal line starting from the current position to the givenILcdAWTPath.voidappendLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a line from the current position to the given model point to the givenILcdGeneralPath.voidappendLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a line from the current position to the given model point to the givenILcdAWTPath.voidappendPointList(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a polyline to the givenILcdGeneralPath.voidappendPointList(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a polyline to the givenILcdAWTPath.voidappendVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a vertical line starting from the current position to the givenILcdGeneralPath.voidappendVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a vertical line starting from the current position to the givenILcdAWTPath.voidarcBoundsSFCT(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) Calculates the bounding box in AWT coordinates of the given arc.clone()booleancontains(ILcdPointList aPointList, double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Checks whether the given polygon encloses the given AWT point.voiddrawAccumulatedPolygon(Graphics aGraphics, boolean aEmptyAccumulated) Draws the points stored in the internal path as a polygon.voiddrawAccumulatedPolyline(Graphics aGraphics, boolean aEmptyAccumulated) Draws the points stored in the internal path as a polyline.voiddrawArc(double aCenterX, double aCenterY, double aStartX, double aStartY, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a circular arc onto the givenGraphics.voiddrawArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws an arc onto the givenGraphics.voiddrawHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a horizontal line from the current position to the given model point onto the givenGraphics.voiddrawHotPoint(double aX, double aY, Graphics aGraphics) Draws a hot point at the given AWT point.voiddrawHotPoint(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a hot point at the given model point.voiddrawLine(ILcdPoint aFromPoint, ILcdPoint aToPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a line between the two given model points onto the givenGraphics.voiddrawLineTo(double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a line from the current position to the given AWT point onto the givenGraphics.voiddrawLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a line from the current position to the given model point onto the givenGraphics.voiddrawPolygon(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a polygon onto the givenGraphics.voiddrawPolyline(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a polyline onto the givenGraphics.voiddrawVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a vertical line from the current position to the given model point onto the givenGraphics.voidClears the accumulated internal path.voidfillAccumulatedPolygon(Graphics aGraphics, boolean aEmptyAccumulated) Draws the points stored in the internal path as a filled polygon.voidfillPolygon(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a filled polygon onto the givenGraphics.intGets the hot point shape currently used by thisILcdGXYPen.intGets the hot point size currently used by thisILcdGXYPen.intgetTouchedSegment(ILcdPointList aPointList, boolean aAsPolygon, double aX, double aY, boolean aIncludeHotPoints, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Gets the index of the line segment of the givenILcdPointListwhich is touched by the given AWT point.intgetX()Gets the AWT x coordinate of the current position of thisILcdGXYPen.default doubleGets the AWT x coordinate of the current position of thisILcdGXYPen.intgetY()Gets the AWT y coordinate of the current position of thisILcdGXYPen.default doubleGets the AWT y coordinate of the current position of thisILcdGXYPen.booleanisArcTouched(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, double aX, double aY, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if the given arc is touched by clicking at the given AWT point taking into account the given tolerance.booleanisHorizontalLineTouched(ILcdPoint aPoint, double aDeltaX, double aX, double aY, boolean aIncludeHotPoint, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if a given horizontal line is touched by clicking at the given AWT point.booleanisLineTouched(ILcdPoint aPoint1, ILcdPoint aPoint2, double aX, double aY, boolean aIncludeHotPoint, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if a given line is touched by clicking at the given AWT point.booleanisTouched(ILcdPoint aPoint, double aX, double aY, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if the given model point is touched by clicking at the given AWT point.booleanisVerticalLineTouched(ILcdPoint aPoint, double aDeltaY, double aX, double aY, boolean aIncludeHotPoint, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if a given vertical line is touched by clicking at the given AWT point.voidlineBoundsSFCT(ILcdPoint aPoint1, ILcdPoint aPoint2, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) Calculates the bounding box in AWT coordinates of the line between the two given model points.doublemodelDistance(double aX1, double aY1, double aX2, double aY2, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Calculates the model distance between the two given points expressed in AWT coordinates.voidmoveTo(double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Moves the current position by setting its AWT coordinates to the given AWT point.voidmoveTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation) Moves the current position by setting its model coordinates to the given model point.voidmoveTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Moves the current position by setting its model coordinates to the given model point.voidpolylineBoundsSFCT(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) Calculates the bounding box in AWT coordinates of the given polyline.voidMakes the current position undefined so that it is not involved in the next drawing or append/accumulate operation.voidsetHotPointShape(int aHotPointShape) Sets the hot point shape.voidsetHotPointSize(int aHotPointSize) Sets the hot point size.voidtranslateOf(double aDeltaX, double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Translates the AWT coordinates of the current position.
-
Field Details
-
FILLED_SQUARE
static final int FILLED_SQUAREconstant representing a filled square to be used as hot point shape- See Also:
-
VERTICAL_CROSS
static final int VERTICAL_CROSSconstant representing a vertical cross to be used as hot point shape- See Also:
-
HORIZONTAL_CROSS
static final int HORIZONTAL_CROSSconstant representing a horizontal cross to be used as hot point shape- See Also:
-
CIRCLE
static final int CIRCLEconstant representing a circle to be used as hot point shape- See Also:
-
FILLED_CIRCLE
static final int FILLED_CIRCLEconstant representing a filled circle to be used as hot point shape- See Also:
-
-
Method Details
-
getX
int getX()Gets the AWT x coordinate of the current position of thisILcdGXYPen.- Returns:
- the AWT x coordinate of the current position of this
ILcdGXYPen
-
getY
int getY()Gets the AWT y coordinate of the current position of thisILcdGXYPen.- Returns:
- the AWT y coordinate of the current position of this
ILcdGXYPen
-
getXAsDouble
default double getXAsDouble()Gets the AWT x coordinate of the current position of thisILcdGXYPen.- Returns:
- the AWT x coordinate of the current position of this
ILcdGXYPen - Since:
- 2019.0
-
getYAsDouble
default double getYAsDouble()Gets the AWT y coordinate of the current position of thisILcdGXYPen.- Returns:
- the AWT y coordinate of the current position of this
ILcdGXYPen - Since:
- 2019.0
-
moveTo
void moveTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Moves the current position by setting its model coordinates to the given model point. The world and AWT coordinates of the current position are updated by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Setting the current position is only required - and should therefore only be used - to define the start point of a line. This is necessary in combination with one of the
drawLineTo,drawHorizontalLineTo, ordrawVerticalLineTomethods or in case one adds a line to an empty (sub)path with one of theappendLineTooraccumulateLineTomethods.Note that this method does not create a line break.
- Parameters:
aPoint- the model point to which the current position is movedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- If the given point is outside the valid area of the givenILcdModelXYWorldTransformation.
-
moveTo
void moveTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation) throws TLcdOutOfBoundsException Moves the current position by setting its model coordinates to the given model point. The world coordinates of the current position are updated by means of the givenILcdModelXYWorldTransformation.Setting the current position is only required - and should therefore only be used - to define the start point of a line. This is necessary in combination with one of the
drawLineTo,drawHorizontalLineTo, ordrawVerticalLineTomethods or in case one adds a line to an empty (sub)path with one of theappendLineTooraccumulateLineTomethods.Note that this method does not create a line break.
- Parameters:
aPoint- the model point to which the current position is movedaModelXYWorldTransformation- the transformation between model and world coordinates- Throws:
TLcdOutOfBoundsException- If the given point is outside the valid area of the givenILcdModelXYWorldTransformation.
-
moveTo
void moveTo(double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Moves the current position by setting its AWT coordinates to the given AWT point. The world and model coordinates of the current position are updated by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Setting the current position is only required - and should therefore only be used - to define the start point of a line. This is necessary in combination with one of the
drawLineTo,drawHorizontalLineTo, ordrawVerticalLineTomethods or in case one adds a line to an empty (sub)path with one of theappendLineTooraccumulateLineTomethods.Note that this method does not create a line break.
- Parameters:
aX- the x coordinate of the AWT point to which the current position is movedaY- the y coordinate of the AWT point to which the current position is movedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- If the given point is outside the valid area of the givenILcdModelXYWorldTransformation.
-
translateOf
void translateOf(double aDeltaX, double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Translates the AWT coordinates of the current position. The world and model coordinates of the current position are updated by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Setting the current position is only required - and should therefore only be used - to define the start point of a line. This is necessary in combination with one of the
drawLineTo,drawHorizontalLineTo, ordrawVerticalLineTomethods or in case one adds a line to an empty (sub)path with one of theappendLineTooraccumulateLineTomethods.Note that this method does not create a line break.
- Parameters:
aDeltaX- the amount by which the AWT x coordinate of the current position is translatedaDeltaY- the amount by which the AWT y coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- If the translated point is outside the valid area of the givenILcdModelXYWorldTransformation
-
resetPosition
void resetPosition()Makes the current position undefined so that it is not involved in the next drawing or append/accumulate operation. -
drawLineTo
void drawLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a line from the current position to the given model point onto the givenGraphics. The given model coordinates of the end point of the line are transformed to AWT coordinates by applying the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPoint- the end point of the line (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the line is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the given end point of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
drawLineTo
void drawLineTo(double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a line from the current position to the given AWT point onto the givenGraphics. The given AWT coordinates of the end point of the line are transformed to model coordinates by applying the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aX- the AWT x coordinate of the point to which a line is drawnaY- the AWT y coordinate of the point to which a line is drawnaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics on which the line is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the given end point of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
drawHorizontalLineTo
void drawHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a horizontal line from the current position to the given model point onto the givenGraphics. This model point is obtained by translating the model x coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to AWT coordinates by applying the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aDeltaX- the amount by which the model x coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics on which the line is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the given end point of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
drawVerticalLineTo
void drawVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a vertical line from the current position to the given model point onto the givenGraphics. This model point is obtained by translating the model y coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to AWT coordinates by applying the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aDeltaY- the amount by which the model y coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics on which the line is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the given end point of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
emptyAccumulated
void emptyAccumulated()Clears the accumulated internal path.- See Also:
-
accumulateLineTo
void accumulateLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Accumulates a line from the current position to the given model point to the internally stored path. The given model coordinates of the end point of the line are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Note that nothing is painted yet.
- Parameters:
aPoint- the end point (specified in model coordinates) of the lineaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the given model point is outside the valid area of the transformation but this could be avoided by more advanced implementations.- See Also:
-
accumulateHorizontalLineTo
void accumulateHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Accumulates a horizontal line starting from the current position to the internally stored path. The model coordinates of the end point of this line are obtained by translating the model x coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Note that nothing is painted yet.
- Parameters:
aDeltaX- the amount by which the model x coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the end point of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
accumulateVerticalLineTo
void accumulateVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Accumulates a vertical line starting from the current position to the internally stored path. The model coordinates of the end point of this line are obtained by translating the model y coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Note that nothing is painted yet.
- Parameters:
aDeltaY- the amount by which the model y coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the end point of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
accumulatePointList
void accumulatePointList(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Accumulates a polyline to the internally stored path. The polyline is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.Note that nothing is painted yet.
- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case one of the points of the polyline is outside the valid area of the transformation but this could be avoided by more advanced implementations.- See Also:
-
accumulateArc
void accumulateArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Accumulates a polyline approximation of the given arc to the internally stored path. The arc is specified as a segment of the circumference of an ellipse. The givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformationare used to transform model coordinates to AWT coordinates.Note that nothing is painted yet.
- Parameters:
aCenter- the center of the ellipse (specified in model coordinates)aA- the semi-major axis of the ellipseaB- the semi-minor axis of the ellipseaRotAngle- the rotation angle of the major axis of the ellipse (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aStartAngle- the start angle of the arc (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the center of the ellipse and/or one of the points of the polyline approximation to the arc are outside the valid area of the transformation but this could be avoided by more advanced implementations.- See Also:
-
drawAccumulatedPolyline
Draws the points stored in the internal path as a polyline. IfaEmptyAccumulatedistrue, the internal path is cleared after the drawing operation.- Parameters:
aGraphics- theGraphicsonto which the polyline is drawnaEmptyAccumulated- boolean indicating whether the internal path should be cleared
-
drawAccumulatedPolygon
Draws the points stored in the internal path as a polygon. IfaEmptyAccumulatedistrue, the internal path is cleared after the drawing operation.- Parameters:
aGraphics- theGraphicsonto which the polyline is drawnaEmptyAccumulated- boolean indicating whether the internal path should be cleared
-
fillAccumulatedPolygon
Draws the points stored in the internal path as a filled polygon. IfaEmptyAccumulatedistrue, the internal path is cleared after the drawing operation.- Parameters:
aGraphics- theGraphicsonto which the polyline is drawnaEmptyAccumulated- boolean indicating whether the internal path should be cleared
-
appendLineTo
void appendLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a line from the current position to the given model point to the givenILcdAWTPath. The given model coordinates of the end point of the line are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. If this model point is outside the valid area of the givenILcdModelXYWorldTransformation, a line break is appended to the givenILcdAWTPath.- Parameters:
aPoint- the end point (specified in model coordinates) of the lineaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaAWTPathSFCT- the AWT path to which the line is appended
-
appendHorizontalLineTo
void appendHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a horizontal line starting from the current position to the givenILcdAWTPath. The model coordinates of the end point of this line are obtained by translating the model x coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. If this model point is outside the valid area of the givenILcdModelXYWorldTransformation, a line break is appended to the givenILcdAWTPath. In case the current position is undefined, nothing is appended.- Parameters:
aDeltaX- the amount by which the model x coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaAWTPathSFCT- the AWT path to which the line is appended
-
appendVerticalLineTo
void appendVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a vertical line starting from the current position to the givenILcdAWTPath. The model coordinates of the end point of this line are obtained by translating the model y coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. If this model point is outside the valid area of the givenILcdModelXYWorldTransformation, a line break is appended to the givenILcdAWTPath. In case the current position is undefined, nothing is appended.- Parameters:
aDeltaY- the amount by which the model y coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaAWTPathSFCT- the AWT path to which the line is appended
-
appendPointList
void appendPointList(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a polyline to the givenILcdAWTPath. The polyline is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. If a model point is outside the valid area of the givenILcdModelXYWorldTransformation, a line break is appended to the givenILcdAWTPathso that the polyline is split.- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaAWTPathSFCT- the AWT path to which the given point list is appended
-
appendArc
void appendArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) throws TLcdOutOfBoundsException Appends a polyline approximation of the given arc to the givenILcdAWTPath. The arc is specified as a segment of the circumference of an ellipse. The givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformationare used to transform model coordinates to AWT coordinates.- Parameters:
aCenter- the center of the ellipse (specified in model coordinates)aA- the semi-major axis of the ellipseaB- the semi-minor axis of the ellipseaRotAngle- the rotation angle of the major axis of the ellipse (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aStartAngle- the start angle of the arc (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaAWTPathSFCT- the AWT path to which the polyline approximation of the given arc is appended- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the center of the ellipse is outside the valid area of the transformation but this could be avoided by more advanced implementations.- See Also:
-
appendGeneralPath
void appendGeneralPath(ILcdGeneralPath aGeneralPath, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends the givenILcdGeneralPathto the givenILcdAWTPath. The world coordinates of the points stored in the givenILcdGeneralPathare transformed to AWT coordinates by means of the givenILcdGXYViewXYWorldTransformation. If consecutive world points map to the same AWT point, the AWT path may be simplified in order to reduce memory requirements and improve the performance of further operations.- Parameters:
aGeneralPath- the general path which is appended to the given AWT pathaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaAWTPathSFCT- the AWT path to which the given general path is appended
-
appendLineTo
void appendLineTo(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a line from the current position to the given model point to the givenILcdGeneralPath. The given model coordinates of the end point of the line are transformed to world coordinates by means of the givenILcdModelXYWorldTransformation. If this point is outside the valid area of the transformation, a line break is appended to the givenILcdGeneralPath.- Parameters:
aPoint- the end point (specified in model coordinates) of the lineaModelXYWorldTransformation- the transformation between model and world coordinatesaGeneralPathSFCT- the general path to which the line is appended
-
appendHorizontalLineTo
void appendHorizontalLineTo(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a horizontal line starting from the current position to the givenILcdGeneralPath. The model coordinates of the end point of this line are obtained by translating the model x coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to world coordinates by means of the givenILcdModelXYWorldTransformation. If this point is outside the valid area of this transformation, a line break is appended to the givenILcdGeneralPath. In case the current position is undefined, nothing is appended.- Parameters:
aDeltaX- the amount by which the model x coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGeneralPathSFCT- the general path to which the line is appended
-
appendVerticalLineTo
void appendVerticalLineTo(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a vertical line starting from the current position to the givenILcdGeneralPath. The model coordinates of the end point of this line are obtained by translating the model y coordinate of the current position by the given amount. The model coordinates of the end point of the line are transformed to world coordinates by means of the givenILcdModelXYWorldTransformation. If this point is outside the valid area of this transformation, a line break is appended to the givenILcdGeneralPath. In case the current position is undefined, nothing is appended.- Parameters:
aDeltaY- the amount by which the model y coordinate of the current position is translatedaModelXYWorldTransformation- the transformation between model and world coordinatesaGeneralPathSFCT- the general path to which the line is appended
-
appendPointList
void appendPointList(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a polyline to the givenILcdGeneralPath. The polyline is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to world coordinates by means of the givenILcdModelXYWorldTransformation. If a model point is outside the valid area of this transformation, a line break is appended to the givenILcdGeneralPathso that the polyline is split.- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGeneralPathSFCT- the general path to which the given point list is appended
-
appendArc
void appendArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) throws TLcdOutOfBoundsException Appends a polyline approximation of the given arc to the givenILcdGeneralPath. The arc is specified as a segment of the circumference of an ellipse. The givenILcdModelXYWorldTransformationis used to transform model coordinates to world coordinates.- Parameters:
aCenter- the center of the ellipse (specified in model coordinates)aA- the semi-major axis of the ellipseaB- the semi-minor axis of the ellipseaRotAngle- the rotation angle of the major axis of the ellipse (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aStartAngle- the start angle of the arc (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaModelXYWorldTransformation- the transformation between model and world coordinatesaGeneralPathSFCT- the general path to which the polyline approximation of the given arc is appended- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the center of the ellipse is outside the valid area of the transformation but this could be avoided by more advanced implementations.- See Also:
-
drawLine
void drawLine(ILcdPoint aFromPoint, ILcdPoint aToPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a line between the two given model points onto the givenGraphics. The model coordinates of the end points of the line are transformed to AWT coordinates by applying the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aFromPoint- the start point of the line (specified in model coordinates)aToPoint- the end point of the line (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the line is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case one of the given end points of the line is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
drawPolyline
void drawPolyline(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a polyline onto the givenGraphics. The polyline is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the polyline is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case one of the points of the polyline is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
drawPolygon
void drawPolygon(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a polygon onto the givenGraphics. The polygon is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the polygon is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case one of the points of the polygon is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
fillPolygon
void fillPolygon(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a filled polygon onto the givenGraphics. The polygon is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the polygon is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case one of the points of the polygon is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
drawArc
void drawArc(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws an arc onto the givenGraphics. The arc is specified as a segment of the circumference of an ellipse. The givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformationare used to transform model coordinates to AWT coordinates.- Parameters:
aCenter- the center of the ellipse (specified in model coordinates)aA- the semi-major axis of the ellipseaB- the semi-minor axis of the ellipseaRotAngle- the rotation angle of the major axis of the ellipse (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aStartAngle- the start angle of the arc (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the arc is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case the center of the ellipse and/or one of the points of the arc is outside the valid area of the transformation but this could be avoided by more advanced implementations.- See Also:
-
drawArc
void drawArc(double aCenterX, double aCenterY, double aStartX, double aStartY, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a circular arc onto the givenGraphics. The circular arc is specified by the center of the circle, a point on the circumference of the circle which denotes the start point of the arc and the angle spanned by the arc. The givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformationare used to transform between model coordinates and AWT coordinates.- Parameters:
aCenterX- the AWT x coordinate of the center of the circleaCenterY- the AWT y coordinate of the center of the circleaStartX- the AWT x coordinate of the start point of the arcaStartY- the AWT y coordinate of the start point of the arcaArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the arc is drawn- Throws:
TLcdOutOfBoundsException- Some implementations may throw an exception in case one of the defining points of the circular arc and/or one of the points of the arc is outside the valid area of the transformation but this could be avoided by more advanced implementations.
-
modelDistance
double modelDistance(double aX1, double aY1, double aX2, double aY2, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) throws TLcdOutOfBoundsException Calculates the model distance between the two given points expressed in AWT coordinates. These AWT coordinates are transformed to model coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aX1- the x-coordinate of the first AWT pointaY1- the y-coordinate of the first AWT pointaX2- the x-coordinate of the second AWT pointaY2- the y-coordinate of the second AWT pointaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- the distance between the two given points within the model coordinate system
- Throws:
TLcdOutOfBoundsException- If one of the two given points is outside the valid area of the givenILcdModelXYWorldTransformation.
-
lineBoundsSFCT
void lineBoundsSFCT(ILcdPoint aPoint1, ILcdPoint aPoint2, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) throws TLcdNoBoundsException Calculates the bounding box in AWT coordinates of the line between the two given model points. The model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPoint1- the start point of the line (specified in model coordinates)aPoint2- the end point of the line (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaBoundsSFCT- the bounding box in AWT coordinates of the given line on completion of the method- Throws:
TLcdNoBoundsException- If the line is outside the valid area of the givenILcdModelXYWorldTransformation.
-
polylineBoundsSFCT
void polylineBoundsSFCT(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) throws TLcdNoBoundsException Calculates the bounding box in AWT coordinates of the given polyline. The polyline is given as anILcdPointListof which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPointList- the point list (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaBoundsSFCT- the bounding box in AWT coordinates of the given polyline on completion of the method- Throws:
TLcdNoBoundsException- If the polyline is outside the valid area of the givenILcdModelXYWorldTransformation.
-
arcBoundsSFCT
void arcBoundsSFCT(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) throws TLcdNoBoundsException Calculates the bounding box in AWT coordinates of the given arc. The arc is specified as a segment of the circumference of an ellipse. The givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformationare used to transform model coordinates to AWT coordinates.- Parameters:
aCenter- the center of the ellipse (specified in model coordinates)aA- the semi-major axis of the ellipseaB- the semi-minor axis of the ellipseaRotAngle- the rotation angle of the major axis of the ellipse (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aStartAngle- the start angle of the arc (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaBoundsSFCT- the bounding box in AWT coordinates of the given arc on completion of the method- Throws:
TLcdNoBoundsException- If the given arc is outside the valid area of the givenILcdModelXYWorldTransformation- See Also:
-
isTouched
boolean isTouched(ILcdPoint aPoint, double aX, double aY, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if the given model point is touched by clicking at the given AWT point. This is the case when the given AWT point is within a square of sizeaSensitivitycentered on the AWT coordinates of the given model point. These AWT coordinates are obtained from the given model coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPoint- the model pointaX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaSensitivity- the allowed tolerance (expressed in pixels)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- a boolean indicating whether the given model point is touched by the given AWT point
-
isLineTouched
boolean isLineTouched(ILcdPoint aPoint1, ILcdPoint aPoint2, double aX, double aY, boolean aIncludeHotPoint, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if a given line is touched by clicking at the given AWT point. The line is specified by means of two given model points. Model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. The user can specify the allowed tolerance (aSensitivity) and whether the test should include the hot points (aIncludeHotPoint).- Parameters:
aPoint1- the start point of the line (specified in model coordinates)aPoint2- the end point of the line (specified in model coordinates)aX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaIncludeHotPoint- boolean indicating whether to include the hot pointsaSensitivity- the allowed tolerance (expressed in pixels)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- a boolean indicating whether the given line is touched by the given AWT point
-
isHorizontalLineTouched
boolean isHorizontalLineTouched(ILcdPoint aPoint, double aDeltaX, double aX, double aY, boolean aIncludeHotPoint, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if a given horizontal line is touched by clicking at the given AWT point. The horizontal line is specified by means of a start point (specified in model coordinates) and the amount by which the x coordinate of this point should be translated to obtain the end point. Model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. The user can specify the allowed tolerance (aSensitivity) and whether the test should include the hot points (aIncludeHotPoint).- Parameters:
aPoint- the start point of the line (specified in model coordinates)aDeltaX- the amount by which the x coordinate of the start point is translatedaX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaIncludeHotPoint- boolean indicating whether to include the hot pointsaSensitivity- the allowed tolerance (expressed in pixels)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- a boolean indicating whether the given line is touched by the given AWT point
-
isVerticalLineTouched
boolean isVerticalLineTouched(ILcdPoint aPoint, double aDeltaY, double aX, double aY, boolean aIncludeHotPoint, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if a given vertical line is touched by clicking at the given AWT point. The vertical line is specified by means of a start point (specified in model coordinates) and the amount by which the y coordinate of this point should be translated to obtain the end point. Model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation. The user can specify the allowed tolerance (aSensitivity) and whether the test should include the hot points (aIncludeHotPoint).- Parameters:
aPoint- the start point of the line (specified in model coordinates)aDeltaY- the amount by which the y coordinate of the start point is translatedaX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaIncludeHotPoint- boolean indicating whether to include the hot pointsaSensitivity- the allowed tolerance (expressed in pixels)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- a boolean indicating whether the given line is touched by the given AWT point
-
getTouchedSegment
int getTouchedSegment(ILcdPointList aPointList, boolean aAsPolygon, double aX, double aY, boolean aIncludeHotPoints, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Gets the index of the line segment of the givenILcdPointListwhich is touched by the given AWT point. IfaAsPolygonequals true, the segment from the last point to the first point (the index of which equals one less than the number of points in theILcdPointList) is taken into account as well.- Parameters:
aPointList- the point list defining the line segmentsaAsPolygon- boolean indicating whether the given point list should be considered as a polygon or not (in which case it is considered as a polyline)aX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaIncludeHotPoints- boolean indicating whether to include the hot pointsaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- the index of the touched line segment or -1 if no segment is touched
-
isArcTouched
boolean isArcTouched(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, double aX, double aY, int aSensitivity, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Tests if the given arc is touched by clicking at the given AWT point taking into account the given tolerance. The arc is specified as a segment of the circumference of an ellipse. The givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformationare used to transform model coordinates to AWT coordinates.- Parameters:
aCenter- the center of the ellipse (specified in model coordinates)aA- the semi-major axis of the ellipseaB- the semi-minor axis of the ellipseaRotAngle- the rotation angle of the major axis of the ellipse (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aStartAngle- the start angle of the arc (expressed in degrees). Positive angles are measured counter-clockwise from the line at 3 o'clock.aArcAngle- the span of the arc (expressed in degrees), increasing counterclockwise from the start angleaX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaSensitivity- the allowed tolerance (expressed in pixels)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- a boolean indicating whether the given arc is touched by the given AWT point
- See Also:
-
contains
boolean contains(ILcdPointList aPointList, double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Checks whether the given polygon encloses the given AWT point. The polygon is given as anILcdPointListcontaining points specified in model coordinates. Model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPointList- the point list defining a polygonaX- the x-coordinate of the AWT pointaY- the y-coordinate of the AWT pointaModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinates- Returns:
- a boolean indicating whether the given polygon encloses the given AWT point
-
setHotPointShape
void setHotPointShape(int aHotPointShape) Sets the hot point shape.- Parameters:
aHotPointShape- the hot point shape to be set (#FILLED_SQUARE, #VERTICAL_CROSS, #HORIZONTAL_CROSS, #CIRCLE, #FILLED_CIRCLE)- See Also:
-
getHotPointShape
int getHotPointShape()Gets the hot point shape currently used by thisILcdGXYPen.- Returns:
- the hot point shape currently used by this
ILcdGXYPen - See Also:
-
getHotPointSize
int getHotPointSize()Gets the hot point size currently used by thisILcdGXYPen. This size is half the width of the square representing a hot point.- Returns:
- the hot point size currently used by this
ILcdGXYPenThis size is half the width of the square representing a hot point and is expressed in pixels. - See Also:
-
setHotPointSize
void setHotPointSize(int aHotPointSize) Sets the hot point size. This size is half the width of the square representing a hot point.- Parameters:
aHotPointSize- the hot point size (expressed in pixels)- See Also:
-
drawHotPoint
void drawHotPoint(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) throws TLcdOutOfBoundsException Draws a hot point at the given model point. The model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformationandILcdGXYViewXYWorldTransformation.- Parameters:
aPoint- the position at which the hot point is drawn (specified in model coordinates)aModelXYWorldTransformation- the transformation between model and world coordinatesaGXYViewXYWorldTransformation- the transformation between world and view coordinatesaGraphics- the Graphics onto which the hot point is drawn- Throws:
TLcdOutOfBoundsException- If the given model point is outside the valid area of the givenILcdModelXYWorldTransformation.
-
drawHotPoint
Draws a hot point at the given AWT point.- Parameters:
aX- the AWT x coordinate of the position at which the hot point is drawnaY- the AWT y coordinate of the position at which the hot point is drawnaGraphics- the Graphics onto which the hot point is drawn
-
clone
Object clone()
-