NASA World Wind

gov.nasa.worldwind.render.airspaces
Class Polygon

java.lang.Object
  extended by gov.nasa.worldwind.avlist.AVListImpl
      extended by gov.nasa.worldwind.render.airspaces.AbstractAirspace
          extended by gov.nasa.worldwind.render.airspaces.Polygon
All Implemented Interfaces:
AVList, ExtentHolder, Movable, Airspace, Renderable, Restorable
Direct Known Subclasses:
ElevationPlane, PolyArc

public class Polygon
extends AbstractAirspace


Nested Class Summary
protected static class Polygon.PolygonGeometry
           
 
Nested classes/interfaces inherited from class gov.nasa.worldwind.render.airspaces.AbstractAirspace
AbstractAirspace.AirspaceInfo
 
Field Summary
protected static int DEFAULT_SUBDIVISIONS
           
protected static int MINIMAL_GEOMETRY_SUBDIVISIONS
           
 
Fields inherited from class gov.nasa.worldwind.render.airspaces.AbstractAirspace
airspaceInfo, ARC_SLICES, DISABLE_TERRAIN_CONFORMANCE, EXPIRY_TIME, GEOMETRY_CACHE_KEY, GEOMETRY_CACHE_NAME, GLOBE_KEY, LENGTH_SLICES, LOOPS, PILLARS, SLICES, SPLIT_THRESHOLD, STACKS, SUBDIVISIONS, VERTICAL_EXAGGERATION
 
Fields inherited from interface gov.nasa.worldwind.render.airspaces.Airspace
DRAW_STYLE_FILL, DRAW_STYLE_OUTLINE
 
Constructor Summary
Polygon()
           
Polygon(AirspaceAttributes attributes)
           
Polygon(Iterable<? extends LatLon> locations)
           
 
Method Summary
protected  void addLocations(Iterable<? extends LatLon> newLocations)
           
protected  void adjustForGroundReference(DrawContext dc, boolean[] terrainConformant, double[] altitudes)
           
protected  int computeCartesianPolygon(Globe globe, List<? extends LatLon> locations, List<Boolean> edgeFlags, Vec4[] points, Boolean[] edgeFlagArray, Matrix[] transform)
           
protected  Extent computeExtent(Globe globe, double verticalExaggeration)
           
protected  List<Vec4> computeMinimalGeometry(Globe globe, double verticalExaggeration)
           
protected  Vec4 computeReferenceCenter(DrawContext dc)
           
protected  void doGetRestorableState(RestorableSupport rs, RestorableSupport.StateObject context)
           
protected  void doMoveTo(Position oldRef, Position newRef)
           
protected  void doRenderGeometry(DrawContext dc, String drawStyle)
           
protected  void doRenderGeometry(DrawContext dc, String drawStyle, List<LatLon> locations, List<Boolean> edgeFlags)
           
protected  void doRestoreState(RestorableSupport rs, RestorableSupport.StateObject context)
           
protected  List<LatLon> getLocationList()
           
 List<LatLon> getLocations()
           
 Position getReferencePosition()
          A position associated with the object that indicates its aggregate geographic position.
protected  int getSubdivisions()
           
protected  void handleUnsuccessfulGeometryCreation()
           
 boolean isEnableCaps()
           
protected  void makeTessellatedLocations(Globe globe, int subdivisions, List<LatLon> locations, List<LatLon> tessellatedLocations)
           
 void setEnableCaps(boolean enable)
           
 void setLocations(Iterable<? extends LatLon> locations)
           
protected  void setSubdivisions(int subdivisions)
           
 
Methods inherited from class gov.nasa.worldwind.render.airspaces.AbstractAirspace
addDetailLevels, adjustForGroundReference, clearElevationMap, computeDetailLevel, computeElevationAt, computeExtent, computeEyeDistance, computeMinimalGeometry, computePointFromPosition, computeReferencePosition, doRender, doRenderExtent, getAirspaceInfo, getAltitudeDatum, getAltitudes, getAltitudes, getAttributes, getDetailLevels, getExpiryRange, getExpiryTime, getExtent, getExtent, getGeometryBuilder, getGeometryCache, getGroundReference, getRenderer, getRestorableState, isAirspaceCollapsed, isAirspaceVisible, isEnableLevelOfDetail, isExpired, isTerrainConforming, isVisible, makeExtremePoints, makeOrderedRenderable, move, moveTo, nextExpiryTime, render, renderExtent, renderGeometry, restoreState, setAltitude, setAltitudeDatum, setAltitudes, setAttributes, setDetailLevels, setEnableLevelOfDetail, setExpiryRange, setExpiryTime, setExtentOutOfDate, setGeometryBuilder, setGroundReference, setRenderer, setTerrainConforming, setTerrainConforming, setVisible, updateExpiryCriteria
 
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.nasa.worldwind.avlist.AVList
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
 

Field Detail

DEFAULT_SUBDIVISIONS

protected static final int DEFAULT_SUBDIVISIONS
See Also:
Constant Field Values

MINIMAL_GEOMETRY_SUBDIVISIONS

protected static final int MINIMAL_GEOMETRY_SUBDIVISIONS
See Also:
Constant Field Values
Constructor Detail

Polygon

public Polygon()

Polygon

public Polygon(AirspaceAttributes attributes)

Polygon

public Polygon(Iterable<? extends LatLon> locations)
Method Detail

addLocations

protected void addLocations(Iterable<? extends LatLon> newLocations)

adjustForGroundReference

protected void adjustForGroundReference(DrawContext dc,
                                        boolean[] terrainConformant,
                                        double[] altitudes)

computeCartesianPolygon

protected int computeCartesianPolygon(Globe globe,
                                      List<? extends LatLon> locations,
                                      List<Boolean> edgeFlags,
                                      Vec4[] points,
                                      Boolean[] edgeFlagArray,
                                      Matrix[] transform)

computeExtent

protected Extent computeExtent(Globe globe,
                               double verticalExaggeration)
Specified by:
computeExtent in class AbstractAirspace

computeMinimalGeometry

protected List<Vec4> computeMinimalGeometry(Globe globe,
                                            double verticalExaggeration)
Specified by:
computeMinimalGeometry in class AbstractAirspace

computeReferenceCenter

protected Vec4 computeReferenceCenter(DrawContext dc)

doGetRestorableState

protected void doGetRestorableState(RestorableSupport rs,
                                    RestorableSupport.StateObject context)
Overrides:
doGetRestorableState in class AbstractAirspace

doMoveTo

protected void doMoveTo(Position oldRef,
                        Position newRef)
Overrides:
doMoveTo in class AbstractAirspace

doRenderGeometry

protected void doRenderGeometry(DrawContext dc,
                                String drawStyle)
Specified by:
doRenderGeometry in class AbstractAirspace

doRenderGeometry

protected void doRenderGeometry(DrawContext dc,
                                String drawStyle,
                                List<LatLon> locations,
                                List<Boolean> edgeFlags)

doRestoreState

protected void doRestoreState(RestorableSupport rs,
                              RestorableSupport.StateObject context)
Overrides:
doRestoreState in class AbstractAirspace

getLocationList

protected List<LatLon> getLocationList()

getLocations

public List<LatLon> getLocations()

getReferencePosition

public Position getReferencePosition()
Description copied from interface: Movable
A position associated with the object that indicates its aggregate geographic position. The chosen position varies among implementers of this interface. For objects defined by a list of positions, the reference position is typically the first position in the list. For symmetric objects the reference position is often the center of the object. In many cases the object's reference position may be explicitly specified by the application.

Returns:
the object's reference position, or null if no reference position is available.

getSubdivisions

protected int getSubdivisions()

handleUnsuccessfulGeometryCreation

protected void handleUnsuccessfulGeometryCreation()

isEnableCaps

public boolean isEnableCaps()

makeTessellatedLocations

protected void makeTessellatedLocations(Globe globe,
                                        int subdivisions,
                                        List<LatLon> locations,
                                        List<LatLon> tessellatedLocations)

setEnableCaps

public void setEnableCaps(boolean enable)

setLocations

public void setLocations(Iterable<? extends LatLon> locations)

setSubdivisions

protected void setSubdivisions(int subdivisions)

NASA World Wind