Package 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 ofPrimitive
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 aSurface
.NOTE: Other than the restriction on orientability, no other "validity" condition is required for GM_Surface.
- Since:
- GeoAPI 1.0
- Author:
- Martin Desruisseaux (IRD)
- See Also:
PrimitiveFactory.createSurface(List)
,PrimitiveFactory.createSurface(SurfaceBoundary)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<? extends SurfacePatch>
getPatches()
Relates thisSurface
to a set of surface patches that shall be joined together to form this surface.OrientableSurface[]
getProxy()
Returns the orientable surfaces associated with this surface.-
Methods inherited from interface GenericSurface
getArea, getPerimeter, getUpNormal
-
Methods inherited from interface Geometry
clone, distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform
-
Methods inherited from interface OrientablePrimitive
getOrientation
-
Methods inherited from interface OrientableSurface
getBoundary, getComposite, getPrimitive
-
Methods inherited from interface Primitive
getComplexes, getContainedPrimitives, getContainingPrimitives
-
Methods inherited from interface TransfiniteSet
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
-
-
-
-
Method Detail
-
getPatches
@Association("Segmentation") @UML(identifier="patch", obligation=MANDATORY, specification=ISO_19107) List<? extends SurfacePatch> getPatches()
Relates thisSurface
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()
-
getProxy
@Association("Oriented") @UML(identifier="proxy", obligation=MANDATORY, specification=ISO_19107) OrientableSurface[] getProxy()
Returns the orientable surfaces associated with this surface.- Specified by:
getProxy
in interfacePrimitive
- Returns:
- The orientable surfaces as an array of length 2.
- See Also:
OrientableSurface.getPrimitive()
-
-