Package com.luciad.ais.shape
Interface ILcdGeoPathLeg
- All Superinterfaces:
Cloneable
,ILcdBounded
,ILcdCloneable
,ILcdPoint
,ILcdShape
,Serializable
- All Known Subinterfaces:
ILcdAirspaceSegment
,ILcdEditableAirspaceSegment
,ILcdEditableGeoPathLeg
,ILcdEditableParachuteJumpAreaSegment
,ILcdParachuteJumpAreaSegment
- All Known Implementing Classes:
TLcdAirspaceSegment
,TLcdGeoPathLeg
,TLcdParachuteJumpAreaSegment
,TLcdSubPointlistAirspaceSegment
An
ILcdGeoPathLeg
is a geometric shape defined by a point and, depending on
the type of the leg, a number of other parameters. Leg types include lines,
circles and polygons.
The extra parameters can be retrieved in an array of double
values using
the getDataSFCT()
method. See below for the
list of parameters associated with each of the leg types.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
An arc which connects the coordinates specified by the current leg to the end of the next GeoPath leg.static final int
An arc specified by three points.static final int
A circle defined by two points.static final int
A circle defined by its center and radius.static final int
A geodesic line which starts at the coordinates specified by the current leg and ends at the next GeoPath leg.static final int
The most basic type of GeoPath leg is simply a point, and does not specify any additional parameters.static final int
A rhumb line which starts at the coordinates specified by the current leg and ends at the next GeoPath leg.static final int
A polyline defined by two points and a pointlist. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the number of parameters in the leg's data array.void
getDataSFCT
(double[] aDataSFCT) Copies the GeoPath leg's parameter list into theaDataSFCT
array.int
getType()
Returns the type of this GeoPath leg.Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.util.ILcdCloneable
clone
Methods inherited from interface com.luciad.shape.ILcdPoint
cloneAs2DEditablePoint, cloneAs3DEditablePoint, equals, getCosX, getCosY, getSinX, getSinY, getTanX, getTanY, getX, getY, getZ
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Field Details
-
POINT
static final int POINTThe most basic type of GeoPath leg is simply a point, and does not specify any additional parameters.- See Also:
-
CIRCLE_POINT
static final int CIRCLE_POINTA circle defined by two points. The coordinates of the GeoPath leg itself specify the center of the circle. The parameter list specifies the X, Y and Z coordinates of a point on the circle's boundary.A geo-path leg of this type cannot be combined with other geo-path legs. It must be the only leg in the path (which consequently determines a circle).
- See Also:
-
CIRCLE_RADIUS
static final int CIRCLE_RADIUSA circle defined by its center and radius. The coordinates of the GeoPath leg itself specify the center, and the parameter list contains the radius.A geo-path leg of this type cannot be combined with other geo-path legs. It must be the only leg in the path (which consequently determines a circle).
- See Also:
-
GEODESIC_LINE
static final int GEODESIC_LINEA geodesic line which starts at the coordinates specified by the current leg and ends at the next GeoPath leg. No extra parameters are required.- See Also:
-
RHUMB_LINE
static final int RHUMB_LINEA rhumb line which starts at the coordinates specified by the current leg and ends at the next GeoPath leg. No extra parameters are required.- See Also:
-
ARC
static final int ARCAn arc which connects the coordinates specified by the current leg to the end of the next GeoPath leg. The parameter list contains the X, Y and Z coordinates of the arc center, and a value indicating whether the arc is clockwise (value = 1.0) or counterclockwise (value = 0.0). Optionally, the parameter list is extended with a radius. Although a radius is redundant with the arc center coordinates, it can be used to detect and resolve inaccuracies in the data.- See Also:
-
ARC_BY_EDGE
static final int ARC_BY_EDGEAn arc specified by three points. The first point is specified by the coordinates of the current leg. The second point is the end of the next GeoPath leg, and marks the end point of the arc. The parameter list contains the X, Y and Z coordinates of the third point, which is a point through which the arc must pass.- See Also:
-
SUB_POINT_LIST
static final int SUB_POINT_LISTA polyline defined by two points and a pointlist. The parameter list contains a list of X, Y and Z coordinates that represents the pointlist; the point in this list that is closest to the coordinates of the current leg is the start point of the polyline; the point that is closest to the coordinates of the next leg is the end point of the polyline.- See Also:
-
-
Method Details
-
getType
int getType()Returns the type of this GeoPath leg.- Returns:
- one of the constants defined above
-
getDataLength
int getDataLength()Returns the number of parameters in the leg's data array. UsegetDataSFCT()
to obtain the contents of the parameter list.- Returns:
- the length of the leg's parameter list
-
getDataSFCT
void getDataSFCT(double[] aDataSFCT) Copies the GeoPath leg's parameter list into theaDataSFCT
array. The array must be sufficiently large! UsegetDataLength()
to determine the required size of the array.- Parameters:
aDataSFCT
- will receive the parameter list of this GeoPath leg.
-