public interface ILcdAssociationBasedAirspace extends ILcdGenericAirspace, ILcdShapeList
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:
TLcdAirspaceAssociationType.BASE
,
TLcdAirspaceAssociationType.UNION
, TLcdAirspaceAssociationType.INTERSECTION
and TLcdAirspaceAssociationType.SUBTRACTION
):
the horizontal borders from airspaces in associations of this type are combined in the order defined by their
sequence number. The BASE
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.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.Modifier and Type | Method and Description |
---|---|
ILcdAirspaceAssociation |
getAirspaceAssociation(int aIndex)
Returns the
ILcdAirspaceAssociation object with the given index. |
int |
getAirspaceAssociationCount()
Returns the number of
ILcdAirspaceAssociation objects that are used in the
ILcdAssociationBasedAirspace object. |
getDataType, getValue, getValue, hasValue, hasValue, setValue, setValue
getShape, getShapeCount
contains2D, contains2D, contains3D, contains3D, getFocusPoint
getBounds
clone
int getAirspaceAssociationCount()
ILcdAirspaceAssociation
objects that are used in the
ILcdAssociationBasedAirspace
object.ILcdAirspaceAssociation
objects that are used in the
ILcdAssociationBasedAirspace
object.ILcdAirspaceAssociation getAirspaceAssociation(int aIndex)
ILcdAirspaceAssociation
object with the given index.
The index represents the index in a list which contains all ILcdAirspaceAssociation
objects
of the ILcdAssociationBasedAirspace
object, ordered by their sequence number.aIndex
- The index of the airspace association to retrieve.ILcdAirspaceAssociation
object with the given index.ArrayIndexOutOfBoundsException
- if the index is out of range (index
< 0 || index >= getAirspaceAssociationCount()).