Package org.opengis.geometry.primitive
Interface SurfacePatch
-
- All Superinterfaces:
GenericSurface
- All Known Subinterfaces:
BicubicGrid
,BilinearGrid
,BSplineSurface
,Cone
,Cylinder
,GriddedSurface
,ParametricCurveSurface
,Polygon
,Sphere
,Triangle
@UML(identifier="GM_SurfacePatch", specification=ISO_19107) public interface SurfacePatch extends GenericSurface
- Since:
- GeoAPI 1.0
- Author:
- Martin Desruisseaux (IRD)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SurfaceBoundary
getBoundary()
Returns the boundary of thisSurfacePatch
represented as a collection of orientable curves organized into rings by a surface boundary.SurfaceInterpolation
getInterpolation()
Determines the surface interpolation mechanism used for thisSurfacePatch
.int
getNumDerivativesOnBoundary()
Specifies the type of continuity between this surface patch and its immediate neighbors with which it shares a boundary curve.Surface
getSurface()
Returns the patch which own this surface patch.-
Methods inherited from interface GenericSurface
getArea, getPerimeter, getUpNormal
-
-
-
-
Method Detail
-
getSurface
@Association("Segmentation") @UML(identifier="surface", obligation=OPTIONAL, specification=ISO_19107) Surface getSurface()
Returns the patch which own this surface patch. This method is optional since the association in ISO 19107 is navigable only fromSurface
toSurfacePatch
, not the other way.NOTE: In the specification, surface patches do not appear except in the context of a surface, and therefore this method should never returns
null
which would preclude the use of surface patches except in this manner. While this would not affect the specification, allowingnull
owner allows other standards based on ISO 19107 one to use surface patches in a more open-ended manner.- Returns:
- The owner of this surface patch, or
null
if the association is not available or not implemented that way. - See Also:
Surface.getPatches()
,CurveSegment.getCurve()
-
getInterpolation
@UML(identifier="interpolation", obligation=MANDATORY, specification=ISO_19107) SurfaceInterpolation getInterpolation()
Determines the surface interpolation mechanism used for thisSurfacePatch
. This mechanism uses the control points and control parameters defined in the various subclasses to determine the position of thisSurfacePatch
.- Returns:
- The interpolation mechanism.
-
getNumDerivativesOnBoundary
@UML(identifier="numDerivativesOnBoundary", obligation=MANDATORY, specification=ISO_19107) int getNumDerivativesOnBoundary()
Specifies the type of continuity between this surface patch and its immediate neighbors with which it shares a boundary curve. The sequence of values corresponds to the rings in the surface boundary returned bygetBoundary()
for this patch. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C0" in mathematical texts. A value of 1 means that the functions are continuous and differentiable at the appropriate end point: "C1" continuity. A value of "n" for any integer means n-times differentiable: "Cn" continuity.- Returns:
- The type of continuity between this surface patch and its immediate neighbors.
-
getBoundary
@UML(identifier="boundary", obligation=MANDATORY, specification=ISO_19107) SurfaceBoundary getBoundary()
Returns the boundary of thisSurfacePatch
represented as a collection of orientable curves organized into rings by a surface boundary. The semantics of this operation is the same as that ofOrientableSurface.getBoundary()
, except that the curves used here may be not be persistent orientable curve instances. Transient data type values of curve are also valid. In the normal case,SurfacePatch
es will share parts of their boundary with the aggregate surface, and other parts withSurfacePatch
es (not necessarily distinct).- Returns:
- The boundary of this
SurfacePatch
-
-