org.geotools.geometry.jts.spatialschema.geometry.complex
Class CompositeSurfaceImpl

java.lang.Object
  extended by org.geotools.geometry.jts.spatialschema.geometry.GeometryImpl
      extended by org.geotools.geometry.jts.spatialschema.geometry.complex.ComplexImpl
          extended by org.geotools.geometry.jts.spatialschema.geometry.complex.CompositeImpl
              extended by org.geotools.geometry.jts.spatialschema.geometry.complex.CompositeSurfaceImpl
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, JTSGeometry, org.opengis.geometry.complex.Complex, org.opengis.geometry.complex.Composite, org.opengis.geometry.complex.CompositeSurface, org.opengis.geometry.Geometry, org.opengis.geometry.primitive.OrientablePrimitive, org.opengis.geometry.primitive.OrientableSurface, org.opengis.geometry.primitive.Primitive, org.opengis.geometry.TransfiniteSet

public class CompositeSurfaceImpl
extends CompositeImpl
implements org.opengis.geometry.complex.CompositeSurface

A complex with all the geometric properties of a surface. Thus, this composite can be considered as a type of orientable surface. Essentially, a composite surface is a collection of oriented surfaces that join in pairs on common boundary curves and which, when considered as a whole, form a single surface.

Version:
2.0
Author:
ISO/DIS 19107, OpenGIS® consortium
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.geotools.geometry.jts.spatialschema.geometry.GeometryImpl
GeometryImpl.MathTransformFilter
 
Field Summary
 
Fields inherited from class org.geotools.geometry.jts.spatialschema.geometry.complex.ComplexImpl
setViewOfElements
 
Constructor Summary
CompositeSurfaceImpl()
           
 
Method Summary
 org.opengis.geometry.primitive.SurfaceBoundary getBoundary()
          Returns the set of circular sequences of orientable curve that limit the extent of this OrientableSurface.
 java.util.Set<org.opengis.geometry.complex.Complex> getComplexes()
          Returns the set of complexes which contains this primitive.
 org.opengis.geometry.complex.CompositeSurface getComposite()
          Returns the owner of this orientable surface, or null if none.
 java.util.Set<org.opengis.geometry.primitive.Primitive> getContainedPrimitives()
          Returns the Primitives which are by definition coincident with this one.
 java.util.Set<org.opengis.geometry.primitive.Primitive> getContainingPrimitives()
          Returns the Primitives which are by definition coincident with this one.
 java.util.Set<org.opengis.geometry.primitive.OrientableSurface> getGenerators()
          Returns the list of orientable surfaces in this composite.
 int getOrientation()
          Determines which of the two possible orientations this object represents.
 org.opengis.geometry.primitive.Surface getPrimitive()
          Returns the primitive associated with this OrientablePrimitive.
 org.opengis.geometry.primitive.OrientablePrimitive[] getProxy()
          Returns the orientable primitives associated with this primitive.
 
Methods inherited from class org.geotools.geometry.jts.spatialschema.geometry.complex.ComplexImpl
computeJTSPeer, getElementList, getElements, getSubComplexes, getSubComplexSet, getSuperComplexes, isMaximal
 
Methods inherited from class org.geotools.geometry.jts.spatialschema.geometry.GeometryImpl
clone, contains, contains, difference, distance, equals, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getDistance, getEnvelope, getJTSGeometry, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, intersection, intersects, invalidateCachedJTSPeer, isCycle, isMutable, isSimple, listAsSet, setJTSPeer, setParent, symmetricDifference, toImmutable, transform, transform, union
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opengis.geometry.complex.Complex
getElements, getSubComplexes, getSuperComplexes, isMaximal
 
Methods inherited from interface org.opengis.geometry.Geometry
clone, distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform
 
Methods inherited from interface org.opengis.geometry.TransfiniteSet
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
 

Constructor Detail

CompositeSurfaceImpl

public CompositeSurfaceImpl()
Method Detail

getGenerators

public java.util.Set<org.opengis.geometry.primitive.OrientableSurface> getGenerators()
Returns the list of orientable surfaces in this composite. To get a full representation of the elements in the complex, the curves and points on the boundary of the generator set of surfaces would be added to the curves in the generator list.

Specified by:
getGenerators in interface org.opengis.geometry.complex.Composite
Specified by:
getGenerators in interface org.opengis.geometry.complex.CompositeSurface
Overrides:
getGenerators in class CompositeImpl
Returns:
The list of orientable surfaces in this composite.

getBoundary

public org.opengis.geometry.primitive.SurfaceBoundary getBoundary()
Returns the set of circular sequences of orientable curve that limit the extent of this OrientableSurface. These curves shall be organized into one circular sequence of curves for each boundary component of the OrientableSurface. In cases where "exterior" boundary is not well defined, all the rings of the surface boundary shall be listed as "interior".
NOTE: The concept of exterior boundary for a surface is really only valid in a 2-dimensional plane. A bounded cylinder has two boundary components, neither of which can logically be classified as its exterior. Thus, in 3 dimensions, there is no valid definition of exterior that covers all cases.

Specified by:
getBoundary in interface org.opengis.geometry.Geometry
Specified by:
getBoundary in interface org.opengis.geometry.primitive.OrientableSurface
Specified by:
getBoundary in interface org.opengis.geometry.primitive.Primitive
Overrides:
getBoundary in class GeometryImpl
Returns:
The sets of positions on the boundary.

getComposite

public org.opengis.geometry.complex.CompositeSurface getComposite()
Returns the owner of this orientable surface, or null if none.

Specified by:
getComposite in interface org.opengis.geometry.primitive.OrientableSurface
Specified by:
getComposite in interface org.opengis.geometry.primitive.Primitive
Returns:
The owner of this orientable surface, or null if none.

getOrientation

public int getOrientation()
Determines which of the two possible orientations this object represents.

Specified by:
getOrientation in interface org.opengis.geometry.primitive.OrientablePrimitive
Returns:
+1 for a positive orientation, or -1 for a negative orientation.

getPrimitive

public org.opengis.geometry.primitive.Surface getPrimitive()
Returns the primitive associated with this OrientablePrimitive. Each primitive of dimension 1 or 2 is associated to two OrientablePrimitives, one for each possible orientation. For curves and surfaces, there are exactly two orientable primitives for each geometric object.

Specified by:
getPrimitive in interface org.opengis.geometry.primitive.OrientablePrimitive
Specified by:
getPrimitive in interface org.opengis.geometry.primitive.OrientableSurface
Returns:
The primitive, never null.
See Also:
Primitive.getProxy()

getContainedPrimitives

public java.util.Set<org.opengis.geometry.primitive.Primitive> getContainedPrimitives()
Returns the Primitives which are by definition coincident with this one. This allows applications to override the TransfiniteSet<DirectPosition> interpretation and its associated computational geometry, and declare one Primitive to be "interior to" another. This set should normally be empty when the Primitives are within a complex, since in that case the boundary information is sufficient for most cases. This association should not be used when the two Primitives are not close to one another. The intent is to allow applications to compensate for inherent and unavoidable round off, truncation, and other mathematical problems indigenous to computer calculations.

Specified by:
getContainedPrimitives in interface org.opengis.geometry.primitive.Primitive
Returns:
The set of primitives contained into this primitive.
See Also:
getContainingPrimitives()

getContainingPrimitives

public java.util.Set<org.opengis.geometry.primitive.Primitive> getContainingPrimitives()
Returns the Primitives which are by definition coincident with this one.

Specified by:
getContainingPrimitives in interface org.opengis.geometry.primitive.Primitive
Returns:
The set of primitives which contains this primitive.
See Also:
getContainedPrimitives()

getComplexes

public java.util.Set<org.opengis.geometry.complex.Complex> getComplexes()
Returns the set of complexes which contains this primitive. A Primitive may be in several complexes. This association may not be navigable in this direction (from primitive to complex), depending on the implementation.

Specified by:
getComplexes in interface org.opengis.geometry.primitive.Primitive
Returns:
The set of complexex which contains this primitive.

getProxy

public org.opengis.geometry.primitive.OrientablePrimitive[] getProxy()
Returns the orientable primitives associated with this primitive. Each Primitive of dimension 1 or 2 is associated to two orientable primitives, one for each possible orientation. For curves and surfaces, there are exactly two orientable primitives for each geometric object. For the positive orientation, the orientable primitive shall be the corresponding curve or surface.

Specified by:
getProxy in interface org.opengis.geometry.primitive.Primitive
Returns:
The orientable primitives as an array of length 2, or null if none.
See Also:
OrientablePrimitive.getPrimitive()


Copyright © 1996-2010 Geotools. All Rights Reserved.