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:
emptyAccumulated
accumulateLineTo
accumulatePointList
accumulateArc
drawAccumulatedPolyline
drawAccumulatedPolygon
fillAccumulatedPolygon
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
Modifier and TypeFieldDescriptionstatic final int
constant representing a circle to be used as hot point shapestatic final int
constant representing a filled circle to be used as hot point shapestatic final int
constant representing a filled square to be used as hot point shapestatic final int
constant representing a horizontal cross to be used as hot point shapestatic final int
constant representing a vertical cross to be used as hot point shape -
Method Summary
Modifier and TypeMethodDescriptionvoid
accumulateArc
(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.void
accumulateHorizontalLineTo
(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a horizontal line starting from the current position to the internally stored path.void
accumulateLineTo
(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a line from the current position to the given model point to the internally stored path.void
accumulatePointList
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a polyline to the internally stored path.void
accumulateVerticalLineTo
(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Accumulates a vertical line starting from the current position to the internally stored path.void
appendArc
(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
.void
appendArc
(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
.void
appendGeneralPath
(ILcdGeneralPath aGeneralPath, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends the givenILcdGeneralPath
to the givenILcdAWTPath
.void
appendHorizontalLineTo
(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a horizontal line starting from the current position to the givenILcdGeneralPath
.void
appendHorizontalLineTo
(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a horizontal line starting from the current position to the givenILcdAWTPath
.void
appendLineTo
(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a line from the current position to the given model point to the givenILcdGeneralPath
.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
.void
appendPointList
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a polyline to the givenILcdGeneralPath
.void
appendPointList
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a polyline to the givenILcdAWTPath
.void
appendVerticalLineTo
(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGeneralPath aGeneralPathSFCT) Appends a vertical line starting from the current position to the givenILcdGeneralPath
.void
appendVerticalLineTo
(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcdAWTPath aAWTPathSFCT) Appends a vertical line starting from the current position to the givenILcdAWTPath
.void
arcBoundsSFCT
(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()
boolean
contains
(ILcdPointList aPointList, double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Checks whether the given polygon encloses the given AWT point.void
drawAccumulatedPolygon
(Graphics aGraphics, boolean aEmptyAccumulated) Draws the points stored in the internal path as a polygon.void
drawAccumulatedPolyline
(Graphics aGraphics, boolean aEmptyAccumulated) Draws the points stored in the internal path as a polyline.void
drawArc
(double aCenterX, double aCenterY, double aStartX, double aStartY, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a circular arc onto the givenGraphics
.void
drawArc
(ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws an arc onto the givenGraphics
.void
drawHorizontalLineTo
(double aDeltaX, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a horizontal line from the current position to the given model point onto the givenGraphics
.void
drawHotPoint
(double aX, double aY, Graphics aGraphics) Draws a hot point at the given AWT point.void
drawHotPoint
(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a hot point at the given model point.void
drawLine
(ILcdPoint aFromPoint, ILcdPoint aToPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a line between the two given model points onto the givenGraphics
.void
drawLineTo
(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
.void
drawLineTo
(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a line from the current position to the given model point onto the givenGraphics
.void
drawPolygon
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a polygon onto the givenGraphics
.void
drawPolyline
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a polyline onto the givenGraphics
.void
drawVerticalLineTo
(double aDeltaY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a vertical line from the current position to the given model point onto the givenGraphics
.void
Clears the accumulated internal path.void
fillAccumulatedPolygon
(Graphics aGraphics, boolean aEmptyAccumulated) Draws the points stored in the internal path as a filled polygon.void
fillPolygon
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, Graphics aGraphics) Draws a filled polygon onto the givenGraphics
.int
Gets the hot point shape currently used by thisILcdGXYPen
.int
Gets the hot point size currently used by thisILcdGXYPen
.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 givenILcdPointList
which is touched by the given AWT point.int
getX()
Gets the AWT x coordinate of the current position of thisILcdGXYPen
.default double
Gets the AWT x coordinate of the current position of thisILcdGXYPen
.int
getY()
Gets the AWT y coordinate of the current position of thisILcdGXYPen
.default double
Gets the AWT y coordinate of the current position of thisILcdGXYPen
.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.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.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.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.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.void
lineBoundsSFCT
(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.double
modelDistance
(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.void
moveTo
(double aX, double aY, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Moves the current position by setting its AWT coordinates to the given AWT point.void
moveTo
(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation) Moves the current position by setting its model coordinates to the given model point.void
moveTo
(ILcdPoint aPoint, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation) Moves the current position by setting its model coordinates to the given model point.void
polylineBoundsSFCT
(ILcdPointList aPointList, ILcdModelXYWorldTransformation aModelXYWorldTransformation, ILcdGXYViewXYWorldTransformation aGXYViewXYWorldTransformation, ILcd2DEditableBounds aBoundsSFCT) Calculates the bounding box in AWT coordinates of the given polyline.void
Makes the current position undefined so that it is not involved in the next drawing or append/accumulate operation.void
setHotPointShape
(int aHotPointShape) Sets the hot point shape.void
setHotPointSize
(int aHotPointSize) Sets the hot point size.void
translateOf
(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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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
, ordrawVerticalLineTo
methods or in case one adds a line to an empty (sub)path with one of theappendLineTo
oraccumulateLineTo
methods.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
, ordrawVerticalLineTo
methods or in case one adds a line to an empty (sub)path with one of theappendLineTo
oraccumulateLineTo
methods.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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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
, ordrawVerticalLineTo
methods or in case one adds a line to an empty (sub)path with one of theappendLineTo
oraccumulateLineTo
methods.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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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
, ordrawVerticalLineTo
methods or in case one adds a line to an empty (sub)path with one of theappendLineTo
oraccumulateLineTo
methods.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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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 anILcdPointList
of which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
are 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. IfaEmptyAccumulated
istrue
, the internal path is cleared after the drawing operation.- Parameters:
aGraphics
- theGraphics
onto 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. IfaEmptyAccumulated
istrue
, the internal path is cleared after the drawing operation.- Parameters:
aGraphics
- theGraphics
onto 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. IfaEmptyAccumulated
istrue
, the internal path is cleared after the drawing operation.- Parameters:
aGraphics
- theGraphics
onto 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. 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 anILcdPointList
of which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. If a model point is outside the valid area of the givenILcdModelXYWorldTransformation
, a line break is appended to the givenILcdAWTPath
so 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
are 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 givenILcdGeneralPath
to the givenILcdAWTPath
. The world coordinates of the points stored in the givenILcdGeneralPath
are 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 anILcdPointList
of 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 givenILcdGeneralPath
so 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 givenILcdModelXYWorldTransformation
is 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 anILcdPointList
of which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 anILcdPointList
of which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 anILcdPointList
of which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
are 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
are 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 anILcdPointList
of which the points are specified in model coordinates. These model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
are 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 sizeaSensitivity
centered on the AWT coordinates of the given model point. These AWT coordinates are obtained from the given model coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
. 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 givenILcdPointList
which is touched by the given AWT point. IfaAsPolygon
equals 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
are 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 anILcdPointList
containing points specified in model coordinates. Model coordinates are transformed to AWT coordinates by means of the givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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
ILcdGXYPen
This 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 givenILcdModelXYWorldTransformation
andILcdGXYViewXYWorldTransformation
.- 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()
-