|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.media.j3d.SceneGraphObject | +--javax.media.j3d.NodeComponent | +--javax.media.j3d.Geometry | +--javax.media.j3d.GeometryArray
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 (such as 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.
setCoordinate
,
setColors
, etc.) copy the data into this
GeometryArray. This is appropriate for many applications and
offers an application much flexibility in organizing its data.
This is the default mode.
BY_REFERENCE
bit in the
vertexFormat
field of the constructor for this
GeometryArray. In this mode, the various set methods for
coordinates, normals, colors, and texture coordinates are not used.
Instead, new methods are used to set a reference to user-supplied
coordinate, color, normal, and texture coordinate arrays (such as
setCoordRefFloat
, setColorRefFloat
,
etc.). Data in any array that is referenced by a live or compiled
GeometryArray object may only be modified via the
updateData
method (subject to the
ALLOW_REF_DATA_WRITE
capability bit). Applications
must exercise care not to violate this rule. If any referenced
geometry data is modified outside of the updateData
method, the results are undefined.
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. |
static int |
TEXTURE_COORDINATE_4
Specifies that this GeometryArray contains one or more arrays of 4D texture coordinates. |
static int |
USE_COORD_INDEX_ONLY
Specifies that only the coordinate indices are used for indexed geometry arrays. |
static int |
USE_NIO_BUFFER
Specifies that geometry by-reference data for this GeometryArray, whether interleaved or non-interleaved, is accessed via J3DBuffer objects that wrap NIO Buffer objects, rather than float, double, byte, or TupleXX arrays. |
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()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color3b arrays |
Color3f[] |
getColorRef3f()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color3f arrays |
Color4b[] |
getColorRef4b()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color4b arrays |
Color4f[] |
getColorRef4f()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color4f arrays |
J3DBuffer |
getColorRefBuffer()
Gets the color array buffer 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()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Point3d arrays |
Point3f[] |
getCoordRef3f()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Point3f arrays |
J3DBuffer |
getCoordRefBuffer()
Gets the coordinate array buffer 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. |
J3DBuffer |
getInterleavedVertexBuffer()
Gets the interleaved vertex array buffer reference. |
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()
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Vector3f arrays |
J3DBuffer |
getNormalRefBuffer()
Gets the normal array buffer 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)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for TexCoord2f arrays |
TexCoord3f[] |
getTexCoordRef3f(int texCoordSet)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for TexCoord3f arrays |
J3DBuffer |
getTexCoordRefBuffer(int texCoordSet)
Gets the texture coordinate array buffer 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 texCoordSet,
int index,
TexCoord4f 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 texCoordSet,
int index,
TexCoord4f[] 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)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color3b arrays |
void |
setColorRef3f(Color3f[] colors)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color3f arrays |
void |
setColorRef4b(Color4b[] colors)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color4b arrays |
void |
setColorRef4f(Color4f[] colors)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Color4f arrays |
void |
setColorRefBuffer(J3DBuffer colors)
Sets the color buffer reference to the specified buffer object. |
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)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Point3d arrays |
void |
setCoordRef3f(Point3f[] coords)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Point3f arrays |
void |
setCoordRefBuffer(J3DBuffer coords)
Sets the coordinate buffer reference to the specified buffer object. |
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 |
setInterleavedVertexBuffer(J3DBuffer vertexData)
Sets the interleaved vertex buffer reference to the specified buffer object. |
void |
setInterleavedVertices(float[] vertexData)
Sets the interleaved vertex 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)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for Vector3f arrays |
void |
setNormalRefBuffer(J3DBuffer normals)
Sets the normal buffer reference to the specified buffer object. |
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)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for TexCoord2f arrays |
void |
setTexCoordRef3f(int texCoordSet,
TexCoord3f[] texCoords)
Deprecated. As of Java 3D version 1.3, use geometry by-copy for TexCoord3f arrays |
void |
setTexCoordRefBuffer(int texCoordSet,
J3DBuffer texCoords)
Sets the texture coordinate array reference for the specified texture coordinate set to the specified buffer object. |
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 texCoordSet,
int index,
TexCoord4f 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 texCoordSet,
int index,
TexCoord4f[] 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,
TexCoord4f[] 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, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int ALLOW_COORDINATE_READ
public static final int ALLOW_COORDINATE_WRITE
public static final int ALLOW_COLOR_READ
public static final int ALLOW_COLOR_WRITE
public static final int ALLOW_NORMAL_READ
public static final int ALLOW_NORMAL_WRITE
public static final int ALLOW_TEXCOORD_READ
public static final int ALLOW_TEXCOORD_WRITE
public static final int ALLOW_COUNT_READ
public static final int ALLOW_COUNT_WRITE
public static final int ALLOW_FORMAT_READ
public static final int ALLOW_REF_DATA_READ
public static final int ALLOW_REF_DATA_WRITE
public static final int COORDINATES
public static final int NORMALS
public static final int COLOR_3
public static final int COLOR_4
public static final int TEXTURE_COORDINATE_2
public static final int TEXTURE_COORDINATE_3
public static final int TEXTURE_COORDINATE_4
public static final int BY_REFERENCE
public static final int INTERLEAVED
BY_REFERENCE
flag.
public static final int USE_NIO_BUFFER
BY_REFERENCE
flag.
NOTE: Use of this class requires version 1.4 of the JavaTM 2 Platform.
J3DBuffer
,
setCoordRefBuffer(J3DBuffer)
,
setColorRefBuffer(J3DBuffer)
,
setNormalRefBuffer(J3DBuffer)
,
setTexCoordRefBuffer(int,J3DBuffer)
,
setInterleavedVertexBuffer(J3DBuffer)
,
Constant Field Valuespublic static final int USE_COORD_INDEX_ONLY
Constructor Detail |
public GeometryArray(int vertexCount, int vertexFormat)
vertexCount
- the number of vertex elements in this GeometryArrayvertexFormat
- 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
, TEXTURE_COORDINATE_3
or TEXTURE_COORDINATE_4
,
to signal the
inclusion of per-vertex texture coordinates (2D, 3D or 4D);
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;
USE_NIO_BUFFER
, to indicate that the referenced data
is accessed via a J3DBuffer object that wraps an NIO buffer;
USE_COORD_INDEX_ONLY
,
to indicate that only the coordinate indices are used for indexed
geometry arrays.
java.lang.IllegalArgumentException
- if vertexCount < 0, if
vertexFormat does NOT include COORDINATES
,
if the USE_COORD_INDEX_ONLY
bit is set for non-indexed
geometry arrays (that is, GeometryArray objects that are not a
subclass of IndexedGeometryArray),
if the INTERLEAVED
bit is set without the
BY_REFERENCE
bit being set,
or if the USE_NIO_BUFFER
bit is set without the
BY_REFERENCE
bit being set.public GeometryArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap)
vertexCount
- the number of vertex elements in this
GeometryArrayvertexFormat
- 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
or TEXTURE_COORDINATE_4
,
to signal the
inclusion of per-vertex texture coordinates (2D , 3D or 4D);
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;
USE_NIO_BUFFER
, to indicate that the referenced data
is accessed via a J3DBuffer object that wraps an NIO buffer;
USE_COORD_INDEX_ONLY
,
to indicate that only the coordinate indices are used for indexed
geometry arrays.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.Method Detail |
public int getVertexCount()
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic int getVertexFormat()
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic int getTexCoordSetCount()
public int getTexCoordSetMapLength()
public void getTexCoordSetMap(int[] texCoordSetMap)
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.public void updateData(GeometryUpdater updater)
This method may also be used to atomically set multiple references (for example, to coordinate and color arrays) or to atomically change multiple data values through the geometry data copying methods.
updater
- object whose updateData callback method will be
called to update the data referenced by this GeometryArray.
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 graphpublic void setValidVertexCount(int validVertexCount)
vertexCount
.
validVertexCount
- the new valid vertex count.
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
java.lang.ArrayIndexOutOfBoundsException
- if the geometry data format
is BY_REFERENCE
and any the following
are true for non-null array references:
CoordRef.length
< num_words *
(initialCoordIndex + validVertexCount
),ColorRef.length
< num_words *
(initialColorIndex + validVertexCount
),NormalRef.length
< num_words *
(initialNormalIndex + validVertexCount
),TexCoordRef.length
< num_words *
(initialTexCoordIndex + validVertexCount
),InterleavedVertices.length
< words_per_vertex *
(initialVertexIndex + validVertexCount
)set
ArrayRef
is used, and
words_per_vertex depends on which vertex formats are enabled
for interleaved arrays.public int getValidVertexCount()
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setInitialVertexIndex(int initialVertexIndex)
BY_REFERENCE
or when the data mode is INTERLEAVED
.
initialVertexIndex
- the new initial vertex index.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.IllegalArgumentException
- if either of the following are
true:
initialVertexIndex < 0
orinitialVertexIndex + validVertexCount > vertexCount
java.lang.ArrayIndexOutOfBoundsException
- if the geometry data format
is INTERLEAVED
, the InterleavedVertices array is
non-null, and:
InterleavedVertices.length
< num_words *
(initialVertexIndex + validVertexCount
)java.lang.IllegalStateException
- if the data mode for this geometry
array object is BY_REFERENCE
and is not
INTERLEAVED
.public int getInitialVertexIndex()
BY_REFERENCE
or when the data mode is INTERLEAVED
.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setCoordinate(int index, float[] coordinate)
index
- destination vertex index in this geometry arraycoordinate
- source array of 3 values containing the new coordinate
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
.public void setCoordinate(int index, double[] coordinate)
index
- destination vertex index in this geometry arraycoordinate
- source array of 3 values containing the new coordinate
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
.public void setCoordinate(int index, Point3f coordinate)
index
- destination vertex index in this geometry arraycoordinate
- a point containing the new coordinate
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
.public void setCoordinate(int index, Point3d coordinate)
index
- destination vertex index in this geometry arraycoordinate
- a point containing the new coordinate
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
.public void setCoordinates(int index, float[] coordinates)
index
- starting destination vertex index in this geometry arraycoordinates
- source array of 3*n values containing n new coordinates
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
.public void setCoordinates(int index, double[] coordinates)
index
- starting destination vertex index in this geometry arraycoordinates
- source array of 3*n values containing n new coordinates
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
.public void setCoordinates(int index, Point3f[] coordinates)
index
- starting destination vertex index in this geometry arraycoordinates
- source array of points containing new coordinates
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
.public void setCoordinates(int index, Point3d[] coordinates)
index
- starting destination vertex index in this geometry arraycoordinates
- source array of points containing new coordinates
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
.public void setCoordinates(int index, float[] coordinates, int start, int length)
start
for length
vertices.
index
- starting destination vertex index in this geometry arraycoordinates
- source array of 3*n values containing n new coordinatesstart
- starting source vertex index in coordinates
array.length
- number of vertices to be copied.
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
.public void setCoordinates(int index, double[] coordinates, int start, int length)
start
for length
vertices.
index
- starting destination vertex index in this geometry arraycoordinates
- source array of 3*n values containing n new coordinatesstart
- starting source vertex index in coordinates
array.length
- number of vertices to be copied.
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
.public void setCoordinates(int index, Point3f[] coordinates, int start, int length)
start
for length
vertices.
index
- starting destination vertex index in this geometry arraycoordinates
- source array of points containing new coordinatesstart
- starting source vertex index in coordinates
array.length
- number of vertices to be copied.
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
.public void setCoordinates(int index, Point3d[] coordinates, int start, int length)
start
for length
vertices.
index
- starting destination vertex index in this geometry arraycoordinates
- source array of points containing new coordinatesstart
- starting source vertex index in coordinates
array.length
- number of vertices to be copied.
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
.public void setColor(int index, float[] color)
index
- destination vertex index in this geometry arraycolor
- source array of 3 or 4 values containing the new color
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColor(int index, byte[] color)
index
- destination vertex index in this geometry arraycolor
- source array of 3 or 4 values containing the new color
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColor(int index, Color3f color)
index
- destination vertex index in this geometry arraycolor
- a Color3f containing the new color
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColor(int index, Color4f color)
index
- destination vertex index in this geometry arraycolor
- a Color4f containing the new color
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColor(int index, Color3b color)
index
- destination vertex index in this geometry arraycolor
- a Color3b containing the new color
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColor(int index, Color4b color)
index
- destination vertex index in this geometry arraycolor
- a Color4b containing the new color
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, float[] colors)
index
- starting destination vertex index in this geometry arraycolors
- source array of 3*n or 4*n values containing n new colors
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, byte[] colors)
index
- starting destination vertex index in this geometry arraycolors
- source array of 3*n or 4*n values containing n new colors
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color3f[] colors)
index
- starting destination vertex index in this geometry arraycolors
- source array of Color3f objects containing new colors
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color4f[] colors)
index
- starting destination vertex index in this geometry arraycolors
- source array of Color4f objects containing new colors
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color3b[] colors)
index
- starting destination vertex index in this geometry arraycolors
- source array of Color3b objects containing new colors
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color4b[] colors)
index
- starting destination vertex index in this geometry arraycolors
- source array of Color4b objects containing new colors
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, float[] colors, int start, int length)
colors
starting at index start
for length
colors.
index
- starting destination vertex index in this geometry arraycolors
- source array of 3*n or 4*n values containing n new colorsstart
- starting source vertex index in colors
array.length
- number of colors to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, byte[] colors, int start, int length)
colors
starting at index start
for length
colors.
index
- starting destination vertex index in this geometry arraycolors
- source array of 3*n or 4*n values containing n new colorsstart
- starting source vertex index in colors
array.length
- number of colors to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color3f[] colors, int start, int length)
colors
starting at index start
for length
colors.
index
- starting destination vertex index in this geometry arraycolors
- source array of Color3f objects containing new colorsstart
- starting source vertex index in colors
array.length
- number of colors to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color4f[] colors, int start, int length)
colors
starting at index start
for length
colors.
index
- starting destination vertex index in this geometry arraycolors
- source array of Color4f objects containing new colorsstart
- starting source vertex index in colors
array.length
- number of colors to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color3b[] colors, int start, int length)
colors
starting at index start
for length
colors.
index
- starting destination vertex index in this geometry arraycolors
- source array of Color3b objects containing new colorsstart
- starting source vertex index in colors
array.length
- number of colors to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setColors(int index, Color4b[] colors, int start, int length)
colors
starting at index start
for length
colors.
index
- starting destination vertex index in this geometry arraycolors
- source array of Color4b objects containing new colorsstart
- starting source vertex index in colors
array.length
- number of colors to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setNormal(int index, float[] normal)
index
- destination vertex index in this geometry arraynormal
- source array of 3 values containing the new normal
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setNormal(int index, Vector3f normal)
index
- destination vertex index in this geometry arraynormal
- the vector containing the new normal
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setNormals(int index, float[] normals)
index
- starting destination vertex index in this geometry arraynormals
- source array of 3*n values containing n new normals
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setNormals(int index, Vector3f[] normals)
index
- starting destination vertex index in this geometry arraynormals
- source array of vectors containing new normals
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setNormals(int index, float[] normals, int start, int length)
normals
starting at index start
and ending at index start+length
.
index
- starting destination vertex index in this geometry arraynormals
- source array of 3*n values containing n new normalsstart
- starting source vertex index in normals
array.length
- number of normals to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setNormals(int index, Vector3f[] normals, int start, int length)
normals
starting at index start
and ending at index start+length
.
index
- starting destination vertex index in this geometry arraynormals
- source array of vectors containing new normalsstart
- starting source vertex index in normals
array.length
- number of normals to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.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
.public void setTextureCoordinate(int index, float[] texCoord)
setTextureCoordinate(int texCoordSet, ...)
public void setTextureCoordinate(int texCoordSet, int index, float[] texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- destination vertex index in this geometry arraytexCoord
- source array of 2, 3 or 4 values containing the new
texture coordinate
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinate(int index, Point2f texCoord)
setTextureCoordinate(int texCoordSet, TexCoord2f texCoord)
public void setTextureCoordinate(int texCoordSet, int index, TexCoord2f texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- destination vertex index in this geometry arraytexCoord
- the TexCoord2f containing the new texture coordinate
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinate(int index, Point3f texCoord)
setTextureCoordinate(int texCoordSet, TexCoord3f texCoord)
public void setTextureCoordinate(int texCoordSet, int index, TexCoord3f texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- destination vertex index in this geometry arraytexCoord
- the TexCoord3f containing the new texture coordinate
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinate(int texCoordSet, int index, TexCoord4f texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- destination vertex index in this geometry arraytexCoord
- the TexCoord4f containing the new texture coordinate
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int index, float[] texCoords)
setTextureCoordinates(int texCoordSet, ...)
public void setTextureCoordinates(int texCoordSet, int index, float[] texCoords)
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of 2*n, 3*n or 4*n values containing n new
texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int index, Point2f[] texCoords)
setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])
public void setTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords)
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of TexCoord2f objects containing new
texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int index, Point3f[] texCoords)
setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])
public void setTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords)
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of TexCoord3f objects containing new
texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int texCoordSet, int index, TexCoord4f[] texCoords)
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of TexCoord4f objects containing new
texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int index, float[] texCoords, int start, int length)
setTextureCoordinates(int texCoordSet, ...)
public void setTextureCoordinates(int texCoordSet, int index, float[] texCoords, int start, int length)
texCoords
starting at index start
and
ending at index start+length
.
index
- starting destination vertex index in this geometry arraytexCoords
- source array of 2*n , 3*n or 4*n values containing
n new * texture coordinatesstart
- starting source vertex index in texCoords
array.length
- number of texture Coordinates to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int index, Point2f[] texCoords, int start, int length)
setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[], ...)
public void setTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords, int start, int length)
texCoords
starting at index start
and
ending at index start+length
.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of TexCoord2f objects containing new
texture coordinatesstart
- starting source vertex index in texCoords
array.length
- number of texture Coordinates to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int index, Point3f[] texCoords, int start, int length)
setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[], ...)
public void setTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords, int start, int length)
start
and ending at index start+length
.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of TexCoord3f objects containing new
texture coordinatesstart
- starting source vertex index in texCoords
array.length
- number of texture Coordinates to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setTextureCoordinates(int texCoordSet, int index, TexCoord4f[] texCoords, int start, int length)
start
and ending at index start+length
.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting destination vertex index in this geometry arraytexCoords
- source array of TexCoord4f objects containing new
texture coordinatesstart
- starting source vertex index in texCoords
array.length
- number of texture Coordinates to be copied.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getCoordinate(int index, float[] coordinate)
texCoords
index
- source vertex index in this geometry arraycoordinate
- destination array of 3 values that will receive the coordinate
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
.public void getCoordinate(int index, double[] coordinate)
index
- source vertex index in this geometry arraycoordinate
- destination array of 3 values that will receive the coordinate
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
.public void getCoordinate(int index, Point3f coordinate)
index
- source vertex index in this geometry arraycoordinate
- a vector that will receive the coordinate
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
.public void getCoordinate(int index, Point3d coordinate)
index
- source vertex index in this geometry arraycoordinate
- a vector that will receive the coordinate
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
.public void getCoordinates(int index, float[] coordinates)
vertexCount-index
coordinates
are copied. If the destination array is larger than is needed
to hold the coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the coordinates, only as
many coordinates as the array will hold are copied.
index
- starting source vertex index in this geometry arraycoordinates
- destination array of 3*n values that will receive new coordinates
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
.public void getCoordinates(int index, double[] coordinates)
vertexCount-index
coordinates
are copied. If the destination array is larger than is needed
to hold the coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the coordinates, only as
many coordinates as the array will hold are copied.
index
- starting source vertex index in this geometry arraycoordinates
- destination array of 3*n values that will receive new coordinates
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
.public void getCoordinates(int index, Point3f[] coordinates)
vertexCount-index
coordinates
are copied. If the destination array is larger than is needed
to hold the coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the coordinates, only as
many coordinates as the array will hold are copied.
index
- starting source vertex index in this geometry arraycoordinates
- destination array of points that will receive new coordinates
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
.public void getCoordinates(int index, Point3d[] coordinates)
vertexCount-index
coordinates
are copied. If the destination array is larger than is needed
to hold the coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the coordinates, only as
many coordinates as the array will hold are copied.
index
- starting source vertex index in this geometry arraycoordinates
- destination array of points that will receive new coordinates
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
.public void getColor(int index, float[] color)
index
- source vertex index in this geometry arraycolor
- destination array of 3 or 4 values that will receive the color
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
.public void getColor(int index, byte[] color)
index
- source vertex index in this geometry arraycolor
- destination array of 3 or 4 values that will receive the color
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
.public void getColor(int index, Color3f color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the color
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
.public void getColor(int index, Color4f color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the color
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
.public void getColor(int index, Color3b color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the color
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
.public void getColor(int index, Color4b color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the color
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
.public void getColors(int index, float[] colors)
vertexCount-index
colors
are copied. If the destination array is larger than is needed
to hold the colors, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the colors, only as
many colors as the array will hold are copied.
index
- starting source vertex index in this geometry arraycolors
- destination array of 3*n or 4*n values that will
receive n new colors
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
.public void getColors(int index, byte[] colors)
vertexCount-index
colors
are copied. If the destination array is larger than is needed
to hold the colors, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the colors, only as
many colors as the array will hold are copied.
index
- starting source vertex index in this geometry arraycolors
- destination array of 3*n or 4*n values that will
receive new colors
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
.public void getColors(int index, Color3f[] colors)
vertexCount-index
colors
are copied. If the destination array is larger than is needed
to hold the colors, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the colors, only as
many colors as the array will hold are copied.
index
- starting source vertex index in this geometry arraycolors
- destination array of Color3f objects that will receive new colors
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
.public void getColors(int index, Color4f[] colors)
vertexCount-index
colors
are copied. If the destination array is larger than is needed
to hold the colors, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the colors, only as
many colors as the array will hold are copied.
index
- starting source vertex index in this geometry arraycolors
- destination array of Color4f objects that will receive new colors
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
.public void getColors(int index, Color3b[] colors)
vertexCount-index
colors
are copied. If the destination array is larger than is needed
to hold the colors, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the colors, only as
many colors as the array will hold are copied.
index
- starting source vertex index in this geometry arraycolors
- destination array of Color3b objects that will receive new colors
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
.public void getColors(int index, Color4b[] colors)
vertexCount-index
colors
are copied. If the destination array is larger than is needed
to hold the colors, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the colors, only as
many colors as the array will hold are copied.
index
- starting source vertex index in this geometry arraycolors
- destination array of Color4b objects that will receive new colors
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
.public void getNormal(int index, float[] normal)
index
- source vertex index in this geometry arraynormal
- destination array of 3 values that will receive the normal
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
.public void getNormal(int index, Vector3f normal)
index
- source vertex index in this geometry arraynormal
- the vector that will receive the normal
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
.public void getNormals(int index, float[] normals)
vertexCount-index
normals
are copied. If the destination array is larger than is needed
to hold the normals, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the normals, only as
many normals as the array will hold are copied.
index
- starting source vertex index in this geometry array
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
.public void getNormals(int index, Vector3f[] normals)
vertexCount-index
normals
are copied. If the destination array is larger than is needed
to hold the normals, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the normals, only as
many normals as the array will hold are copied.
index
- starting source vertex index in this geometry arraynormals
- destination array of vectors that will receive the normals
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
.public void getTextureCoordinate(int index, float[] texCoord)
getTextureCoordinate(int texCoordSet, ...)
public void getTextureCoordinate(int texCoordSet, int index, float[] texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- source vertex index in this geometry arraytexCoord
- array of 2, 3 or 4 values that will receive the
texture coordinate
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinate(int index, Point2f texCoord)
getTextureCoordinate(int texCoordSet, TexCoord2f texCoord)
public void getTextureCoordinate(int texCoordSet, int index, TexCoord2f texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- source vertex index in this geometry arraytexCoord
- the vector that will receive the texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinate(int index, Point3f texCoord)
getTextureCoordinate(int texCoordSet, TexCoord3f texCoord)
public void getTextureCoordinate(int texCoordSet, int index, TexCoord3f texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- source vertex index in this geometry arraytexCoord
- the vector that will receive the texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinate(int texCoordSet, int index, TexCoord4f texCoord)
texCoordSet
- texture coordinate set in this geometry arrayindex
- source vertex index in this geometry arraytexCoord
- the vector that will receive the texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinates(int index, float[] texCoords)
getTextureCoordinates(int texCoordSet, ...)
public void getTextureCoordinates(int texCoordSet, int index, float[] texCoords)
vertexCount-index
texture coordinates
are copied. If the destination array is larger than is needed
to hold the texture coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the texture coordinates, only as
many texture coordinates as the array will hold are copied.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting source vertex index in this geometry arraytexCoords
- destination array of 2*n , 3*n or 4*n values that
will receive n new texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinates(int index, Point2f[] texCoords)
getTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])
public void getTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords)
vertexCount-index
texture coordinates
are copied. If the destination array is larger than is needed
to hold the texture coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the texture coordinates, only as
many texture coordinates as the array will hold are copied.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting source vertex index in this geometry arraytexCoords
- destination array of TexCoord2f objects that will
receive the texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinates(int index, Point3f[] texCoords)
getTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])
public void getTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords)
vertexCount-index
texture coordinates
are copied. If the destination array is larger than is needed
to hold the texture coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the texture coordinates, only as
many texture coordinates as the array will hold are copied.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting source vertex index in this geometry arraytexCoords
- destination array of TexCoord3f objects that will
receive the texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void getTextureCoordinates(int texCoordSet, int index, TexCoord4f[] texCoords)
vertexCount-index
texture coordinates
are copied. If the destination array is larger than is needed
to hold the texture coordinates, the excess locations in the
array are not modified. If the destination array is smaller
than is needed to hold the texture coordinates, only as
many texture coordinates as the array will hold are copied.
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting source vertex index in this geometry arraytexCoords
- destination array of TexCoord4f objects that will
receive the texture coordinates
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if none 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
.public void setInitialCoordIndex(int initialCoordIndex)
BY_REFERENCE
and is not INTERLEAVED.
initialCoordIndex
- the new initial coordinate index.
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 either of the following are
true:
initialCoordIndex < 0
orinitialCoordIndex + validVertexCount > vertexCount
java.lang.ArrayIndexOutOfBoundsException
- if
the CoordRef array is non-null and:
CoordRef.length
< num_words *
(initialCoordIndex + validVertexCount
)setCoordRef
is used.public int getInitialCoordIndex()
BY_REFERENCE
and is not INTERLEAVED.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setInitialColorIndex(int initialColorIndex)
BY_REFERENCE
and is not INTERLEAVED.
initialColorIndex
- the new initial color index.
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 either of the following are
true:
initialColorIndex < 0
orinitialColorIndex + validVertexCount > vertexCount
java.lang.ArrayIndexOutOfBoundsException
- if
the ColorRef array is non-null and:
ColorRef.length
< num_words *
(initialColorIndex + validVertexCount
)setColorRef
is used.public int getInitialColorIndex()
BY_REFERENCE
and is not INTERLEAVED.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setInitialNormalIndex(int initialNormalIndex)
BY_REFERENCE
and is not INTERLEAVED.
initialNormalIndex
- the new initial normal index.
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 either of the following are
true:
initialNormalIndex < 0
orinitialNormalIndex + validVertexCount > vertexCount
java.lang.ArrayIndexOutOfBoundsException
- if normals
the NormalRef array is non-null and:
NormalRef.length
< num_words *
(initialNormalIndex + validVertexCount
)setNormalRef
is used.public int getInitialNormalIndex()
BY_REFERENCE
and is not INTERLEAVED.
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setInitialTexCoordIndex(int texCoordSet, int initialTexCoordIndex)
BY_REFERENCE
and is not INTERLEAVED.
texCoordSet
- texture coordinate set in this geometry arrayinitialTexCoordIndex
- the new initial texture coordinate index.
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 either of the following are
true:
initialTexCoordIndex < 0
orinitialTexCoordIndex + validVertexCount > vertexCount
java.lang.ArrayIndexOutOfBoundsException
- if
the TexCoordRef array is non-null and:
TexCoordRef.length
< num_words *
(initialTexCoordIndex + validVertexCount
)setTexCoordRef
is used.
public int getInitialTexCoordIndex(int texCoordSet)
BY_REFERENCE
and is not INTERLEAVED.
texCoordSet
- texture coordinate set in this geometry array
java.lang.ArrayIndexOutOfBoundsException
- if none 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 graphpublic void setCoordRefBuffer(J3DBuffer coords)
coords
- a J3DBuffer object to which a reference will be set.
The buffer contains an NIO buffer of 3*n float or
double values.
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the java.nio.Buffer
contained in the specified J3DBuffer is not a
java.nio.FloatBuffer or a java.nio.DoubleBuffer object.
java.lang.ArrayIndexOutOfBoundsException
- if
coords.getBuffer().limit() <
3 * (initialCoordIndex + validVertexCount)
.public J3DBuffer getCoordRefBuffer()
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.public void setCoordRefFloat(float[] coords)
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, 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.
coords
- an array of 3*n values to which a
reference will be set.
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the specified array is
non-null and any other coordinate reference is also non-null.
java.lang.ArrayIndexOutOfBoundsException
- if
coords.length < 3 * (initialCoordIndex + validVertexCount)
.public float[] getCoordRefFloat()
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.public void setCoordRefDouble(double[] coords)
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, 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.
coords
- an array of 3*n values to which a
reference will be set.
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the specified array is
non-null and any other coordinate reference is also non-null.
java.lang.ArrayIndexOutOfBoundsException
- if
coords.length < 3 * (initialCoordIndex + validVertexCount)
.public double[] getCoordRefDouble()
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.public void setCoordRef3f(Point3f[] coords)
public Point3f[] getCoordRef3f()
public void setCoordRef3d(Point3d[] coords)
public Point3d[] getCoordRef3d()
public void setColorRefBuffer(J3DBuffer colors)
COLOR_3
or
COLOR_4
), 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.
colors
- a J3DBuffer object to which a reference will be set.
The buffer contains an NIO buffer of 3*n or 4*n
float or byte values.
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the java.nio.Buffer
contained in the specified J3DBuffer is not a
java.nio.FloatBuffer or a java.nio.ByteBuffer object.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
COLOR
bits are set in the
vertexFormat
, or if
colors.getBuffer().limit() <
num_words *
(initialColorIndex + validVertexCount)
,
where num_words is 3 or 4 depending on the vertex color format.public J3DBuffer getColorRefBuffer()
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.public void setColorRefFloat(float[] colors)
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 (that is, the
vertexFormat includes either COLOR_3
or
COLOR_4
), 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.
colors
- an array of 3*n or 4*n values to which a
reference will be set.
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the specified array is
non-null and any other color reference is also non-null.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
COLOR
bits are set in the
vertexFormat
, or if
colors.length <
num_words *
(initialColorIndex + validVertexCount)
,
where num_words is 3 or 4 depending on the vertex color format.public float[] getColorRefFloat()
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.public void setColorRefByte(byte[] colors)
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 (that is, the
vertexFormat includes either COLOR_3
or
COLOR_4
), 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.
colors
- an array of 3*n or 4*n values to which a
reference will be set.
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the specified array is
non-null and any other color reference is also non-null.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
COLOR
bits are set in the
vertexFormat
, or if
colors.length <
num_words *
(initialColorIndex + validVertexCount)
,
where num_words is 3 or 4 depending on the vertex color format.public byte[] getColorRefByte()
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.public void setColorRef3f(Color3f[] colors)
public Color3f[] getColorRef3f()
public void setColorRef4f(Color4f[] colors)
public Color4f[] getColorRef4f()
public void setColorRef3b(Color3b[] colors)
public Color3b[] getColorRef3b()
public void setColorRef4b(Color4b[] colors)
public Color4b[] getColorRef4b()
public void setNormalRefBuffer(J3DBuffer normals)
NORMAL
), 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.
normals
- a J3DBuffer object to which a reference will be set.
The buffer contains an NIO buffer of 3*n float values.
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the java.nio.Buffer
contained in the specified J3DBuffer is not a
java.nio.FloatBuffer object.
java.lang.ArrayIndexOutOfBoundsException
- if
NORMALS
bit is not set in the
vertexFormat
, or if
normals.getBuffer().limit() <
3 * (initialNormalIndex + validVertexCount)
.public J3DBuffer getNormalRefBuffer()
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.public void setNormalRefFloat(float[] normals)
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 (that is, the
vertexFormat includes
NORMAL
), 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.
normals
- an array of 3*n values to which a
reference will be set.
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the specified array is
non-null and any other normal reference is also non-null.
java.lang.ArrayIndexOutOfBoundsException
- if
NORMALS
bit is not set in the
vertexFormat
, or if
normals.length < 3 * (initialNormalIndex + validVertexCount)
.public float[] getNormalRefFloat()
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.public void setNormalRef3f(Vector3f[] normals)
public Vector3f[] getNormalRef3f()
public void setTexCoordRefBuffer(int texCoordSet, J3DBuffer texCoords)
TEXTURE_COORDINATE_2
,
TEXTURE_COORDINATE_3
, or
TEXTURE_COORDINATE_4
), 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.
texCoordSet
- texture coordinate set in this geometry arraytexCoords
- a J3DBuffer object to which a reference will be set.
The buffer contains an NIO buffer of 2*n, 3*n or
4*n float values.
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the java.nio.Buffer
contained in the specified J3DBuffer is not a
java.nio.FloatBuffer object.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
, or if texCoordSet is out of range,
or if
texCoords.getBuffer().limit() <
num_words
* (initialTexCoordIndex + validVertexCount)
,
where num_words is 2, 3, or 4 depending on the vertex
texture coordinate format.public J3DBuffer getTexCoordRefBuffer(int texCoordSet)
texCoordSet
- texture coordinate set in this geometry array
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
,
is not USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
or texCoordSet is out of range.public void setTexCoordRefFloat(int texCoordSet, float[] texCoords)
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 (that is, the vertexFormat includes
TEXTURE_COORDINATE_2
,
TEXTURE_COORDINATE_3
, or
TEXTURE_COORDINATE_4
), 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.
texCoordSet
- texture coordinate set in this geometry arraytexCoords
- an array of 2*n, 3*n or
4*n values to
which a reference will be set.
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.IllegalArgumentException
- if the specified array is
non-null and any other texCoord reference is also non-null.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
, or if texCoordSet is out of range,
or if
texCoords.length <
num_words *
(initialTexCoordIndex + validVertexCount)
,
where num_words is 2, 3, or 4 depending on the vertex
texture coordinate format.public float[] getTexCoordRefFloat(int texCoordSet)
texCoordSet
- texture coordinate set in this geometry array
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
,
is USE_NIO_BUFFER
, or is INTERLEAVED
.
java.lang.ArrayIndexOutOfBoundsException
- if none of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
or texCoordSet is out of range.public void setTexCoordRef2f(int texCoordSet, TexCoord2f[] texCoords)
public TexCoord2f[] getTexCoordRef2f(int texCoordSet)
public void setTexCoordRef3f(int texCoordSet, TexCoord3f[] texCoords)
public TexCoord3f[] getTexCoordRef3f(int texCoordSet)
public void setInterleavedVertices(float[] vertexData)
TEXTURE_COORDINATE_2
, 3 words per texture
coordinate set per vertex for
TEXTURE_COORDINATE_3
or 4 words per texture
coordinate set per vertex for
TEXTURE_COORDINATE_4
. 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.
vertexData
- an array of vertex values to which a
reference will be set.
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
or is USE_NIO_BUFFER
.
java.lang.ArrayIndexOutOfBoundsException
- if
vertexData.length
< words_per_vertex *
(initialVertexIndex + validVertexCount
),
where words_per_vertex depends on which formats are enabled.public float[] getInterleavedVertices()
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
or is USE_NIO_BUFFER
.public void setInterleavedVertexBuffer(J3DBuffer vertexData)
TEXTURE_COORDINATE_2
, 3 words per texture
coordinate set per vertex for
TEXTURE_COORDINATE_3
or 4 words per texture
coordinate set per vertex for
TEXTURE_COORDINATE_4
. 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 buffer. The first component
of vertex 1 is stored beginning at index
words_per_vertex in the buffer. The total number of
words needed to store n vertices is
words_per_vertex*n.
vertexData
- a J3DBuffer object to which a reference will be set.
The buffer contains an NIO float buffer of
words_per_vertex*n values.
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
or is not USE_NIO_BUFFER
.
java.lang.IllegalArgumentException
- if the java.nio.Buffer
contained in the specified J3DBuffer is not a
java.nio.FloatBuffer object.
java.lang.ArrayIndexOutOfBoundsException
- if
vertexData.getBuffer().limit()
< words_per_vertex *
(initialVertexIndex + validVertexCount
),
where words_per_vertex depends on which formats are enabled.public J3DBuffer getInterleavedVertexBuffer()
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
or is not USE_NIO_BUFFER
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |