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
    See Also:
    PrimitiveFactory.createSurface(List), PrimitiveFactory.createSurface(SurfaceBoundary)
    • Method Detail

      • getPatches

        @Association("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()