Package com.luciad.ais.model.airspace
Interface ILcdEditableAirspaceCorridor
- All Superinterfaces:
Cloneable
,ILcdAirspaceCorridor
,ILcdBounded
,ILcdCloneable
,ILcdCurve
,ILcdDataObject
,ILcdGenericAirspace
,ILcdGeoBuffer
,ILcdGeoPath
,ILcdPointList
,ILcdShape
,Serializable
- All Known Implementing Classes:
TLcdAirspaceCorridor
,TLcdFeaturedAirspaceCorridor
This interface defines operations to edit the attributes, relationships and geometry of
an
ILcdAirspaceCorridor
.
The geometry of the airspace corridor is defined by a set of airspace segments and a width.
Please refer to the documentation of ILcdAirspaceCorridor
for more information about
defining and adding airspace segments.
- Since:
- 8.0
-
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 TypeMethodDescriptionvoid
addSegment
(ILcdAirspaceSegment aSegment) Adds aILcdAirspaceSegment
object to the end of theILcdEditableAirspaceCorridor
.void
insertSegmentAt
(ILcdAirspaceSegment aSegment, int aIndex) Adds aILcdAirspaceSegment
object to theILcdEditableAirspaceCorridor
at the specified index.void
removeSegment
(ILcdAirspaceSegment aSegment) Removes aILcdAirspaceSegment
object from theILcdEditableAirspaceCorridor
.void
removeSegmentAt
(int anIndex) Removes theILcdAirspaceSegment
object at the specified index from theILcdEditableAirspaceCorridor
.void
setWidth
(double aWidth) Sets the width of theILcdEditableAirspaceCorridor
, expressed in meters and measured from the axis to the border.Methods inherited from interface com.luciad.ais.model.airspace.ILcdAirspaceCorridor
getBaseShape, getContour, getEndCapStyle, getJoinStyle, getPoint, getPointCount, getSegment, getSegmentBySegmentNumber, getSegmentCount, getWidth
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
-
addSegment
Adds aILcdAirspaceSegment
object to the end of theILcdEditableAirspaceCorridor
. Note that there is no explicit check fornull
segments, which leave the airspace corridor in an invalid state.- Parameters:
aSegment
- theILcdAirspaceSegment
object to be added
-
removeSegment
Removes aILcdAirspaceSegment
object from theILcdEditableAirspaceCorridor
. If this airspace corridor does not contain the segment or ifnull
is supplied, it is unchanged. If the segment is found and removed, subsequent segments are shifted to the left.- Parameters:
aSegment
- theILcdAirspaceSegment
object to be removed.
-
insertSegmentAt
Adds aILcdAirspaceSegment
object to theILcdEditableAirspaceCorridor
at the specified index. Subsequent segments are shifted to the right after the addition. Note that there is no explicit check fornull
segments, which leave the airspace corridor in an invalid state.- Parameters:
aSegment
- theILcdAirspaceSegment
object to be added to theILcdEditableAirspace
.aIndex
- the index in theILcdEditableAirspaceCorridor
where theILcdAirspaceSegment
object must be added.- Throws:
ArrayIndexOutOfBoundsException
- if the index is out of range (index < 0 || index >= getSegmentCount()).
-
removeSegmentAt
void removeSegmentAt(int anIndex) Removes theILcdAirspaceSegment
object at the specified index from theILcdEditableAirspaceCorridor
. Subsequent segments are shifted to the left after the removal.- Parameters:
anIndex
- the index in theILcdEditableAirspaceCorridor
where theILcdAirspaceSegment
object must be removed.- Throws:
ArrayIndexOutOfBoundsException
- if the index is out of range (index < 0 || index >= getSegmentCount()).
-
setWidth
void setWidth(double aWidth) Sets the width of theILcdEditableAirspaceCorridor
, expressed in meters and measured from the axis to the border.- Parameters:
aWidth
- the width of theILcdEditableAirspaceCorridor
.- Throws:
IllegalArgumentException
- if a negative width is specified.
-