public class SurfaceQuad extends AbstractSurfaceShape implements Exportable
AbstractSurfaceShape.GeometryKey, AbstractSurfaceShape.SurfaceShapeStateKey
AbstractSurfaceObject.CacheEntry, AbstractSurfaceObject.SurfaceObjectStateKey
Modifier and Type | Field and Description |
---|---|
protected LatLon |
center |
protected Angle |
heading |
protected double |
height |
protected double |
width |
activeAttrs, activeGeometry, activeOutlineGeometry, areaMeasurer, areaMeasurerLastModifiedTime, DEFAULT_HIGHLIGHT_MATERIAL, DEFAULT_INTERIOR_MATERIAL, DEFAULT_MAX_EDGE_INTERVALS, DEFAULT_MIN_EDGE_INTERVALS, DEFAULT_OUTLINE_MATERIAL, DEFAULT_PATH_TYPE, DEFAULT_TEXELS_PER_EDGE_INTERVAL, defaultAttrs, dragEnabled, draggableSupport, geometryCache, highlightAttrs, highlighted, maxEdgeIntervals, minEdgeIntervals, normalAttrs, pathType, sectorCache, stackHandler, texelsPerEdgeInterval, texture, vertexBuffer
delegateOwner, drawBoundingSectors, enableBatchPicking, extentCache, lastModifiedTime, nextUniqueId, pickLayer, pickSupport, pickTileBuilder, uniqueId, visible
FORMAT_NOT_SUPPORTED, FORMAT_PARTIALLY_SUPPORTED, FORMAT_SUPPORTED
Constructor and Description |
---|
SurfaceQuad()
Constructs a new surface quad with the default attributes, default center location, default dimensions, and
default heading.
|
SurfaceQuad(LatLon center,
double width,
double height)
Constructs a new surface quad with the default attributes, the specified center location and dimensions (in
meters).
|
SurfaceQuad(LatLon center,
double width,
double height,
Angle heading)
Constructs a new surface quad with the default attributes, the specified center location, dimensions (in meters),
and heading clockwise from North.
|
SurfaceQuad(ShapeAttributes normalAttrs)
Constructs a new surface quad with the specified normal (as opposed to highlight) attributes, default center
location, default dimensions, and default heading.
|
SurfaceQuad(ShapeAttributes normalAttrs,
LatLon center,
double width,
double height)
Constructs a new surface quad with the specified normal (as opposed to highlight) attributes, the specified
center location and dimensions (in meters).
|
SurfaceQuad(ShapeAttributes normalAttrs,
LatLon center,
double width,
double height,
Angle heading)
Constructs a new surface quad with the specified normal (as opposed to highlight) attributes, the specified
center location and dimensions (in meters).
|
SurfaceQuad(SurfaceQuad source)
Creates a shallow copy of the specified source shape.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.List<java.util.List<LatLon>> |
createGeometry(Globe globe,
double edgeIntervalsPerDegree) |
protected void |
doGetRestorableState(RestorableSupport rs,
RestorableSupport.StateObject context) |
protected void |
doMoveTo(Globe globe,
Position oldReferencePosition,
Position newReferencePosition) |
protected void |
doMoveTo(Position oldReferencePosition,
Position newReferencePosition) |
protected void |
doRestoreState(RestorableSupport rs,
RestorableSupport.StateObject context) |
protected void |
exportAsKML(java.lang.Object output)
Export the polygon to KML as a
<Placemark> element. |
LatLon |
getCenter() |
Angle |
getHeading() |
double |
getHeight() |
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. |
Position |
getReferencePosition()
A position associated with the object that indicates its aggregate geographic position.
|
java.lang.Object |
getStateKey(DrawContext dc)
Returns an object that uniquely identifies this renderable's state for the specified draw context.
|
double |
getWidth() |
protected void |
legacyRestoreState(RestorableSupport rs,
RestorableSupport.StateObject context)
Restores state values from previous versions of the SurfaceShape state XML.
|
void |
setCenter(LatLon center) |
void |
setHeading(Angle heading) |
void |
setHeight(double height) |
void |
setSize(double width,
double height) |
void |
setWidth(double width) |
addIntermediateLocations, applyInteriorState, applyInteriorTextureState, applyModelviewTransform, applyOutlineState, beginDrawing, canContainPole, clearCaches, combine, combineBounds, combineContours, computeEdgeIntervalsPerDegree, computeEdgeIntervalsPerDegree, computeSectors, computeSectors, containsPole, createActiveAttributes, createGeometry, createGeometryKey, cutAlongDateLine, determineActiveAttributes, determineActiveGeometry, doCombineContour, doCombineContours, doDrag, doDrawGeographic, doTessellateInterior, drag, drawGeographic, drawInterior, drawLineStrip, drawOutline, endDrawing, export, generateIntermediateLocations, getActiveAttributes, getActiveGeometry, getArea, getArea, getAttributes, getCachedGeometry, getExtent, getHeight, getHighlightAttributes, getInteriorTexture, getLength, getMinAndMaxEdgeIntervals, getPathType, getPerimeter, getRestorableState, getSectors, getTexelsPerEdgeInterval, getWidth, handleUnsuccessfulInteriorTessellation, isDragEnabled, isExportFormatSupported, isHighlighted, isSectorEmpty, makeOrderedPreRenderable, move, moveTo, moveTo, pathTypeFromString, repeatAroundDateline, restoreState, setAttributes, setDragEnabled, setHighlightAttributes, setHighlighted, setMinAndMaxEdgeIntervals, setPathType, setTexelsPerEdgeInterval, setupAreaMeasurer, tessellateInterior, tessellateInteriorVertices
buildPickRepresentation, computeExtent, computeExtent, createPickedObject, createPickTileBuilder, drawBoundingSectors, drawOrderedRenderable, drawPickRepresentation, getDelegateOwner, getDistanceFromEye, getExtent, getUniqueId, intersectsFrustum, intersectsPickFrustum, intersectsVisibleSector, isDrawBoundingSectors, isEnableBatchPicking, isVisible, makeOrderedRenderable, nextUniqueId, onShapeChanged, pick, pickBatched, pickOrderedRenderable, preRender, render, setDelegateOwner, setDrawBoundingSectors, setEnableBatchPicking, setVisible, updateModifiedTime
onMessage, propertyChange
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
export, isExportFormatSupported
getDelegateOwner, getDistanceFromEye, getExtent, isEnableBatchPicking, isVisible, pick, preRender, setDelegateOwner, setEnableBatchPicking, setVisible
render
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
protected LatLon center
protected Angle heading
protected double height
protected double width
public SurfaceQuad()
public SurfaceQuad(LatLon center, double width, double height)
center
- the quad's center location.width
- the quad's width, in meters.height
- the quad's height, in meters.java.lang.IllegalArgumentException
- if the center is null, or if the width or height are negative.public SurfaceQuad(LatLon center, double width, double height, Angle heading)
center
- the quad's center location.width
- the quad's width, in meters.height
- the quad's height, in meters.heading
- the quad's heading, clockwise from North.java.lang.IllegalArgumentException
- if the center or heading are null, or if the width or height are negative.public SurfaceQuad(ShapeAttributes normalAttrs)
normalAttrs
- the normal attributes. May be null, in which case default attributes are used.public SurfaceQuad(ShapeAttributes normalAttrs, LatLon center, double width, double height)
normalAttrs
- the normal attributes. May be null, in which case default attributes are used.center
- the quad's center location.width
- the quad's width, in meters.height
- the quad's height, in meters.java.lang.IllegalArgumentException
- if the center is null, or if the width or height are negative.public SurfaceQuad(ShapeAttributes normalAttrs, LatLon center, double width, double height, Angle heading)
normalAttrs
- the normal attributes. May be null, in which case default attributes are used.center
- the quad's center location.width
- the quad's width, in meters.height
- the quad's height, in meters.heading
- the quad's heading, clockwise from North.java.lang.IllegalArgumentException
- if the center or heading are null, or if the width or height are negative.public SurfaceQuad(SurfaceQuad source)
source
- the shape to copy.protected java.util.List<java.util.List<LatLon>> createGeometry(Globe globe, double edgeIntervalsPerDegree)
createGeometry
in class AbstractSurfaceShape
protected void doGetRestorableState(RestorableSupport rs, RestorableSupport.StateObject context)
doGetRestorableState
in class AbstractSurfaceShape
protected void doMoveTo(Globe globe, Position oldReferencePosition, Position newReferencePosition)
doMoveTo
in class AbstractSurfaceShape
protected void doMoveTo(Position oldReferencePosition, Position newReferencePosition)
doMoveTo
in class AbstractSurfaceShape
protected void doRestoreState(RestorableSupport rs, RestorableSupport.StateObject context)
doRestoreState
in class AbstractSurfaceShape
protected void exportAsKML(java.lang.Object output) throws java.io.IOException, javax.xml.stream.XMLStreamException
<Placemark>
element. The output
object will receive the data. This
object must be one of: java.io.Writer java.io.OutputStream javax.xml.stream.XMLStreamWriterexportAsKML
in class AbstractSurfaceShape
output
- Object to receive the generated KML.javax.xml.stream.XMLStreamException
- If an exception occurs while writing the KMLjava.io.IOException
- if an exception occurs while exporting the data.AbstractSurfaceShape.export(String, Object)
public LatLon getCenter()
public Angle getHeading()
public double getHeight()
public java.lang.Iterable<? extends LatLon> getLocations(Globe globe)
SurfaceShape
globe
, or null if the shape has no
locations.getLocations
in interface SurfaceShape
globe
- the globe the shape is related to.public Position getReferencePosition()
Movable
getReferencePosition
in interface Movable
getReferencePosition
in interface Movable2
getReferencePosition
in class AbstractSurfaceShape
public java.lang.Object getStateKey(DrawContext dc)
Callers can perform an equality test on two state keys using Object.equals(Object)
in order to determine
whether or not a renderable has changed. The returned object is guaranteed to be globally unique with respect to
other SurfaceRenderable state keys; an equality test with a state key from another renderable always returns
false.
The returned state key is constructed the SurfaceShape's unique ID, last modified time, and its active
attributes. The returned state key has no dependency on the Globe
. Subclasses
that depend on the Globe should return a state key that include the globe's state key.
Overridden to include the globe's state key in the returned state key.
getStateKey
in interface SurfaceRenderable
getStateKey
in class AbstractSurfaceShape
dc
- the draw context for which to determine this renderable's current state.Globe.getStateKey(DrawContext)
public double getWidth()
protected void legacyRestoreState(RestorableSupport rs, RestorableSupport.StateObject context)
AbstractSurfaceShape
AbstractSurfaceShape.doRestoreState(gov.nasa.worldwind.util.RestorableSupport,
gov.nasa.worldwind.util.RestorableSupport.StateObject)
.legacyRestoreState
in class AbstractSurfaceShape
rs
- RestorableSupport object which contains the state value properties.context
- active context in the RestorableSupport to read state from.public void setCenter(LatLon center)
public void setHeading(Angle heading)
public void setHeight(double height)
public void setSize(double width, double height)
public void setWidth(double width)