org.geotools.geometry.jts.spatialschema.geometry.geometry
Class GenericSurfaceImpl

java.lang.Object
  extended by org.geotools.geometry.jts.spatialschema.geometry.geometry.GenericSurfaceImpl
All Implemented Interfaces:
org.opengis.geometry.coordinate.GenericSurface
Direct Known Subclasses:
SurfacePatchImpl

public abstract class GenericSurfaceImpl
extends java.lang.Object
implements org.opengis.geometry.coordinate.GenericSurface

Common interface for surface and surface patch. Surface and SurfacePatch represent sections of surface geometry, and therefore share a number of operation signatures.

Version:
2.0
Author:
ISO/DIS 19107, OpenGIS® consortium

Constructor Summary
GenericSurfaceImpl()
           
 
Method Summary
abstract  double getArea()
          Returns the area of this GenericSurface.
abstract  double getPerimeter()
          Returns the sum of the lengths of all the boundary components of this GenericSurface.
abstract  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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericSurfaceImpl

public GenericSurfaceImpl()
Method Detail

getUpNormal

public abstract 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. 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).

Specified by:
getUpNormal in interface org.opengis.geometry.coordinate.GenericSurface
Parameters:
point - The point on this GenericSurface where to compute the upNormal.
Returns:
The upNormal unit vector.

getPerimeter

public abstract double getPerimeter()
Returns the sum of the lengths of all the boundary components of this 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.

Specified by:
getPerimeter in interface org.opengis.geometry.coordinate.GenericSurface
Returns:
The perimeter.

getArea

public abstract double getArea()
Returns the area of this 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.

Specified by:
getArea in interface org.opengis.geometry.coordinate.GenericSurface
Returns:
The area.


Copyright © 1996-2010 Geotools. All Rights Reserved.