org.j3d.renderer.aviatrix3d.nodes
Class IndexedTriangleStripArray
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
org.j3d.renderer.aviatrix3d.nodes.IndexedTriangleStripArray
- All Implemented Interfaces:
- PickableObject, Renderable, RenderableObject
- public class IndexedTriangleStripArray
- extends IndexedBufferGeometry
An indexed TriangleStrip geometry.
Makes use of the glMultiDrawElements() function, thus requiring OpenGL
1.4 support.
- Version:
- $Revision: 1.1 $
- Author:
- Justin Couch
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 |
void |
getStripCount(int[] values)
Get the sizes of the valid strips. |
int |
getValidStripCount()
Get the number of valid strips that are defined for this geometry. |
boolean |
pickLineRay(float[] origin,
float[] direction,
boolean findAny,
float[] dataOut,
int dataOutFlags)
Check for all intersections against this geometry using a line ray and
return the exact distance away of the closest picking point. |
boolean |
pickLineSegment(float[] start,
float[] end,
boolean findAny,
float[] dataOut,
int dataOutFlags)
Check for all intersections against this geometry using a line segment and
return the exact distance away of the closest picking point. |
void |
postRender(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
Restore all openGL state. |
void |
render(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
Issue ogl commands needed for this renderable object. |
void |
setStripCount(int[] counts,
int num)
Set the number of valid strips to use. |
Methods inherited from class org.j3d.renderer.aviatrix3d.nodes.BufferGeometry |
clearVertexState, getColors, getFogCoordinates, getNormals, getSecondaryColors, getTextureCoordinates, getValidVertexCount, getVertexType, getVertices, initPolygonDetails, 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, getBounds, getPickMask, hasTransparency, markBoundsDirty, pickBatch, pickSingle, removeParent, setBounds, setPickMask |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IndexedTriangleStripArray
public IndexedTriangleStripArray()
- Constructs a TriangleStripArray with default values.
setStripCount
public void setStripCount(int[] counts,
int num)
throws InvalidWriteTimingException
- Set the number of valid strips to use. A check is performed to make
sure that the number of vertices high enough to support the total
of all the strip counts so make sure to call setVertex() with the
required array length before calling this method. Each strip must be
a minumum length of three.
- Parameters:
counts
- The array of countsnum
- The number of valid items to read from the array
- Throws:
java.lang.IllegalArgumentException
- Invalid total strip count or
individual strip count < 3
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback method
getValidStripCount
public int getValidStripCount()
- Get the number of valid strips that are defined for this geometry.
- Returns:
- a positive number
getStripCount
public void getStripCount(int[] values)
- Get the sizes of the valid strips. The passed array must be big enough
to contain all the strips.
- Parameters:
values
- An array to copy the strip values into
render
public void render(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
- Issue ogl commands needed for this renderable object.
- Parameters:
gl
- The gl context to draw withglu
- The utility context to draw with
postRender
public void postRender(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
- Restore all openGL state.
- Parameters:
gl
- The gl context to draw withglu
- The utility context to draw with
pickLineSegment
public boolean pickLineSegment(float[] start,
float[] end,
boolean findAny,
float[] dataOut,
int dataOutFlags)
throws NotPickableException
- Check for all intersections against this geometry using a line segment and
return the exact distance away of the closest picking point. Default
implementation always returns false indicating that nothing was found.
Derived classes should override and provide a real implementation.
- Overrides:
pickLineSegment
in class BufferGeometry
- Parameters:
start
- The start point of the segmentend
- The end point of the segmentfindAny
- True if it only has to find a single intersection and can
exit as soon as it finds the first intersection. False if it must find
the closest polygondataOut
- An array to put the data in for the intersection. Exact
format is described by the flagsdataOutFlags
- A set of derived-class specific flags describing what
data should be included in the output array
- Returns:
- True if an intersection was found according to the input request
- Throws:
NotPickableException
- This object has been marked as non pickable,
but you decided to try to call the method anyway
pickLineRay
public boolean pickLineRay(float[] origin,
float[] direction,
boolean findAny,
float[] dataOut,
int dataOutFlags)
throws NotPickableException
- Check for all intersections against this geometry using a line ray and
return the exact distance away of the closest picking point. Default
implementation always returns false indicating that nothing was found.
Derived classes should override and provide a real implementation.
- Overrides:
pickLineRay
in class BufferGeometry
- Parameters:
origin
- The start point of the raydirection
- The direction vector of the rayfindAny
- True if it only has to find a single intersection and can
exit as soon as it finds the first intersection. False if it must find
the closest polygondataOut
- An array to put the data in for the intersection. Exact
format is described by the flagsdataOutFlags
- A set of derived-class specific flags describing what
data should be included in the output array
- Returns:
- True if an intersection was found according to the input request
- Throws:
NotPickableException
- This object has been marked as non pickable,
but you decided to try to call the method anyway
Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - j3d.org