org.opengis.geometry.primitive
Interface Surface

All Superinterfaces:
GenericSurface, Geometry, OrientablePrimitive, OrientableSurface, Primitive, TransfiniteSet
All Known Subinterfaces:
PolyhedralSurface, Tin, TriangulatedSurface

@UML(identifier="GM_Surface",
     specification=ISO_19107)
public interface Surface
extends OrientableSurface, GenericSurface

Surface with a positive orientation. Surface is a subclass of Primitive and is the basis for 2-dimensional geometry. Unorientable surfaces such as the Möbius band are not allowed. The orientation of a surface chooses an "up" direction through the choice of the upward normal, which, if the surface is not a cycle, is the side of the surface from which the exterior boundary appears counterclockwise. Reversal of the surface orientation reverses the curve orientation of each boundary component, and interchanges the conceptual "up" and "down" direction of the surface. If the surface is the boundary of a solid, the "up" direction is usually outward. For closed surfaces, which have no boundary, the up direction is that of the surface patches, which must be consistent with one another. Its included surface patches describe the interior structure of a Surface.

NOTE: Other than the restriction on orientability, no other "validity" condition is required for GM_Surface.

Since:
GeoAPI 1.0
Version:
ISO 19107
See Also:
PrimitiveFactory.createSurface(List), PrimitiveFactory.createSurface(SurfaceBoundary)

Method Summary
 List<? extends SurfacePatch> getPatches()
          Relates this Surface to a set of surface patches that shall be joined together to form this surface.
 
Methods inherited from interface OrientablePrimitive
getOrientation, getPrimitive
 
Methods inherited from interface Primitive
getComplexes, getComposite, getContainedPrimitives, getContainingPrimitives, getProxy
 
Methods inherited from interface Geometry
clone, distance, getBoundary, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getDistance, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform
 
Methods inherited from interface TransfiniteSet
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
 
Methods inherited from interface GenericSurface
getArea, getPerimeter, getUpNormal
 

Method Detail

getPatches

@Association(value="Segmentation")
@UML(identifier="patch",
     obligation=MANDATORY,
     specification=ISO_19107)
List<? extends SurfacePatch> getPatches()
Relates this Surface to a set of surface patches that shall be joined together to form this surface. Depending on the interpolation method, the set of patches may require significant additional structure. If the surface coordinate dimension is 2, then the entire Surface is one logical patch defined by linear interpolation from the boundary.

Returns:
The list of surface patches. Should never be null neither empty.
See Also:
SurfacePatch.getSurface(), Curve.getSegments()


Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.