Interface GenericSurface

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      double getArea()
      Returns the area of this GenericSurface.
      double getPerimeter()
      Returns the sum of the lengths of all the boundary components of this GenericSurface.
      double[] getUpNormal​(DirectPosition point)
      Returns a vector perpendicular to the GenericSurface at the direct position passed, which must be on this GenericSurface.
    • Method Detail

      • getUpNormal

        @UML(identifier="upNormal",
             obligation=MANDATORY,
             specification=ISO_19107)
        double[] getUpNormal​(DirectPosition point)
        Returns a vector perpendicular to the GenericSurface at the direct position passed, which must be on this GenericSurface. The upward normal always points upward in a manner consistent with the boundary. This means that the exterior boundary of the surface is counterclockwise when viewed from the side of the surface indicated by the upNormal. Interior boundaries are clockwise. The side of the surface indicated by the upNormal is referred to as the "top." The function "upNormal" shall be continuous and the length of the normal shall always be equal to 1.0.
        Note: The upNormal along a boundary of a solid always points away from the solid. This is a slight semantics problem in dealing with voids within solids, where the upNormal (for sake of mathematical consistency) points into the center of the voided region, which linguistically can be considered the interior of the void. What the confusion is here is that the basic linguistic metaphors used in most languages for "interior of solid" and for "interior of container" use "inward" in inconsistent manners from a topological point of view. The void "in" rock is not inside the rock in the same manner as the solid material that makes up the substance of the rock. Nor is the coffee "in" the cup the same "in" as the ceramic glass "in" the cup. The use of these culturally derived metaphors may not be consistent across all languages, some of which may use different prepositions for these two different concepts. This specification uses the linguistically neutral concept of "interior" derived from mathematics (topology).
        Parameters:
        point - The point on this GenericSurface where to compute the upNormal.
        Returns:
        the upNormal unit vector.
      • getPerimeter

        @UML(identifier="perimeter",
             obligation=MANDATORY,
             specification=ISO_19107)
        double getPerimeter()
        Returns the sum of the lengths of all the boundary components of this GenericSurface. Since perimeter, like length, is an accumulation (integral) of distance, its return value shall be in a reference system appropriate for measuring distances.
        Note: The perimeter is defined as the sum of the lengths of all boundary components. The length of a curve or of a collection of curves is always positive and non-zero (unless the curve is pathological). This means that holes in surfaces will contribute positively to the total perimeter.
        Returns:
        the perimeter.
        Unit:
        Length
      • getArea

        @UML(identifier="area",
             obligation=MANDATORY,
             specification=ISO_19107)
        double getArea()
        Returns the area of this GenericSurface. The area of a 2-dimensional geometric object shall be a numeric measure of its surface area (in a square unit of distance). Since area is an accumulation (integral) of the product of two distances, its return value shall be in a unit of measure appropriate for measuring distances squared, such as meters squared (m²).
        Note: Consistent with the definition of surface as a set of direct positions, holes in the surfaces will not contribute to the total area. If the usual Green's Theorem (or more general Stokes' Theorem) integral is used, the integral around the holes in the surface are subtracted from the integral about the exterior of the surface patch.
        Returns:
        the area.
        Unit:
        Area