## 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

Defines a homogeneous portion of a surface. Each `SurfacePatch` shall be in at most one surface.

Since:
  GeoAPI 1.0
Version:
  ISO 19107

Method Summary
`SurfaceBoundary` `getBoundary()` Returns the boundary of this `SurfacePatch` represented as a collection of orientable curves organized into rings by a surface boundary.
`SurfaceInterpolation` `getInterpolation()` Determines the surface interpolation mechanism used for this `SurfacePatch`.
`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(value="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 from `Surface` to `SurfacePatch`, 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, allowing `null` 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 this `SurfacePatch`. This mechanism uses the control points and control parameters defined in the various subclasses to determine the position of this `SurfacePatch`.

  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 by `getBoundary()` 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 this `SurfacePatch` represented as a collection of orientable curves organized into rings by a surface boundary. The semantics of this operation is the same as that of `Geometry.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 with `SurfacePatch`es (not necessarily distinct).

  Returns:
    The boundary of this `SurfacePatch`

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