Package com.luciad.ais.model.airspace
Interface ILcdAirspaceCorridor
- All Superinterfaces:
Cloneable
,ILcdBounded
,ILcdCloneable
,ILcdCurve
,ILcdDataObject
,ILcdGenericAirspace
,ILcdGeoBuffer
,ILcdGeoPath
,ILcdPointList
,ILcdShape
,Serializable
- All Known Subinterfaces:
ILcdEditableAirspaceCorridor
- All Known Implementing Classes:
TLcdAirspaceCorridor
,TLcdFeaturedAirspaceCorridor
public interface ILcdAirspaceCorridor
extends ILcdGeoBuffer, ILcdPointList, ILcdGeoPath, ILcdGenericAirspace, ILcdCurve
This interface represents an airspace corridor and provides methods for
retrieving its geometry and relationships.
An airspace corridor is considered to be a buffer, constructed from a centreline
and a width. It has the same aeronautical meaning as a regular airspace,
but its geometry better fits specific needs to define airspaces around
centrelines like climbing routes, flight paths, etc.
The centreline or axis is represented by a set of
ILcdAirspaceSegment
objects,
of which the last segment needs to be of the leg type ILcdAirspaceSegment.POINT
.
This segment represents the last point of the axis. Before the contour of the airspace is calculated,
the segments are discretized to a point list. The discretized axis points can be retrieved individually
through the methods available in ILcdPointList
, or as a polyline shape
through the method getBaseShape()
. The methods of ILcdCurve
uses the discretized axis points
representation exposed by the methods in ILcdPointList
.
The contour of the airspace corridor can be retrieved via getContour()
.
It is modeled as a complex polygon (i.e., a composite polygon consisting of one or more polygons
that each define an edge of the contour). In the simplest form, the contour is represented
by a single polygon. In cases where the airspace corridor intersects with itself,
multiple polygons are used to define the contour.
The height information of the airspace corridor is stored in features, see ILcdAirspaceFeature
and TLcdFeaturedAirspaceCorridor
.
Attributes and relationships in AIS domain objects can be required or optional.
When unspecified, an attribute or relationship is optional. Note that most
optional attributes are modeled using features.
- Since:
- 8.0
- See Also:
-
Field Summary
Fields inherited from interface com.luciad.shape.ILcdCurve
INTERPOLATION_CIRCLE_BY_3POINTS, INTERPOLATION_CIRCLE_BY_CENTERPOINT, INTERPOLATION_CIRCULARARC_BY_3POINTS, INTERPOLATION_CIRCULARARC_BY_BULGE, INTERPOLATION_CIRCULARARC_BY_CENTERPOINT, INTERPOLATION_ELLIPTICAL, INTERPOLATION_GEODESIC, INTERPOLATION_LINEAR, INTERPOLATION_MIXED, INTERPOLATION_RHUMB
Fields inherited from interface com.luciad.shape.ILcdGeoBuffer
CAP_BUTT, CAP_ROUND, JOIN_ROUND
-
Method Summary
Modifier and TypeMethodDescriptionReturns the discretized axis of the airspace corridor.Returns the contour of the airspace corridor.int
Returns the end cap style of the airspace corridor.int
Returns the join style of the airspace corridor.getPoint
(int aIndex) Returns the point of the axis at the given index.int
Returns the number of points in the discretized axis.getSegment
(int aIndex) Returns theILcdAirspaceSegment
object with the given index.getSegmentBySegmentNumber
(int aSegmentNumber) Returns theILcdAirspaceSegment
object with the given segment number.int
Returns the number ofILcdAirspaceSegment
objects that construct the airspace corridor axis.double
getWidth()
Returns the width of the airspace corridor, expressed in meters and measured from the axis to the border.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.ILcdCurve
computePointSFCT, getEndPoint, getEndTangent2D, getInterpolation, getLength2D, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D
Methods inherited from interface com.luciad.datamodel.ILcdDataObject
getDataType, getValue, getValue, hasValue, hasValue, setValue, setValue
Methods inherited from interface com.luciad.ais.shape.ILcdGeoPath
getLeg, getLegCount
Methods inherited from interface com.luciad.shape.ILcdPointList
getPointSFCT, getX, getY, getZ
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Method Details
-
getSegmentBySegmentNumber
Returns theILcdAirspaceSegment
object with the given segment number. If noILcdAirspaceSegment
object is found with the number,null
is returned.- Parameters:
aSegmentNumber
- the segment number to look for.- Returns:
- the
ILcdAirspaceSegment
with the given segment number, ornull
if no segment is found.
-
getSegment
Returns theILcdAirspaceSegment
object with the given index.- Parameters:
aIndex
- the segment number to look for- Returns:
- the
ILcdAirspaceSegment
with the given index. - Throws:
ArrayIndexOutOfBoundsException
- if the index is out of range (index < 0 || index >= getSegmentCount()).
-
getSegmentCount
int getSegmentCount()Returns the number ofILcdAirspaceSegment
objects that construct the airspace corridor axis.- Returns:
- the number of
ILcdAirspaceSegment
objects.
-
getWidth
double getWidth()Returns the width of the airspace corridor, expressed in meters and measured from the axis to the border.- Specified by:
getWidth
in interfaceILcdGeoBuffer
- Returns:
- the width of the airspace corridor.
-
getEndCapStyle
int getEndCapStyle()Returns the end cap style of the airspace corridor.- Specified by:
getEndCapStyle
in interfaceILcdGeoBuffer
- Returns:
- the end cap style of the airspace corridor.
-
getJoinStyle
int getJoinStyle()Returns the join style of the airspace corridor.- Specified by:
getJoinStyle
in interfaceILcdGeoBuffer
- Returns:
- the join style of the airspace corridor.
-
getContour
ILcdComplexPolygon getContour()Returns the contour of the airspace corridor.- Returns:
- the contour of the airspace corridor.
-
getBaseShape
ILcdShape getBaseShape()Returns the discretized axis of the airspace corridor.- Specified by:
getBaseShape
in interfaceILcdGeoBuffer
- Returns:
- the discretized axis of the airspace corridor.
-
getPointCount
int getPointCount()Returns the number of points in the discretized axis.- Specified by:
getPointCount
in interfaceILcdPointList
- Returns:
- the number of points in the discretized axis.
-
getPoint
Returns the point of the axis at the given index.- Specified by:
getPoint
in interfaceILcdPointList
- Parameters:
aIndex
- the index of the point to be retrieved.- Returns:
- the point of the axis at the given index.
- Throws:
IndexOutOfBoundsException
- if the index is out of range (index < 0 || index >= getPointCount()).
-