Class TLcdSubPointlistAirspaceSegment

java.lang.Object
com.luciad.ais.shape.TLcdAISPoint
com.luciad.ais.model.airspace.TLcdSubPointlistAirspaceSegment
All Implemented Interfaces:
ILcdAirspaceSegment, ILcdEditableAirspaceSegment, ILcdGeoPathLeg, ILcdBounded, ILcdPoint, ILcdShape, ILcd2DEditablePoint, ILcd2DEditableShape, ILcd3DEditablePoint, ILcd3DEditableShape, ILcdCloneable, Serializable, Cloneable

public class TLcdSubPointlistAirspaceSegment extends TLcdAISPoint implements ILcdEditableAirspaceSegment
An implementation of an airspace segment that uses a ILcdGeoPathLeg.SUB_POINT_LIST as geopath leg type together with a shared subpointlist as dataset. When the memory is important, this implementation is preferred over the normal TLcdAirspaceSegment that copies the data.

A subpointlist can be set using the setSubPointlist() method; this method expects a ILcdPointList instance as argument.

Note that this class extends TLcdAISPoint, and so it is required to set a delegate point implementation using the setLocation() method before using the airspace segment object.

See Also:
  • Constructor Details

    • TLcdSubPointlistAirspaceSegment

      public TLcdSubPointlistAirspaceSegment()
      Creates a new TLcdSubPointlistAirspaceSegment object.

      The geopath leg type is set to ILcdGeoPathLeg.SUB_POINT_LIST.

  • Method Details

    • setSubPointlist

      public void setSubPointlist(ILcdPointList aPointlist) throws IllegalArgumentException
      Sets the given ILcdPointList instance as the subpointlist that is associated with this airspace segment.
      Parameters:
      aPointlist - The subpointlist that must be associated with this airspace segment.
      Throws:
      IllegalArgumentException - if the supplied argument is null.
    • getSubPointlist

      public ILcdPointList getSubPointlist()
      Returns the ILcdPointList that is currently associated with this airspace segment.
      Returns:
      the ILcdPointList that is currently associated with this airspace segment.
    • setSegmentNumber

      public void setSegmentNumber(int aSegmentNumber)
      Description copied from interface: ILcdEditableAirspaceSegment
      Specifies the segment number of the ILcdEditableAirspaceSegment object. The segment number is application-defined and does not necessarily have to correspond with the index of the segment within containing airspace.
      Specified by:
      setSegmentNumber in interface ILcdEditableAirspaceSegment
      Parameters:
      aSegmentNumber - a segment number for the ILcdEditableAirspaceSegment object
    • getSegmentNumber

      public int getSegmentNumber()
      Description copied from interface: ILcdAirspaceSegment
      Returns the segment number of the ILcdAirspaceSegment object.
      Specified by:
      getSegmentNumber in interface ILcdAirspaceSegment
      Returns:
      the segment number of the ILcdAirspaceSegment object
    • getType

      public int getType()
      Description copied from interface: ILcdGeoPathLeg
      Returns the type of this GeoPath leg.
      Specified by:
      getType in interface ILcdGeoPathLeg
      Returns:
      one of the constants defined above
    • getDataLength

      public int getDataLength()
      Description copied from interface: ILcdGeoPathLeg
      Returns the number of parameters in the leg's data array. Use getDataSFCT() to obtain the contents of the parameter list.
      Specified by:
      getDataLength in interface ILcdGeoPathLeg
      Returns:
      the length of the leg's parameter list
    • getDataSFCT

      public void getDataSFCT(double[] aDataSFCT)
      Description copied from interface: ILcdGeoPathLeg
      Copies the GeoPath leg's parameter list into the aDataSFCT array. The array must be sufficiently large! Use getDataLength() to determine the required size of the array.
      Specified by:
      getDataSFCT in interface ILcdGeoPathLeg
      Parameters:
      aDataSFCT - will receive the parameter list of this GeoPath leg.
    • clone

      public Object clone()
      Creates and returns a copy of this object.

      The subpointlist is copied without being cloned.

      Specified by:
      clone in interface ILcdCloneable
      Overrides:
      clone in class TLcdAISPoint
      See Also: