Aviatrix3D 1.0

org.j3d.aviatrix3d
Class IndexedQuadStripArray

java.lang.Object
  extended byorg.j3d.aviatrix3d.SceneGraphObject
      extended byorg.j3d.aviatrix3d.NodeComponent
          extended byorg.j3d.aviatrix3d.Geometry
              extended byorg.j3d.aviatrix3d.VertexGeometry
                  extended byorg.j3d.aviatrix3d.IndexedVertexGeometry
                      extended byorg.j3d.aviatrix3d.IndexedQuadStripArray
All Implemented Interfaces:
PickableObject, Renderable, RenderableObject

public class IndexedQuadStripArray
extends IndexedVertexGeometry

An OpenGL IndexedQuadStripArray.

Version:
$Revision: 1.16 $
Author:
Justin Couch

Field Summary
 
Fields inherited from class org.j3d.aviatrix3d.IndexedVertexGeometry
indices, numIndices
 
Fields inherited from class org.j3d.aviatrix3d.VertexGeometry
ATTRIB_CLEAR, ATTRIB_MASK, attribIds, ATTRIBS, attributes, 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, hasMultiTextureAPI, INTERSECT_ALL, INTERSECT_COLOR, INTERSECT_COORDS, INTERSECT_NORMAL, INTERSECT_TEXCOORDS_MULTI, INTERSECT_TEXCOORDS_SINGLE, NORMAL_CLEAR, normalBuffer, normals, NORMALS, numCoords, 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
 
Fields inherited from class org.j3d.aviatrix3d.Geometry
bounds, implicitBounds, internalUpdater, INVALID_BOUNDS, lastParentList, parentList, pickFlags, validAlpha
 
Fields inherited from class org.j3d.aviatrix3d.NodeComponent
lastParent, liveCount
 
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject
alive, LISTENER_SET_NOT_LIVE_MESSAGE, updateHandler, WRITE_TIMING_MSG
 
Fields inherited from interface org.j3d.aviatrix3d.PickableObject
COLLIDABLE_OBJECT, GENERAL_OBJECT, PROXIMITY_OBJECT, VISIBLE_OBJECT
 
Constructor Summary
IndexedQuadStripArray()
          Constructs a QuadStripArray with default values.
 
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.
protected  boolean isVisible()
          Check to see if this geometry is making the geometry visible or not.
 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.aviatrix3d.IndexedVertexGeometry
getIndices, getValidIndexCount, setIndices
 
Methods inherited from class org.j3d.aviatrix3d.VertexGeometry
clearVertexState, getColors, getFogCoordinates, getNormals, getSecondaryColors, getTextureCoordinates, getValidVertexCount, getVertexType, getVertices, initPolygonDetails, isMultiTextureAllowed, 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 org.j3d.aviatrix3d.NodeComponent
addParent, getParents, hasChanged, numParents, removeParent
 
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject
checkForCyclicChild, checkForCyclicParent, dataChanged, getUserData, isLive, setUpdateHandler, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexedQuadStripArray

public IndexedQuadStripArray()
Constructs a QuadStripArray with default values.

Method Detail

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 with
glu - 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 with
glu - The utility context to draw with

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, indices and strips are all non-zero.

Overrides:
isVisible in class IndexedVertexGeometry
Returns:
true when the geometry is visible

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 segment
end - The end point of the segment
findAny - 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 polygon
dataOut - An array to put the data in for the intersection. Exact format is described by the flags
dataOutFlags - 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.

Overrides:
pickLineRay in class Geometry
Parameters:
origin - The start point of the ray
direction - The direction vector of the ray
findAny - 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 polygon
dataOut - An array to put the data in for the intersection. Exact format is described by the flags
dataOutFlags - 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

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 counts
num - 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

Aviatrix3D 1.0

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2005 j3d.org