|
||||||||||
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 | +--javax.media.j3d.IndexedGeometryArray
The IndexedGeometryArray object contains separate integer arrays that index into the arrays of positional coordinates, colors, normals, and texture coordinates. These index arrays specify how vertices are connected to form geometry primitives. This class is extended to create the various indexed primitive types (e.g., lines, triangle strips, etc.).
Field Summary | |
static int |
ALLOW_COLOR_INDEX_READ
Specifies that this IndexedGeometryArray allows reading the array of color indices. |
static int |
ALLOW_COLOR_INDEX_WRITE
Specifies that this IndexedGeometryArray allows writing the array of color indices. |
static int |
ALLOW_COORDINATE_INDEX_READ
Specifies that this IndexedGeometryArray allows reading the array of coordinate indices. |
static int |
ALLOW_COORDINATE_INDEX_WRITE
Specifies that this IndexedGeometryArray allows writing the array of coordinate indices. |
static int |
ALLOW_NORMAL_INDEX_READ
Specifies that this IndexedGeometryArray allows reading the array of normal indices. |
static int |
ALLOW_NORMAL_INDEX_WRITE
Specifies that this IndexedGeometryArray allows writing the array of normal indices. |
static int |
ALLOW_TEXCOORD_INDEX_READ
Specifies that this IndexedGeometryArray allows reading the array of texture coordinate indices. |
static int |
ALLOW_TEXCOORD_INDEX_WRITE
Specifies that this IndexedGeometryArray allows writing the array of texture coordinate indices. |
Fields inherited from class javax.media.j3d.Geometry |
ALLOW_INTERSECT |
Constructor Summary | |
IndexedGeometryArray(int vertexCount,
int vertexFormat,
int indexCount)
Constructs an empty IndexedGeometryArray object with the specified number of vertices, vertex format, and number of indices. |
|
IndexedGeometryArray(int vertexCount,
int vertexFormat,
int texCoordSetCount,
int[] texCoordSetMap,
int indexCount)
Constructs an empty IndexedGeometryArray object with the specified number of vertices, vertex format, number of texture coordinate sets, texture coordinate mapping array, and number of indices. |
Method Summary | |
int |
getColorIndex(int index)
Retrieves the color index associated with the vertex at the specified index for this object. |
void |
getColorIndices(int index,
int[] colorIndices)
Retrieves the color indices associated with the vertices starting at the specified index for this object. |
int |
getCoordinateIndex(int index)
Retrieves the coordinate index associated with the vertex at the specified index for this object. |
void |
getCoordinateIndices(int index,
int[] coordinateIndices)
Retrieves the coordinate indices associated with the vertices starting at the specified index for this object. |
int |
getIndexCount()
Gets number of indices for this IndexedGeometryArray. |
int |
getInitialIndexIndex()
Gets the initial index index for this IndexedGeometryArray object. |
int |
getNormalIndex(int index)
Retrieves the normal index associated with the vertex at the specified index for this object. |
void |
getNormalIndices(int index,
int[] normalIndices)
Retrieves the normal indices associated with the vertices starting at the specified index for this object. |
int |
getTextureCoordinateIndex(int index)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinateIndex(int texCoordSet, ...) |
int |
getTextureCoordinateIndex(int texCoordSet,
int index)
Retrieves the texture coordinate index associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
getTextureCoordinateIndices(int index,
int[] texCoordIndices)
Deprecated. As of Java 3D version 1.2, replaced by getTextureCoordinateIndices(int texCoordSet, ...) |
void |
getTextureCoordinateIndices(int texCoordSet,
int index,
int[] texCoordIndices)
Retrieves the texture coordinate indices associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
int |
getValidIndexCount()
Gets the valid index count for this IndexedGeometryArray object. |
void |
setColorIndex(int index,
int colorIndex)
Sets the color index associated with the vertex at the specified index for this object. |
void |
setColorIndices(int index,
int[] colorIndices)
Sets the color indices associated with the vertices starting at the specified index for this object. |
void |
setCoordinateIndex(int index,
int coordinateIndex)
Sets the coordinate index associated with the vertex at the specified index for this object. |
void |
setCoordinateIndices(int index,
int[] coordinateIndices)
Sets the coordinate indices associated with the vertices starting at the specified index for this object. |
void |
setInitialColorIndex(int initialColorIndex)
This method is not supported for indexed geometry arrays. |
void |
setInitialCoordIndex(int initialCoordIndex)
This method is not supported for indexed geometry arrays. |
void |
setInitialIndexIndex(int initialIndexIndex)
Sets the initial index index for this IndexedGeometryArray object. |
void |
setInitialNormalIndex(int initialNormalIndex)
This method is not supported for indexed geometry arrays. |
void |
setInitialTexCoordIndex(int texCoordSet,
int initialTexCoordIndex)
This method is not supported for indexed geometry arrays. |
void |
setInitialVertexIndex(int initialVertexIndex)
This method is not supported for indexed geometry arrays. |
void |
setNormalIndex(int index,
int normalIndex)
Sets the normal index associated with the vertex at the specified index for this object. |
void |
setNormalIndices(int index,
int[] normalIndices)
Sets the normal indices associated with the vertices starting at the specified index for this object. |
void |
setTextureCoordinateIndex(int index,
int texCoordIndex)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinateIndex(int texCoordSet, ...) |
void |
setTextureCoordinateIndex(int texCoordSet,
int index,
int texCoordIndex)
Sets the texture coordinate index associated with the vertex at the specified index in the specified texture coordinate set for this object. |
void |
setTextureCoordinateIndices(int index,
int[] texCoordIndices)
Deprecated. As of Java 3D version 1.2, replaced by setTextureCoordinateIndices(int texCoordSet, ...) |
void |
setTextureCoordinateIndices(int texCoordSet,
int index,
int[] texCoordIndices)
Sets the texture coordinate indices associated with the vertices starting at the specified index in the specified texture coordinate set for this object. |
void |
setValidIndexCount(int validIndexCount)
Sets the valid index count for this IndexedGeometryArray object. |
void |
setValidVertexCount(int validVertexCount)
This method is not supported for indexed geometry arrays. |
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_INDEX_READ
public static final int ALLOW_COORDINATE_INDEX_WRITE
public static final int ALLOW_COLOR_INDEX_READ
public static final int ALLOW_COLOR_INDEX_WRITE
public static final int ALLOW_NORMAL_INDEX_READ
public static final int ALLOW_NORMAL_INDEX_WRITE
public static final int ALLOW_TEXCOORD_INDEX_READ
public static final int ALLOW_TEXCOORD_INDEX_WRITE
Constructor Detail |
public IndexedGeometryArray(int vertexCount, int vertexFormat, int indexCount)
vertexCount
- the number of vertex elements in this
IndexedGeometryArrayvertexFormat
- 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,
COLOR_4, to signal the inclusion of per vertex
colors (without or with color 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.indexCount
- the number of indices in this object. This
count is the maximum number of vertices that will be rendered.public IndexedGeometryArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int indexCount)
vertexCount
- the number of vertex elements in this
IndexedGeometryArrayvertexFormat
- 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,
COLOR_4, to signal the inclusion of per vertex
colors (without or with color 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.texCoordSetCount
- the number of texture coordinate sets
in this GeometryArray object. If vertexFormat
does not include one of TEXTURE_COORDINATE_2
,
TEXTURE_COORDINATE_3
or
TEXTURE_COORDINATE_4
, 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
,
TEXTURE_COORDINATE_3
or
TEXTURE_COORDINATE_4
, the
texCoordSetMap
array is not used.indexCount
- the number of indices in this object. This
count is the maximum number of vertices that will be rendered.Method Detail |
public int getIndexCount()
public void setValidIndexCount(int validIndexCount)
indexCount
.
validIndexCount
- the new valid index 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 either of the following is true:
validIndexCount < 0
, orinitialIndexIndex + validIndexCount > indexCount
java.lang.ArrayIndexOutOfBoundsException
- if any element in the range
[initialIndexIndex, initialIndexIndex+validIndexCount-1]
in the index array associated with any of the enabled vertex
components (coord, color, normal, texcoord) is out of range.
An element is out of range if it is less than 0 or is greater
than or equal to the number of vertices actually defined for
the particular component's array.public int getValidIndexCount()
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setInitialIndexIndex(int initialIndexIndex)
initialIndexIndex
- the new initial index 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 is true:
initialIndexIndex < 0
, orinitialIndexIndex + validIndexCount > indexCount
java.lang.ArrayIndexOutOfBoundsException
- if any element in the range
[initialIndexIndex, initialIndexIndex+validIndexCount-1]
in the index array associated with any of the enabled vertex
components (coord, color, normal, texcoord) is out of range.
An element is out of range if it is less than 0 or is greater
than or equal to the number of vertices actually defined for
the particular component's array.public int getInitialIndexIndex()
CapabilityNotSetException
- if the appropriate capability is
not set and this object is part of a live or compiled scene graphpublic void setInitialVertexIndex(int initialVertexIndex)
setInitialVertexIndex
in class GeometryArray
initialVertexIndex
- the new initial vertex index.
java.lang.UnsupportedOperationException
- this method is not supportedpublic void setInitialCoordIndex(int initialCoordIndex)
setInitialCoordIndex
in class GeometryArray
initialCoordIndex
- the new initial coordinate index.
java.lang.UnsupportedOperationException
- this method is not supportedpublic void setInitialColorIndex(int initialColorIndex)
setInitialColorIndex
in class GeometryArray
initialColorIndex
- the new initial color index.
java.lang.UnsupportedOperationException
- this method is not supportedpublic void setInitialNormalIndex(int initialNormalIndex)
setInitialNormalIndex
in class GeometryArray
initialNormalIndex
- the new initial normal index.
java.lang.UnsupportedOperationException
- this method is not supportedpublic void setInitialTexCoordIndex(int texCoordSet, int initialTexCoordIndex)
setInitialTexCoordIndex
in class GeometryArray
texCoordSet
- texture coordinate set in this geometry arrayinitialTexCoordIndex
- the new initial texture coordinate index.
java.lang.UnsupportedOperationException
- this method is not supportedpublic void setValidVertexCount(int validVertexCount)
setValidVertexCount
in class GeometryArray
validVertexCount
- the new valid vertex count.
java.lang.UnsupportedOperationException
- this method is not supportedpublic void setCoordinateIndex(int index, int coordinateIndex)
index
- the vertex indexcoordinateIndex
- the new coordinate index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if index is less than 0
or is greater than or equal to indexCountpublic void setCoordinateIndices(int index, int[] coordinateIndices)
index
- the vertex indexcoordinateIndices
- an array of coordinate indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if index is less than 0
or is greater than or equal to indexCountpublic void setColorIndex(int index, int colorIndex)
index
- the vertex indexcolorIndex
- the new color index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if index is less than 0
or is greater than or equal to indexCountpublic void setColorIndices(int index, int[] colorIndices)
index
- the vertex indexcolorIndices
- an array of color indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if index is less than 0
or is greater than or equal to indexCountpublic void setNormalIndex(int index, int normalIndex)
index
- the vertex indexnormalIndex
- the new normal index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if index is less than 0
or is greater than or equal to indexCountpublic void setNormalIndices(int index, int[] normalIndices)
index
- the vertex indexnormalIndices
- an array of normal indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if index is less than 0
or is greater than or equal to indexCountpublic void setTextureCoordinateIndex(int index, int texCoordIndex)
setTextureCoordinateIndex(int texCoordSet, ...)
public void setTextureCoordinateIndex(int texCoordSet, int index, int texCoordIndex)
texCoordSet
- texture coordinate set in this geometry arrayindex
- the vertex indextexCoordIndex
- the new texture coordinate index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.public void setTextureCoordinateIndices(int index, int[] texCoordIndices)
setTextureCoordinateIndices(int texCoordSet, ...)
public void setTextureCoordinateIndices(int texCoordSet, int index, int[] texCoordIndices)
texCoordSet
- texture coordinate set in this geometry arrayindex
- the vertex indextexCoordIndices
- an array of texture coordinate indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.public int getCoordinateIndex(int index)
index
- the vertex index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void getCoordinateIndices(int index, int[] coordinateIndices)
index
- the vertex indexcoordinateIndices
- array that will receive the coordinate indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic int getColorIndex(int index)
index
- the vertex index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void getColorIndices(int index, int[] colorIndices)
index
- the vertex indexcolorIndices
- array that will receive the color indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic int getNormalIndex(int index)
index
- the vertex index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void getNormalIndices(int index, int[] normalIndices)
index
- the vertex indexnormalIndices
- array that will receive the normal indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic int getTextureCoordinateIndex(int index)
getTextureCoordinateIndex(int texCoordSet, ...)
public int getTextureCoordinateIndex(int texCoordSet, int index)
texCoordSet
- texture coordinate set in this geometry arrayindex
- the vertex index
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.public void getTextureCoordinateIndices(int index, int[] texCoordIndices)
getTextureCoordinateIndices(int texCoordSet, ...)
public void getTextureCoordinateIndices(int texCoordSet, int index, int[] texCoordIndices)
texCoordSet
- texture coordinate set in this geometry arrayindex
- the vertex indextexCoordIndices
- array that will receive the texture coordinate
indices
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graph
java.lang.ArrayIndexOutOfBoundsException
- if neither of the
TEXTURE_COORDINATE
bits are set in the
vertexFormat
or if the index or
texCoordSet is out of range.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |