org.j3d.aviatrix3d
Class IndexedTriangleArray
java.lang.Object
org.j3d.aviatrix3d.SceneGraphObject
org.j3d.aviatrix3d.NodeComponent
org.j3d.aviatrix3d.Geometry
org.j3d.aviatrix3d.VertexGeometry
org.j3d.aviatrix3d.IndexedVertexGeometry
org.j3d.aviatrix3d.IndexedTriangleArray
- All Implemented Interfaces:
- PickableObject, Renderable, RenderableObject
- public class IndexedTriangleArray
- extends IndexedVertexGeometry
An OpenGL Indexed TriangleArray.
To do the drawing, this class uses the glDrawElements() function.
Setting geometry
Part of the optimisation we make is to only copy into the underlying
structures the exact number of coordinates, normals etc that are needed.
To know this number, we need to know how many coordinates exist before
attempting to set anything else. When constructing, or updating, geometry,
you should always make sure that you first set the vertex list, then the
sizing information for the strip or fan counts, and then set normals as
needed.
- Version:
- $Revision: 1.12.2.1 $
- Author:
- Justin Couch
Fields inherited from class org.j3d.aviatrix3d.VertexGeometry |
ATTRIB_CLEAR, ATTRIB_MASK, attribIds, ATTRIBS, attributes, COLOR_3, COLOR_4, COLOR_CLEAR, COLOR_MASK, COLOR_SINGLE, COLOR2, COLOR2_CLEAR, COLOR2_MASK, color2Buffer, color2s, colorBuffer, colors, COORDINATE_2, COORDINATE_3, COORDINATE_4, COORDINATE_CLEAR, COORDINATE_MASK, coordinates, EDGE_CLEAR, EDGE_MASK, EDGES, FOG, FOG_CLEAR, FOG_MASK, fogBuffer, fogCoords, hasMultiTextureAPI, INTERSECT_ALL, INTERSECT_COLOR, INTERSECT_COORDS, INTERSECT_NORMAL, INTERSECT_TEXCOORDS_MULTI, INTERSECT_TEXCOORDS_SINGLE, maxTextureUnits, NORMAL_CLEAR, normalBuffer, normals, NORMALS, numCoords, numRenderedTextureSets, numRequiredCoords, 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, textures, textureSets, textureTypes, vertexBuffer, vertexFormat, wkPolygon |
Method Summary |
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. |
Methods inherited from class org.j3d.aviatrix3d.VertexGeometry |
clearVertexState, getColors, getFogCoordinates, getNormals, getSecondaryColors, getTextureCoordinates, getValidVertexCount, getVertexType, getVertices, initPolygonDetails, isMultiTextureAllowed, numTextureUnits, ray3DQuadChecked, ray3DTriangleChecked, recomputeBounds, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setColors, setFogCoordinates, setLive, setNormals, setSecondaryColors, setSingleColor, 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 |
IndexedTriangleArray
public IndexedTriangleArray()
- Constructs a TriangleArray with default values.
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.
- Overrides:
pickLineSegment
in class Geometry
- 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 Geometry
- 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 - 2005 j3d.org