Aviatrix3D
2.1.0

org.j3d.renderer.aviatrix3d.nodes
Class SortedPointArray

java.lang.Object
  extended by org.j3d.aviatrix3d.SceneGraphObject
      extended by org.j3d.aviatrix3d.NodeComponent
          extended by org.j3d.aviatrix3d.Geometry
              extended by org.j3d.renderer.aviatrix3d.nodes.BufferGeometry
                  extended by org.j3d.renderer.aviatrix3d.nodes.SortedPointArray
All Implemented Interfaces:
java.lang.Comparable, LeafPickTarget, PickableObject, PickTarget, CustomGeometryRenderable, GeometryRenderable, Renderable

public class SortedPointArray
extends BufferGeometry
implements CustomGeometryRenderable

An OpenGL PointArray that automatically depth sorts all the points every frame.

Points cannot be picked in the traditional manner using geometry-based picking. The only way to pick them is based on their bounds.

Warning: Current implementation does not render correctly for multiple parent heirarchies.

Version:
$Revision: 1.5 $
Author:
Justin Couch

Field Summary
 
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
 
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_TIMING_ERR_PROP, updateHandler
 
Fields inherited from interface org.j3d.aviatrix3d.picking.PickableObject
COLLIDABLE_OBJECT, GENERAL_OBJECT, PROXIMITY_OBJECT, VISIBLE_OBJECT
 
Fields inherited from interface org.j3d.aviatrix3d.picking.PickTarget
CUSTOM_PICK_TYPE, GROUP_PICK_TYPE, LEAF_PICK_TYPE, SINGLE_PICK_TYPE
 
Constructor Summary
SortedPointArray()
          Constructs a PointArray with default values.
 
Method Summary
 int compareTo(java.lang.Object o)
          Compares this object with the specified object for order.
 int compareTo(SortedPointArray ta)
          Compares this object with the specified object for order.
 boolean equals(java.lang.Object o)
          Compare this object for equality to the given object.
 boolean equals(SortedPointArray ta)
          Compares this object with the specified object to check for equivalence.
 java.lang.Object processCull(javax.vecmath.Matrix4f vworldTx, javax.vecmath.Matrix4f viewTransform, javax.vecmath.Vector4f[] viewFrustum, float angularRes)
          Process the sorting on this node now.
 void render(javax.media.opengl.GL gl)
          Issue ogl commands needed for this renderable object.
 void render(javax.media.opengl.GL gl, java.lang.Object externalData)
          Render the geometry now.
 
Methods inherited from class org.j3d.renderer.aviatrix3d.nodes.BufferGeometry
clearVertexState, getColors, getFogCoordinates, getNormals, getSecondaryColors, getTextureCoordinates, getValidVertexCount, getVertexType, getVertices, initPolygonDetails, is2D, isVisible, 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, checkPickMask, getBounds, getPickableBounds, getPickMask, getPickTargetType, hasTransparency, markBoundsDirty, pickBatch, pickLineRay, pickLineSegment, pickSingle, removeParent, setBounds, setPickMask
 
Methods inherited from class org.j3d.aviatrix3d.NodeComponent
addParent, getParents, numParents, removeParent
 
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject
checkForCyclicChild, checkForCyclicParent, dataChanged, getAppUpdateWriteTimingMessage, getBoundsWriteTimingMessage, getDataWriteTimingMessage, getUserData, isLive, setUpdateHandler, setUserData
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.j3d.aviatrix3d.rendering.GeometryRenderable
hasTransparency
 

Constructor Detail

SortedPointArray

public SortedPointArray()
Constructs a PointArray with default values.

Method Detail

processCull

public java.lang.Object processCull(javax.vecmath.Matrix4f vworldTx,
                                    javax.vecmath.Matrix4f viewTransform,
                                    javax.vecmath.Vector4f[] viewFrustum,
                                    float angularRes)
Process the sorting on this node now. If needed some rendering information that will be needed during real rendering can be returned. If there is no information, return null.

Specified by:
processCull in interface CustomGeometryRenderable
Parameters:
vworldTx - The transformation from the root of the scene to this node according to the current traversal path
viewTransform - The transformation from the root of the scene graph to the active viewpoint
viewFrustum - The points of the viewfrustum
angularRes - Angular resolution of the screen, or 0 if not calculable from the available data.
Returns:
Any information that may be useful for the rendering step

render

public void render(javax.media.opengl.GL gl,
                   java.lang.Object externalData)
Render the geometry now.

Specified by:
render in interface CustomGeometryRenderable
Parameters:
gl - The GL context to render with
externalData - Some implementation-specific external data to aid in the rendering that was generated in the processCull method.

render

public void render(javax.media.opengl.GL gl)
Issue ogl commands needed for this renderable object.

Specified by:
render in interface GeometryRenderable
Parameters:
gl - The gl context to draw with

compareTo

public int compareTo(java.lang.Object o)
              throws java.lang.ClassCastException
Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o - The objec to be compared
Returns:
-1, 0 or 1 depending on order
Throws:
java.lang.ClassCastException - The specified object's type prevents it from being compared to this Object

equals

public boolean equals(java.lang.Object o)
Compare this object for equality to the given object.

Specified by:
equals in interface Renderable
Overrides:
equals in class java.lang.Object
Parameters:
o - The object to be compared
Returns:
True if these represent the same values

compareTo

public int compareTo(SortedPointArray ta)
Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Parameters:
ta - The argument instance to be compared
Returns:
-1, 0 or 1 depending on order

equals

public boolean equals(SortedPointArray ta)
Compares this object with the specified object to check for equivalence.

Parameters:
ta - The geometry instance to be compared
Returns:
true if the objects represent identical values

Aviatrix3D
2.1.0

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