Interface SurfaceShape

    • Method Detail

      • setHighlighted

        void setHighlighted​(boolean highlighted)
        Specifies whether the surface shape is highlighted.
        Specified by:
        setHighlighted in interface Highlightable
        Parameters:
        highlighted - true to highlight the surface shape, otherwise false. The default value is false.
        See Also:
        setHighlightAttributes(ShapeAttributes)
      • getAttributes

        ShapeAttributes getAttributes()
        Returns the surface shape's normal (as opposed to highlight) attributes. Modifying the contents of the returned reference causes this shape's appearance to change accordingly.
        Specified by:
        getAttributes in interface Attributable
        Returns:
        the surface shape's normal attributes. May be null.
      • setAttributes

        void setAttributes​(ShapeAttributes normalAttrs)
        Specifies the surface shape's normal (as opposed to highlight) attributes. Modifying the attribute reference after calling setAttributes() causes this shape's appearance to change accordingly.
        Specified by:
        setAttributes in interface Attributable
        Parameters:
        normalAttrs - the normal attributes. May be null, in which case default attributes are used.
      • getHighlightAttributes

        ShapeAttributes getHighlightAttributes()
        Returns the surface shape's highlight attributes. Modifying the contents of the returned reference causes this shape's appearance to change accordingly.
        Specified by:
        getHighlightAttributes in interface Attributable
        Returns:
        the surface shape's highlight attributes. May be null.
      • setHighlightAttributes

        void setHighlightAttributes​(ShapeAttributes highlightAttrs)
        Specifies the surface shape's highlight attributes. Modifying the attribute reference after calling setHighlightAttributes() causes this shape's appearance to change accordingly.
        Specified by:
        setHighlightAttributes in interface Attributable
        Parameters:
        highlightAttrs - the highlight attributes. May be null, in which case default attributes are used.
      • getPathType

        java.lang.String getPathType()
        Returns the path type used to interpolate between locations on this SurfaceShape.
        Returns:
        path interpolation type.
      • setPathType

        void setPathType​(java.lang.String pathType)
        Sets the path type used to interpolate between locations on this SurfaceShape. This should be one of
        • gov.nasa.worldwind.avlist.AVKey.GREAT_CIRCLE
        • gov.nasa.worldwind.avlist.AVKey.LINEAR
        • gov.nasa.worldwind.avlist.AVKey.LOXODROME
        • gov.nasa.worldwind.avlist.AVKey.RHUMB
        Parameters:
        pathType - path interpolation type.
        Throws:
        java.lang.IllegalArgumentException - if pathType is null.
      • getTexelsPerEdgeInterval

        double getTexelsPerEdgeInterval()
        Returns the number of texels per shape edge interval.
        Returns:
        texels per shape edge interval.
        See Also:
        setTexelsPerEdgeInterval(double)
      • setTexelsPerEdgeInterval

        void setTexelsPerEdgeInterval​(double texelsPerEdgeInterval)
        Sets the number of texels per shape edge interval. This value controls how many interpolated intervals are added to each shape edge, depending on size of the original edge in texels. Each shape is responsible for defining what an edge is, though for most shapes it is defined as the edge between implicit or caller-specified shape locations. The number of interpolated intervals is limited by the values set in a call to setMinAndMaxEdgeIntervals(int, int).
        Parameters:
        texelsPerEdgeInterval - the size, in texels, of each interpolated edge interval.
        Throws:
        java.lang.IllegalArgumentException - if texelsPerEdgeInterval is less than or equal to zero.
        See Also:
        setMinAndMaxEdgeIntervals(int, int)
      • getMinAndMaxEdgeIntervals

        int[] getMinAndMaxEdgeIntervals()
        Returns the minimum and maximum number of interpolated intervals that may be added to each shape edge.
        Returns:
        array of two elements, the first element is minEdgeIntervals, the second element is maxEdgeIntervals.
        See Also:
        setMinAndMaxEdgeIntervals(int, int)
      • setMinAndMaxEdgeIntervals

        void setMinAndMaxEdgeIntervals​(int minEdgeIntervals,
                                       int maxEdgeIntervals)
        Sets the minimum and maximum number of interpolated intervals that may be added to each shape edge. The minimum and maximum values may be 0, or any positive integer. Note that Setting either of minEdgeIntervals or maxEdgeIntervals too large may adversely impact surface shape rendering performance.
        Parameters:
        minEdgeIntervals - the minimum number of interpolated edge intervals.
        maxEdgeIntervals - the maximum number of interpolated edge intervals.
        Throws:
        java.lang.IllegalArgumentException - if either of minEdgeIntervals or maxEdgeIntervals is less than or equal to zero.
        See Also:
        setTexelsPerEdgeInterval(double)
      • getLocations

        java.lang.Iterable<? extends LatLon> getLocations​(Globe globe)
        Returns the shape's locations as they appear on the specified globe, or null if the shape has no locations.
        Parameters:
        globe - the globe the shape is related to.
        Returns:
        the shapes locations on the globe, or null if the shape has no locations.
        Throws:
        java.lang.IllegalArgumentException - if globe is null.
      • getArea

        double getArea​(Globe globe,
                       boolean terrainConformant)
        Returns the shapes's area in square meters. If terrainConformant is true, the area returned is the surface area of the terrain, including its hillsides and other undulations.
        Parameters:
        globe - the globe the shape is related to.
        terrainConformant - whether or not the returned area should treat the shape as conforming to the terrain.
        Returns:
        the shape's area in square meters. Returns -1 if the object does not form an area due to an insufficient number of vertices or any other condition.
        Throws:
        java.lang.IllegalArgumentException - if globe is null.