Package com.luciad.format.gml2.model
Class TLcdGML2Polygon
java.lang.Object
com.luciad.datamodel.TLcdDataObject
com.luciad.datamodel.TLcdFeaturedDataObject
com.luciad.format.gml2.model.TLcdGML2AbstractGeometry
com.luciad.format.gml2.model.TLcdGML2Polygon
- All Implemented Interfaces:
ILcdDataObject
,ILcdBounded
,ILcdComplexPolygon
,ILcdEditableSurface
,ILcdPointList
,ILcdShape
,ILcdSurface
,ILcdCloneable
,ILcdDeepCloneable
,ILcdFeatured
,ILcdSelfDescribedFeatured
,Serializable
,Cloneable
public class TLcdGML2Polygon
extends TLcdGML2AbstractGeometry
implements ILcdEditableSurface, ILcdComplexPolygon
A Polygon is defined by an outer boundary and zero or more inner
boundaries which are in turn defined by LinearRings.
- Since:
- 10.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final TLcdDataProperty
Data property that maps to theinnerBoundaryIs
element.static final TLcdDataProperty
Data property that maps to theouterBoundaryIs
element.Fields inherited from class com.luciad.format.gml2.model.TLcdGML2AbstractGeometry
GID_PROPERTY, SRS_PROPERTY
-
Constructor Summary
ConstructorDescriptionTLcdGML2Polygon
(TLcdDataType aType) TLcdGML2Polygon
(TLcdDataType aDataType, ILcdModelReference aSrs) Constructs a polygon and initializes its model reference (srs).Constructs a polygon and initializes its model reference (srs). -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a deep clone of this object.Returns a deep clone of this object.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.Returns theILcdBounds
by which the geometry of thisILcdBounded
object is bounded.Returns the exterior boundary of this surface.Returns the focus point of thisILcdShape
.Returns the value of the property that maps to theinnerBoundaryIs
element.Returns the holes in this surface, as a list ofILcdRing
instances.Returns the value of the property that maps to theouterBoundaryIs
element.getPoint
(int aIndex) Returns theILcdPoint
at a given index.int
Returns the number ofILcdPoint
objects in the list.getPolygon
(int aIndex) Returns theILcdPolygon
at the given index.int
Returns the number ofILcdPolygon
objects in the list.void
setExteriorRing
(ILcdRing aExteriorRing) Sets the exterior boundary of this surface.void
Sets the value of the property that maps to theouterBoundaryIs
element.Methods inherited from class com.luciad.format.gml2.model.TLcdGML2AbstractGeometry
getGid, getSrs, setGid, setSrs
Methods inherited from class com.luciad.datamodel.TLcdFeaturedDataObject
canSetFeature, getFeature, getFeature, getFeatureCount, getFeaturedDescriptor, setFeature, setFeature
Methods inherited from class com.luciad.datamodel.TLcdDataObject
getDataType, getValue, getValue, hasValue, hasValue, setValue, setValue, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.shape.ILcdPointList
getPointSFCT, getX, getY, getZ
-
Field Details
-
OUTER_BOUNDARY_IS_PROPERTY
Data property that maps to theouterBoundaryIs
element. The possible values for this property are instances ofTLcdGML2LinearRingMember
. -
INNER_BOUNDARY_IS_PROPERTY
Data property that maps to theinnerBoundaryIs
element. The possible values for this property are instances ofList<TLcdGML2LinearRingMember>
.
-
-
Constructor Details
-
TLcdGML2Polygon
public TLcdGML2Polygon() -
TLcdGML2Polygon
-
TLcdGML2Polygon
Constructs a polygon and initializes its model reference (srs).- Parameters:
aSrs
- the model reference for this object- See Also:
-
TLcdGML2Polygon
Constructs a polygon and initializes its model reference (srs).- Parameters:
aDataType
- the data type for this objectaSrs
- the model reference for this object- See Also:
-
-
Method Details
-
getPolygon
Description copied from interface:ILcdComplexPolygon
Returns theILcdPolygon
at the given index.- Specified by:
getPolygon
in interfaceILcdComplexPolygon
- Parameters:
aIndex
- a valid index in the list ofILcdPolygon
objects.- Returns:
- the
ILcdPolygon
at the given index. - Throws:
IndexOutOfBoundsException
- when the index is not valid.
-
getPolygonCount
public int getPolygonCount()Description copied from interface:ILcdComplexPolygon
Returns the number ofILcdPolygon
objects in the list.- Specified by:
getPolygonCount
in interfaceILcdComplexPolygon
- Returns:
- the number of
ILcdPolygon
objects in the list.
-
getPointCount
public int getPointCount()Description copied from interface:ILcdPointList
Returns the number ofILcdPoint
objects in the list.- Specified by:
getPointCount
in interfaceILcdPointList
- Returns:
- the number of
ILcdPoint
objects in the list.
-
getPoint
Description copied from interface:ILcdPointList
Returns theILcdPoint
at a given index.- Specified by:
getPoint
in interfaceILcdPointList
- Parameters:
aIndex
- a valid index in the list ofILcdPoint
objects.- Returns:
- the
ILcdPoint
at the given index. - Throws:
IndexOutOfBoundsException
- if the given index is out of bounds.
-
setExteriorRing
Description copied from interface:ILcdEditableSurface
Sets the exterior boundary of this surface.Note that this implementations may throw a
ClassCastException
orIllegalArgumentException
in case the class of the ring is not compatible with the implementation of the surface. Implementations should specify in their documentation all restrictions that apply in this context.- Specified by:
setExteriorRing
in interfaceILcdEditableSurface
- Parameters:
aExteriorRing
- the exterior boundary of this surface.
-
getExteriorRing
Description copied from interface:ILcdSurface
Returns the exterior boundary of this surface.- Specified by:
getExteriorRing
in interfaceILcdSurface
- Returns:
- the exterior boundary of this surface.
-
getInteriorRings
Description copied from interface:ILcdEditableSurface
Returns the holes in this surface, as a list ofILcdRing
instances. If there are no holes, an empty list is returned.The returned list is editable and can be used to add, remove or replace interior rings.
- Specified by:
getInteriorRings
in interfaceILcdEditableSurface
- Specified by:
getInteriorRings
in interfaceILcdSurface
- Returns:
- an editable list containing zero or more rings, representing the holes in this surface.
-
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
- Overrides:
contains2D
in classTLcdGML2AbstractGeometry
- Parameters:
aX
- the x coordinate of the point.aY
- the y coordinate of the point.- Returns:
- the boolean result of the containment test.
-
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
- Overrides:
contains3D
in classTLcdGML2AbstractGeometry
- 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.
-
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
- Overrides:
contains2D
in classTLcdGML2AbstractGeometry
- Parameters:
aPoint
- theILcdPoint
to test.- Returns:
- the boolean result of the containment test.
- See Also:
-
contains3D
Description copied from interface:ILcdShape
Checks whether thisILcdShape
contains the givenILcdPoint
in the 3D space.- Specified by:
contains3D
in interfaceILcdShape
- Overrides:
contains3D
in classTLcdGML2AbstractGeometry
- Parameters:
aPoint
- theILcdPoint
to test.- Returns:
- the boolean result of the containment test.
- See Also:
-
getFocusPoint
Description copied from interface:ILcdShape
Returns the focus point of thisILcdShape
.- Specified by:
getFocusPoint
in interfaceILcdShape
- Overrides:
getFocusPoint
in classTLcdGML2AbstractGeometry
- 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
- Overrides:
getBounds
in classTLcdGML2AbstractGeometry
- Returns:
- the
ILcdBounds
by which the geometry of thisILcdBounded
object is bounded.
-
clone
Description copied from class:TLcdDataObject
Returns a deep clone of this object. This method delegates toTLcdDataObject.clone(Map)
.- Specified by:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classTLcdDataObject
- Returns:
- a deep clone of this object
- See Also:
-
clone
Description copied from class:TLcdDataObject
Returns a deep clone of this object. If the clone is not already present in the dictionary, a new instance if created as follows:- First, a new instance is created using Java's clone() mechanism.
- Then, all properties of this object are cloned and set on the newly created
instance. A property is cloned as follows:
- If the property value is an
ILcdDataObject
, the value is cloned by first creating a new instance via thevalue.getDataType().newInstance()
method, and then cloning its properties one by one. - If the value implements
ILcdDeepCloneable
orILcdCloneable
then this interface is used to clone the value. - Otherwise, the property value is copied by reference.
- If the property value is an
- Specified by:
clone
in interfaceILcdDeepCloneable
- Overrides:
clone
in classTLcdDataObject
- Parameters:
aObjectDictionary
- the Object dictionary that keeps track of the objects for which a clone has already been made, and their corresponding clone Object.- Returns:
- a deep clone of this object
-
getOuterBoundaryIs
Returns the value of the property that maps to theouterBoundaryIs
element.- Returns:
- the value of the
OUTER_BOUNDARY_IS_PROPERTY
property.
-
setOuterBoundaryIs
Sets the value of the property that maps to theouterBoundaryIs
element.- Parameters:
aValue
- the value to set for theOUTER_BOUNDARY_IS_PROPERTY
property.
-
getInnerBoundaryIs
Returns the value of the property that maps to theinnerBoundaryIs
element.- Returns:
- the value of the
INNER_BOUNDARY_IS_PROPERTY
property.
-