org.j3d.renderer.aviatrix3d.nodes
Class IndexedBufferGeometry
java.lang.Object
org.j3d.aviatrix3d.SceneGraphObject
org.j3d.aviatrix3d.NodeComponent
org.j3d.aviatrix3d.Geometry
org.j3d.renderer.aviatrix3d.nodes.BufferGeometry
org.j3d.renderer.aviatrix3d.nodes.IndexedBufferGeometry
- All Implemented Interfaces:
- java.lang.Comparable, LeafPickTarget, PickableObject, PickTarget, GeometryRenderable, Renderable
- Direct Known Subclasses:
- IndexedLineArray, IndexedLineStripArray, IndexedQuadArray, IndexedQuadStripArray, IndexedTriangleArray, IndexedTriangleFanArray, IndexedTriangleStripArray
public abstract class IndexedBufferGeometry
- extends BufferGeometry
Base class that defines indexed geometry types.
The implementation assumes a single index is used to describe all the
information needed for rendering. An index will grab the same index from
vertex, normal, colour and texture arrays.
- Version:
- $Revision: 1.6 $
- Author:
- Justin Couch
Field Summary |
protected java.nio.IntBuffer |
indexBuffer
Buffer holding the current index list |
protected int[] |
indices
The indices defining the geometry types. |
protected int |
numIndices
The number of valid values to read from the array |
Fields inherited from class org.j3d.renderer.aviatrix3d.nodes.BufferGeometry |
ATTRIB_CLEAR, ATTRIB_MASK, attribIds, ATTRIBS, attributes, COLOR_3, COLOR_4, COLOR_CLEAR, COLOR_MASK, COLOR2, COLOR2_CLEAR, COLOR2_MASK, color2Buffer, colorBuffer, COORDINATE_2, COORDINATE_3, COORDINATE_4, COORDINATE_CLEAR, COORDINATE_MASK, EDGE_CLEAR, EDGE_MASK, EDGES, FOG, FOG_CLEAR, FOG_MASK, fogBuffer, NORMAL_CLEAR, normalBuffer, NORMALS, numCoords, numTextureArrays, numTextureSets, TEXTURE_CLEAR, TEXTURE_COORDINATE_1, TEXTURE_COORDINATE_2, TEXTURE_COORDINATE_3, TEXTURE_COORDINATE_4, TEXTURE_COORDINATE_MULTI, TEXTURE_COORDINATE_SINGLE, TEXTURE_MASK, TEXTURE_SET_AVAILABLE, TEXTURE_SET_CLEAR, textureBuffer, textureSets, textureTypes, vertexBuffer, vertexFormat, wkPolygon |
Method Summary |
protected java.nio.IntBuffer |
createBuffer(int size)
Convenience method to allocate a NIO buffer for the vertex handling that
handles floats. |
void |
getIndices(int[] values)
Get the sizes of the valid indexs. |
int |
getValidIndexCount()
Get the number of valid indexs that are defined for this geometry. |
protected boolean |
isVisible()
Check to see if this geometry is making the geometry visible or
not. |
void |
setIndices(int[] indexList,
int num)
Set the number of valid indexs to use. |
Methods inherited from class org.j3d.renderer.aviatrix3d.nodes.BufferGeometry |
clearVertexState, getColors, getFogCoordinates, getNormals, getSecondaryColors, getTextureCoordinates, getValidVertexCount, getVertexType, getVertices, initPolygonDetails, is2D, ray3DQuadChecked, ray3DTriangleChecked, recomputeBounds, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setColors, setFogCoordinates, setLive, setNormals, setSecondaryColors, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureSetMap, setTextureSetMap, setValidVertexCount, setVertexState, setVertices, setVertices, updateBounds |
Methods inherited from class org.j3d.aviatrix3d.Geometry |
addParent, boundsChanged, checkPickMask, getBounds, getPickableBounds, getPickMask, getPickTargetType, hasTransparency, markBoundsDirty, pickBatch, pickLineRay, pickLineSegment, pickSingle, removeParent, setBounds, setPickMask |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.lang.Comparable |
compareTo |
indices
protected int[] indices
- The indices defining the geometry types. A reference to the
user-provided array. The current values are kept in the accompanying
IntBuffer instance.
numIndices
protected int numIndices
- The number of valid values to read from the array
indexBuffer
protected java.nio.IntBuffer indexBuffer
- Buffer holding the current index list
IndexedBufferGeometry
public IndexedBufferGeometry()
isVisible
protected boolean isVisible()
- Check to see if this geometry is making the geometry visible or
not. Returns true if the defined number of coordinates and indices
are both non-zero.
- Overrides:
isVisible
in class BufferGeometry
- Returns:
- true when the geometry is visible
setIndices
public void setIndices(int[] indexList,
int num)
throws InvalidWriteTimingException
- Set the number of valid indexs to use. A check is performed to make
sure that the number of vertices high enough to support the total
of all the index counts so make sure to call setVertex() with the
required array length before calling this method. Each index must be
a minumum length of three.
- Parameters:
indexList
- The array of indices to setnum
- The number of valid items to read from the array
- Throws:
java.lang.IllegalArgumentException
- Invalid total index count or
individual index count < 3
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener bounds changed callback method
getValidIndexCount
public int getValidIndexCount()
- Get the number of valid indexs that are defined for this geometry.
- Returns:
- a positive number
getIndices
public void getIndices(int[] values)
- Get the sizes of the valid indexs. The passed array must be big enough
to contain all the indexs.
- Parameters:
values
- An array to copy the index values into
createBuffer
protected java.nio.IntBuffer createBuffer(int size)
- Convenience method to allocate a NIO buffer for the vertex handling that
handles floats.
- Parameters:
size
- The number of floats to have in the array
Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2009 j3d.org