NASA World Wind

gov.nasa.worldwind.render
Class Polygon.ShapeData

java.lang.Object
  extended by gov.nasa.worldwind.avlist.AVListImpl
      extended by gov.nasa.worldwind.cache.ShapeDataCache.ShapeDataCacheEntry
          extended by gov.nasa.worldwind.render.AbstractShape.AbstractShapeData
              extended by gov.nasa.worldwind.render.Polygon.ShapeData
All Implemented Interfaces:
AVList, Iterable<Polygon.BoundaryInfo>
Enclosing class:
Polygon

protected static class Polygon.ShapeData
extends AbstractShape.AbstractShapeData
implements Iterable<Polygon.BoundaryInfo>

This class holds globe-specific data for this shape. It's managed via the shape-data cache in AbstractShape.AbstractShapeData.


Field Summary
protected  List<Polygon.BoundaryInfo> boundaries
          This class holds the per-globe data for this shape.
protected  GLUTessellatorSupport.CollectIndexListsCallback cb
          This shape's tessellation indices.
protected  FloatBuffer coordBuffer
          The vertex data buffer for this shape data.
protected  IntBuffer interiorIndicesBuffer
          The indices identifying the cap vertices in a shape data's vertex buffer.
protected  FloatBuffer normalBuffer
          The slice of the coordBuffer that contains normals.
protected  int normalBufferPosition
          The index of the first normal in the coordBuffer.
protected  boolean refillIndexBuffer
          Indicates whether the index buffer needs to be filled because a new buffer is used or some other reason.
protected  boolean refillIndexVBO
          Indicates whether the index buffer's VBO needs to be filled because a new buffer is used or some other reason.
protected  Matrix rotationMatrix
          The rotation matrix for this shape data.
protected  boolean tessellationError
          Indicates whether a tessellation error occurred.
 
Fields inherited from class gov.nasa.worldwind.render.AbstractShape.AbstractShapeData
frameNumber, referenceDistance, referencePoint, vboCacheKey
 
Fields inherited from class gov.nasa.worldwind.cache.ShapeDataCache.ShapeDataCacheEntry
extent, eyeDistance, globeStateKey, lastUsed, timer, verticalExaggeration
 
Constructor Summary
Polygon.ShapeData(DrawContext dc, Polygon shape)
          Construct a cache entry using the boundaries of this shape.
 
Method Summary
protected  Polygon.BoundaryInfo getOuterBoundaryInfo()
          Returns the boundary information for this shape data's outer boundary.
 Matrix getRotationMatrix()
          Returns this shape data's rotation matrix, if there is one.
 Iterator<Polygon.BoundaryInfo> iterator()
           
 void setRotationMatrix(Matrix matrix)
          Specifies this shape data's rotation matrix.
 
Methods inherited from class gov.nasa.worldwind.render.AbstractShape.AbstractShapeData
getFrameNumber, getReferenceDistance, getReferencePoint, getVboCacheKey, setFrameNumber, setReferenceDistance, setReferencePoint, setVboCacheKey
 
Methods inherited from class gov.nasa.worldwind.cache.ShapeDataCache.ShapeDataCacheEntry
getExtent, getEyeDistance, getGlobeStateKey, getTimer, getVerticalExaggeration, isExpired, isValid, restartTimer, setExpired, setExtent, setEyeDistance, setGlobeStateKey, setTimer, setVerticalExaggeration
 
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
 

Field Detail

boundaries

protected List<Polygon.BoundaryInfo> boundaries
This class holds the per-globe data for this shape.


cb

protected GLUTessellatorSupport.CollectIndexListsCallback cb
This shape's tessellation indices.


coordBuffer

protected FloatBuffer coordBuffer
The vertex data buffer for this shape data. The first half contains vertex coordinates, the second half contains normals.


interiorIndicesBuffer

protected IntBuffer interiorIndicesBuffer
The indices identifying the cap vertices in a shape data's vertex buffer. Determined when this shape is tessellated, which occurs only once unless the shape's boundaries are re-specified.


normalBuffer

protected FloatBuffer normalBuffer
The slice of the coordBuffer that contains normals.


normalBufferPosition

protected int normalBufferPosition
The index of the first normal in the coordBuffer.


refillIndexBuffer

protected boolean refillIndexBuffer
Indicates whether the index buffer needs to be filled because a new buffer is used or some other reason.


refillIndexVBO

protected boolean refillIndexVBO
Indicates whether the index buffer's VBO needs to be filled because a new buffer is used or some other reason.


rotationMatrix

protected Matrix rotationMatrix
The rotation matrix for this shape data.


tessellationError

protected boolean tessellationError
Indicates whether a tessellation error occurred. No more attempts to tessellate will be made if set to true.

Constructor Detail

Polygon.ShapeData

public Polygon.ShapeData(DrawContext dc,
                         Polygon shape)
Construct a cache entry using the boundaries of this shape.

Parameters:
dc - the current draw context.
shape - this shape.
Method Detail

getOuterBoundaryInfo

protected Polygon.BoundaryInfo getOuterBoundaryInfo()
Returns the boundary information for this shape data's outer boundary.

Returns:
this shape data's outer boundary info.

getRotationMatrix

public Matrix getRotationMatrix()
Returns this shape data's rotation matrix, if there is one.

Returns:
this shape data's rotation matrix, or null if there isn't one.

iterator

public Iterator<Polygon.BoundaryInfo> iterator()
Specified by:
iterator in interface Iterable<Polygon.BoundaryInfo>

setRotationMatrix

public void setRotationMatrix(Matrix matrix)
Specifies this shape data's rotation matrix.

Parameters:
matrix - the new rotation matrix.

NASA World Wind