org.geotools.geometry.iso.primitive
Class SolidImpl

java.lang.Object
  extended by org.geotools.geometry.iso.root.GeometryImpl
      extended by org.geotools.geometry.iso.primitive.PrimitiveImpl
          extended by org.geotools.geometry.iso.primitive.SolidImpl
All Implemented Interfaces:
java.io.Serializable, org.opengis.geometry.Geometry, org.opengis.geometry.primitive.Primitive, org.opengis.geometry.primitive.Solid, org.opengis.geometry.TransfiniteSet

public class SolidImpl
extends PrimitiveImpl
implements org.opengis.geometry.primitive.Solid

Solid , a subclass of Primitive, is the basis for 3-dimensional geometry. The globelExtent of a solid is defined by the boundary surfaces.

Author:
Jackson Roehrig & Sanjay Jena
See Also:
Serialized Form

Field Summary
protected  org.opengis.geometry.Envelope envelope
           
 
Fields inherited from class org.geotools.geometry.iso.primitive.PrimitiveImpl
complex, containedPrimitive, containingPrimitive
 
Fields inherited from class org.geotools.geometry.iso.root.GeometryImpl
crs, percision
 
Constructor Summary
SolidImpl(org.opengis.geometry.primitive.SolidBoundary boundary)
          Since this standard is limited to 3-dimensional coordinate reference systems, any solid is definable by its boundary.
 
Method Summary
 double area()
          The operation "area" shall return the sum of the surface areas of all of the boundary components of a solid.
 SolidImpl clone()
           
 int dimension(DirectPositionImpl point)
          The method dimension returns the inherent dimension of this Object, which is less than or equal to the coordinate dimension.
 double getArea()
           
 org.opengis.geometry.primitive.SolidBoundary getBoundary()
          The operation "boundary" specializes the boundary operation defined at Object and at Primitive with the appropriate return type.
 int getDimension(org.opengis.geometry.DirectPosition point)
           
 org.opengis.geometry.Envelope getEnvelope()
           
 org.opengis.geometry.primitive.OrientablePrimitive[] getProxy()
           
 org.opengis.geometry.DirectPosition getRepresentativePoint()
           
 double getVolume()
           
 boolean isSimple()
           
 double volume()
          The operation "volume" shall return the volume of this Solid.
 
Methods inherited from class org.geotools.geometry.iso.primitive.PrimitiveImpl
addComplex, addContainedPrimitive, addContainingPrimitive, getComplexes, getComposite, getContainedPrimitives, getContainingPrimitives, getMaximalComplex
 
Methods inherited from class org.geotools.geometry.iso.root.GeometryImpl
castToGeometryImpl, castToGeometryImpl, contains, contains, cRelate, crosses, difference, disjoint, distance, equals, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDistance, getMbRegion, getPositionFactory, getPrecision, intersection, intersects, isCycle, isMutable, overlaps, relate, symmetricDifference, toImmutable, touches, transform, transform, union, within
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opengis.geometry.primitive.Primitive
getComplexes, getComposite, getContainedPrimitives, getContainingPrimitives
 
Methods inherited from interface org.opengis.geometry.Geometry
distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getMaximalComplex, getMbRegion, getPrecision, isCycle, isMutable, toImmutable, transform, transform
 
Methods inherited from interface org.opengis.geometry.TransfiniteSet
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
 

Field Detail

envelope

protected org.opengis.geometry.Envelope envelope
Constructor Detail

SolidImpl

public SolidImpl(org.opengis.geometry.primitive.SolidBoundary boundary)
Since this standard is limited to 3-dimensional coordinate reference systems, any solid is definable by its boundary. The default constructor for a Solid is from a properly structured set of Shells organized as a SolidBoundary. Solid::Solid(boundary : SolidBoundary) : Solid

Parameters:
boundary -
Method Detail

area

public double area()
The operation "area" shall return the sum of the surface areas of all of the boundary components of a solid. Solid::area() : Area The class Set has a "column operation" called "area" that accumulates the area of the components of the set. Using this, it can be said that for a Solid; Solid: area() = boundary().area()

Returns:
Area

volume

public double volume()
The operation "volume" shall return the volume of this Solid. This is the volume interior to the exterior boundary shell minus the sum of the volumes interior to any interior boundary shell. Solid::volume() : Volume

Returns:
Volume

getBoundary

public org.opengis.geometry.primitive.SolidBoundary getBoundary()
The operation "boundary" specializes the boundary operation defined at Object and at Primitive with the appropriate return type. It shall return a sequence of sets of Surfaces that limit the globelExtent of this Solid. These surfaces shall be organized into one set of surfaces for each boundary component of the Solid. Each of these shells shall be a cycle (closed composite surface without boundary). Solid::boundary() : SolidBoundary NOTE The exterior shell of a solid is defined only because the embedding coordinate space is always a 3D Euclidean one. In general, a solid in a bounded 3-dimensional manifold has no distinguished exterior boundary. In cases where "exterior" boundary is not well defined, all the shells of the SolidBoundary shall be listed as "interior". The OrientableSurfaces that bound a solid shall be oriented outward – that is, the "top" of each Surface as defined by its orientation shall face away from the interior of the solid. Each Shell, when viewed as a composite surface, shall be a cycle (see 6.2.2.6).

Specified by:
getBoundary in interface org.opengis.geometry.Geometry
Specified by:
getBoundary in interface org.opengis.geometry.primitive.Primitive
Specified by:
getBoundary in interface org.opengis.geometry.primitive.Solid
Specified by:
getBoundary in class PrimitiveImpl
Returns:
the solid boundary

dimension

public int dimension(DirectPositionImpl point)
The method dimension returns the inherent dimension of this Object, which is less than or equal to the coordinate dimension. The dimension of a collection of geometric objects is the largest dimension of any of its pieces. Points are 0-dimensional, curves are 1-dimensional, surfaces are 2-dimensional, and solids are 3-dimensional. Locally, the dimension of a geometric object at a point is the dimension of a local neighborhood of the point - that is the dimension of any coordinate neighborhood of the point. Dimension is unambiguously defined only for DirectPositions interior to this Object. If the passed DirectPosition2D is NULL, then the method returns the largest possible dimension for any DirectPosition2D in this Object.

Parameters:
point - a DirectPosition2D value
Returns:
an int value

clone

public SolidImpl clone()
                throws java.lang.CloneNotSupportedException
Specified by:
clone in interface org.opengis.geometry.Geometry
Specified by:
clone in class GeometryImpl
Throws:
java.lang.CloneNotSupportedException

getProxy

public org.opengis.geometry.primitive.OrientablePrimitive[] getProxy()
Specified by:
getProxy in interface org.opengis.geometry.primitive.Primitive
Specified by:
getProxy in interface org.opengis.geometry.primitive.Solid
Specified by:
getProxy in class PrimitiveImpl

isSimple

public boolean isSimple()
Specified by:
isSimple in interface org.opengis.geometry.Geometry

getArea

public double getArea()
Specified by:
getArea in interface org.opengis.geometry.primitive.Solid

getVolume

public double getVolume()
Specified by:
getVolume in interface org.opengis.geometry.primitive.Solid

getDimension

public int getDimension(org.opengis.geometry.DirectPosition point)
Specified by:
getDimension in interface org.opengis.geometry.Geometry
Specified by:
getDimension in class GeometryImpl

getEnvelope

public org.opengis.geometry.Envelope getEnvelope()
Specified by:
getEnvelope in interface org.opengis.geometry.Geometry
Specified by:
getEnvelope in class GeometryImpl

getRepresentativePoint

public org.opengis.geometry.DirectPosition getRepresentativePoint()
Specified by:
getRepresentativePoint in interface org.opengis.geometry.Geometry
Specified by:
getRepresentativePoint in class GeometryImpl


Copyright © 1996-2010 Geotools. All Rights Reserved.