
 All Known Subinterfaces:
BicubicGrid
,BilinearGrid
,BSplineSurface
,Cone
,Cylinder
,GriddedSurface
,ParametricCurveSurface
,Polygon
,PolyhedralSurface
,Sphere
,Surface
,SurfacePatch
,Tin
,Triangle
,TriangulatedSurface
@UML(identifier="GM_GenericSurface", specification=ISO_19107) public interface GenericSurface
Common interface for surface and surface patch.Surface
andSurfacePatch
represent sections of surface geometry, and therefore share a number of operation signatures.


Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description double
getArea()
Returns the area of thisGenericSurface
.double
getPerimeter()
Returns the sum of the lengths of all the boundary components of thisGenericSurface
.double[]
getUpNormal(DirectPosition point)
Returns a vector perpendicular to theGenericSurface
at the direct position passed, which must be on thisGenericSurface
.



Method Detail

getUpNormal
@UML(identifier="upNormal", obligation=MANDATORY, specification=ISO_19107) double[] getUpNormal(DirectPosition point)
Returns a vector perpendicular to theGenericSurface
at the direct position passed, which must be on thisGenericSurface
. 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 theupNormal
. Interior boundaries are clockwise. The side of the surface indicated by theupNormal
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). Parameters:
point
 The point on thisGenericSurface
where to compute the upNormal. Returns:
 the upNormal unit vector.

getPerimeter
@UML(identifier="perimeter", obligation=MANDATORY, specification=ISO_19107) double getPerimeter()
Returns the sum of the lengths of all the boundary components of thisGenericSurface
. 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 nonzero (unless the curve is pathological). This means that holes in surfaces will contribute positively to the total perimeter. Returns:
 the perimeter.
 Unit:
 Length

getArea
@UML(identifier="area", obligation=MANDATORY, specification=ISO_19107) double getArea()
Returns the area of thisGenericSurface
. The area of a 2dimensional 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 (m²).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. Returns:
 the area.
 Unit:
 Area

