|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.geometry.jts.spatialschema.geometry.geometry.GenericSurfaceImpl
org.geotools.geometry.jts.spatialschema.geometry.primitive.SurfacePatchImpl
public abstract class SurfacePatchImpl
Defines a homogeneous portion of a surface.
Each SurfacePatch
shall be in at most one surface.
Constructor Summary | |
---|---|
SurfacePatchImpl(org.opengis.geometry.primitive.SurfaceInterpolation interpolation,
org.opengis.geometry.primitive.SurfaceBoundary boundary)
|
Method Summary | |
---|---|
abstract com.vividsolutions.jts.geom.Geometry |
calculateJTSPeer()
|
double |
getArea()
Returns the area of this GenericSurface . |
org.opengis.geometry.primitive.SurfaceBoundary |
getBoundary()
|
org.opengis.geometry.primitive.SurfaceInterpolation |
getInterpolation()
Determines the surface interpolation mechanism used for this SurfacePatch . |
com.vividsolutions.jts.geom.Geometry |
getJTSGeometry()
Retrieves the equivalent JTS geometry for this object. |
abstract int |
getNumDerivativesOnBoundary()
Specifies the type of continuity between this surface patch and its immediate neighbors with which it shares a boundary curve. |
double |
getPerimeter()
Returns the sum of the lengths of all the boundary components of this GenericSurface . |
org.opengis.geometry.primitive.Surface |
getSurface()
Returns the patch which own this surface patch. |
double[] |
getUpNormal(org.opengis.geometry.DirectPosition point)
Returns a vector perpendicular to the GenericSurface at the
direct position passed, which must be on this
GenericSurface . |
void |
invalidateCachedJTSPeer()
This method is invoked to cause the JTS object to be recalculated the next time it is requested. |
void |
setSurface(org.opengis.geometry.primitive.Surface surface)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SurfacePatchImpl(org.opengis.geometry.primitive.SurfaceInterpolation interpolation, org.opengis.geometry.primitive.SurfaceBoundary boundary)
Method Detail |
---|
public org.opengis.geometry.primitive.Surface getSurface()
NOTE: In this specification, surface patches do not appear except in the context of a surface, and therefore this method should never returnsnull
which would preclude the use of surface patches except in this manner. While this would not affect this specification, allowingnull
owner allows other standards based on this one to use surface patches in a more open-ended manner.
getSurface
in interface org.opengis.geometry.primitive.SurfacePatch
null
if none.Surface.getPatches()
public void setSurface(org.opengis.geometry.primitive.Surface surface)
public org.opengis.geometry.primitive.SurfaceInterpolation getInterpolation()
SurfacePatch
.
This mechanism uses the control points and control parameters defined in the various
subclasses to determine the position of this SurfacePatch
.
getInterpolation
in interface org.opengis.geometry.primitive.SurfacePatch
public abstract int getNumDerivativesOnBoundary()
getBoundary()
for this patch. The default value of "0" means simple continuity, which
is a mandatory minimum level of continuity. This level is referred to as "C0" in
mathematical texts. A value of 1 means that the functions are continuous and differentiable
at the appropriate end point: "C1" continuity. A value of "n" for any integer means
n-times differentiable: "Cn" continuity.
getNumDerivativesOnBoundary
in interface org.opengis.geometry.primitive.SurfacePatch
public org.opengis.geometry.primitive.SurfaceBoundary getBoundary()
getBoundary
in interface org.opengis.geometry.primitive.SurfacePatch
com.polexis.lite.spatialschema.geometry.primitive.SurfacePatchImpl#getBoundary()
public final double[] getUpNormal(org.opengis.geometry.DirectPosition point)
GenericSurfaceImpl
GenericSurface
at the
direct position passed, which must be on this
GenericSurface
. The upward normal always points upward in a
manner consistent with the boundary. This means that the exterior boundary
of the surface is counterclockwise when viewed from the side of the surface
indicated by the upNormal
. Interior boundaries are clockwise.
The side of the surface indicated by the upNormal
is referred
to as the "top." The function "upNormal" shall be continuous and the length
of the normal shall always be equal to 1.0.
NOTE: The upNormal along a boundary of a solid always points away from the solid. This is a slight semantics problem in dealing with voids within solids, where the upNormal (for sake of mathematical consistency) points into the center of the voided region, which linguistically can be considered the interior of the void. What the confusion is here is that the basic linguistic metaphors used in most languages for "interior of solid" and for "interior of container" use "inward" in inconsistent manners from a topological point of view. The void "in" rock is not inside the rock in the same manner as the solid material that makes up the substance of the rock. Nor is the coffee "in" the cup the same "in" as the ceramic glass "in" the cup. The use of these culturally derived metaphors may not be consistent across all languages, some of which may use different prepositions for these two different concepts. This specification uses the linguistically neutral concept of "interior" derived from mathematics (topology).
getUpNormal
in interface org.opengis.geometry.coordinate.GenericSurface
getUpNormal
in class GenericSurfaceImpl
point
-
com.polexis.lite.spatialschema.geometry.geometry.GenericSurfaceImpl#getUpNormal(org.opengis.geometry.coordinate.DirectPosition)
public final double getPerimeter()
GenericSurfaceImpl
GenericSurface
. Since perimeter, like length, is an accumulation
(integral) of distance, its return value shall be in a reference system appropriate
for measuring distances.
NOTE: The perimeter is defined as the sum of the lengths of all boundary components. The length of a curve or of a collection of curves is always positive and non-zero (unless the curve is pathological). This means that holes in surfaces will contribute positively to the total perimeter.
getPerimeter
in interface org.opengis.geometry.coordinate.GenericSurface
getPerimeter
in class GenericSurfaceImpl
com.polexis.lite.spatialschema.geometry.geometry.GenericSurfaceImpl#getPerimeter()
public final double getArea()
GenericSurfaceImpl
GenericSurface
. The area of a 2-dimensional geometric
object shall be a numeric measure of its surface area (in a square unit of distance). Since
area is an accumulation (integral) of the product of two distances, its return value shall
be in a unit of measure appropriate for measuring distances squared, such as meters squared
(m2).
NOTE: Consistent with the definition of surface as a set of direct positions, holes in the surfaces will not contribute to the total area. If the usual Green's Theorem (or more general Stokes' Theorem) integral is used, the integral around the holes in the surface are subtracted from the integral about the exterior of the surface patch.
getArea
in interface org.opengis.geometry.coordinate.GenericSurface
getArea
in class GenericSurfaceImpl
public com.vividsolutions.jts.geom.Geometry getJTSGeometry()
getJTSGeometry
in interface JTSGeometry
public void invalidateCachedJTSPeer()
invalidateCachedJTSPeer
in interface JTSGeometry
public abstract com.vividsolutions.jts.geom.Geometry calculateJTSPeer()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |