org.j3d.renderer.aviatrix3d.nodes
Class QuadArray
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.QuadArray
- All Implemented Interfaces:
- PickableObject, Renderable, RenderableObject
- public class QuadArray
- extends BufferGeometry
An OpenGL QuadArray representation.
Quad Arrays may have an additional edge flag array supplied, in addition to
the normal geometry values.
- 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 |
Constructor Summary |
QuadArray()
Constructs a QuadArray 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 |
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 |
setEdgeFlags(java.nio.ByteBuffer flags)
Set the edge flag reference to the new array. |
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 |
QuadArray
public QuadArray()
- Constructs a QuadArray 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. 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
setEdgeFlags
public void setEdgeFlags(java.nio.ByteBuffer 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