Class TLcd2DEditableFeaturedPoint

java.lang.Object
com.luciad.shape.shape2D.TLcd2DEditableFeaturedPoint
All Implemented Interfaces:
ILcdDataObject, ILcdBounded, ILcdPoint, ILcdShape, ILcd2DEditablePoint, ILcd2DEditableShape, ILcdCloneable, ILcdFeatured, Serializable, Cloneable
Direct Known Subclasses:
TLcdMIFPoint

public class TLcd2DEditableFeaturedPoint extends Object implements ILcd2DEditablePoint, ILcdFeatured, ILcdDataObject
This class provides an implementation of an ILcd2DEditablePoint and ILcdFeatured.

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.

See Also:
  • Constructor Details

    • TLcd2DEditableFeaturedPoint

      public TLcd2DEditableFeaturedPoint()
      Constructs a TLcd2DEditableFeaturedPoint that doesn't have any ILcd2DEditablePoint object, features, or display name.
    • TLcd2DEditableFeaturedPoint

      public TLcd2DEditableFeaturedPoint(String aDisplayName)
      Constructs a TLcd2DEditableFeaturedPoint that doesn't have any ILcd2DEditablePoint object or features, with the given display name.
      Parameters:
      aDisplayName - a display name.
    • TLcd2DEditableFeaturedPoint

      public TLcd2DEditableFeaturedPoint(String aDisplayName, ILcdFeatured aFeaturesObject)
      Constructs a TLcd2DEditableFeaturedPoint that doesn't have any ILcd2DEditablePoint object, with the given features and display name.
      Parameters:
      aDisplayName - a display name.
      aFeaturesObject - a set of features, that is, name/value pairs.
    • TLcd2DEditableFeaturedPoint

      public TLcd2DEditableFeaturedPoint(String aDisplayName, ILcdFeatured aFeaturesObject, ILcd2DEditablePoint a2DEditablePoint)
      Constructs a TLcd2DEditableFeaturedPoint with the given ILcd2DEditablePoint, features and display name.
      Parameters:
      aDisplayName - a display name.
      aFeaturesObject - a set of features, that is, name/value pairs.
      a2DEditablePoint - a 2D editable point
    • TLcd2DEditableFeaturedPoint

      public TLcd2DEditableFeaturedPoint(TLcd2DEditableFeaturedPoint a2DEditableFeaturedPoint)
      Constructs a TLcd2DEditableFeaturedPoint that is a clone of the given TLcd2DEditableFeaturedPoint.
  • Method Details

    • set2DEditablePoint

      public void set2DEditablePoint(ILcd2DEditablePoint a2DEditablePoint)
    • get2DEditablePoint

      public ILcd2DEditablePoint get2DEditablePoint()
    • getX

      public double getX()
      Description copied from interface: ILcdPoint
      Returns the x coordinate of this ILcdPoint.
      Specified by:
      getX in interface ILcdPoint
      Returns:
      the x coordinate of this ILcdPoint.
    • getY

      public double getY()
      Description copied from interface: ILcdPoint
      Returns the y coordinate of this ILcdPoint.
      Specified by:
      getY in interface ILcdPoint
      Returns:
      the y coordinate of this ILcdPoint.
    • getZ

      public double getZ()
      Description copied from interface: ILcdPoint
      Returns the z coordinate of this ILcdPoint.
      Specified by:
      getZ in interface ILcdPoint
      Returns:
      the z coordinate of this ILcdPoint.
    • getSinX

      public double getSinX()
      Description copied from interface: ILcdPoint
      Returns sin( getX() * DEG2RAD ).
      Specified by:
      getSinX in interface ILcdPoint
      Returns:
      sin( getX() * DEG2RAD ).
    • getSinY

      public double getSinY()
      Description copied from interface: ILcdPoint
      Returns sin( getY() * DEG2RAD ).
      Specified by:
      getSinY in interface ILcdPoint
      Returns:
      sin( getY() * DEG2RAD ).
    • getCosX

      public double getCosX()
      Description copied from interface: ILcdPoint
      Returns cos( getX() * DEG2RAD ).
      Specified by:
      getCosX in interface ILcdPoint
      Returns:
      cos( getX() * DEG2RAD ).
    • getCosY

      public double getCosY()
      Description copied from interface: ILcdPoint
      Returns cos( getY() * DEG2RAD ).
      Specified by:
      getCosY in interface ILcdPoint
      Returns:
      cos( getY() * DEG2RAD ).
    • getTanX

      public double getTanX()
      Description copied from interface: ILcdPoint
      Returns tan( getX() * DEG2RAD ).
      Specified by:
      getTanX in interface ILcdPoint
      Returns:
      tan( getX() * DEG2RAD ).
    • getTanY

      public double getTanY()
      Description copied from interface: ILcdPoint
      Returns tan( getY() * DEG2RAD ).
      Specified by:
      getTanY in interface ILcdPoint
      Returns:
      tan( getY() * DEG2RAD ).
    • cloneAs3DEditablePoint

      public ILcd3DEditablePoint cloneAs3DEditablePoint()
      Description copied from interface: ILcdPoint
      Returns a copy of this ILcdPoint that is also an ILcd3DEditablePoint. This makes sure that all three dimensions of the copy are writable,
      Specified by:
      cloneAs3DEditablePoint in interface ILcdPoint
      Returns:
      a copy of this ILcdPoint that is also an ILcd3DEditablePoint. This makes sure that all three dimensions of the copy are writable, even if the original ILcdPoint object may be read-only.
      See Also:
    • cloneAs2DEditablePoint

      public ILcd2DEditablePoint cloneAs2DEditablePoint()
      Description copied from interface: ILcdPoint
      Returns a copy of this ILcdPoint that is also an ILcd2DEditablePoint. This makes sure that the first two dimensions of the copy are writable,
      Specified by:
      cloneAs2DEditablePoint in interface ILcdPoint
      Returns:
      a copy of this ILcdPoint that is also an ILcd2DEditablePoint. This makes sure that the first two dimensions of the copy are writable, even if the original ILcdPoint object may be read-only.
      See Also:
    • getFocusPoint

      public ILcdPoint getFocusPoint()
      Description copied from interface: ILcdShape
      Returns the focus point of this ILcdShape.
      Specified by:
      getFocusPoint in interface ILcdShape
      Returns:
      the focus point of this ILcdShape.
    • getBounds

      public ILcdBounds getBounds()
      Description copied from interface: ILcdBounded
      Returns the ILcdBounds by which the geometry of this ILcdBounded object is bounded.

      If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points) the return value is unspecified. It is highly recommended to return an undefined bounds. You can create undefined bounds using the default constructors of TLcdLonLatBounds or TLcdXYBounds.

      Specified by:
      getBounds in interface ILcdBounded
      Returns:
      the ILcdBounds by which the geometry of this ILcdBounded object is bounded.
    • contains3D

      public boolean contains3D(double aX, double aY, double aZ)
      Description copied from interface: ILcdShape
      Checks whether this ILcdShape contains the given point in the 3D space.
      Specified by:
      contains3D in interface ILcdShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
      aZ - the z coordinate of the point.
      Returns:
      the boolean result of the containment test.
    • contains3D

      public boolean contains3D(ILcdPoint aPoint)
      Description copied from interface: ILcdShape
      Checks whether this ILcdShape contains the given ILcdPoint in the 3D space.
      Specified by:
      contains3D in interface ILcdShape
      Parameters:
      aPoint - the ILcdPoint to test.
      Returns:
      the boolean result of the containment test.
      See Also:
    • contains2D

      public boolean contains2D(double aX, double aY)
      Description copied from interface: ILcdShape
      Checks whether this ILcdShape contains the given point in the 2D space. Only the first two dimensions of the ILcdShape are considered.
      Specified by:
      contains2D in interface ILcdShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
      Returns:
      the boolean result of the containment test.
    • contains2D

      public boolean contains2D(ILcdPoint aPoint)
      Description copied from interface: ILcdShape
      Checks whether this ILcdShape contains the given ILcdPoint in the 2D space. Only the first two dimensions of the ILcdShape and the ILcdPoint are considered.
      Specified by:
      contains2D in interface ILcdShape
      Parameters:
      aPoint - the ILcdPoint to test.
      Returns:
      the boolean result of the containment test.
      See Also:
    • translate2D

      public void translate2D(double aDeltaX, double aDeltaY)
      Description copied from interface: ILcd2DEditableShape
      Translates this ILcd2DEditableShape from its current position over the given translation vector in the 2D space. Only the first two dimensions of the ILcdShape are considered. The third dimension is left unchanged.
      Specified by:
      translate2D in interface ILcd2DEditableShape
      Parameters:
      aDeltaX - the x coordinate of the translation vector.
      aDeltaY - the y coordinate of the translation vector.
    • move2D

      public void move2D(double aX, double aY)
      Description copied from interface: ILcd2DEditableShape
      Moves this ILcd2DEditableShape to the given point in the 2D space. The focus point is used as the handle by which the shape is moved. Only the first two dimensions of the ILcdShape are considered. The third dimension is left unchanged.
      Specified by:
      move2D in interface ILcd2DEditableShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
    • move2D

      public void move2D(ILcdPoint aPoint)
      Description copied from interface: ILcd2DEditableShape
      Moves this ILcd2DEditableShape to the given point in the 2D space. The focus point is used as the handle by which the shape is moved. Only the first two dimensions of the ILcdShape and the ILcdPoint are considered. The third dimension is left unchanged.
      Specified by:
      move2D in interface ILcd2DEditableShape
      Parameters:
      aPoint - the ILcdPoint to move to.
      See Also:
    • getFeatureCount

      public int getFeatureCount()
      Description copied from interface: ILcdFeatured
      Returns the number of features.
      Specified by:
      getFeatureCount in interface ILcdFeatured
      Returns:
      the number of features.
    • getFeature

      public Object getFeature(int aIndex) throws IndexOutOfBoundsException
      Description copied from interface: ILcdFeatured
      Returns the feature Object at the given index.
      Specified by:
      getFeature in interface ILcdFeatured
      Parameters:
      aIndex - a valid feature index.
      Returns:
      the feature Object at the given index.
      Throws:
      IndexOutOfBoundsException - when an index is chosen greater than the result of getFeatureCount.
      See Also:
    • getFeatures

      public ILcdFeatured getFeatures()
    • setFeature

      public void setFeature(int aIndex, Object aFeature)
      Description copied from interface: ILcdFeatured
      Sets the feature Object at the given index.
      Specified by:
      setFeature in interface ILcdFeatured
      Parameters:
      aIndex - a valid feature index.
      aFeature - the new feature Object.
      See Also:
    • canSetFeature

      public boolean canSetFeature(int aIndex)
      Description copied from interface: ILcdFeatured
      Checks whether the specified feature is editable.
      Specified by:
      canSetFeature in interface ILcdFeatured
      Parameters:
      aIndex - a valid feature index.
      Returns:
      true if the feature can be set, false otherwise.
    • setFeatures

      public void setFeatures(ILcdFeatured aFeatures)
    • getDisplayName

      public String getDisplayName()
    • setDefaultDisplayNameIndex

      public void setDefaultDisplayNameIndex(int aDefaultDisplayNameIndex)
      Sets the index of the feature to use as display name, if the display name has not been specified explicitly. The default value is 0.
      Parameters:
      aDefaultDisplayNameIndex - a valid index in the list of features.
    • getDefaultDisplayNameIndex

      public int getDefaultDisplayNameIndex()
      Returns:
      the current index of the feature to use as display name, if the display name has not been specified explicitly.
    • clone

      public Object clone()
      Creates and returns a copy of this object.

      The contained editable point is cloned.

      The contained feature list is copied without being cloned.

      Specified by:
      clone in interface ILcdCloneable
      Overrides:
      clone in class Object
      See Also:
    • equals

      public boolean equals(Object aObject)
      Returns whether the given object has the same class, the same coordinates, the same features, and the same display name.
      Specified by:
      equals in interface ILcdPoint
      Overrides:
      equals in class Object
      Parameters:
      aObject - the Object to compare to.
      Returns:
      false if aObject is an ILcdPoint object with different 3D coordinates or the object is not an ILcdPoint. If the objects do have the same 3D coordinates, the return value is defined by the specific implementations of ILcdPoint and may still be false.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Returns the display name.
      Overrides:
      toString in class Object
      Returns:
      the display name.
    • getValue

      public Object getValue(TLcdDataProperty aProperty)
      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 an IllegalArgumentException is thrown.

      Specified by:
      getValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which the value is to be returned
      Returns:
      the value of the given property for this data object
    • getDataType

      public TLcdDataType getDataType()
      Description copied from interface: ILcdDataObject
      Returns the type of this data object. This can never be null.
      Specified by:
      getDataType in interface ILcdDataObject
      Returns:
      the type of this data object
    • setValue

      public void setValue(TLcdDataProperty aProperty, Object aValue)
      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 the data 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 an IllegalArgumentException.

      Specified by:
      setValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which the value is to be set
      aValue - the value to set
      See Also:
    • getValue

      public Object getValue(String aPropertyName)
      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).

      See ILcdDataObject.getValue(TLcdDataProperty) for more information.

      Specified by:
      getValue in interface ILcdDataObject
      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

      public void setValue(String aPropertyName, Object aValue)
      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).

      See ILcdDataObject.setValue(TLcdDataProperty, Object) for more information.

      Specified by:
      setValue in interface ILcdDataObject
      Parameters:
      aPropertyName - the name of the property of which the value is to be set
      aValue - the value to set
    • hasValue

      public boolean hasValue(TLcdDataProperty aProperty)
      Description copied from interface: ILcdDataObject
      Indicates whether this data object has a value for the given property.

      • aProperty is from the right data type, and this instance has a value for it: returns true
      • aProperty is from the right data type, and this instance has no value for it: returns false
      • aProperty is not from the right data type: not allowed, you will get IllegalArgumentException
      • aProperty is null: not allowed, you will get NullPointerException

      A multivalued property is considered to have a value if it has at least one value.

      Specified by:
      hasValue in interface ILcdDataObject
      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

      public boolean hasValue(String aPropertyName)
      Description copied from interface: ILcdDataObject
      Indicates whether this data object has a value for the given property.
      See ILcdDataObject.hasValue(TLcdDataProperty) for more information.
      Specified by:
      hasValue in interface ILcdDataObject
      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.