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_RHUMBFields inherited from interface com.luciad.shape.ILcdGeoBuffer
CAP_BUTT, CAP_ROUND, JOIN_ROUND -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSegment(ILcdAirspaceSegment aSegment) Adds aILcdAirspaceSegmentobject to the end of theILcdEditableAirspaceCorridor.voidinsertSegmentAt(ILcdAirspaceSegment aSegment, int aIndex) Adds aILcdAirspaceSegmentobject to theILcdEditableAirspaceCorridorat the specified index.voidremoveSegment(ILcdAirspaceSegment aSegment) Removes aILcdAirspaceSegmentobject from theILcdEditableAirspaceCorridor.voidremoveSegmentAt(int anIndex) Removes theILcdAirspaceSegmentobject at the specified index from theILcdEditableAirspaceCorridor.voidsetWidth(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, getWidthMethods inherited from interface com.luciad.shape.ILcdBounded
getBoundsMethods inherited from interface com.luciad.util.ILcdCloneable
cloneMethods inherited from interface com.luciad.shape.ILcdCurve
computePointSFCT, getEndPoint, getEndTangent2D, getInterpolation, getLength2D, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2DMethods inherited from interface com.luciad.datamodel.ILcdDataObject
getDataType, getValue, getValue, hasValue, hasValue, setValue, setValueMethods inherited from interface com.luciad.ais.shape.ILcdGeoPath
getLeg, getLegCountMethods inherited from interface com.luciad.shape.ILcdPointList
getPointSFCT, getX, getY, getZMethods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Method Details
-
addSegment
Adds aILcdAirspaceSegmentobject to the end of theILcdEditableAirspaceCorridor. Note that there is no explicit check fornullsegments, which leave the airspace corridor in an invalid state.- Parameters:
aSegment- theILcdAirspaceSegmentobject to be added
-
removeSegment
Removes aILcdAirspaceSegmentobject from theILcdEditableAirspaceCorridor. If this airspace corridor does not contain the segment or ifnullis supplied, it is unchanged. If the segment is found and removed, subsequent segments are shifted to the left.- Parameters:
aSegment- theILcdAirspaceSegmentobject to be removed.
-
insertSegmentAt
Adds aILcdAirspaceSegmentobject to theILcdEditableAirspaceCorridorat the specified index. Subsequent segments are shifted to the right after the addition. Note that there is no explicit check fornullsegments, which leave the airspace corridor in an invalid state.- Parameters:
aSegment- theILcdAirspaceSegmentobject to be added to theILcdEditableAirspace.aIndex- the index in theILcdEditableAirspaceCorridorwhere theILcdAirspaceSegmentobject must be added.- Throws:
ArrayIndexOutOfBoundsException- if the index is out of range (index < 0 || index >= getSegmentCount()).
-
removeSegmentAt
void removeSegmentAt(int anIndex) Removes theILcdAirspaceSegmentobject at the specified index from theILcdEditableAirspaceCorridor. Subsequent segments are shifted to the left after the removal.- Parameters:
anIndex- the index in theILcdEditableAirspaceCorridorwhere theILcdAirspaceSegmentobject 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.
-