Package com.anylogic.engine.markup
- java.lang.Object
- com.anylogic.engine.markup.AbstractMarkupSegment
- com.anylogic.engine.markup.MarkupSegment
- com.anylogic.engine.markup.MarkupSegmentLine
- All Implemented Interfaces:
IMarkupSegment
,Serializable
public final class MarkupSegmentLine extends MarkupSegment
Straight markup segment for continuous space.
- Author:
- AnyLogic North America, LLC https://anylogic.com
- See Also:
- Serialized Form
Constructor | Description |
---|---|
MarkupSegmentLine() | |
MarkupSegmentLine |
Modifier and Type | Method | Description |
---|---|---|
void | addTo |
Adds this segment to the given path assuming that path is currently positioned on
the start point of this segment
|
List<Shape> | convertToShapes() | |
BoundingRectangle | getBoundingRectangle() | |
double | getDistanceSq |
For horizontal segments, calculates and returns the square of distance to the
point (in the XY-projection).
|
double | getDistanceSq |
For horizontal segments, calculates and returns the square of distance to the
point (in the XY-projection).
|
Position | getEnd |
Returns the location of the end position of the segment
|
double | getNearestPoint |
Calculates (using the
output object) the point in this space markup element
nearest to the given (x, y, z) point. |
double | getNearestPoint |
For horizontal segments, calculates (using the
output object) the point in
this space markup element nearest to the given (x, y) point. |
double | getNearestPointOnRay2D |
Calculates (and sets in the 'out' object) the point where this segment intersects
the given ray with the minimum distance from ray beginning (if there are several
intersection points like in arc segments).
|
double | getOffsetOfPoint |
Calculates distance by segment to the given point.
|
Position | getStart |
Returns the location of the start position of the segment
|
final void | initialize() | |
String | toString() |
public MarkupSegmentLine(double sx, double sy, double sz, double ex, double ey, double ez)
public MarkupSegmentLine()
public Position getStart(Position out)
Description copied from class:
AbstractMarkupSegment
Returns the location of the start position of the segment
- Specified by:
getStart
in classAbstractMarkupSegment
- Parameters:
out
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the segment start
public Position getEnd(Position out)
Description copied from class:
AbstractMarkupSegment
Returns the location of the end position of the segment
- Specified by:
getEnd
in classAbstractMarkupSegment
- Parameters:
out
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the segment end
public final void initialize()
public double getNearestPoint(double x, double y, Point out)
Description copied from class:
MarkupSegment
For horizontal segments, calculates (using the
output
object) the point in
this space markup element nearest to the given (x, y) point.
Returns the square of distance to the point (in the XY-projection).
All the calculations are performed in the horizontal projection (z-coordinates aren't used,
as if all of the z coordinates were zero).- Specified by:
getNearestPoint
in classMarkupSegment
- Parameters:
x
- x coordinate of the pointy
- y coordinate of the pointout
- the output point to write result to. Note thatoutput.z
is left unchanged.- Returns:
- the square of distance to the nearest point in the horizontal (XY) projection
public double getDistanceSq(double x, double y)
Description copied from class:
MarkupSegment
For horizontal segments, calculates and returns the square of distance to the
point (in the XY-projection).
All the calculations are performed in the horizontal projection (z-coordinates aren't used,
as if all of the z coordinates were zero).
- Specified by:
getDistanceSq
in classMarkupSegment
- Parameters:
x
- x coordinate of the pointy
- y coordinate of the point- Returns:
- the square of distance to the given point in the horizontal (XY) projection
public double getNearestPoint(double x, double y, double z, Point out)
Description copied from class:
MarkupSegment
Calculates (using the
output
object) the point in this space markup element
nearest to the given (x, y, z) point. Returns the square of distance to the point.- Specified by:
getNearestPoint
in classMarkupSegment
- Parameters:
x
- x coordinate of the pointy
- y coordinate of the pointz
- z coordinate of the point- Returns:
- the square of distance to the nearest point
public double getDistanceSq(double x, double y, double z)
For horizontal segments, calculates and returns the square of distance to the
point (in the XY-projection).
All the calculations are performed in the horizontal projection (z-coordinates aren't used,
as if all of the z coordinates were zero).
- Specified by:
getDistanceSq
in classMarkupSegment
- Parameters:
x
- x coordinate of the pointy
- y coordinate of the pointz
- z coordinate of the point- Returns:
- the square of distance to the given point in the horizontal (XY) projection
public double getNearestPointOnRay2D(double x1, double y1, double x2, double y2, Point out)
Description copied from interface:
IMarkupSegment
Calculates (and sets in the 'out' object) the point where this segment intersects
the given ray with the minimum distance from ray beginning (if there are several
intersection points like in arc segments). Returns the square of that distance.
Returns
Returns
+infinity
if there is no intersections.- Parameters:
x1
- the X coordinate of the start point of the rayy1
- the Y coordinate of the start point of the rayx2
- the X coordinate of some point on the rayy2
- the Y coordinate of some point on the rayout
- the Point object to write result to- Returns:
- the square of the distance from ray beginning to the nearest intersection point
or
+infinity
if there is no intersections
public double getOffsetOfPoint(double x, double y)
Description copied from interface:
IMarkupSegment
Calculates distance by segment to the given point. Point is specified by a pair of coordinates.
The given point should by on this segment.
- Parameters:
x
- the x coordinate of the given point.
In case of GIS space this is the latitude of the given point, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)y
- the y coordinate of the given point
In case of GIS space this is the longitude of the given point, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)- Returns:
- the distance by segment to the given point
public void addTo(Path2D path)
Description copied from interface:
IMarkupSegment
Adds this segment to the given path assuming that path is currently positioned on
the start point of this segment
- Parameters:
path
- the path to add this segment to
public String toString()
public List<Shape> convertToShapes()
Description copied from class:
MarkupSegment
- Specified by:
convertToShapes
in classMarkupSegment
- Returns:
- the list of primitives that comprise the markup segment
@AnyLogicInternalAPI public BoundingRectangle getBoundingRectangle()