javax.media.j3d
Class GeometryArray

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.NodeComponent
              |
              +--javax.media.j3d.Geometry
                    |
                    +--javax.media.j3d.GeometryArray
Direct Known Subclasses:
GeometryStripArray, IndexedGeometryArray, LineArray, PointArray, QuadArray, TriangleArray

public abstract class GeometryArray
extends Geometry

The GeometryArray object contains separate arrays of positional coordinates, colors, normals, and texture coordinates that describe point, line, or polygon geometry. This class is extended to create the various primitive types (e.g., lines, triangle strips, etc.). Vertex data may be passed to this geometry array in one of two ways: by copying the data into the array using the existing methods, or by passing a reference to the data.

All colors used in the geometry array object must be in the range [0.0,1.0]. Values outside this range will cause undefined results. All normals used in the geometry array object must be unit length vectors. That is their geometric length must be 1.0. Normals that are not unit length vectors will cause undefined results.

Note that the term coordinate, as used in the method names and method descriptions, actually refers to a set of x, y, and z coordinates representing the position of a single vertex. The term coordinates (plural) is used to indicate sets of x, y, and z coordinates for multiple vertices. This is somewhat at odds with the mathematical definition of a coordinate, but is used as a convenient shorthand. Similarly, the term texture coordinate is used to indicate a set of texture coordinates for a single vertex, while the term texture coordinates (plural) is used to indicate sets of texture coordinates for multiple vertices.


Field Summary
static int ALLOW_COLOR_READ
          Specifies that this GeometryArray allows reading the array of colors.
static int ALLOW_COLOR_WRITE
          Specifies that this GeometryArray allows writing the array of colors.
static int ALLOW_COORDINATE_READ
          Specifies that this GeometryArray allows reading the array of coordinates.
static int ALLOW_COORDINATE_WRITE
          Specifies that this GeometryArray allows writing the array of coordinates.
static int ALLOW_COUNT_READ
          Specifies that this GeometryArray allows reading the count or initial index information for this object.
static int ALLOW_COUNT_WRITE
          Specifies that this GeometryArray allows writing the count or initial index information for this object.
static int ALLOW_FORMAT_READ
          Specifies that this GeometryArray allows reading the vertex format information for this object.
static int ALLOW_NORMAL_READ
          Specifies that this GeometryArray allows reading the array of normals.
static int ALLOW_NORMAL_WRITE
          Specifies that this GeometryArray allows writing the array of normals.
static int ALLOW_REF_DATA_READ
          Specifies that this GeometryArray allows reading the geometry data reference information for this object.
static int ALLOW_REF_DATA_WRITE
          Specifies that this GeometryArray allows writing the geometry data reference information for this object.
static int ALLOW_TEXCOORD_READ
          Specifies that this GeometryArray allows reading the array of texture coordinates.
static int ALLOW_TEXCOORD_WRITE
          Specifies that this GeometryArray allows writing the array of texture coordinates.
static int BY_REFERENCE
          Specifies that the position, color, normal, and texture coordinate data for this GeometryArray are accessed by reference.
static int COLOR_3
          Specifies that this GeometryArray contains an array of colors without alpha.
static int COLOR_4
          Specifies that this GeometryArray contains an array of colors with alpha.
static int COORDINATES
          Specifies that this GeometryArray contains an array of coordinates.
static int INTERLEAVED
          Specifies that the position, color, normal, and texture coordinate data for this GeometryArray are accessed via a single interleaved, floating-point array reference.
static int NORMALS
          Specifies that this GeometryArray contains an array of normals.
static int TEXTURE_COORDINATE_2
          Specifies that this GeometryArray contains one or more arrays of 2D texture coordinates.
static int TEXTURE_COORDINATE_3
          Specifies that this GeometryArray contains one or more arrays of 3D texture coordinates.
 
Fields inherited from class javax.media.j3d.Geometry
ALLOW_INTERSECT
 
Constructor Summary
GeometryArray(int vertexCount, int vertexFormat)
          Constructs an empty GeometryArray object with the specified number of vertices and vertex format.
GeometryArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap)
          Constructs an empty GeometryArray object with the specified number of vertices, vertex format, number of texture coordinate sets, and texture coordinate mapping array.
 
Method Summary
 void getColor(int index, byte[] color)
          Gets the color associated with the vertex at the specified index for this object.
 void getColor(int index, Color3b color)
          Gets the color associated with the vertex at the specified index for this object.
 void getColor(int index, Color3f color)
          Gets the color associated with the vertex at the specified index for this object.
 void getColor(int index, Color4b color)
          Gets the color associated with the vertex at the specified index for this object.
 void getColor(int index, Color4f color)
          Gets the color associated with the vertex at the specified index for this object.
 void getColor(int index, float[] color)
          Gets the color associated with the vertex at the specified index for this object.
 Color3b[] getColorRef3b()
          Gets the Color3b color array reference.
 Color3f[] getColorRef3f()
          Gets the Color3f color array reference.
 Color4b[] getColorRef4b()
          Gets the Color4b color array reference.
 Color4f[] getColorRef4f()
          Gets the Color4f color array reference.
 byte[] getColorRefByte()
          Gets the byte color array reference.
 float[] getColorRefFloat()
          Gets the float color array reference.
 void getColors(int index, byte[] colors)
          Gets the colors associated with the vertices starting at the specified index for this object.
 void getColors(int index, Color3b[] colors)
          Gets the colors associated with the vertices starting at the specified index for this object.
 void getColors(int index, Color3f[] colors)
          Gets the colors associated with the vertices starting at the specified index for this object.
 void getColors(int index, Color4b[] colors)
          Gets the colors associated with the vertices starting at the specified index for this object.
 void getColors(int index, Color4f[] colors)
          Gets the colors associated with the vertices starting at the specified index for this object.
 void getColors(int index, float[] colors)
          Gets the colors associated with the vertices starting at the specified index for this object.
 void getCoordinate(int index, double[] coordinate)
          Gets the coordinate associated with the vertex at the specified index for this object.
 void getCoordinate(int index, float[] coordinate)
          Gets the coordinate associated with the vertex at the specified index for this object using data in texCoords
 void getCoordinate(int index, Point3d coordinate)
          Gets the coordinate associated with the vertex at the specified index for this object.
 void getCoordinate(int index, Point3f coordinate)
          Gets the coordinate associated with the vertex at the specified index for this object.
 void getCoordinates(int index, double[] coordinates)
          Gets the coordinates associated with the vertices starting at the specified index for this object.
 void getCoordinates(int index, float[] coordinates)
          Gets the coordinates associated with the vertices starting at the specified index for this object.
 void getCoordinates(int index, Point3d[] coordinates)
          Gets the coordinates associated with the vertices starting at the specified index for this object.
 void getCoordinates(int index, Point3f[] coordinates)
          Gets the coordinates associated with the vertices starting at the specified index for this object.
 Point3d[] getCoordRef3d()
          Gets the Point3d coordinate array reference.
 Point3f[] getCoordRef3f()
          Gets the Point3f coordinate array reference.
 double[] getCoordRefDouble()
          Gets the double coordinate array reference.
 float[] getCoordRefFloat()
          Gets the float coordinate array reference.
 int getInitialColorIndex()
          Gets the initial color index for this GeometryArray object.
 int getInitialCoordIndex()
          Gets the initial coordinate index for this GeometryArray object.
 int getInitialNormalIndex()
          Gets the initial normal index for this GeometryArray object.
 int getInitialTexCoordIndex(int texCoordSet)
          Gets the initial texture coordinate index for the specified texture coordinate set for this GeometryArray object.
 int getInitialVertexIndex()
          Gets the initial vertex index for this GeometryArray object.
 float[] getInterleavedVertices()
          Gets the interleaved vertices array reference.
 void getNormal(int index, float[] normal)
          Gets the normal associated with the vertex at the specified index for this object.
 void getNormal(int index, Vector3f normal)
          Gets the normal associated with the vertex at the specified index for this object.
 Vector3f[] getNormalRef3f()
          Gets the Vector3f normal array reference.
 float[] getNormalRefFloat()
          Gets the float normal array reference.
 void getNormals(int index, float[] normals)
          Gets the normals associated with the vertices starting at the specified index for this object.
 void getNormals(int index, Vector3f[] normals)
          Gets the normals associated with the vertices starting at the specified index for this object.
 TexCoord2f[] getTexCoordRef2f(int texCoordSet)
          Gets the TexCoord2f texture coordinate array reference for the specified texture coordinate set.
 TexCoord3f[] getTexCoordRef3f(int texCoordSet)
          Gets the TexCoord3f texture coordinate array reference for the specified texture coordinate set.
 float[] getTexCoordRefFloat(int texCoordSet)
          Gets the float texture coordinate array reference for the specified texture coordinate set.
 int getTexCoordSetCount()
          Retrieves the number of texture coordinate sets in this GeometryArray object.
 void getTexCoordSetMap(int[] texCoordSetMap)
          Retrieves the texture coordinate set mapping array from this GeometryArray object.
 int getTexCoordSetMapLength()
          Retrieves the length of the texture coordinate set mapping array of this GeometryArray object.
 void getTextureCoordinate(int index, float[] texCoord)
          Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, ...)
 void getTextureCoordinate(int texCoordSet, int index, float[] texCoord)
          Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
 void getTextureCoordinate(int texCoordSet, int index, TexCoord2f texCoord)
          Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
 void getTextureCoordinate(int texCoordSet, int index, TexCoord3f texCoord)
          Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
 void getTextureCoordinate(int index, Point2f texCoord)
          Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, TexCoord2f texCoord)
 void getTextureCoordinate(int index, Point3f texCoord)
          Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, TexCoord3f texCoord)
 void getTextureCoordinates(int index, float[] texCoords)
          Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, ...)
 void getTextureCoordinates(int texCoordSet, int index, float[] texCoords)
          Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void getTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords)
          Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void getTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords)
          Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void getTextureCoordinates(int index, Point2f[] texCoords)
          Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])
 void getTextureCoordinates(int index, Point3f[] texCoords)
          Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])
 int getValidVertexCount()
          Gets the valid vertex count for this GeometryArray object.
 int getVertexCount()
          Retrieves the number of vertices in this GeometryArray
 int getVertexFormat()
          Retrieves the vertexFormat of this GeometryArray
 void setColor(int index, byte[] color)
          Sets the color associated with the vertex at the specified index for this object.
 void setColor(int index, Color3b color)
          Sets the color associated with the vertex at the specified index for this object.
 void setColor(int index, Color3f color)
          Sets the color associated with the vertex at the specified index for this object.
 void setColor(int index, Color4b color)
          Sets the color associated with the vertex at the specified index for this object.
 void setColor(int index, Color4f color)
          Sets the color associated with the vertex at the specified index for this object.
 void setColor(int index, float[] color)
          Sets the color associated with the vertex at the specified index for this object.
 void setColorRef3b(Color3b[] colors)
          Sets the Color3b color array reference to the specified array.
 void setColorRef3f(Color3f[] colors)
          Sets the Color3f color array reference to the specified array.
 void setColorRef4b(Color4b[] colors)
          Sets the Color4b color array reference to the specified array.
 void setColorRef4f(Color4f[] colors)
          Sets the Color4f color array reference to the specified array.
 void setColorRefByte(byte[] colors)
          Sets the byte color array reference to the specified array.
 void setColorRefFloat(float[] colors)
          Sets the float color array reference to the specified array.
 void setColors(int index, byte[] colors)
          Sets the colors associated with the vertices starting at the specified index for this object.
 void setColors(int index, byte[] colors, int start, int length)
          Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
 void setColors(int index, Color3b[] colors)
          Sets the colors associated with the vertices starting at the specified index for this object.
 void setColors(int index, Color3b[] colors, int start, int length)
          Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
 void setColors(int index, Color3f[] colors)
          Sets the colors associated with the vertices starting at the specified index for this object.
 void setColors(int index, Color3f[] colors, int start, int length)
          Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
 void setColors(int index, Color4b[] colors)
          Sets the colors associated with the vertices starting at the specified index for this object.
 void setColors(int index, Color4b[] colors, int start, int length)
          Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
 void setColors(int index, Color4f[] colors)
          Sets the colors associated with the vertices starting at the specified index for this object.
 void setColors(int index, Color4f[] colors, int start, int length)
          Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
 void setColors(int index, float[] colors)
          Sets the colors associated with the vertices starting at the specified index for this object.
 void setColors(int index, float[] colors, int start, int length)
          Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
 void setCoordinate(int index, double[] coordinate)
          Sets the coordinate associated with the vertex at the specified index.
 void setCoordinate(int index, float[] coordinate)
          Sets the coordinate associated with the vertex at the specified index for this object.
 void setCoordinate(int index, Point3d coordinate)
          Sets the coordinate associated with the vertex at the specified index for this object.
 void setCoordinate(int index, Point3f coordinate)
          Sets the coordinate associated with the vertex at the specified index for this object.
 void setCoordinates(int index, double[] coordinates)
          Sets the coordinates associated with the vertices starting at the specified index for this object.
 void setCoordinates(int index, double[] coordinates, int start, int length)
          Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
 void setCoordinates(int index, float[] coordinates)
          Sets the coordinates associated with the vertices starting at the specified index for this object.
 void setCoordinates(int index, float[] coordinates, int start, int length)
          Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
 void setCoordinates(int index, Point3d[] coordinates)
          Sets the coordinates associated with the vertices starting at the specified index for this object.
 void setCoordinates(int index, Point3d[] coordinates, int start, int length)
          Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
 void setCoordinates(int index, Point3f[] coordinates)
          Sets the coordinates associated with the vertices starting at the specified index for this object.
 void setCoordinates(int index, Point3f[] coordinates, int start, int length)
          Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
 void setCoordRef3d(Point3d[] coords)
          Sets the Point3d coordinate array reference to the specified array.
 void setCoordRef3f(Point3f[] coords)
          Sets the Point3f coordinate array reference to the specified array.
 void setCoordRefDouble(double[] coords)
          Sets the double coordinate array reference to the specified array.
 void setCoordRefFloat(float[] coords)
          Sets the float coordinate array reference to the specified array.
 void setInitialColorIndex(int initialColorIndex)
          Sets the initial color index for this GeometryArray object.
 void setInitialCoordIndex(int initialCoordIndex)
          Sets the initial coordinate index for this GeometryArray object.
 void setInitialNormalIndex(int initialNormalIndex)
          Sets the initial normal index for this GeometryArray object.
 void setInitialTexCoordIndex(int texCoordSet, int initialTexCoordIndex)
          Sets the initial texture coordinate index for the specified texture coordinate set for this GeometryArray object.
 void setInitialVertexIndex(int initialVertexIndex)
          Sets the initial vertex index for this GeometryArray object.
 void setInterleavedVertices(float[] vertexData)
          Sets the interleaved vertices array reference to the specified array.
 void setNormal(int index, float[] normal)
          Sets the normal associated with the vertex at the specified index for this object.
 void setNormal(int index, Vector3f normal)
          Sets the normal associated with the vertex at the specified index for this object.
 void setNormalRef3f(Vector3f[] normals)
          Sets the Vector3f normal array reference to the specified array.
 void setNormalRefFloat(float[] normals)
          Sets the float normal array reference to the specified array.
 void setNormals(int index, float[] normals)
          Sets the normals associated with the vertices starting at the specified index for this object.
 void setNormals(int index, float[] normals, int start, int length)
          Sets the normals associated with the vertices starting at the specified index for this object using data in normals starting at index start and ending at index start+length.
 void setNormals(int index, Vector3f[] normals)
          Sets the normals associated with the vertices starting at the specified index for this object.
 void setNormals(int index, Vector3f[] normals, int start, int length)
          Sets the normals associated with the vertices starting at the specified index for this object using data in normals starting at index start and ending at index start+length.
 void setTexCoordRef2f(int texCoordSet, TexCoord2f[] texCoords)
          Sets the TexCoord2f texture coordinate array reference for the specified texture coordinate set to the specified array.
 void setTexCoordRef3f(int texCoordSet, TexCoord3f[] texCoords)
          Sets the TexCoord3f texture coordinate array reference for the specified texture coordinate set to the specified array.
 void setTexCoordRefFloat(int texCoordSet, float[] texCoords)
          Sets the float texture coordinate array reference for the specified texture coordinate set to the specified array.
 void setTextureCoordinate(int index, float[] texCoord)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, ...)
 void setTextureCoordinate(int texCoordSet, int index, float[] texCoord)
          Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinate(int texCoordSet, int index, TexCoord2f texCoord)
          Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinate(int texCoordSet, int index, TexCoord3f texCoord)
          Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinate(int index, Point2f texCoord)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, TexCoord2f texCoord)
 void setTextureCoordinate(int index, Point3f texCoord)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, TexCoord3f texCoord)
 void setTextureCoordinates(int index, float[] texCoords)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, ...)
 void setTextureCoordinates(int index, float[] texCoords, int start, int length)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, ...)
 void setTextureCoordinates(int texCoordSet, int index, float[] texCoords)
          Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinates(int texCoordSet, int index, float[] texCoords, int start, int length)
          Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object using data in texCoords starting at index start and ending at index start+length.
 void setTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords)
          Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords, int start, int length)
          Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object using data in texCoords starting at index start and ending at index start+length.
 void setTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords)
          Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords, int start, int length)
          Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object.
 void setTextureCoordinates(int index, Point2f[] texCoords)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])
 void setTextureCoordinates(int index, Point2f[] texCoords, int start, int length)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[], ...)
 void setTextureCoordinates(int index, Point3f[] texCoords)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])
 void setTextureCoordinates(int index, Point3f[] texCoords, int start, int length)
          Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[], ...)
 void setValidVertexCount(int validVertexCount)
          Sets the valid vertex count for this GeometryArray object.
 void updateData(GeometryUpdater updater)
          Updates geometry array data that is accessed by reference.
 
Methods inherited from class javax.media.j3d.NodeComponent
cloneNodeComponent, cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, duplicateSceneGraphObject, getCapability, getUserData, isCompiled, isLive, setCapability, setUserData, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALLOW_COORDINATE_READ

public static final int ALLOW_COORDINATE_READ
Specifies that this GeometryArray allows reading the array of coordinates.

ALLOW_COORDINATE_WRITE

public static final int ALLOW_COORDINATE_WRITE
Specifies that this GeometryArray allows writing the array of coordinates.

ALLOW_COLOR_READ

public static final int ALLOW_COLOR_READ
Specifies that this GeometryArray allows reading the array of colors.

ALLOW_COLOR_WRITE

public static final int ALLOW_COLOR_WRITE
Specifies that this GeometryArray allows writing the array of colors.

ALLOW_NORMAL_READ

public static final int ALLOW_NORMAL_READ
Specifies that this GeometryArray allows reading the array of normals.

ALLOW_NORMAL_WRITE

public static final int ALLOW_NORMAL_WRITE
Specifies that this GeometryArray allows writing the array of normals.

ALLOW_TEXCOORD_READ

public static final int ALLOW_TEXCOORD_READ
Specifies that this GeometryArray allows reading the array of texture coordinates.

ALLOW_TEXCOORD_WRITE

public static final int ALLOW_TEXCOORD_WRITE
Specifies that this GeometryArray allows writing the array of texture coordinates.

ALLOW_COUNT_READ

public static final int ALLOW_COUNT_READ
Specifies that this GeometryArray allows reading the count or initial index information for this object.

ALLOW_COUNT_WRITE

public static final int ALLOW_COUNT_WRITE
Specifies that this GeometryArray allows writing the count or initial index information for this object.
Since:
Java 3D 1.2

ALLOW_FORMAT_READ

public static final int ALLOW_FORMAT_READ
Specifies that this GeometryArray allows reading the vertex format information for this object.

ALLOW_REF_DATA_READ

public static final int ALLOW_REF_DATA_READ
Specifies that this GeometryArray allows reading the geometry data reference information for this object. This is only used in by-reference geometry mode.
Since:
Java 3D 1.2

ALLOW_REF_DATA_WRITE

public static final int ALLOW_REF_DATA_WRITE
Specifies that this GeometryArray allows writing the geometry data reference information for this object. It also enables writing the referenced data itself, via the GeometryUpdater interface. This is only used in by-reference geometry mode.
Since:
Java 3D 1.2

COORDINATES

public static final int COORDINATES
Specifies that this GeometryArray contains an array of coordinates. This bit must be set.

NORMALS

public static final int NORMALS
Specifies that this GeometryArray contains an array of normals.

COLOR_3

public static final int COLOR_3
Specifies that this GeometryArray contains an array of colors without alpha.

COLOR_4

public static final int COLOR_4
Specifies that this GeometryArray contains an array of colors with alpha. This takes precedence over COLOR_3.

TEXTURE_COORDINATE_2

public static final int TEXTURE_COORDINATE_2
Specifies that this GeometryArray contains one or more arrays of 2D texture coordinates.

TEXTURE_COORDINATE_3

public static final int TEXTURE_COORDINATE_3
Specifies that this GeometryArray contains one or more arrays of 3D texture coordinates. This takes precedence over TEXTURE_COORDINATE_2.

BY_REFERENCE

public static final int BY_REFERENCE
Specifies that the position, color, normal, and texture coordinate data for this GeometryArray are accessed by reference.
Since:
Java 3D 1.2

INTERLEAVED

public static final int INTERLEAVED
Specifies that the position, color, normal, and texture coordinate data for this GeometryArray are accessed via a single interleaved, floating-point array reference. All of the data values for each vertex are stored in consecutive memory locations. This is only valid in conjunction with the BY_REFERENCE flag.
Since:
Java 3D 1.2
Constructor Detail

GeometryArray

public GeometryArray(int vertexCount,
                     int vertexFormat)
Constructs an empty GeometryArray object with the specified number of vertices and vertex format. Defaults are used for all other parameters. The default values are as follows:
Parameters:
vertexCount - the number of vertex elements in this GeometryArray
vertexFormat - a mask indicating which components are present in each vertex. This is specified as one or more individual flags that are bitwise "OR"ed together to describe the per-vertex data. The flags include: COORDINATES, to signal the inclusion of vertex positions--always present; NORMALS, to signal the inclusion of per vertex normals; one of COLOR_3 or COLOR_4, to signal the inclusion of per vertex colors (without or with alpha information); one of TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3, to signal the inclusion of per-vertex texture coordinates (2D or 3D); BY_REFERENCE, to indicate that the data is passed by reference rather than by copying; INTERLEAVED, to indicate that the referenced data is interleaved in a single array.
Throws:
java.lang.IllegalArgumentException - if vertexCount < 0, if vertexFormat does NOT include COORDINATES, or if the INTERLEAVED bit is set without the BY_REFERENCE bit being set.

GeometryArray

public GeometryArray(int vertexCount,
                     int vertexFormat,
                     int texCoordSetCount,
                     int[] texCoordSetMap)
Constructs an empty GeometryArray object with the specified number of vertices, vertex format, number of texture coordinate sets, and texture coordinate mapping array. Defaults are used for all other parameters.
Parameters:
vertexCount - the number of vertex elements in this GeometryArray

vertexFormat - a mask indicating which components are present in each vertex. This is specified as one or more individual flags that are bitwise "OR"ed together to describe the per-vertex data. The flags include: COORDINATES, to signal the inclusion of vertex positions--always present; NORMALS, to signal the inclusion of per vertex normals; one of COLOR_3 or COLOR_4, to signal the inclusion of per vertex colors (without or with alpha information); one of TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3, to signal the inclusion of per-vertex texture coordinates (2D or 3D); BY_REFERENCE, to indicate that the data is passed by reference rather than by copying; INTERLEAVED, to indicate that the referenced data is interleaved in a single array.

texCoordSetCount - the number of texture coordinate sets in this GeometryArray object. If vertexFormat does not include one of TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3, the texCoordSetCount parameter is not used.

texCoordSetMap - an array that maps texture coordinate sets to texture units. The array is indexed by texture unit number for each texture unit in the associated Appearance object. The values in the array specify the texture coordinate set within this GeometryArray object that maps to the corresponding texture unit. All elements within the array must be less than texCoordSetCount. A negative value specifies that no texture coordinate set maps to the texture unit corresponding to the index. If there are more texture units in any associated Appearance object than elements in the mapping array, the extra elements are assumed to be -1. The same texture coordinate set may be used for more than one texture unit. Each texture unit in every associated Appearance must have a valid source of texture coordinates: either a non-negative texture coordinate set must be specified in the mapping array or texture coordinate generation must be enabled. Texture coordinate generation will take precedence for those texture units for which a texture coordinate set is specified and texture coordinate generation is enabled. If vertexFormat does not include one of TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3, the texCoordSetMap array is not used. The following example illustrates the use of the texCoordSetMap array.

    Index
    Element
    Description
    0
    1
    Use tex coord set 1 for tex unit 0
    1
    -1
    Use no tex coord set for tex unit 1
    2
    0
    Use tex coord set 0 for tex unit 2
    3
    1
    Reuse tex coord set 1 for tex unit 3

Throws:
java.lang.IllegalArgumentException - if vertexCount < 0, if vertexFormat does NOT include COORDINATES, if the INTERLEAVED bit is set without the BY_REFERENCE bit being set, if texCoordSetCount < 0, or if any element in texCoordSetMap[] >= texCoordSetCount.
Since:
Java 3D 1.2
Method Detail

getVertexCount

public int getVertexCount()
Retrieves the number of vertices in this GeometryArray
Returns:
number of vertices in this GeometryArray
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph

getVertexFormat

public int getVertexFormat()
Retrieves the vertexFormat of this GeometryArray
Returns:
format of vertices in this GeometryArray
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph

getTexCoordSetCount

public int getTexCoordSetCount()
Retrieves the number of texture coordinate sets in this GeometryArray object.
Returns:
the number of texture coordinate sets in this GeometryArray object
Since:
Java 3D 1.2

getTexCoordSetMapLength

public int getTexCoordSetMapLength()
Retrieves the length of the texture coordinate set mapping array of this GeometryArray object.
Returns:
the length of the texture coordinate set mapping array of this GeometryArray object
Since:
Java 3D 1.2

getTexCoordSetMap

public void getTexCoordSetMap(int[] texCoordSetMap)
Retrieves the texture coordinate set mapping array from this GeometryArray object.
Parameters:
texCoordSetMap - an array that will receive a copy of the texture coordinate set mapping array. The array must be large enough to hold all entries of the texture coordinate set mapping array.
Since:
Java 3D 1.2

updateData

public void updateData(GeometryUpdater updater)
Updates geometry array data that is accessed by reference. This method calls the updateData method of the specified GeometryUpdater object to synchronize updates to vertex data that is referenced by this GeometryArray object. Applications that wish to modify such data must perform all updates via this method.

This method may also be used to atomically set multiple references (e.g., to coordinate and color arrays) or atomically change multiple data values through the geometry data copying methods.

Parameters:
updater - object whose updateData callback method will be called to update the data referenced by this GeometryArray.
Throws:
CapabilityNotSetException - if the appropriate capability is not set, the vertex data mode is BY_REFERENCE, and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setValidVertexCount

public void setValidVertexCount(int validVertexCount)
Sets the valid vertex count for this GeometryArray object. This count specifies the number of vertices actually used in rendering or other operations such as picking and collision. This attribute is initialized to vertexCount.
Parameters:
validVertexCount - the new valid vertex count.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalArgumentException - if any of the following are true:
    validVertexCount < 0,
    initialVertexIndex + validVertexCount > vertexCount,
    initialCoordIndex + validVertexCount > vertexCount,
    initialColorIndex + validVertexCount > vertexCount,
    initialNormalIndex + validVertexCount > vertexCount,
    initialTexCoordIndex + validVertexCount > vertexCount
Since:
Java 3D 1.2

getValidVertexCount

public int getValidVertexCount()
Gets the valid vertex count for this GeometryArray object.
Returns:
the current valid vertex count for this GeometryArray object.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setInitialVertexIndex

public void setInitialVertexIndex(int initialVertexIndex)
Sets the initial vertex index for this GeometryArray object. This index specifies the first vertex within this geometry array that is actually used in rendering or other operations such as picking and collision. This attribute is initialized to 0. This attribute is only used when the data mode for this geometry array object is not BY_REFERENCE.
Parameters:
initialVertexIndex - the new initial vertex index.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalArgumentException - if initialVertexIndex < 0 or initialVertexIndex + validVertexCount > vertexCount
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
Since:
Java 3D 1.2

getInitialVertexIndex

public int getInitialVertexIndex()
Gets the initial vertex index for this GeometryArray object. This attribute is only used when the data mode for this geometry array object is not BY_REFERENCE.
Returns:
the current initial vertex index for this GeometryArray object.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setCoordinate

public void setCoordinate(int index,
                          float[] coordinate)
Sets the coordinate associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
coordinate - source array of 3 values containing the new coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinate

public void setCoordinate(int index,
                          double[] coordinate)
Sets the coordinate associated with the vertex at the specified index.
Parameters:
index - destination vertex index in this geometry array
coordinate - source array of 3 values containing the new coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinate

public void setCoordinate(int index,
                          Point3f coordinate)
Sets the coordinate associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
coordinate - a point containing the new coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinate

public void setCoordinate(int index,
                          Point3d coordinate)
Sets the coordinate associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
coordinate - a point containing the new coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           float[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of 3*n values containing n new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           double[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of 3*n values containing n new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           Point3f[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of points containing new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           Point3d[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of points containing new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           float[] coordinates,
                           int start,
                           int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of 3*n values containing n new coordinates
start - starting source vertex index in coordinates array.
length - number of vertices to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           double[] coordinates,
                           int start,
                           int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of 3*n values containing n new coordinates
start - starting source vertex index in coordinates array.
length - number of vertices to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           Point3f[] coordinates,
                           int start,
                           int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of points containing new coordinates
start - starting source vertex index in coordinates array.
length - number of vertices to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setCoordinates

public void setCoordinates(int index,
                           Point3d[] coordinates,
                           int start,
                           int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices.
Parameters:
index - starting destination vertex index in this geometry array
coordinates - source array of points containing new coordinates
start - starting source vertex index in coordinates array.
length - number of vertices to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColor

public void setColor(int index,
                     float[] color)
Sets the color associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
color - source array of 3 or 4 values containing the new color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColor

public void setColor(int index,
                     byte[] color)
Sets the color associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
color - source array of 3 or 4 values containing the new color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColor

public void setColor(int index,
                     Color3f color)
Sets the color associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
color - a Color3f containing the new color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in the vertex format

setColor

public void setColor(int index,
                     Color4f color)
Sets the color associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
color - a Color4f containing the new color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in the vertex format

setColor

public void setColor(int index,
                     Color3b color)
Sets the color associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
color - a Color3b containing the new color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in the vertex format

setColor

public void setColor(int index,
                     Color4b color)
Sets the color associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
color - a Color4b containing the new color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in the vertex format

setColors

public void setColors(int index,
                      float[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of 3*n or 4*n values containing n new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColors

public void setColors(int index,
                      byte[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of 3*n or 4*n values containing n new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColors

public void setColors(int index,
                      Color3f[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color3f objects containing new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in vertex format

setColors

public void setColors(int index,
                      Color4f[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color4f objects containing new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in vertex format

setColors

public void setColors(int index,
                      Color3b[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color3b objects containing new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in vertex format

setColors

public void setColors(int index,
                      Color4b[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color4b objects containing new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in vertex format

setColors

public void setColors(int index,
                      float[] colors,
                      int start,
                      int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of 3*n or 4*n values containing n new colors
start - starting source vertex index in colors array.
length - number of colors to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColors

public void setColors(int index,
                      byte[] colors,
                      int start,
                      int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of 3*n or 4*n values containing n new colors
start - starting source vertex index in colors array.
length - number of colors to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setColors

public void setColors(int index,
                      Color3f[] colors,
                      int start,
                      int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color3f objects containing new colors
start - starting source vertex index in colors array.
length - number of colors to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in vertex format

setColors

public void setColors(int index,
                      Color4f[] colors,
                      int start,
                      int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color4f objects containing new colors
start - starting source vertex index in colors array.
length - number of colors to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in vertex format

setColors

public void setColors(int index,
                      Color3b[] colors,
                      int start,
                      int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color3b objects containing new colors
start - starting source vertex index in colors array.
length - number of colors to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in vertex format

setColors

public void setColors(int index,
                      Color4b[] colors,
                      int start,
                      int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors starting at index start for length colors.
Parameters:
index - starting destination vertex index in this geometry array
colors - source array of Color4b objects containing new colors
start - starting source vertex index in colors array.
length - number of colors to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if COLOR bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in vertex format

setNormal

public void setNormal(int index,
                      float[] normal)
Sets the normal associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
normal - source array of 3 values containing the new normal
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if NORMALS bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setNormal

public void setNormal(int index,
                      Vector3f normal)
Sets the normal associated with the vertex at the specified index for this object.
Parameters:
index - destination vertex index in this geometry array
normal - the vector containing the new normal
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if NORMALS bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setNormals

public void setNormals(int index,
                       float[] normals)
Sets the normals associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
normals - source array of 3*n values containing n new normals
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if NORMALS bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setNormals

public void setNormals(int index,
                       Vector3f[] normals)
Sets the normals associated with the vertices starting at the specified index for this object. The entire source array is copied to this geometry array.
Parameters:
index - starting destination vertex index in this geometry array
normals - source array of vectors containing new normals
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if NORMALS bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setNormals

public void setNormals(int index,
                       float[] normals,
                       int start,
                       int length)
Sets the normals associated with the vertices starting at the specified index for this object using data in normals starting at index start and ending at index start+length.
Parameters:
index - starting destination vertex index in this geometry array
normals - source array of 3*n values containing n new normals
start - starting source vertex index in normals array.
length - number of normals to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if NORMALS bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setNormals

public void setNormals(int index,
                       Vector3f[] normals,
                       int start,
                       int length)
Sets the normals associated with the vertices starting at the specified index for this object using data in normals starting at index start and ending at index start+length.
Parameters:
index - starting destination vertex index in this geometry array
normals - source array of vectors containing new normals
start - starting source vertex index in normals array.
length - number of normals to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if NORMALS bit NOT set in constructor vertexFormat or array index for element is out of bounds.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

setTextureCoordinate

public void setTextureCoordinate(int index,
                                 float[] texCoord)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, ...)


setTextureCoordinate

public void setTextureCoordinate(int texCoordSet,
                                 int index,
                                 float[] texCoord)
Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - destination vertex index in this geometry array
texCoord - source array of 2 or 3 values containing the new texture coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
Since:
Java 3D 1.2

setTextureCoordinate

public void setTextureCoordinate(int index,
                                 Point2f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, TexCoord2f texCoord)


setTextureCoordinate

public void setTextureCoordinate(int texCoordSet,
                                 int index,
                                 TexCoord2f texCoord)
Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - destination vertex index in this geometry array
texCoord - the TexCoord2f containing the new texture coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_3 is specified in vertex format
Since:
Java 3D 1.2

setTextureCoordinate

public void setTextureCoordinate(int index,
                                 Point3f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, TexCoord3f texCoord)


setTextureCoordinate

public void setTextureCoordinate(int texCoordSet,
                                 int index,
                                 TexCoord3f texCoord)
Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - destination vertex index in this geometry array
texCoord - the TexCoord3f containing the new texture coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_2 is specified in vertex format
Since:
Java 3D 1.2

setTextureCoordinates

public void setTextureCoordinates(int index,
                                  float[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, ...)


setTextureCoordinates

public void setTextureCoordinates(int texCoordSet,
                                  int index,
                                  float[] texCoords)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. The entire source array is copied to this geometry array.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting destination vertex index in this geometry array
texCoords - source array of 2*n or 3*n values containing n new texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
Since:
Java 3D 1.2

setTextureCoordinates

public void setTextureCoordinates(int index,
                                  Point2f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])


setTextureCoordinates

public void setTextureCoordinates(int texCoordSet,
                                  int index,
                                  TexCoord2f[] texCoords)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. The entire source array is copied to this geometry array.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting destination vertex index in this geometry array
texCoords - source array of TexCoord2f objects containing new texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_3 is specified in vertex format
Since:
Java 3D 1.2

setTextureCoordinates

public void setTextureCoordinates(int index,
                                  Point3f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])


setTextureCoordinates

public void setTextureCoordinates(int texCoordSet,
                                  int index,
                                  TexCoord3f[] texCoords)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. The entire source array is copied to this geometry array.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting destination vertex index in this geometry array
texCoords - source array of TexCoord3f objects containing new texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_2 is specified in vertex format
Since:
Java 3D 1.2

setTextureCoordinates

public void setTextureCoordinates(int index,
                                  float[] texCoords,
                                  int start,
                                  int length)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, ...)


setTextureCoordinates

public void setTextureCoordinates(int texCoordSet,
                                  int index,
                                  float[] texCoords,
                                  int start,
                                  int length)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object using data in texCoords starting at index start and ending at index start+length.
Parameters:
index - starting destination vertex index in this geometry array
texCoords - source array of 2*n or 3*n values containing n new texture coordinates
start - starting source vertex index in texCoords array.
length - number of texture Coordinates to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
Since:
Java 3D 1.2

setTextureCoordinates

public void setTextureCoordinates(int index,
                                  Point2f[] texCoords,
                                  int start,
                                  int length)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[], ...)


setTextureCoordinates

public void setTextureCoordinates(int texCoordSet,
                                  int index,
                                  TexCoord2f[] texCoords,
                                  int start,
                                  int length)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object using data in texCoords starting at index start and ending at index start+length.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting destination vertex index in this geometry array
texCoords - source array of TexCoord2f objects containing new texture coordinates
start - starting source vertex index in texCoords array.
length - number of texture Coordinates to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_3 is specified in vertex format
Since:
Java 3D 1.2

setTextureCoordinates

public void setTextureCoordinates(int index,
                                  Point3f[] texCoords,
                                  int start,
                                  int length)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[], ...)


setTextureCoordinates

public void setTextureCoordinates(int texCoordSet,
                                  int index,
                                  TexCoord3f[] texCoords,
                                  int start,
                                  int length)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. starting at index start and ending at index start+length.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting destination vertex index in this geometry array
texCoords - source array of TexCoord3f objects containing new texture coordinates
start - starting source vertex index in texCoords array.
length - number of texture Coordinates to be copied.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_2 is specified in vertex format
Since:
Java 3D 1.2

getCoordinate

public void getCoordinate(int index,
                          float[] coordinate)
Gets the coordinate associated with the vertex at the specified index for this object using data in texCoords
Parameters:
index - source vertex index in this geometry array
coordinate - destination array of 3 values that will receive the coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinate

public void getCoordinate(int index,
                          double[] coordinate)
Gets the coordinate associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
coordinate - destination array of 3 values that will receive the coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinate

public void getCoordinate(int index,
                          Point3f coordinate)
Gets the coordinate associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
coordinate - a vector that will receive the coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinate

public void getCoordinate(int index,
                          Point3d coordinate)
Gets the coordinate associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
coordinate - a vector that will receive the coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinates

public void getCoordinates(int index,
                           float[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. The length of the destination array determines the number of vertices copied.
Parameters:
index - starting source vertex index in this geometry array
coordinates - destination array of 3*n values that will receive new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinates

public void getCoordinates(int index,
                           double[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. The length of the destination array determines the number of vertices copied.
Parameters:
index - starting source vertex index in this geometry array
coordinates - destination array of 3*n values that will receive new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinates

public void getCoordinates(int index,
                           Point3f[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. The length of the destination array determines the number of vertices copied.
Parameters:
index - starting source vertex index in this geometry array
coordinates - destination array of points that will receive new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getCoordinates

public void getCoordinates(int index,
                           Point3d[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. The length of the destination array determines the number of vertices copied.
Parameters:
index - starting source vertex index in this geometry array
coordinates - destination array of points that will receive new coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getColor

public void getColor(int index,
                     float[] color)
Gets the color associated with the vertex at the specified index for this object. The color is copied into the specified array. The array must be large enough to hold all of the colors.
Parameters:
index - source vertex index in this geometry array
color - destination array of 3 or 4 values that will receive the color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getColor

public void getColor(int index,
                     byte[] color)
Gets the color associated with the vertex at the specified index for this object. The color is copied into the specified array. The array must be large enough to hold all of the colors.
Parameters:
index - source vertex index in this geometry array
color - destination array of 3 or 4 values that will receive the color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getColor

public void getColor(int index,
                     Color3f color)
Gets the color associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
color - a vector that will receive the color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in the vertex format

getColor

public void getColor(int index,
                     Color4f color)
Gets the color associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
color - a vector that will receive the color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in the vertex format

getColor

public void getColor(int index,
                     Color3b color)
Gets the color associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
color - a vector that will receive the color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in the vertex format

getColor

public void getColor(int index,
                     Color4b color)
Gets the color associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
color - a vector that will receive the color
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in the vertex format

getColors

public void getColors(int index,
                      float[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. The color is copied into the specified array. The length of the destination array determines the number of colors copied.
Parameters:
index - starting source vertex index in this geometry array
colors - destination array of 3*n or 4*n values that will receive n new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getColors

public void getColors(int index,
                      byte[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. The color is copied into the specified array. The length of the destination array determines the number of colors copied.
Parameters:
index - starting source vertex index in this geometry array
colors - destination array of 3*n or 4*n values that will receive new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getColors

public void getColors(int index,
                      Color3f[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. The color is copied into the specified array. The length of the destination array determines the number of colors copied.
Parameters:
index - starting source vertex index in this geometry array
colors - destination array of Color3f objects that will receive new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in the vertex format

getColors

public void getColors(int index,
                      Color4f[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. The color is copied into the specified array. The length of the destination array determines the number of colors copied.
Parameters:
index - starting source vertex index in this geometry array
colors - destination array of Color4f objects that will receive new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in the vertex format

getColors

public void getColors(int index,
                      Color3b[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. The color is copied into the specified array. The length of the destination array determines the number of colors copied.
Parameters:
index - starting source vertex index in this geometry array
colors - destination array of Color3b objects that will receive new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_4 is specified in the vertex format

getColors

public void getColors(int index,
                      Color4b[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. The color is copied into the specified array. The length of the destination array determines the number of colors copied.
Parameters:
index - starting source vertex index in this geometry array
colors - destination array of Color4b objects that will receive new colors
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if COLOR_3 is specified in the vertex format

getNormal

public void getNormal(int index,
                      float[] normal)
Gets the normal associated with the vertex at the specified index for this object. The normal is copied into the specified array.
Parameters:
index - source vertex index in this geometry array
normal - destination array of 3 values that will receive the normal
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getNormal

public void getNormal(int index,
                      Vector3f normal)
Gets the normal associated with the vertex at the specified index for this object.
Parameters:
index - source vertex index in this geometry array
normal - the vector that will receive the normal
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getNormals

public void getNormals(int index,
                       float[] normals)
Gets the normals associated with the vertices starting at the specified index for this object. The length of the destination array determines the number of normals copied.
Parameters:
index - starting source vertex index in this geometry array
normal - destination array of 3*n values that will receive the normal
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getNormals

public void getNormals(int index,
                       Vector3f[] normals)
Gets the normals associated with the vertices starting at the specified index for this object. The length of the destination array determines the number of normals copied.
Parameters:
index - starting source vertex index in this geometry array
normals - destination array of vectors that will receive the normals
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.

getTextureCoordinate

public void getTextureCoordinate(int index,
                                 float[] texCoord)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, ...)


getTextureCoordinate

public void getTextureCoordinate(int texCoordSet,
                                 int index,
                                 float[] texCoord)
Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - source vertex index in this geometry array
texCoord - array of 2 or 3 values that will receive the texture coordinate
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
Since:
Java 3D 1.2

getTextureCoordinate

public void getTextureCoordinate(int index,
                                 Point2f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, TexCoord2f texCoord)


getTextureCoordinate

public void getTextureCoordinate(int texCoordSet,
                                 int index,
                                 TexCoord2f texCoord)
Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - source vertex index in this geometry array
texCoord - the vector that will receive the texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_3 is specified in vertex format
Since:
Java 3D 1.2

getTextureCoordinate

public void getTextureCoordinate(int index,
                                 Point3f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, TexCoord3f texCoord)


getTextureCoordinate

public void getTextureCoordinate(int texCoordSet,
                                 int index,
                                 TexCoord3f texCoord)
Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - source vertex index in this geometry array
texCoord - the vector that will receive the texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_2 is specified in vertex format
Since:
Java 3D 1.2

getTextureCoordinates

public void getTextureCoordinates(int index,
                                  float[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, ...)


getTextureCoordinates

public void getTextureCoordinates(int texCoordSet,
                                  int index,
                                  float[] texCoords)
Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. The length of the destination array determines the number of texture coordinates copied.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting source vertex index in this geometry array
texCoords - destination array of 2*n or 3*n values that will receive n new texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
Since:
Java 3D 1.2

getTextureCoordinates

public void getTextureCoordinates(int index,
                                  Point2f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])


getTextureCoordinates

public void getTextureCoordinates(int texCoordSet,
                                  int index,
                                  TexCoord2f[] texCoords)
Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. The length of the destination array determines the number of texture coordinates copied.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting source vertex index in this geometry array
texCoords - destination array of TexCoord2f objects that will receive the texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_3 is specified in vertex format
Since:
Java 3D 1.2

getTextureCoordinates

public void getTextureCoordinates(int index,
                                  Point3f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])


getTextureCoordinates

public void getTextureCoordinates(int texCoordSet,
                                  int index,
                                  TexCoord3f[] texCoords)
Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. The length of the destination array determines the number of texture coordinates copied.
Parameters:
texCoordSet - texture coordinate set in this geometry array
index - starting source vertex index in this geometry array
texCoords - destination array of TexCoord3f objects that will receive the texture coordinates
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if the index or texCoordSet is out of range.
java.lang.IllegalStateException - if the data mode for this geometry array object is BY_REFERENCE.
java.lang.IllegalStateException - if TEXTURE_COORDINATE_2 is specified in vertex format
Since:
Java 3D 1.2

setInitialCoordIndex

public void setInitialCoordIndex(int initialCoordIndex)
Sets the initial coordinate index for this GeometryArray object. This index specifies the first coordinate within the array of coordinates referenced by this geometry array that is actually used in rendering or other operations such as picking and collision. This attribute is initialized to 0. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Parameters:
initialCoordIndex - the new initial coordinate index.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalArgumentException - if initialCoordIndex < 0 or initialCoordIndex + validVertexCount > vertexCount
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE.
Since:
Java 3D 1.2

getInitialCoordIndex

public int getInitialCoordIndex()
Gets the initial coordinate index for this GeometryArray object. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Returns:
the current initial coordinate index for this GeometryArray object.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setInitialColorIndex

public void setInitialColorIndex(int initialColorIndex)
Sets the initial color index for this GeometryArray object. This index specifies the first color within the array of colors referenced by this geometry array that is actually used in rendering or other operations such as picking and collision. This attribute is initialized to 0. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Parameters:
initialColorIndex - the new initial color index.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalArgumentException - if initialColorIndex < 0 or initialColorIndex + validVertexCount > vertexCount
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE.
Since:
Java 3D 1.2

getInitialColorIndex

public int getInitialColorIndex()
Gets the initial color index for this GeometryArray object. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Returns:
the current initial color index for this GeometryArray object.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setInitialNormalIndex

public void setInitialNormalIndex(int initialNormalIndex)
Sets the initial normal index for this GeometryArray object. This index specifies the first normal within the array of normals referenced by this geometry array that is actually used in rendering or other operations such as picking and collision. This attribute is initialized to 0. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Parameters:
initialNormalIndex - the new initial normal index.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalArgumentException - if initialNormalIndex < 0 or initialNormalIndex + validVertexCount > vertexCount
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE.
Since:
Java 3D 1.2

getInitialNormalIndex

public int getInitialNormalIndex()
Gets the initial normal index for this GeometryArray object. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Returns:
the current initial normal index for this GeometryArray object.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setInitialTexCoordIndex

public void setInitialTexCoordIndex(int texCoordSet,
                                    int initialTexCoordIndex)
Sets the initial texture coordinate index for the specified texture coordinate set for this GeometryArray object. This index specifies the first texture coordinate within the array of texture coordinates referenced by this geometry array that is actually used in rendering or other operations such as picking and collision. This attribute is initialized to 0. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Parameters:
texCoordSet - texture coordinate set in this geometry array
initialTexCoordIndex - the new initial texture coordinate index.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if texCoordSet is out of range.
java.lang.IllegalArgumentException - if initialTexCoordIndex < 0 or initialTexCoordIndex + validVertexCount > vertexCount
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE.
Since:
Java 3D 1.2

getInitialTexCoordIndex

public int getInitialTexCoordIndex(int texCoordSet)
Gets the initial texture coordinate index for the specified texture coordinate set for this GeometryArray object. This attribute is only used when the data mode for this geometry array object is BY_REFERENCE.
Parameters:
texCoordSet - texture coordinate set in this geometry array
Returns:
the current initial texture coordinate index for the specified texture coordinate set
Throws:
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or if texCoordSet is out of range.
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
Since:
Java 3D 1.2

setCoordRefFloat

public void setCoordRefFloat(float[] coords)
Sets the float coordinate array reference to the specified array. The array contains floating-point x, y, and z values for each vertex (for a total of 3*n values, where n is the number of vertices). Only one of coordRefFloat, coordRefDouble, coordRef3f, or coordRef3d may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all coordinate array references are null, then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
coords - an array of 3*n values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other coordinate reference is also non-null.
ArrayIndexOutOfBoundsException - if coords.length < (3 * vertexCount).
Since:
Java 3D 1.2

getCoordRefFloat

public float[] getCoordRefFloat()
Gets the float coordinate array reference.
Returns:
the current float coordinate array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setCoordRefDouble

public void setCoordRefDouble(double[] coords)
Sets the double coordinate array reference to the specified array. The array contains double-precision floating-point x, y, and z values for each vertex (for a total of 3*n values, where n is the number of vertices). Only one of coordRefFloat, coordRefDouble, coordRef3f, or coordRef3d may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all coordinate array references are null, then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
coords - an array of 3*n values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other coordinate reference is also non-null.
ArrayIndexOutOfBoundsException - if coords.length < (3 * vertexCount).
Since:
Java 3D 1.2

getCoordRefDouble

public double[] getCoordRefDouble()
Gets the double coordinate array reference.
Returns:
the current double coordinate array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setCoordRef3f

public void setCoordRef3f(Point3f[] coords)
Sets the Point3f coordinate array reference to the specified array. The array contains a Point3f object for each vertex. Only one of coordRefFloat, coordRefDouble, coordRef3f, or coordRef3d may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all coordinate array references are null, then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
coords - an array of n points to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other coordinate reference is also non-null.
ArrayIndexOutOfBoundsException - if coords.length < vertexCount.
Since:
Java 3D 1.2

getCoordRef3f

public Point3f[] getCoordRef3f()
Gets the Point3f coordinate array reference.
Returns:
the current Point3f coordinate array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setCoordRef3d

public void setCoordRef3d(Point3d[] coords)
Sets the Point3d coordinate array reference to the specified array. The array contains a Point3d object for each vertex. Only one of coordRefFloat, coordRefDouble, coordRef3f, or coordRef3d may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all coordinate array references are null, then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
coords - an array of n points to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other coordinate reference is also non-null.
ArrayIndexOutOfBoundsException - if coords.length < vertexCount.
Since:
Java 3D 1.2

getCoordRef3d

public Point3d[] getCoordRef3d()
Gets the Point3d coordinate array reference.
Returns:
the current Point3d coordinate array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setColorRefFloat

public void setColorRefFloat(float[] colors)
Sets the float color array reference to the specified array. The array contains floating-point red, green, blue, and, optionally, alpha values for each vertex (for a total of 3*n or 4*n values, where n is the number of vertices). Only one of colorRefFloat, colorRefByte, colorRef3f, colorRef4f, colorRef3b, or colorRef4b may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all color array references are null and colors are enabled (i.e., the vertexFormat includes either COLOR_3 or COLOR_4), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
colors - an array of 3*n or 4*n values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other color reference is also non-null.
ArrayIndexOutOfBoundsException - if the vertex color format is COLOR_3 and colors.length < (3 * vertexCount) or if the vertex color format is COLOR_4 and colors.length < (4 * vertexCount).
Since:
Java 3D 1.2

getColorRefFloat

public float[] getColorRefFloat()
Gets the float color array reference.
Returns:
the current float color array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setColorRefByte

public void setColorRefByte(byte[] colors)
Sets the byte color array reference to the specified array. The array contains red, green, blue, and, optionally, alpha values for each vertex (for a total of 3*n or 4*n values, where n is the number of vertices). Only one of colorRefFloat, colorRefByte, colorRef3f, colorRef4f, colorRef3b, or colorRef4b may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all color array references are null and colors are enabled (i.e., the vertexFormat includes either COLOR_3 or COLOR_4), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
colors - an array of 3*n or 4*n values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other color reference is also non-null.
ArrayIndexOutOfBoundsException - if the vertex format color format is COLOR_3 and colors.length < (3 * vertexCount) or if the vertex color format is COLOR_4 and colors.length < (4 * vertexCount).
Since:
Java 3D 1.2

getColorRefByte

public byte[] getColorRefByte()
Gets the byte color array reference.
Returns:
the current byte color array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setColorRef3f

public void setColorRef3f(Color3f[] colors)
Sets the Color3f color array reference to the specified array. The array contains a Color3f object for each vertex. Only one of colorRefFloat, colorRefByte, colorRef3f, colorRef4f, colorRef3b, or colorRef4b may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all color array references are null and colors are enabled (i.e., the vertexFormat includes either COLOR_3 or COLOR_4), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
colors - an array of n colors to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE, or if the data mode is INTERLEAVED, or if the vertex color format is COLOR_4.
java.lang.IllegalArgumentException - if the specified array is non-null and any other color reference is also non-null.
ArrayIndexOutOfBoundsException - if colors.length < vertexCount.
Since:
Java 3D 1.2

getColorRef3f

public Color3f[] getColorRef3f()
Gets the Color3f color array reference.
Returns:
the current Color3f color array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setColorRef4f

public void setColorRef4f(Color4f[] colors)
Sets the Color4f color array reference to the specified array. The array contains a Color4f object for each vertex. Only one of colorRefFloat, colorRefByte, colorRef3f, colorRef4f, colorRef3b, or colorRef4b may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all color array references are null and colors are enabled (i.e., the vertexFormat includes either COLOR_3 or COLOR_4), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
colors - an array of n colors to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE, or if the data mode is INTERLEAVED, or if the vertex color format is COLOR_3.
java.lang.IllegalArgumentException - if the specified array is non-null and any other color reference is also non-null.
ArrayIndexOutOfBoundsException - if colors.length < vertexCount.
Since:
Java 3D 1.2

getColorRef4f

public Color4f[] getColorRef4f()
Gets the Color4f color array reference.
Returns:
the current Color4f color array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setColorRef3b

public void setColorRef3b(Color3b[] colors)
Sets the Color3b color array reference to the specified array. The array contains a Color3b object for each vertex. Only one of colorRefFloat, colorRefByte, colorRef3f, colorRef4f, colorRef3b, or colorRef4b may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all color array references are null and colors are enabled (i.e., the vertexFormat includes either COLOR_3 or COLOR_4), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
colors - an array of n colors to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE, or if the data mode is INTERLEAVED, or if the vertex color format is COLOR_4.
java.lang.IllegalArgumentException - if the specified array is non-null and any other color reference is also non-null.
ArrayIndexOutOfBoundsException - if colors.length < vertexCount.
Since:
Java 3D 1.2

getColorRef3b

public Color3b[] getColorRef3b()
Gets the Color3b color array reference.
Returns:
the current Color3b color array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setColorRef4b

public void setColorRef4b(Color4b[] colors)
Sets the Color4b color array reference to the specified array. The array contains a Color4b object for each vertex. Only one of colorRefFloat, colorRefByte, colorRef3f, colorRef4f, colorRef3b, or colorRef4b may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all color array references are null and colors are enabled (i.e., the vertexFormat includes either COLOR_3 or COLOR_4), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
colors - an array of n colors to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE, or if the data mode is INTERLEAVED, or if the vertex color format is COLOR_3.
java.lang.IllegalArgumentException - if the specified array is non-null and any other color reference is also non-null.
ArrayIndexOutOfBoundsException - if colors.length < vertexCount.
Since:
Java 3D 1.2

getColorRef4b

public Color4b[] getColorRef4b()
Gets the Color4b color array reference.
Returns:
the current Color4b color array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setNormalRefFloat

public void setNormalRefFloat(float[] normals)
Sets the float normal array reference to the specified array. The array contains floating-point nx, ny, and nz values for each vertex (for a total of 3*n values, where n is the number of vertices). Only one of normalRefFloat or normalRef3f may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all normal array references are null and normals are enabled (i.e., the vertexFormat includes NORMAL), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
normals - an array of 3*n values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other normal reference is also non-null.
ArrayIndexOutOfBoundsException - if normals.length < (3 * vertexCount).
Since:
Java 3D 1.2

getNormalRefFloat

public float[] getNormalRefFloat()
Gets the float normal array reference.
Returns:
the current float normal array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setNormalRef3f

public void setNormalRef3f(Vector3f[] normals)
Sets the Vector3f normal array reference to the specified array. The array contains a Vector3f object for each vertex. Only one of normalRefFloat or normalRef3f may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all normal array references are null and normals are enabled (i.e., the vertexFormat includes NORMAL), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
normals - an array of n vectors to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other normal reference is also non-null.
ArrayIndexOutOfBoundsException - if normals.length < vertexCount.
Since:
Java 3D 1.2

getNormalRef3f

public Vector3f[] getNormalRef3f()
Gets the Vector3f normal array reference.
Returns:
the current Vector3f normal array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
Since:
Java 3D 1.2

setTexCoordRefFloat

public void setTexCoordRefFloat(int texCoordSet,
                                float[] texCoords)
Sets the float texture coordinate array reference for the specified texture coordinate set to the specified array. The array contains floating-point s, t, and, optionally, r values for each vertex (for a total of 2*n or 3*n values, where n is the number of vertices). Only one of texCoordRefFloat, texCoordRef2f, or texCoordRef3f may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all texCoord array references are null and texture coordinates are enabled (i.e., the vertexFormat includes either TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
texCoordSet - texture coordinate set in this geometry array
texCoords - an array of 2*n or 3*n values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
java.lang.IllegalArgumentException - if the specified array is non-null and any other texCoord reference is also non-null.
ArrayIndexOutOfBoundsException - if the vertex texture coordinate format is TEXTURE_COORDINATE_2 and texCoords.length < (2 * vertexCount), or if the vertex texCoord format is TEXTURE_COORDINATE_3 and texCoords.length < (3 * vertexCount), or if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat, or if texCoordSet is out of range.
Since:
Java 3D 1.2

getTexCoordRefFloat

public float[] getTexCoordRefFloat(int texCoordSet)
Gets the float texture coordinate array reference for the specified texture coordinate set.
Parameters:
texCoordSet - texture coordinate set in this geometry array
Returns:
the current float texture coordinate array reference for the specified texture coordinate set
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or texCoordSet is out of range.
Since:
Java 3D 1.2

setTexCoordRef2f

public void setTexCoordRef2f(int texCoordSet,
                             TexCoord2f[] texCoords)
Sets the TexCoord2f texture coordinate array reference for the specified texture coordinate set to the specified array. The array contains a TexCoord2f object for each vertex. Only one of texCoordRefFloat, texCoordRef2f, or texCoordRef3f may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all texCoord array references are null and texture coordinates are enabled (i.e., the vertexFormat includes either TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
texCoordSet - texture coordinate set in this geometry array
texCoords - an array of n TexCoords to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE, or if the data mode is INTERLEAVED, or if the texture coordinate format is TEXTURE_COORDINATE_3.
java.lang.IllegalArgumentException - if the specified array is non-null and any other texCoord reference is also non-null.
ArrayIndexOutOfBoundsException - if texCoords.length < vertexCount, or if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat, or if texCoordSet is out of range.
Since:
Java 3D 1.2

getTexCoordRef2f

public TexCoord2f[] getTexCoordRef2f(int texCoordSet)
Gets the TexCoord2f texture coordinate array reference for the specified texture coordinate set.
Parameters:
texCoordSet - texture coordinate set in this geometry array
Returns:
the current TexCoord2f texture coordinate array reference for the specified texture coordinate set
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or texCoordSet is out of range.
Since:
Java 3D 1.2

setTexCoordRef3f

public void setTexCoordRef3f(int texCoordSet,
                             TexCoord3f[] texCoords)
Sets the TexCoord3f texture coordinate array reference for the specified texture coordinate set to the specified array. The array contains a TexCoord3f object for each vertex. Only one of texCoordRefFloat, texCoordRef2f, or texCoordRef3f may be non-null (or they may all be null). An attempt to set more than one of these attributes to a non-null reference will result in an exception being thrown. If all texCoord array references are null and texture coordinates are enabled (i.e., the vertexFormat includes either TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3), then the entire geometry array object is treated as if it were null--any Shape3D or Morph node that uses this geometry array will not be drawn.
Parameters:
texCoordSet - texture coordinate set in this geometry array
texCoords - an array of n TexCoords to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE, or if the data mode is INTERLEAVED, or if the texture coordinate format is TEXTURE_COORDINATE_2.
java.lang.IllegalArgumentException - if the specified array is non-null and any other texCoord reference is also non-null.
ArrayIndexOutOfBoundsException - if texCoords.length < vertexCount, or if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat, or if texCoordSet is out of range.
Since:
Java 3D 1.2

getTexCoordRef3f

public TexCoord3f[] getTexCoordRef3f(int texCoordSet)
Gets the TexCoord3f texture coordinate array reference for the specified texture coordinate set.
Parameters:
texCoordSet - texture coordinate set in this geometry array
Returns:
the current TexCoord3f texture coordinate array reference for the specified texture coordinate set
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not BY_REFERENCE or if the data mode is INTERLEAVED.
ArrayIndexOutOfBoundsException - if neither of the TEXTURE_COORDINATE bits are set in the vertexFormat or texCoordSet is out of range.
Since:
Java 3D 1.2

setInterleavedVertices

public void setInterleavedVertices(float[] vertexData)
Sets the interleaved vertices array reference to the specified array. The vertex components must be stored in a predetermined order in the array. The order is: texture coordinates, colors, normals, and positional coordinates. In the case of texture coordinates, the values for each texture coordinate set are stored in order from 0 through texCoordSetCount-1. Only those components that are enabled appear in the vertex. The number of words per vertex depends on which vertex components are enabled. Texture coordinates, if enabled, use 2 words per texture coordinate set per vertex for TEXTURE_COORDINATE_2 or 3 words per texture coordinate set per vertex for TEXTURE_COORDINATE_3. Colors, if enabled, use 3 words per vertex for COLOR_3 or 4 words per vertex for COLOR_4. Normals, if enabled, use 3 words per vertex. Positional coordinates, which are always enabled, use 3 words per vertex. For example, the format of interleaved data for a GeometryArray object whose vertexFormat includes COORDINATES, COLOR_3, and NORMALS would be: red, green, blue, Nx, Ny, Nz, x, y, z. All components of a vertex are stored in adjacent memory locations. The first component of vertex 0 is stored beginning at index 0 in the array. The first component of vertex 1 is stored beginning at index words_per_vertex in the array. The total number of words needed to store n vertices is words_per_vertex*n.
Parameters:
vertexData - an array of vertex values to which a reference will be set.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not INTERLEAVED.
ArrayIndexOutOfBoundsException - if vertexData.length < (words_per_vertex * vertexCount)
Since:
Java 3D 1.2

getInterleavedVertices

public float[] getInterleavedVertices()
Gets the interleaved vertices array reference.
Returns:
the current interleaved vertices array reference.
Throws:
CapabilityNotSetException - if the appropriate capability is not set and this object is part of a live or compiled scene graph
java.lang.IllegalStateException - if the data mode for this geometry array object is not INTERLEAVED.
Since:
Java 3D 1.2