Class TLcd2DEditableFeaturedPoint
- All Implemented Interfaces:
ILcdDataObject
,ILcdBounded
,ILcdPoint
,ILcdShape
,ILcd2DEditablePoint
,ILcd2DEditableShape
,ILcdCloneable
,ILcdFeatured
,Serializable
,Cloneable
- Direct Known Subclasses:
TLcdMIFPoint
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 Summary
ConstructorDescriptionConstructs aTLcd2DEditableFeaturedPoint
that doesn't have anyILcd2DEditablePoint
object, features, or display name.TLcd2DEditableFeaturedPoint
(TLcd2DEditableFeaturedPoint a2DEditableFeaturedPoint) Constructs aTLcd2DEditableFeaturedPoint
that is a clone of the givenTLcd2DEditableFeaturedPoint
.TLcd2DEditableFeaturedPoint
(String aDisplayName) Constructs aTLcd2DEditableFeaturedPoint
that doesn't have anyILcd2DEditablePoint
object or features, with the given display name.TLcd2DEditableFeaturedPoint
(String aDisplayName, ILcdFeatured aFeaturesObject) Constructs aTLcd2DEditableFeaturedPoint
that doesn't have anyILcd2DEditablePoint
object, with the given features and display name.TLcd2DEditableFeaturedPoint
(String aDisplayName, ILcdFeatured aFeaturesObject, ILcd2DEditablePoint a2DEditablePoint) Constructs aTLcd2DEditableFeaturedPoint
with the givenILcd2DEditablePoint
, features and display name. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canSetFeature
(int aIndex) Checks whether the specified feature is editable.clone()
Creates and returns a copy of this object.Returns a copy of thisILcdPoint
that is also anILcd2DEditablePoint
.Returns a copy of thisILcdPoint
that is also anILcd3DEditablePoint
.boolean
contains2D
(double aX, double aY) Checks whether thisILcdShape
contains the given point in the 2D space.boolean
contains2D
(ILcdPoint aPoint) Checks whether thisILcdShape
contains the givenILcdPoint
in the 2D space.boolean
contains3D
(double aX, double aY, double aZ) Checks whether thisILcdShape
contains the given point in the 3D space.boolean
contains3D
(ILcdPoint aPoint) Checks whether thisILcdShape
contains the givenILcdPoint
in the 3D space.boolean
Returns whether the given object has the same class, the same coordinates, the same features, and the same display name.Returns theILcdBounds
by which the geometry of thisILcdBounded
object is bounded.double
getCosX()
Returns cos(getX()
* DEG2RAD ).double
getCosY()
Returns cos(getY()
* DEG2RAD ).Returns the type of this data object.int
getFeature
(int aIndex) Returns the featureObject
at the given index.int
Returns the number of features.Returns the focus point of thisILcdShape
.double
getSinX()
Returns sin(getX()
* DEG2RAD ).double
getSinY()
Returns sin(getY()
* DEG2RAD ).double
getTanX()
Returns tan(getX()
* DEG2RAD ).double
getTanY()
Returns tan(getY()
* DEG2RAD ).getValue
(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.double
getX()
Returns the x coordinate of thisILcdPoint
.double
getY()
Returns the y coordinate of thisILcdPoint
.double
getZ()
Returns the z coordinate of thisILcdPoint
.int
hashCode()
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.void
move2D
(double aX, double aY) Moves thisILcd2DEditableShape
to the given point in the 2D space.void
Moves thisILcd2DEditableShape
to the given point in the 2D space.void
set2DEditablePoint
(ILcd2DEditablePoint a2DEditablePoint) void
setDefaultDisplayNameIndex
(int aDefaultDisplayNameIndex) Sets the index of the feature to use as display name, if the display name has not been specified explicitly.void
setFeature
(int aIndex, Object aFeature) Sets the featureObject
at the given index.void
setFeatures
(ILcdFeatured aFeatures) 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.toString()
Returns the display name.void
translate2D
(double aDeltaX, double aDeltaY) Translates thisILcd2DEditableShape
from its current position over the given translation vector in the 2D space.
-
Constructor Details
-
TLcd2DEditableFeaturedPoint
public TLcd2DEditableFeaturedPoint()Constructs aTLcd2DEditableFeaturedPoint
that doesn't have anyILcd2DEditablePoint
object, features, or display name. -
TLcd2DEditableFeaturedPoint
Constructs aTLcd2DEditableFeaturedPoint
that doesn't have anyILcd2DEditablePoint
object or features, with the given display name.- Parameters:
aDisplayName
- a display name.
-
TLcd2DEditableFeaturedPoint
Constructs aTLcd2DEditableFeaturedPoint
that doesn't have anyILcd2DEditablePoint
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 aTLcd2DEditableFeaturedPoint
with the givenILcd2DEditablePoint
, 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
Constructs aTLcd2DEditableFeaturedPoint
that is a clone of the givenTLcd2DEditableFeaturedPoint
.
-
-
Method Details
-
set2DEditablePoint
-
get2DEditablePoint
-
getX
public double getX()Description copied from interface:ILcdPoint
Returns the x coordinate of thisILcdPoint
. -
getY
public double getY()Description copied from interface:ILcdPoint
Returns the y coordinate of thisILcdPoint
. -
getZ
public double getZ()Description copied from interface:ILcdPoint
Returns the z coordinate of thisILcdPoint
. -
getSinX
public double getSinX()Description copied from interface:ILcdPoint
Returns sin(getX()
* DEG2RAD ). -
getSinY
public double getSinY()Description copied from interface:ILcdPoint
Returns sin(getY()
* DEG2RAD ). -
getCosX
public double getCosX()Description copied from interface:ILcdPoint
Returns cos(getX()
* DEG2RAD ). -
getCosY
public double getCosY()Description copied from interface:ILcdPoint
Returns cos(getY()
* DEG2RAD ). -
getTanX
public double getTanX()Description copied from interface:ILcdPoint
Returns tan(getX()
* DEG2RAD ). -
getTanY
public double getTanY()Description copied from interface:ILcdPoint
Returns tan(getY()
* DEG2RAD ). -
cloneAs3DEditablePoint
Description copied from interface:ILcdPoint
Returns a copy of thisILcdPoint
that is also anILcd3DEditablePoint
. This makes sure that all three dimensions of the copy are writable,- Specified by:
cloneAs3DEditablePoint
in interfaceILcdPoint
- Returns:
- a copy of this
ILcdPoint
that is also anILcd3DEditablePoint
. This makes sure that all three dimensions of the copy are writable, even if the originalILcdPoint
object may be read-only. - See Also:
-
cloneAs2DEditablePoint
Description copied from interface:ILcdPoint
Returns a copy of thisILcdPoint
that is also anILcd2DEditablePoint
. This makes sure that the first two dimensions of the copy are writable,- Specified by:
cloneAs2DEditablePoint
in interfaceILcdPoint
- Returns:
- a copy of this
ILcdPoint
that is also anILcd2DEditablePoint
. This makes sure that the first two dimensions of the copy are writable, even if the originalILcdPoint
object may be read-only. - See Also:
-
getFocusPoint
Description copied from interface:ILcdShape
Returns the focus point of thisILcdShape
.- Specified by:
getFocusPoint
in interfaceILcdShape
- Returns:
- the focus point of this
ILcdShape
.
-
getBounds
Description copied from interface:ILcdBounded
Returns theILcdBounds
by which the geometry of thisILcdBounded
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 ofTLcdLonLatBounds
orTLcdXYBounds
.- Specified by:
getBounds
in interfaceILcdBounded
- Returns:
- the
ILcdBounds
by which the geometry of thisILcdBounded
object is bounded.
-
contains3D
public boolean contains3D(double aX, double aY, double aZ) Description copied from interface:ILcdShape
Checks whether thisILcdShape
contains the given point in the 3D space.- Specified by:
contains3D
in interfaceILcdShape
- 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
Description copied from interface:ILcdShape
Checks whether thisILcdShape
contains the givenILcdPoint
in the 3D space.- Specified by:
contains3D
in interfaceILcdShape
- Parameters:
aPoint
- theILcdPoint
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 thisILcdShape
contains the given point in the 2D space. Only the first two dimensions of theILcdShape
are considered.- Specified by:
contains2D
in interfaceILcdShape
- Parameters:
aX
- the x coordinate of the point.aY
- the y coordinate of the point.- Returns:
- the boolean result of the containment test.
-
contains2D
Description copied from interface:ILcdShape
Checks whether thisILcdShape
contains the givenILcdPoint
in the 2D space. Only the first two dimensions of theILcdShape
and theILcdPoint
are considered.- Specified by:
contains2D
in interfaceILcdShape
- Parameters:
aPoint
- theILcdPoint
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 thisILcd2DEditableShape
from its current position over the given translation vector in the 2D space. Only the first two dimensions of theILcdShape
are considered. The third dimension is left unchanged.- Specified by:
translate2D
in interfaceILcd2DEditableShape
- 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 thisILcd2DEditableShape
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 theILcdShape
are considered. The third dimension is left unchanged.- Specified by:
move2D
in interfaceILcd2DEditableShape
- Parameters:
aX
- the x coordinate of the point.aY
- the y coordinate of the point.
-
move2D
Description copied from interface:ILcd2DEditableShape
Moves thisILcd2DEditableShape
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 theILcdShape
and theILcdPoint
are considered. The third dimension is left unchanged.- Specified by:
move2D
in interfaceILcd2DEditableShape
- Parameters:
aPoint
- theILcdPoint
to move to.- See Also:
-
getFeatureCount
public int getFeatureCount()Description copied from interface:ILcdFeatured
Returns the number of features.- Specified by:
getFeatureCount
in interfaceILcdFeatured
- Returns:
- the number of features.
-
getFeature
Description copied from interface:ILcdFeatured
Returns the featureObject
at the given index.- Specified by:
getFeature
in interfaceILcdFeatured
- 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
-
setFeature
Description copied from interface:ILcdFeatured
Sets the featureObject
at the given index.- Specified by:
setFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- a valid feature index.aFeature
- the new featureObject
.- See Also:
-
canSetFeature
public boolean canSetFeature(int aIndex) Description copied from interface:ILcdFeatured
Checks whether the specified feature is editable.- Specified by:
canSetFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- a valid feature index.- Returns:
- true if the feature can be set, false otherwise.
-
setFeatures
-
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
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 interfaceILcdCloneable
- Overrides:
clone
in classObject
- See Also:
-
equals
Returns whether the given object has the same class, the same coordinates, the same features, and the same display name.- Specified by:
equals
in interfaceILcdPoint
- Overrides:
equals
in classObject
- Parameters:
aObject
- theObject
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() -
toString
Returns the display name. -
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
-
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
-
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:
-
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
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.
-