Package com.luciad.ais.model.route
Class TLcdSegmentBasedRoute
java.lang.Object
com.luciad.shape.ALcdShape
com.luciad.shape.ALcdShapeList
com.luciad.ais.model.route.TLcdSegmentBasedRoute
- All Implemented Interfaces:
ILcdEditableRoute
,ILcdRoute
,ILcdDataObject
,ILcdBounded
,ILcdShape
,ILcdShapeList
,ILcdCache
,ILcdCloneable
,ILcdInvalidateable
,Serializable
,Cloneable
- Direct Known Subclasses:
TLcdATSRoute
,TLcdMilitaryTrainingRoute
An implementation of
ILcdRoute
. This class implements
ILcdShapeList
. The route is separated into shapes by looking for
disjoint segments. The getShape()
method returns an
ILcd3DEditablePolyline
. The method always returns a clone of the
instance that is set by
set3DEditablePolyline(ILcd3DEditablePolyline)
, so this instance must
be set by the user prior to using any other methods!- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final TLcdDataProperty
The Segments property of the segment based route type. -
Constructor Summary
ConstructorDescriptionDeprecated.TLcdSegmentBasedRoute
(TLcdSegmentBasedRoute aSegmentBasedRoute) Copy constructor.TLcdSegmentBasedRoute
(TLcdDataType aDataType) Creates a new instance for the given type. -
Method Summary
Modifier and TypeMethodDescriptionint
addSegmentBySequenceNumber
(ILcdRouteSegment aSegment) Adds a segment to this route.clone()
Returns a clone of thisTLcdSegmentBasedRoute
object.boolean
Returns true if this object is the same as the specified object.Returns the type of this data object.getSegment
(int aIndex) Returns the segment at the specified index.int
Returns the number of segments of this route.getShape
(int aShapeNumber) Returns theILcdShape
at the given index.int
Returns the number ofILcdShape
objects in the list.getValue
(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.int
hashCode()
The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)
method.boolean
hasValue
(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.boolean
Indicates whether this data object has a value for the given property.int
insertSegmentAt
(ILcdRouteSegment aSegment, int aIndex) Adds a segment to this route at the specified index.void
removeSegment
(ILcdRouteSegment aSegment) Removes aILcdRouteSegment
object from this route.void
removeSegmentAt
(int aIndex) Removes theILcdRouteSegment
object on the specified index from theILcdEditableRoute
.void
set3DEditablePolyline
(ILcd3DEditablePolyline aPolyline) Sets the polyline that will be cloned to create the lines that are returned by thegetShape()
method.void
setValue
(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.void
Convenience method that sets the value of the property with the given name.Methods inherited from class com.luciad.shape.ALcdShapeList
calculateFocusPoint, clearCache, contains2D, contains3D, getBounds, getCachedObject, getFocusPoint, insertIntoCache, invalidateBounds, invalidateObject, removeCachedObject, setFocusPoint, toString
Methods inherited from class com.luciad.shape.ALcdShape
contains2D, contains3D, fromDomainObject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Field Details
-
SEGMENTS_PROPERTY
The Segments property of the segment based route type. Values of this property are Lists of objects of typeILcdRouteSegment
.
-
-
Constructor Details
-
TLcdSegmentBasedRoute
Deprecated.Default constructor. -
TLcdSegmentBasedRoute
Creates a new instance for the given type.- Parameters:
aDataType
- the data type of the returned instance- Throws:
IllegalArgumentException
- ifTLcdAISDataTypes.Route
is not assignable from the given data type- Since:
- 10.1
-
TLcdSegmentBasedRoute
Copy constructor.- Parameters:
aSegmentBasedRoute
- the object to be copied
-
-
Method Details
-
getDataType
Description copied from interface:ILcdDataObject
Returns the type of this data object. This can never benull
.- Specified by:
getDataType
in interfaceILcdDataObject
- Returns:
- the type of this data object
-
getValue
Description copied from interface:ILcdDataObject
Returns the value of the given property.
If the property is a collection, the returned value will never be null. If the property has not been set, an empty collection of the appropriate type will be returned (Set, List or Map).
The property must not be null, and must be declared in the
data object's type
or in one of its super types. Otherwise anIllegalArgumentException
is thrown.- Specified by:
getValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which the value is to be returned- Returns:
- the value of the given property for this data object
-
getValue
Description copied from interface:ILcdDataObject
Convenience method that returns the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.getValue(TLcdDataProperty)
for more information.- Specified by:
getValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property of which the value is to be returned- Returns:
- the value of the property with the given name
- See Also:
-
setValue
Description copied from interface:ILcdDataObject
Sets the value of the given property for this data object. The implementation is allowed to throw an exception if the given value can't be set.
The given property must be declared in thedata object's type
or in one of its super types. In other words, getDataType().getProperties().contains( aProperty ) should always be true. Otherwise, the implementation should throw anIllegalArgumentException
.- Specified by:
setValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which the value is to be setaValue
- the value to set- See Also:
-
setValue
Description copied from interface:ILcdDataObject
Convenience method that sets the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.setValue(TLcdDataProperty, Object)
for more information.- Specified by:
setValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property of which the value is to be setaValue
- the value to set
-
hasValue
Description copied from interface:ILcdDataObject
Indicates whether this data object has a value for the given property.aProperty
is from theright data type
, and this instance has a value for it: returnstrue
aProperty
is from theright data type
, and this instance has no value for it: returnsfalse
aProperty
is not from theright data type
: not allowed, you will get IllegalArgumentExceptionaProperty
isnull
: not allowed, you will get NullPointerException
- Specified by:
hasValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which to return whether a value is present or not.- Returns:
true
if this data object has a value for the given property,false
otherwise.
-
hasValue
Description copied from interface:ILcdDataObject
Indicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)
for more information.- Specified by:
hasValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property for which to return whether a value is present or not.- Returns:
true
if this data object has a value for the property with the given name,false
otherwise.
-
set3DEditablePolyline
Sets the polyline that will be cloned to create the lines that are returned by thegetShape()
method.- Parameters:
aPolyline
- the polyline that will be cloned to create the lines that are returned by thegetShape()
method.
-
getSegment
Description copied from interface:ILcdRoute
Returns the segment at the specified index.- Specified by:
getSegment
in interfaceILcdRoute
- Parameters:
aIndex
- the index of the segment to be retrieved- Returns:
- the segment at the specified index.
-
getSegmentCount
public int getSegmentCount()Description copied from interface:ILcdRoute
Returns the number of segments of this route.- Specified by:
getSegmentCount
in interfaceILcdRoute
- Returns:
- the number of segments of this route.
-
getShapeCount
public int getShapeCount()Description copied from interface:ILcdShapeList
Returns the number ofILcdShape
objects in the list.- Specified by:
getShapeCount
in interfaceILcdShapeList
- Returns:
- the number of
ILcdShape
objects in the list.
-
getShape
Description copied from interface:ILcdShapeList
Returns theILcdShape
at the given index.- Specified by:
getShape
in interfaceILcdShapeList
- Parameters:
aShapeNumber
- a valid index in the list ofILcdShape
objects.- Returns:
- the
ILcdShape
at the given index. - Throws:
IndexOutOfBoundsException
- when the index is not valid.
-
clone
Returns a clone of thisTLcdSegmentBasedRoute
object. Note: the internal polyline (seeset3DEditablePolyline(ILcd3DEditablePolyline)
) of the new object is a clone of the polyline of this object. Other features are a shallow clone.- Specified by:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classALcdShapeList
- Returns:
- a clone of this
TLcdSegmentBasedRoute
object. - See Also:
-
equals
Returns true if this object is the same as the specified object.- Overrides:
equals
in classALcdShapeList
- Parameters:
aObject
- the reference object with which to compare.- Returns:
- True if this object is the same as the specified object.
-
hashCode
public int hashCode()Description copied from class:ALcdShape
The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)
method. Extensions should refine this implementation, based on their properties.- Overrides:
hashCode
in classALcdShapeList
-
addSegmentBySequenceNumber
Description copied from interface:ILcdEditableRoute
Adds a segment to this route. The position at which the segment is inserted is determined by looking at the segment's sequence number.- Specified by:
addSegmentBySequenceNumber
in interfaceILcdEditableRoute
- Parameters:
aSegment
- theILcdRouteSegment
to be added.- Returns:
- the position of the added segment in this route
-
insertSegmentAt
Description copied from interface:ILcdEditableRoute
Adds a segment to this route at the specified index.- Specified by:
insertSegmentAt
in interfaceILcdEditableRoute
- Parameters:
aSegment
- theILcdRouteSegment
to be added.aIndex
- the index at which the segment is to be inserted- Returns:
- the position of the added segment in this route
-
removeSegment
Description copied from interface:ILcdEditableRoute
Removes aILcdRouteSegment
object from this route.- Specified by:
removeSegment
in interfaceILcdEditableRoute
- Parameters:
aSegment
- theILcdRouteSegment
object to be removed
-
removeSegmentAt
public void removeSegmentAt(int aIndex) Description copied from interface:ILcdEditableRoute
Removes theILcdRouteSegment
object on the specified index from theILcdEditableRoute
.- Specified by:
removeSegmentAt
in interfaceILcdEditableRoute
- Parameters:
aIndex
- the index in theILcdEditableRoute
where theILcdRouteSegment
object must be removed
-
TLcdSegmentBasedRoute(TLcdDataType)