org.j3d.aviatrix3d
Class TriangleArray
java.lang.Object
org.j3d.aviatrix3d.SceneGraphObject
org.j3d.aviatrix3d.NodeComponent
org.j3d.aviatrix3d.Geometry
org.j3d.aviatrix3d.VertexGeometry
org.j3d.aviatrix3d.TriangleArray
- All Implemented Interfaces:
- PickableObject
- public class TriangleArray
- extends VertexGeometry
An OpenGL TriangleArray representation.
- Version:
- $Revision: 1.19 $
- Author:
- Alan Hudson
Fields inherited from class org.j3d.aviatrix3d.VertexGeometry |
COLOR_3, COLOR_4, COLOR_CLEAR, COLOR_MASK, 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, NORMAL_CLEAR, normalBuffer, normals, 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, textures, textureSets, textureTypes, vertexBuffer, vertexFormat, wkPolygon |
Constructor Summary |
TriangleArray()
Constructs a TriangleArray with default values. |
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 |
renderState(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
Issue ogl commands needed for this renderable object. |
void |
restoreState(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
Restore all openGL state. |
void |
setEdgeFlags(boolean[] flags)
Set the edge flag reference to the new array. |
Methods inherited from class org.j3d.aviatrix3d.VertexGeometry |
getValidVertexCount, getVertexType, getVertices, initPolygonDetails, markBoundsDirty, ray3DQuadChecked, ray3DTriangleChecked, recomputeBounds, setColors, setFogCoordinates, setLive, setNormals, setSecondaryColors, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureSetMap, setTextureSetMap, setValidVertexCount, setVertices, setVertices, updateBounds |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TriangleArray
public TriangleArray()
- Constructs a TriangleArray with default values.
renderState
public void renderState(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
- Issue ogl commands needed for this renderable object.
- Overrides:
renderState
in class NodeComponent
- Parameters:
gl
- The gl context to draw withglu
- The utility context to draw with
restoreState
public void restoreState(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu)
- Restore all openGL state.
- Overrides:
restoreState
in class NodeComponent
- 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 VertexGeometry
- 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 VertexGeometry
- 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
setEdgeFlags
public void setEdgeFlags(boolean[] flags)
throws java.lang.IllegalStateException,
java.lang.IllegalArgumentException,
InvalidWriteTimingException
- Set the edge flag reference to the new array. The number of valid
items is taken to be the length of the array (there's only one flag per
edge). This replaces the existing edge flag array reference with the
new reference. If set to null, will clear the use of edge flags.
In a live scene graph, can only be called during the data changed
callback.
- Parameters:
flags
- The new array reference to use for edge flag information
- Throws:
java.lang.IllegalStateException
- This call was not made during the update
callback if the node is live
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback method
java.lang.IllegalArgumentException
Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - j3d.org