@UML(identifier="GM_Surface", specification=ISO_19107) public interface Surface extends OrientableSurface, GenericSurface
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.
PrimitiveFactory.createSurface(List)
,
PrimitiveFactory.createSurface(SurfaceBoundary)
Modifier and Type | Method and Description |
---|---|
List<? extends SurfacePatch> |
getPatches()
Relates this
Surface 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.
|
getBoundary, getComposite, getPrimitive
getOrientation
getComplexes, getContainedPrimitives, getContainingPrimitives
clone, distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
getArea, getPerimeter, getUpNormal
@Association(value="Segmentation") @UML(identifier="patch", obligation=MANDATORY, specification=ISO_19107) List<? extends SurfacePatch> getPatches()
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.
null
neither empty.SurfacePatch.getSurface()
,
Curve.getSegments()
@Association(value="Oriented") @UML(identifier="proxy", obligation=MANDATORY, specification=ISO_19107) OrientableSurface[] getProxy()
getProxy
in interface Primitive
OrientableSurface.getPrimitive()
Copyright © 1996–2019 Geotools. All rights reserved.