|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | 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 (e.g., lines, triangle strips, etc.). Vertex data may be passed to this geometry array in one of two ways: by copying the data into the array using the existing methods, or by passing a reference to the data.
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 (e.g.,
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. |
Fields inherited from class javax.media.j3d.Geometry |
ALLOW_INTERSECT |
Constructor Summary | |
GeometryArray(int vertexCount,
int vertexFormat)
Constructs an empty GeometryArray object with the specified number of vertices and vertex format. |
|
GeometryArray(int vertexCount,
int vertexFormat,
int texCoordSetCount,
int[] texCoordSetMap)
Constructs an empty GeometryArray object with the specified number of vertices, vertex format, number of texture coordinate sets, and texture coordinate mapping array. |
Method Summary | |
void |
getColor(int index,
byte[] color)
Gets the color associated with the vertex at the specified index for this object. |
void |
getColor(int index,
Color3b color)
Gets the color associated with the vertex at the specified index for this object. |
void |
getColor(int index,
Color3f color)
Gets the color associated with the vertex at the specified index for this object. |
void |
getColor(int index,
Color4b color)
Gets the color associated with the vertex at the specified index for this object. |
void |
getColor(int index,
Color4f color)
Gets the color associated with the vertex at the specified index for this object. |
void |
getColor(int index,
float[] color)
Gets the color associated with the vertex at the specified index for this object. |
Color3b[] |
getColorRef3b()
Gets the Color3b color array reference. |
Color3f[] |
getColorRef3f()
Gets the Color3f color array reference. |
Color4b[] |
getColorRef4b()
Gets the Color4b color array reference. |
Color4f[] |
getColorRef4f()
Gets the Color4f color array reference. |
byte[] |
getColorRefByte()
Gets the byte color array reference. |
float[] |
getColorRefFloat()
Gets the float color array reference. |
void |
getColors(int index,
byte[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. |
void |
getColors(int index,
Color3b[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. |
void |
getColors(int index,
Color3f[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. |
void |
getColors(int index,
Color4b[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. |
void |
getColors(int index,
Color4f[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. |
void |
getColors(int index,
float[] colors)
Gets the colors associated with the vertices starting at the specified index for this object. |
void |
getCoordinate(int index,
double[] coordinate)
Gets the coordinate associated with the vertex at the specified index for this object. |
void |
getCoordinate(int index,
float[] coordinate)
Gets the coordinate associated with the vertex at the specified index for this object using data in texCoords |
void |
getCoordinate(int index,
Point3d coordinate)
Gets the coordinate associated with the vertex at the specified index for this object. |
void |
getCoordinate(int index,
Point3f coordinate)
Gets the coordinate associated with the vertex at the specified index for this object. |
void |
getCoordinates(int index,
double[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. |
void |
getCoordinates(int index,
float[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. |
void |
getCoordinates(int index,
Point3d[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. |
void |
getCoordinates(int index,
Point3f[] coordinates)
Gets the coordinates associated with the vertices starting at the specified index for this object. |
Point3d[] |
getCoordRef3d()
Gets the Point3d coordinate array reference. |
Point3f[] |
getCoordRef3f()
Gets the Point3f coordinate array reference. |
double[] |
getCoordRefDouble()
Gets the double coordinate array reference. |
float[] |
getCoordRefFloat()
Gets the float coordinate array reference. |
int |
getInitialColorIndex()
Gets the initial color index for this GeometryArray object. |
int |
getInitialCoordIndex()
Gets the initial coordinate index for this GeometryArray object. |
int |
getInitialNormalIndex()
Gets the initial normal index for this GeometryArray object. |
int |
getInitialTexCoordIndex(int texCoordSet)
Gets the initial texture coordinate index for the specified texture coordinate set for this GeometryArray object. |
int |
getInitialVertexIndex()
Gets the initial vertex index for this GeometryArray object. |
float[] |
getInterleavedVertices()
Gets the interleaved vertices array reference. |
void |
getNormal(int index,
float[] normal)
Gets the normal associated with the vertex at the specified index for this object. |
void |
getNormal(int index,
Vector3f normal)
Gets the normal associated with the vertex at the specified index for this object. |
Vector3f[] |
getNormalRef3f()
Gets the Vector3f normal array reference. |
float[] |
getNormalRefFloat()
Gets the float normal array reference. |
void |
getNormals(int index,
float[] normals)
Gets the normals associated with the vertices starting at the specified index for this object. |
void |
getNormals(int index,
Vector3f[] normals)
Gets the normals associated with the vertices starting at the specified index for this object. |
TexCoord2f[] |
getTexCoordRef2f(int texCoordSet)
Gets the TexCoord2f texture coordinate array reference for the specified texture coordinate set. |
TexCoord3f[] |
getTexCoordRef3f(int texCoordSet)
Gets the TexCoord3f texture coordinate array reference for the specified texture coordinate set. |
float[] |
getTexCoordRefFloat(int texCoordSet)
Gets the float texture coordinate array reference for the specified texture coordinate set. |
int |
getTexCoordSetCount()
Retrieves the number of texture coordinate sets in this GeometryArray object. |
void |
getTexCoordSetMap(int[] texCoordSetMap)
Retrieves the texture coordinate set mapping array from this GeometryArray object. |
int |
getTexCoordSetMapLength()
Retrieves the length of the texture coordinate set mapping array of this GeometryArray object. |
void |
getTextureCoordinate(int index,
float[] texCoord)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, ...) |
void |
getTextureCoordinate(int texCoordSet,
int index,
float[] texCoord)
Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinate(int texCoordSet,
int index,
TexCoord2f texCoord)
Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinate(int texCoordSet,
int index,
TexCoord3f texCoord)
Gets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinate(int index,
Point2f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, TexCoord2f texCoord) |
void |
getTextureCoordinate(int index,
Point3f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinate(int texCoordSet, TexCoord3f texCoord) |
void |
getTextureCoordinates(int index,
float[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, ...) |
void |
getTextureCoordinates(int texCoordSet,
int index,
float[] texCoords)
Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinates(int texCoordSet,
int index,
TexCoord2f[] texCoords)
Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinates(int texCoordSet,
int index,
TexCoord3f[] texCoords)
Gets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinates(int index,
Point2f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, TexCoord2f texCoords[]) |
void |
getTextureCoordinates(int index,
Point3f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinates(int texCoordSet, TexCoord3f texCoords[]) |
int |
getValidVertexCount()
Gets the valid vertex count for this GeometryArray object. |
int |
getVertexCount()
Retrieves the number of vertices in this GeometryArray |
int |
getVertexFormat()
Retrieves the vertexFormat of this GeometryArray |
void |
setColor(int index,
byte[] color)
Sets the color associated with the vertex at the specified index for this object. |
void |
setColor(int index,
Color3b color)
Sets the color associated with the vertex at the specified index for this object. |
void |
setColor(int index,
Color3f color)
Sets the color associated with the vertex at the specified index for this object. |
void |
setColor(int index,
Color4b color)
Sets the color associated with the vertex at the specified index for this object. |
void |
setColor(int index,
Color4f color)
Sets the color associated with the vertex at the specified index for this object. |
void |
setColor(int index,
float[] color)
Sets the color associated with the vertex at the specified index for this object. |
void |
setColorRef3b(Color3b[] colors)
Sets the Color3b color array reference to the specified array. |
void |
setColorRef3f(Color3f[] colors)
Sets the Color3f color array reference to the specified array. |
void |
setColorRef4b(Color4b[] colors)
Sets the Color4b color array reference to the specified array. |
void |
setColorRef4f(Color4f[] colors)
Sets the Color4f color array reference to the specified array. |
void |
setColorRefByte(byte[] colors)
Sets the byte color array reference to the specified array. |
void |
setColorRefFloat(float[] colors)
Sets the float color array reference to the specified array. |
void |
setColors(int index,
byte[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. |
void |
setColors(int index,
byte[] colors,
int start,
int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors
starting at index start for length colors. |
void |
setColors(int index,
Color3b[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. |
void |
setColors(int index,
Color3b[] colors,
int start,
int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors
starting at index start for length colors. |
void |
setColors(int index,
Color3f[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. |
void |
setColors(int index,
Color3f[] colors,
int start,
int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors
starting at index start for length colors. |
void |
setColors(int index,
Color4b[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. |
void |
setColors(int index,
Color4b[] colors,
int start,
int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors
starting at index start for length colors. |
void |
setColors(int index,
Color4f[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. |
void |
setColors(int index,
Color4f[] colors,
int start,
int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors
starting at index start for length colors. |
void |
setColors(int index,
float[] colors)
Sets the colors associated with the vertices starting at the specified index for this object. |
void |
setColors(int index,
float[] colors,
int start,
int length)
Sets the colors associated with the vertices starting at the specified index for this object using data in colors
starting at index start for length colors. |
void |
setCoordinate(int index,
double[] coordinate)
Sets the coordinate associated with the vertex at the specified index. |
void |
setCoordinate(int index,
float[] coordinate)
Sets the coordinate associated with the vertex at the specified index for this object. |
void |
setCoordinate(int index,
Point3d coordinate)
Sets the coordinate associated with the vertex at the specified index for this object. |
void |
setCoordinate(int index,
Point3f coordinate)
Sets the coordinate associated with the vertex at the specified index for this object. |
void |
setCoordinates(int index,
double[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. |
void |
setCoordinates(int index,
double[] coordinates,
int start,
int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices. |
void |
setCoordinates(int index,
float[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. |
void |
setCoordinates(int index,
float[] coordinates,
int start,
int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices. |
void |
setCoordinates(int index,
Point3d[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. |
void |
setCoordinates(int index,
Point3d[] coordinates,
int start,
int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices. |
void |
setCoordinates(int index,
Point3f[] coordinates)
Sets the coordinates associated with the vertices starting at the specified index for this object. |
void |
setCoordinates(int index,
Point3f[] coordinates,
int start,
int length)
Sets the coordinates associated with the vertices starting at the specified index for this object using coordinate data starting from vertex index start for length vertices. |
void |
setCoordRef3d(Point3d[] coords)
Sets the Point3d coordinate array reference to the specified array. |
void |
setCoordRef3f(Point3f[] coords)
Sets the Point3f coordinate array reference to the specified array. |
void |
setCoordRefDouble(double[] coords)
Sets the double coordinate array reference to the specified array. |
void |
setCoordRefFloat(float[] coords)
Sets the float coordinate array reference to the specified array. |
void |
setInitialColorIndex(int initialColorIndex)
Sets the initial color index for this GeometryArray object. |
void |
setInitialCoordIndex(int initialCoordIndex)
Sets the initial coordinate index for this GeometryArray object. |
void |
setInitialNormalIndex(int initialNormalIndex)
Sets the initial normal index for this GeometryArray object. |
void |
setInitialTexCoordIndex(int texCoordSet,
int initialTexCoordIndex)
Sets the initial texture coordinate index for the specified texture coordinate set for this GeometryArray object. |
void |
setInitialVertexIndex(int initialVertexIndex)
Sets the initial vertex index for this GeometryArray object. |
void |
setInterleavedVertices(float[] vertexData)
Sets the interleaved vertices array reference to the specified array. |
void |
setNormal(int index,
float[] normal)
Sets the normal associated with the vertex at the specified index for this object. |
void |
setNormal(int index,
Vector3f normal)
Sets the normal associated with the vertex at the specified index for this object. |
void |
setNormalRef3f(Vector3f[] normals)
Sets the Vector3f normal array reference to the specified array. |
void |
setNormalRefFloat(float[] normals)
Sets the float normal array reference to the specified array. |
void |
setNormals(int index,
float[] normals)
Sets the normals associated with the vertices starting at the specified index for this object. |
void |
setNormals(int index,
float[] normals,
int start,
int length)
Sets the normals associated with the vertices starting at the specified index for this object using data in normals
starting at index start and ending at index start+length . |
void |
setNormals(int index,
Vector3f[] normals)
Sets the normals associated with the vertices starting at the specified index for this object. |
void |
setNormals(int index,
Vector3f[] normals,
int start,
int length)
Sets the normals associated with the vertices starting at the specified index for this object using data in normals
starting at index start and ending at index start+length . |
void |
setTexCoordRef2f(int texCoordSet,
TexCoord2f[] texCoords)
Sets the TexCoord2f texture coordinate array reference for the specified texture coordinate set to the specified array. |
void |
setTexCoordRef3f(int texCoordSet,
TexCoord3f[] texCoords)
Sets the TexCoord3f texture coordinate array reference for the specified texture coordinate set to the specified array. |
void |
setTexCoordRefFloat(int texCoordSet,
float[] texCoords)
Sets the float texture coordinate array reference for the specified texture coordinate set to the specified array. |
void |
setTextureCoordinate(int index,
float[] texCoord)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, ...) |
void |
setTextureCoordinate(int texCoordSet,
int index,
float[] texCoord)
Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinate(int texCoordSet,
int index,
TexCoord2f texCoord)
Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinate(int texCoordSet,
int index,
TexCoord3f texCoord)
Sets the texture coordinate associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinate(int index,
Point2f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, TexCoord2f texCoord) |
void |
setTextureCoordinate(int index,
Point3f texCoord)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinate(int texCoordSet, TexCoord3f texCoord) |
void |
setTextureCoordinates(int index,
float[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, ...) |
void |
setTextureCoordinates(int index,
float[] texCoords,
int start,
int length)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, ...) |
void |
setTextureCoordinates(int texCoordSet,
int index,
float[] texCoords)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinates(int texCoordSet,
int index,
float[] texCoords,
int start,
int length)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object using data in texCoords starting at index start and
ending at index start+length . |
void |
setTextureCoordinates(int texCoordSet,
int index,
TexCoord2f[] texCoords)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinates(int texCoordSet,
int index,
TexCoord2f[] texCoords,
int start,
int length)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object using data in texCoords starting at index start and
ending at index start+length . |
void |
setTextureCoordinates(int texCoordSet,
int index,
TexCoord3f[] texCoords)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinates(int texCoordSet,
int index,
TexCoord3f[] texCoords,
int start,
int length)
Sets the texture coordinates associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinates(int index,
Point2f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[]) |
void |
setTextureCoordinates(int index,
Point2f[] texCoords,
int start,
int length)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord2f texCoords[], ...) |
void |
setTextureCoordinates(int index,
Point3f[] texCoords)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[]) |
void |
setTextureCoordinates(int index,
Point3f[] texCoords,
int start,
int length)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinates(int texCoordSet, TexCoord3f texCoords[], ...) |
void |
setValidVertexCount(int validVertexCount)
Sets the valid vertex count for this GeometryArray object. |
void |
updateData(GeometryUpdater updater)
Updates geometry array data that is accessed by reference. |
Methods inherited from class javax.media.j3d.NodeComponent |
cloneNodeComponent,
cloneNodeComponent,
duplicateNodeComponent,
duplicateNodeComponent,
getDuplicateOnCloneTree,
setDuplicateOnCloneTree |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability,
duplicateSceneGraphObject,
getCapability,
getUserData,
isCompiled,
isLive,
setCapability,
setUserData,
updateNodeReferences |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
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 BY_REFERENCE
public static final int INTERLEAVED
BY_REFERENCE
flag.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
or TEXTURE_COORDINATE_3
,
to signal the
inclusion of per-vertex texture coordinates (2D or 3D);
BY_REFERENCE
, to indicate that the data is passed
by reference
rather than by copying; INTERLEAVED
, to indicate
that the referenced
data is interleaved in a single array.COORDINATES
, or if the INTERLEAVED
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
,
to signal the
inclusion of per-vertex texture coordinates (2D or 3D);
BY_REFERENCE
, to indicate that the data is passed
by reference
rather than by copying; INTERLEAVED
, to indicate
that the referenced
data is interleaved in a single array.texCoordSetCount
- the number of texture coordinate sets
in this GeometryArray object. If vertexFormat
does not include one of TEXTURE_COORDINATE_2
or
TEXTURE_COORDINATE_3
, the
texCoordSetCount
parameter is not used.texCoordSetMap
- an array that maps texture coordinate
sets to texture units. The array is indexed by texture unit
number for each texture unit in the associated Appearance
object. The values in the array specify the texture coordinate
set within this GeometryArray object that maps to the
corresponding texture
unit. All elements within the array must be less than
texCoordSetCount
. A negative value specifies that
no texture coordinate set maps to the texture unit
corresponding to the index. If there are more texture units in
any associated Appearance object than elements in the mapping
array, the extra elements are assumed to be -1. The same
texture coordinate set may be used for more than one texture
unit. Each texture unit in every associated Appearance must
have a valid source of texture coordinates: either a
non-negative texture coordinate set must be specified in the
mapping array or texture coordinate generation must be enabled.
Texture coordinate generation will take precedence for those
texture units for which a texture coordinate set is specified
and texture coordinate generation is enabled. If
vertexFormat
does not include one of
TEXTURE_COORDINATE_2
or
TEXTURE_COORDINATE_3
, the
texCoordSetMap
array is not used. The following example
illustrates the use of the texCoordSetMap
array.
vertexCount < 0
, if vertexFormat does
NOT include COORDINATES
, if the
INTERLEAVED
bit is set without the
BY_REFERENCE
bit being set, if
texCoordSetCount < 0
, or if any element
in texCoordSetMap[] >= texCoordSetCount
.Method Detail |
public int getVertexCount()
public int getVertexFormat()
public 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 (e.g., to coordinate and color arrays) or 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.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.validVertexCount < 0
,initialVertexIndex + validVertexCount > vertexCount
,initialCoordIndex + validVertexCount > vertexCount
,initialColorIndex + validVertexCount > vertexCount
,initialNormalIndex + validVertexCount > vertexCount
,initialTexCoordIndex + validVertexCount > vertexCount
public int getValidVertexCount()
public void setInitialVertexIndex(int initialVertexIndex)
BY_REFERENCE
.initialVertexIndex
- the new initial vertex index.initialVertexIndex < 0
or
initialVertexIndex + validVertexCount > vertexCount
BY_REFERENCE
.public int getInitialVertexIndex()
BY_REFERENCE
.public void setCoordinate(int index, float[] coordinate)
index
- destination vertex index in this geometry arraycoordinate
- source array of 3 values containing the new coordinateBY_REFERENCE
.public void setCoordinate(int index, double[] coordinate)
index
- destination vertex index in this geometry arraycoordinate
- source array of 3 values containing the new coordinateBY_REFERENCE
.public void setCoordinate(int index, Point3f coordinate)
index
- destination vertex index in this geometry arraycoordinate
- a point containing the new coordinateBY_REFERENCE
.public void setCoordinate(int index, Point3d coordinate)
index
- destination vertex index in this geometry arraycoordinate
- a point containing the new coordinateBY_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 coordinatesBY_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 coordinatesBY_REFERENCE
.public void setCoordinates(int index, Point3f[] coordinates)
index
- starting destination vertex index in this geometry arraycoordinates
- source array of points containing new coordinatesBY_REFERENCE
.public void setCoordinates(int index, Point3d[] coordinates)
index
- starting destination vertex index in this geometry arraycoordinates
- source array of points containing new coordinatesBY_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.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.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.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.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 colorvertexFormat
or array index for element is out of bounds.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 colorvertexFormat
or array index for element is out of bounds.BY_REFERENCE
.public void setColor(int index, Color3f color)
index
- destination vertex index in this geometry arraycolor
- a Color3f containing the new colorvertexFormat
or array index for element is out of bounds.BY_REFERENCE
.public void setColor(int index, Color4f color)
index
- destination vertex index in this geometry arraycolor
- a Color4f containing the new colorvertexFormat
or array index for element is out of bounds.BY_REFERENCE
.public void setColor(int index, Color3b color)
index
- destination vertex index in this geometry arraycolor
- a Color3b containing the new colorvertexFormat
or array index for element is out of bounds.BY_REFERENCE
.public void setColor(int index, Color4b color)
index
- destination vertex index in this geometry arraycolor
- a Color4b containing the new colorvertexFormat
or array index for element is out of bounds.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 colorsvertexFormat
or array index for element is out of bounds.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 colorsvertexFormat
or array index for element is out of bounds.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 colorsvertexFormat
or array index for element is out of bounds.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 colorsvertexFormat
or array index for element is out of bounds.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 colorsvertexFormat
or array index for element is out of bounds.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 colorsvertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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 normalvertexFormat
or array index for element is out of bounds.BY_REFERENCE
.public void setNormal(int index, Vector3f normal)
index
- destination vertex index in this geometry arraynormal
- the vector containing the new normalvertexFormat
or array index for element is out of bounds.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 normalsvertexFormat
or array index for element is out of bounds.BY_REFERENCE
.public void setNormals(int index, Vector3f[] normals)
index
- starting destination vertex index in this geometry arraynormals
- source array of vectors containing new normalsvertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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.vertexFormat
or array index for element is out of bounds.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 or 3 values containing the new
texture coordinateTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinateTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinateTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 or 3*n values containing n new
texture coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 or 3*n values containing n new
texture coordinatesstart
- starting source vertex index in texCoords
array.length
- number of texture Coordinates to be copied.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinateBY_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 coordinateBY_REFERENCE
.public void getCoordinate(int index, Point3f coordinate)
index
- source vertex index in this geometry arraycoordinate
- a vector that will receive the coordinateBY_REFERENCE
.public void getCoordinate(int index, Point3d coordinate)
index
- source vertex index in this geometry arraycoordinate
- a vector that will receive the coordinateBY_REFERENCE
.public void getCoordinates(int index, float[] coordinates)
index
- starting source vertex index in this geometry arraycoordinates
- destination array of 3*n values that will receive new coordinatesBY_REFERENCE
.public void getCoordinates(int index, double[] coordinates)
index
- starting source vertex index in this geometry arraycoordinates
- destination array of 3*n values that will receive new coordinatesBY_REFERENCE
.public void getCoordinates(int index, Point3f[] coordinates)
index
- starting source vertex index in this geometry arraycoordinates
- destination array of points that will receive new coordinatesBY_REFERENCE
.public void getCoordinates(int index, Point3d[] coordinates)
index
- starting source vertex index in this geometry arraycoordinates
- destination array of points that will receive new coordinatesBY_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 colorBY_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 colorBY_REFERENCE
.public void getColor(int index, Color3f color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the colorBY_REFERENCE
.public void getColor(int index, Color4f color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the colorBY_REFERENCE
.public void getColor(int index, Color3b color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the colorBY_REFERENCE
.public void getColor(int index, Color4b color)
index
- source vertex index in this geometry arraycolor
- a vector that will receive the colorBY_REFERENCE
.public void getColors(int index, float[] colors)
index
- starting source vertex index in this geometry arraycolors
- destination array of 3*n or 4*n values that will
receive n new colorsBY_REFERENCE
.public void getColors(int index, byte[] colors)
index
- starting source vertex index in this geometry arraycolors
- destination array of 3*n or 4*n values that will
receive new colorsBY_REFERENCE
.public void getColors(int index, Color3f[] colors)
index
- starting source vertex index in this geometry arraycolors
- destination array of Color3f objects that will receive new colorsBY_REFERENCE
.public void getColors(int index, Color4f[] colors)
index
- starting source vertex index in this geometry arraycolors
- destination array of Color4f objects that will receive new colorsBY_REFERENCE
.public void getColors(int index, Color3b[] colors)
index
- starting source vertex index in this geometry arraycolors
- destination array of Color3b objects that will receive new colorsBY_REFERENCE
.public void getColors(int index, Color4b[] colors)
index
- starting source vertex index in this geometry arraycolors
- destination array of Color4b objects that will receive new colorsBY_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 normalBY_REFERENCE
.public void getNormal(int index, Vector3f normal)
index
- source vertex index in this geometry arraynormal
- the vector that will receive the normalBY_REFERENCE
.public void getNormals(int index, float[] normals)
index
- starting source vertex index in this geometry arraynormal
- destination array of 3*n values that will receive the normalBY_REFERENCE
.public void getNormals(int index, Vector3f[] normals)
index
- starting source vertex index in this geometry arraynormals
- destination array of vectors that will receive the normalsBY_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 or 3 values that will receive the
texture coordinateTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.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 coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.BY_REFERENCE
.public void getTextureCoordinates(int index, float[] texCoords)
getTextureCoordinates(int texCoordSet, ...)
public void getTextureCoordinates(int texCoordSet, int index, float[] texCoords)
texCoordSet
- texture coordinate set in this geometry arrayindex
- starting source vertex index in this geometry arraytexCoords
- destination array of 2*n or 3*n values that
will receive n new texture coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.BY_REFERENCE
.public void getTextureCoordinates(int index, Point2f[] texCoords)
getTextureCoordinates(int texCoordSet, TexCoord2f texCoords[])
public void getTextureCoordinates(int texCoordSet, int index, TexCoord2f[] texCoords)
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 coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.BY_REFERENCE
.public void getTextureCoordinates(int index, Point3f[] texCoords)
getTextureCoordinates(int texCoordSet, TexCoord3f texCoords[])
public void getTextureCoordinates(int texCoordSet, int index, TexCoord3f[] texCoords)
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 coordinatesTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.BY_REFERENCE
.public void setInitialCoordIndex(int initialCoordIndex)
BY_REFERENCE
.initialCoordIndex
- the new initial coordinate index.initialCoordIndex < 0
or
initialCoordIndex + validVertexCount > vertexCount
BY_REFERENCE
.public int getInitialCoordIndex()
BY_REFERENCE
.public void setInitialColorIndex(int initialColorIndex)
BY_REFERENCE
.initialColorIndex
- the new initial color index.initialColorIndex < 0
or
initialColorIndex + validVertexCount > vertexCount
BY_REFERENCE
.public int getInitialColorIndex()
BY_REFERENCE
.public void setInitialNormalIndex(int initialNormalIndex)
BY_REFERENCE
.initialNormalIndex
- the new initial normal index.initialNormalIndex < 0
or
initialNormalIndex + validVertexCount > vertexCount
BY_REFERENCE
.public int getInitialNormalIndex()
BY_REFERENCE
.public void setInitialTexCoordIndex(int texCoordSet, int initialTexCoordIndex)
BY_REFERENCE
.texCoordSet
- texture coordinate set in this geometry arrayinitialTexCoordIndex
- the new initial texture coordinate index.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if texCoordSet is out of range.initialTexCoordIndex < 0
or
initialTexCoordIndex + validVertexCount > vertexCount
BY_REFERENCE
.public int getInitialTexCoordIndex(int texCoordSet)
BY_REFERENCE
.texCoordSet
- texture coordinate set in this geometry arrayTEXTURE_COORDINATE
bits are set in the
vertexFormat
or if texCoordSet is out of range.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, then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.coords
- an array of 3*n values to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.coords.length < (3 * vertexCount)
.public float[] getCoordRefFloat()
BY_REFERENCE
or if the data mode
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, then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.coords
- an array of 3*n values to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.coords.length < (3 * vertexCount)
.public double[] getCoordRefDouble()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setCoordRef3f(Point3f[] 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, then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.coords
- an array of n points to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.coords.length < vertexCount
.public Point3f[] getCoordRef3f()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setCoordRef3d(Point3d[] 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, then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.coords
- an array of n points to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.coords.length < vertexCount
.public Point3d[] getCoordRef3d()
BY_REFERENCE
or if the data mode
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 (i.e., the
vertexFormat includes either COLOR_3
or
COLOR_4
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.colors
- an array of 3*n or 4*n values to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.COLOR_3
and
colors.length < (3 * vertexCount)
or if the vertex
color format is COLOR_4
and
colors.length < (4 * vertexCount)
.public float[] getColorRefFloat()
BY_REFERENCE
or if the data mode
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 (i.e., the
vertexFormat includes either COLOR_3
or
COLOR_4
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.colors
- an array of 3*n or 4*n values to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.COLOR_3
and
colors.length < (3 * vertexCount)
or if the vertex
color format is COLOR_4
and
colors.length < (4 * vertexCount)
.public byte[] getColorRefByte()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setColorRef3f(Color3f[] 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 (i.e., the
vertexFormat includes either COLOR_3
or
COLOR_4
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.colors
- an array of n colors to which a
reference will be set.BY_REFERENCE
, or if the data mode
is INTERLEAVED
, or if the vertex color format is
COLOR_4
.colors.length < vertexCount
.public Color3f[] getColorRef3f()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setColorRef4f(Color4f[] 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 (i.e., the
vertexFormat includes either COLOR_3
or
COLOR_4
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.colors
- an array of n colors to which a
reference will be set.BY_REFERENCE
, or if the data mode
is INTERLEAVED
, or if the vertex color format is
COLOR_3
.colors.length < vertexCount
.public Color4f[] getColorRef4f()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setColorRef3b(Color3b[] 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 (i.e., the
vertexFormat includes either COLOR_3
or
COLOR_4
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.colors
- an array of n colors to which a
reference will be set.BY_REFERENCE
, or if the data mode
is INTERLEAVED
, or if the vertex color format is
COLOR_4
.colors.length < vertexCount
.public Color3b[] getColorRef3b()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setColorRef4b(Color4b[] 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 (i.e., the
vertexFormat includes either COLOR_3
or
COLOR_4
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.colors
- an array of n colors to which a
reference will be set.BY_REFERENCE
, or if the data mode
is INTERLEAVED
, or if the vertex color format is
COLOR_3
.colors.length < vertexCount
.public Color4b[] getColorRef4b()
BY_REFERENCE
or if the data mode
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 (i.e., the
vertexFormat includes
NORMAL
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.normals
- an array of 3*n values to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.normals.length < (3 * vertexCount)
.public float[] getNormalRefFloat()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.public void setNormalRef3f(Vector3f[] 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 (i.e., the
vertexFormat includes
NORMAL
), then the entire geometry array object is
treated as if it were null--any Shape3D or Morph node that uses
this geometry array will not be drawn.normals
- an array of n vectors to which a
reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.normals.length < vertexCount
.public Vector3f[] getNormalRef3f()
BY_REFERENCE
or if the data mode
is INTERLEAVED
.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 (i.e., the vertexFormat includes either
TEXTURE_COORDINATE_2
or
TEXTURE_COORDINATE_3
), then the entire geometry
array object is treated as if it were null--any Shape3D or
Morph node that uses this geometry array will not be drawn.texCoordSet
- texture coordinate set in this geometry arraytexCoords
- an array of 2*n or 3*n values to
which a reference will be set.BY_REFERENCE
or if the data mode
is INTERLEAVED
.TEXTURE_COORDINATE_2
and
texCoords.length < (2 * vertexCount)
, or if the
vertex texCoord format is TEXTURE_COORDINATE_3
and
texCoords.length < (3 * vertexCount)
,
or if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
, or if texCoordSet is out of range.public float[] getTexCoordRefFloat(int texCoordSet)
texCoordSet
- texture coordinate set in this geometry arrayBY_REFERENCE
or if the data mode
is INTERLEAVED
.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or texCoordSet is out of range.public void setTexCoordRef2f(int texCoordSet, TexCoord2f[] 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 (i.e., the vertexFormat includes either
TEXTURE_COORDINATE_2
or
TEXTURE_COORDINATE_3
), then the entire geometry
array object is treated as if it were null--any Shape3D or
Morph node that uses this geometry array will not be drawn.texCoordSet
- texture coordinate set in this geometry arraytexCoords
- an array of n TexCoords to
which a reference will be set.BY_REFERENCE
, or if the data mode
is INTERLEAVED
, or if the texture coordinate format is
TEXTURE_COORDINATE_3
.texCoords.length < vertexCount
,
or if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
, or if texCoordSet is out of range.public TexCoord2f[] getTexCoordRef2f(int texCoordSet)
texCoordSet
- texture coordinate set in this geometry arrayBY_REFERENCE
or if the data mode
is INTERLEAVED
.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or texCoordSet is out of range.public void setTexCoordRef3f(int texCoordSet, TexCoord3f[] 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 (i.e., the vertexFormat includes either
TEXTURE_COORDINATE_2
or
TEXTURE_COORDINATE_3
), then the entire geometry
array object is treated as if it were null--any Shape3D or
Morph node that uses this geometry array will not be drawn.texCoordSet
- texture coordinate set in this geometry arraytexCoords
- an array of n TexCoords to
which a reference will be set.BY_REFERENCE
, or if the data mode
is INTERLEAVED
, or if the texture coordinate format is
TEXTURE_COORDINATE_2
.texCoords.length < vertexCount
,
or if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
, or if texCoordSet is out of range.public TexCoord3f[] getTexCoordRef3f(int texCoordSet)
texCoordSet
- texture coordinate set in this geometry arrayBY_REFERENCE
or if the data mode
is INTERLEAVED
.TEXTURE_COORDINATE
bits are set in the
vertexFormat
or texCoordSet is out of range.public void setInterleavedVertices(float[] vertexData)
TEXTURE_COORDINATE_2
or 3 words per texture
coordinate set per vertex for
TEXTURE_COORDINATE_3
. Colors, if enabled, use 3
words per vertex for COLOR_3
or 4 words per vertex
for COLOR_4
. Normals, if enabled, use 3 words per
vertex. Positional coordinates, which are always enabled, use
3 words per vertex. For example, the format of interleaved
data for a GeometryArray object whose vertexFormat includes
COORDINATES
, COLOR_3
, and
NORMALS
would be: red, green,
blue, Nx, Ny, Nz, x,
y, z. All components of a vertex are stored in
adjacent memory locations. The first component of vertex 0 is
stored beginning at index 0 in the array. The first component
of vertex 1 is stored beginning at index
words_per_vertex in the array. The total number of
words needed to store n vertices is
words_per_vertex*n.vertexData
- an array of vertex values to which a
reference will be set.INTERLEAVED
.vertexData.length
< (words_per_vertex *
vertexCount
)public float[] getInterleavedVertices()
INTERLEAVED
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |