Package com.luciad.ais.model.airspace
Interface ILcdAssociationBasedAirspace
- All Superinterfaces:
Cloneable
,ILcdBounded
,ILcdCloneable
,ILcdDataObject
,ILcdGenericAirspace
,ILcdShape
,ILcdShapeList
,Serializable
- All Known Subinterfaces:
ILcdEditableAssociationBasedAirspace
- All Known Implementing Classes:
TLcdAssociationBasedAirspace
,TLcdFeaturedAssociationBasedAirspace
This interface describes the geometry and the relationships of an association-based
airspace. An association-based airspace is represented by an
ILcdShapeList
containing ILcdComplexPolygon
or ILcdPolygon
instances as individual shapes.
The AIXM specification was taken as the basis for this domain object.
An association-based airspace is built up from one or more ILcdGenericAirspace
instances which are combined in several ways. Each of these airspaces is contained in an
ILcdAirspaceAssociation
instance, together with a sequence number and an
association (combination) type. All the ILcdAirspaceAssociation
instances
together determine the geometry of this association-based airspace. They can be retrieved
using the methods getAirspaceAssociationCount
and
getAirspaceAssociation
.
The possible association types are defined in the type safe enumeration class
TLcdAirspaceAssociationType
. The sequence number defines the order in which the
associated airspaces must be combined.
Two sorts of combinations are possible:
- Boolean associations (represented by
TLcdAirspaceAssociationType.BASE
,TLcdAirspaceAssociationType.UNION
,TLcdAirspaceAssociationType.INTERSECTION
andTLcdAirspaceAssociationType.SUBTRACTION
): the horizontal borders from airspaces in associations of this type are combined in the order defined by their sequence number. TheBASE
association defines the 'basis' airspace; it should always be the first association and may only occur once. The airspaces in the other associations are then combined with this basis airspace using a union, intersection or subtraction operation, according to their type. - The above-below association (represented by
TLcdAirspaceAssociationType.ABOVE_BELOW
): this association type indicates that the association-based airspace that uses this association has exactly the same horizontal border as the airspace contained in the association. This is useful to reuse the horizontal border of an airspace for an airspace which is situated exactly on top of it. An association-based airspace containing an association of this type may not contain other associations; the sequence number of such an association is therefore redundant here.
ILcdAssociationBasedAirspace
instance, it should contain at least one airspace
association, following one of the combinations described above.
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.
In future releases of AIS, optional attributes or relationship may be added to
this interface. When this would happen, existing implementations may just
return a specified default value for these new attributes or
relationships (for instance 'null'). This will require a minimal effort to update
existing code to a new version of AIS.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetAirspaceAssociation
(int aIndex) Returns theILcdAirspaceAssociation
object with the given index.int
Returns the number ofILcdAirspaceAssociation
objects that are used in theILcdAssociationBasedAirspace
object.Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.util.ILcdCloneable
clone
Methods inherited from interface com.luciad.datamodel.ILcdDataObject
getDataType, getValue, getValue, hasValue, hasValue, setValue, setValue
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
Methods inherited from interface com.luciad.shape.ILcdShapeList
getShape, getShapeCount
-
Method Details
-
getAirspaceAssociationCount
int getAirspaceAssociationCount()Returns the number ofILcdAirspaceAssociation
objects that are used in theILcdAssociationBasedAirspace
object.- Returns:
- the number of
ILcdAirspaceAssociation
objects that are used in theILcdAssociationBasedAirspace
object.
-
getAirspaceAssociation
Returns theILcdAirspaceAssociation
object with the given index. The index represents the index in a list which contains allILcdAirspaceAssociation
objects of theILcdAssociationBasedAirspace
object, ordered by their sequence number.- Parameters:
aIndex
- The index of the airspace association to retrieve.- Returns:
- the
ILcdAirspaceAssociation
object with the given index. - Throws:
ArrayIndexOutOfBoundsException
- if the index is out of range (index < 0 || index >= getAirspaceAssociationCount()).
-