Package com.luciad.shape.shape3D
Class TLcdLonLatHeightPolypoint
java.lang.Object
com.luciad.shape.ALcdShape
com.luciad.shape.shape2D.ALcd2DEditableShape
com.luciad.shape.shape3D.ALcd3DEditableShape
com.luciad.shape.shape3D.ALcd3DEditablePolypoint
com.luciad.shape.shape3D.TLcdLonLatHeightPolypoint
- All Implemented Interfaces:
ILcdBounded
,ILcdPointList
,ILcdPointList2
,ILcdPolypoint
,ILcdShape
,ILcd2DEditablePointList
,ILcd2DEditablePolypoint
,ILcd2DEditableShape
,ILcd3DEditablePointList
,ILcd3DEditablePolypoint
,ILcd3DEditableShape
,ILcdCache
,ILcdCloneable
,Serializable
,Cloneable
- Direct Known Subclasses:
TLcdLonLatHeightMPolypoint
,TLcdLonLatHeightPolygon
,TLcdLonLatHeightPolyline
public class TLcdLonLatHeightPolypoint
extends ALcd3DEditablePolypoint
implements ILcd3DEditablePolypoint, ILcdCache, Cloneable
This class provides an implementation of
ILcd3DEditablePolypoint
in the geodetic space.
This class is thread-safe for concurrent read-only access of its contents. For read-write access, external locking must be used. Such locking is typically done at the model level.
Note that the ILcd3DEditablePointList representing the actual geometry should provide geodetic points (TLcdLonLatHeightPoint), not cartesian (TLcdXYZPoint).
- See Also:
-
Constructor Summary
ConstructorDescriptionCreates a new, empty poly-point.TLcdLonLatHeightPolypoint
(ILcd3DEditablePointList a3DEditablePointList) Creates a new poly-point backed by the given pointlist.TLcdLonLatHeightPolypoint
(TLcdLonLatHeightPolypoint aLonLatHeightPolypoint) Creates copy of another poly-point.TLcdLonLatHeightPolypoint
(TLcdLonLatHeightPolypoint aPolypoint, boolean aDeepCopy) Creates a poly-point based on another poly-point. -
Method Summary
Modifier and TypeMethodDescriptionprotected ILcd3DEditableBounds
This method should compute the bounds of the polypoint.protected ILcd3DEditablePoint
Computes the focus point as the center of the bounding box.clone()
Creates and returns a copy of this object.Methods inherited from class com.luciad.shape.shape3D.ALcd3DEditablePolypoint
clearCache, contains2D, contains3D, equals, get3DEditablePointList, getBounds, getCachedObject, getFocusPoint, getPoint, getPointCount, getPointSFCT, getX, getY, getZ, hashCode, insert2DPoint, insert3DPoint, insertIntoCache, invalidateBounds, move2D, move2DPoint, move3DPoint, removeCachedObject, removePointAt, set3DEditablePointList, set3DEditablePointList, setFocusPoint, toString, translate2D, translate2DPoint, translate3D, translate3DPoint
Methods inherited from class com.luciad.shape.shape3D.ALcd3DEditableShape
move3D, move3D
Methods inherited from class com.luciad.shape.shape2D.ALcd2DEditableShape
move2D
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.shape2D.ILcd2DEditablePointList
append2DPoint, insert2DPoint, move2DPoint, translate2D, translate2DPoint
Methods inherited from interface com.luciad.shape.shape2D.ILcd2DEditableShape
move2D, move2D, translate2D
Methods inherited from interface com.luciad.shape.shape3D.ILcd3DEditablePointList
insert3DPoint, move3DPoint, removePointAt, translate3D, translate3DPoint
Methods inherited from interface com.luciad.shape.shape3D.ILcd3DEditableShape
move3D, move3D, translate3D
Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.util.ILcdCache
clearCache, getCachedObject, insertIntoCache, removeCachedObject
Methods inherited from interface com.luciad.shape.ILcdPointList
getPoint, getPointCount, getPointSFCT, getX, getY, getZ
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Constructor Details
-
TLcdLonLatHeightPolypoint
public TLcdLonLatHeightPolypoint()Creates a new, empty poly-point. -
TLcdLonLatHeightPolypoint
Creates a new poly-point backed by the given pointlist.- The point list and the points therein are not copied, and can be modified by this object
- The point list should contain
TLcdLonLatPoint
s
- Parameters:
a3DEditablePointList
- the initial points
-
TLcdLonLatHeightPolypoint
Creates a poly-point based on another poly-point.-
When
aDeepCopy
is true, and the given polypoint has a cloneable pointlist (seeILcdCloneable
, for exampleTLcd2DEditablePointList
), the underlying points will be cloned. - Otherwise, the underlying polypoint is re-used by the new object, and updates affect both objects.
- Parameters:
aPolypoint
- The object to copyaDeepCopy
- whether to make a copy of the points, if possible
-
When
-
TLcdLonLatHeightPolypoint
Creates copy of another poly-point.- The new polypoint is a deep copy of the given object, and updates do not affect each-other.
- Parameters:
aLonLatHeightPolypoint
- The object to copy
-
-
Method Details
-
calculateBounds
Description copied from class:ALcd3DEditablePolypoint
This method should compute the bounds of the polypoint. The resultingILcd2DEditableBounds
should be stored infBounds
.- Specified by:
calculateBounds
in classALcd3DEditablePolypoint
-
calculateFocusPoint
Description copied from class:ALcd3DEditablePolypoint
Computes the focus point as the center of the bounding box. The resultingILcd2DEditablePoint
is stored infFocusPoint
.- Overrides:
calculateFocusPoint
in classALcd3DEditablePolypoint
-
clone
Creates and returns a copy of this object. The contained editable points list is cloned. If cloning is not possible, a warning is sent to the log and a shallow copy is returned. The cache, the bounds and the focus point are not copied or cloned at all, but recalculated when needed.- Specified by:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classALcd3DEditablePolypoint
- See Also:
-