Aviatrix3D
2.1.0

org.j3d.aviatrix3d
Class PointArray

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.aviatrix3d.VertexGeometry
                  extended by org.j3d.aviatrix3d.PointArray
All Implemented Interfaces:
java.lang.Comparable, LeafPickTarget, PickableObject, PickTarget, DeletableRenderable, GeometryRenderable, Renderable

public class PointArray
extends VertexGeometry

An OpenGL PointArray.

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

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.19 $
Author:
Justin Couch

Field Summary
 
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, dataChanged, 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, useVbo, VBO_HINT_DYNAMIC, VBO_HINT_STATIC, VBO_HINT_STREAM, vboAvailable, vboHint, vboIdMap, vboQueryComplete, 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
PointArray()
          Constructs a PointArray with default values.
PointArray(boolean useVbo, int vboHint)
          Constructs an instance.
 
Method Summary
 int compareTo(java.lang.Object o)
          Compares this object with the specified object for order.
 int compareTo(PointArray 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(PointArray ta)
          Compares this object with the specified object to check for equivalence.
 void render(javax.media.opengl.GL gl)
          Issue ogl commands needed for this renderable object.
 void setValidVertexCount(int count)
          Set the number of vertices to the new number.
 void setVertices(int type, float[] vertices, int numValid)
          Set the vertex array reference to the new array.
 
Methods inherited from class org.j3d.aviatrix3d.VertexGeometry
cleanup, clearVertexState, computeBufferSize, fillBufferData, getColor, getColors, getFogCoordinates, getFogCoordinates, getNormal, getNormals, getSecondaryColors, getSecondaryColors, getTextureCoordinate, getTextureCoordinates, getValidVertexCount, getVBOEnabled, getVBOHint, getVertex, getVertexType, getVertices, initPolygonDetails, is2D, isMultiTextureAllowed, isVisible, numTextureUnits, ray3DQuadChecked, ray3DTriangleChecked, recomputeBounds, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setColors, setFogCoordinates, setLive, setNormals, setSecondaryColors, setSingleColor, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureSetMap, setTextureSetMap, setVBOEnabled, setVBOHint, setVertexState, setVertexStateVBO, 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

PointArray

public PointArray()
Constructs a PointArray with default values.


PointArray

public PointArray(boolean useVbo,
                  int vboHint)
Constructs an instance.

Parameters:
useVbo - Should we use vertex buffer objects
vboHint - Hints for how to setup VBO. Valid values are VBO_HINT_*
Method Detail

setValidVertexCount

public void setValidVertexCount(int count)
                         throws java.lang.IllegalArgumentException,
                                InvalidWriteTimingException
Set the number of vertices to the new number.

In a live scene graph, can only be called during the bounds changed callback.

Overrides:
setValidVertexCount in class VertexGeometry
Parameters:
count - The new number, must be >= 0
Throws:
java.lang.IllegalArgumentException - The number is negative
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener callback method

setVertices

public void setVertices(int type,
                        float[] vertices,
                        int numValid)
                 throws java.lang.IllegalArgumentException,
                        InvalidWriteTimingException
Set the vertex array reference to the new array. The number of valid items is taken from the second parameter. This replaces the existing vertex list array reference with the new reference.

In a live scene graph, can only be called during the bounds changed callback.

Overrides:
setVertices in class VertexGeometry
Parameters:
type - The number of dimensions to the coordinates - 2D, 3D or 4D
vertices - The new array reference to use for vertex information
numValid - The number of valid values to use in the array
Throws:
java.lang.IllegalArgumentException - The number is negative
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener callback method

render

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

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.

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(PointArray 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(PointArray 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