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
FieldsModifier and TypeFieldDescriptionstatic final TLcdDataPropertyThe Segments property of the segment based route type. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.TLcdSegmentBasedRoute(TLcdSegmentBasedRoute aSegmentBasedRoute) Copy constructor.TLcdSegmentBasedRoute(TLcdDataType aDataType) Creates a new instance for the given type. -
Method Summary
Modifier and TypeMethodDescriptionintaddSegmentBySequenceNumber(ILcdRouteSegment aSegment) Adds a segment to this route.clone()Returns a clone of thisTLcdSegmentBasedRouteobject.booleanReturns 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.intReturns the number of segments of this route.getShape(int aShapeNumber) Returns theILcdShapeat the given index.intReturns the number ofILcdShapeobjects 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.inthashCode()The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)method.booleanhasValue(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.booleanIndicates whether this data object has a value for the given property.intinsertSegmentAt(ILcdRouteSegment aSegment, int aIndex) Adds a segment to this route at the specified index.voidremoveSegment(ILcdRouteSegment aSegment) Removes aILcdRouteSegmentobject from this route.voidremoveSegmentAt(int aIndex) Removes theILcdRouteSegmentobject on the specified index from theILcdEditableRoute.voidset3DEditablePolyline(ILcd3DEditablePolyline aPolyline) Sets the polyline that will be cloned to create the lines that are returned by thegetShape()method.voidsetValue(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.voidConvenience 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, toStringMethods inherited from class com.luciad.shape.ALcdShape
contains2D, contains3D, fromDomainObjectMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.luciad.shape.ILcdBounded
getBoundsMethods 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.Routeis 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:ILcdDataObjectReturns the type of this data object. This can never benull.- Specified by:
getDataTypein interfaceILcdDataObject- Returns:
- the type of this data object
-
getValue
Description copied from interface:ILcdDataObjectReturns 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 typeor in one of its super types. Otherwise anIllegalArgumentExceptionis thrown.- Specified by:
getValuein 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:ILcdDataObjectConvenience 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:
getValuein 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:ILcdDataObjectSets 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 typeor 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:
setValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be setaValue- the value to set- See Also:
-
setValue
Description copied from interface:ILcdDataObjectConvenience 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:
setValuein 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:ILcdDataObjectIndicates whether this data object has a value for the given property.aPropertyis from theright data type, and this instance has a value for it: returnstrueaPropertyis from theright data type, and this instance has no value for it: returnsfalseaPropertyis not from theright data type: not allowed, you will get IllegalArgumentExceptionaPropertyisnull: not allowed, you will get NullPointerException
- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the given property,falseotherwise.
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)for more information.- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the property with the given name,falseotherwise.
-
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:ILcdRouteReturns the segment at the specified index.- Specified by:
getSegmentin 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:ILcdRouteReturns the number of segments of this route.- Specified by:
getSegmentCountin interfaceILcdRoute- Returns:
- the number of segments of this route.
-
getShapeCount
public int getShapeCount()Description copied from interface:ILcdShapeListReturns the number ofILcdShapeobjects in the list.- Specified by:
getShapeCountin interfaceILcdShapeList- Returns:
- the number of
ILcdShapeobjects in the list.
-
getShape
Description copied from interface:ILcdShapeListReturns theILcdShapeat the given index.- Specified by:
getShapein interfaceILcdShapeList- Parameters:
aShapeNumber- a valid index in the list ofILcdShapeobjects.- Returns:
- the
ILcdShapeat the given index. - Throws:
IndexOutOfBoundsException- when the index is not valid.
-
clone
Returns a clone of thisTLcdSegmentBasedRouteobject. 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:
clonein interfaceILcdCloneable- Overrides:
clonein classALcdShapeList- Returns:
- a clone of this
TLcdSegmentBasedRouteobject. - See Also:
-
equals
Returns true if this object is the same as the specified object.- Overrides:
equalsin 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:ALcdShapeThe 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:
hashCodein classALcdShapeList
-
addSegmentBySequenceNumber
Description copied from interface:ILcdEditableRouteAdds 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:
addSegmentBySequenceNumberin interfaceILcdEditableRoute- Parameters:
aSegment- theILcdRouteSegmentto be added.- Returns:
- the position of the added segment in this route
-
insertSegmentAt
Description copied from interface:ILcdEditableRouteAdds a segment to this route at the specified index.- Specified by:
insertSegmentAtin interfaceILcdEditableRoute- Parameters:
aSegment- theILcdRouteSegmentto 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:ILcdEditableRouteRemoves aILcdRouteSegmentobject from this route.- Specified by:
removeSegmentin interfaceILcdEditableRoute- Parameters:
aSegment- theILcdRouteSegmentobject to be removed
-
removeSegmentAt
public void removeSegmentAt(int aIndex) Description copied from interface:ILcdEditableRouteRemoves theILcdRouteSegmentobject on the specified index from theILcdEditableRoute.- Specified by:
removeSegmentAtin interfaceILcdEditableRoute- Parameters:
aIndex- the index in theILcdEditableRoutewhere theILcdRouteSegmentobject must be removed
-
TLcdSegmentBasedRoute(TLcdDataType)