public interface SurfaceShape extends SurfaceObject, Highlightable, ExtentHolder, MeasurableArea, MeasurableLength, Restorable, Attributable
SurfacePolygon
, SurfacePolyline
, SurfaceEllipse
, SurfaceQuad
, and SurfaceSector
.
SurfaceShape extends the SurfaceObject
interface, and inherits SurfaceObject's
batch rendering capabilities.
Modifier and Type | Method and Description |
---|---|
double |
getArea(Globe globe,
boolean terrainConformant)
Returns the shapes's area in square meters.
|
ShapeAttributes |
getAttributes()
Returns the surface shape's normal (as opposed to highlight) attributes.
|
ShapeAttributes |
getHighlightAttributes()
Returns the surface shape's highlight attributes.
|
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. |
int[] |
getMinAndMaxEdgeIntervals()
Returns the minimum and maximum number of interpolated intervals that may be added to each shape edge.
|
java.lang.String |
getPathType()
Returns the path type used to interpolate between locations on this SurfaceShape.
|
double |
getTexelsPerEdgeInterval()
Returns the number of texels per shape edge interval.
|
boolean |
isHighlighted()
Indicates whether to highlight the surface shape.
|
void |
setAttributes(ShapeAttributes normalAttrs)
Specifies the surface shape's normal (as opposed to highlight) attributes.
|
void |
setHighlightAttributes(ShapeAttributes highlightAttrs)
Specifies the surface shape's highlight attributes.
|
void |
setHighlighted(boolean highlighted)
Specifies whether the surface shape is highlighted.
|
void |
setMinAndMaxEdgeIntervals(int minEdgeIntervals,
int maxEdgeIntervals)
Sets the minimum and maximum number of interpolated intervals that may be added to each shape edge.
|
void |
setPathType(java.lang.String pathType)
Sets the path type used to interpolate between locations on this SurfaceShape.
|
void |
setTexelsPerEdgeInterval(double texelsPerEdgeInterval)
Sets the number of texels per shape edge interval.
|
getDelegateOwner, getDistanceFromEye, getExtent, isEnableBatchPicking, isVisible, pick, preRender, setDelegateOwner, setEnableBatchPicking, setVisible
getSectors, getStateKey
render
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
getExtent
getArea, getHeight, getPerimeter, getWidth
getLength
getRestorableState, restoreState
double getArea(Globe globe, boolean terrainConformant)
terrainConformant
is true, the area returned is the
surface area of the terrain, including its hillsides and other undulations.globe
- the globe the shape is related to.terrainConformant
- whether or not the returned area should treat the shape as conforming to the terrain.java.lang.IllegalArgumentException
- if globe
is null.ShapeAttributes getAttributes()
getAttributes
in interface Attributable
ShapeAttributes getHighlightAttributes()
getHighlightAttributes
in interface Attributable
java.lang.Iterable<? extends LatLon> getLocations(Globe globe)
globe
, or null if the shape has no
locations.globe
- the globe the shape is related to.java.lang.IllegalArgumentException
- if globe
is null.int[] getMinAndMaxEdgeIntervals()
setMinAndMaxEdgeIntervals(int, int)
java.lang.String getPathType()
double getTexelsPerEdgeInterval()
setTexelsPerEdgeInterval(double)
boolean isHighlighted()
isHighlighted
in interface Highlightable
setHighlighted(boolean)
,
setHighlightAttributes(ShapeAttributes)
void setAttributes(ShapeAttributes normalAttrs)
setAttributes
in interface Attributable
normalAttrs
- the normal attributes. May be null, in which case default attributes are used.void setHighlightAttributes(ShapeAttributes highlightAttrs)
setHighlightAttributes
in interface Attributable
highlightAttrs
- the highlight attributes. May be null, in which case default attributes are used.void setHighlighted(boolean highlighted)
setHighlighted
in interface Highlightable
highlighted
- true to highlight the surface shape, otherwise false. The default value is false.setHighlightAttributes(ShapeAttributes)
void setMinAndMaxEdgeIntervals(int minEdgeIntervals, int maxEdgeIntervals)
minEdgeIntervals
or maxEdgeIntervals
too large may adversely impact surface shape rendering performance.minEdgeIntervals
- the minimum number of interpolated edge intervals.maxEdgeIntervals
- the maximum number of interpolated edge intervals.java.lang.IllegalArgumentException
- if either of minEdgeIntervals
or maxEdgeIntervals
is
less than or equal to zero.setTexelsPerEdgeInterval(double)
void setPathType(java.lang.String pathType)
pathType
- path interpolation type.java.lang.IllegalArgumentException
- if pathType
is null.void setTexelsPerEdgeInterval(double texelsPerEdgeInterval)
setMinAndMaxEdgeIntervals(int, int)
.texelsPerEdgeInterval
- the size, in texels, of each interpolated edge interval.java.lang.IllegalArgumentException
- if texelsPerEdgeInterval
is less than or equal to zero.setMinAndMaxEdgeIntervals(int, int)