Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.media.j3d
Class GeometryStripArray

    java.lang.Object
      javax.media.j3d.SceneGraphObject
          javax.media.j3d.NodeComponent
              javax.media.j3d.Geometry
                  javax.media.j3d.GeometryArray
                      javax.media.j3d.GeometryStripArray

Direct Known Subclasses:
  LineStripArray, TriangleFanArray, TriangleStripArray

    public abstract class GeometryStripArray

extends GeometryArray

The GeometryStripArray object is an abstract class that is extended for a set of GeometryArray strip primitives. These include LINE_STRIP, TRIANGLE_STRIP, and TRIANGLE_FAN. In addition to specifying the array of vertex elements, which is inherited from GeometryArray, the GeometryStripArray class specifies the number of strips and an array of per-strip vertex counts that specify where the separate strips appear in the vertex array.

Field Summary

Fields inherited from class javax.media.j3d.GeometryArray
`ALLOW_COLOR_READ, ALLOW_COLOR_WRITE, ALLOW_COORDINATE_READ, ALLOW_COORDINATE_WRITE, ALLOW_COUNT_READ, ALLOW_COUNT_WRITE, ALLOW_FORMAT_READ, ALLOW_NORMAL_READ, ALLOW_NORMAL_WRITE, ALLOW_REF_DATA_READ, ALLOW_REF_DATA_WRITE, ALLOW_TEXCOORD_READ, ALLOW_TEXCOORD_WRITE, BY_REFERENCE, COLOR_3, COLOR_4, COORDINATES, INTERLEAVED, NORMALS, TEXTURE_COORDINATE_2, TEXTURE_COORDINATE_3, TEXTURE_COORDINATE_4, USE_COORD_INDEX_ONLY, USE_NIO_BUFFER`

Fields inherited from class javax.media.j3d.Geometry
`ALLOW_INTERSECT`

Constructor Summary
`GeometryStripArray(int vertexCount, int vertexFormat, int[] stripVertexCounts)` Constructs an empty GeometryStripArray object with the specified number of vertices, vertex format, and array of per-strip vertex counts.
`GeometryStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int[] stripVertexCounts)` Constructs an empty GeometryStripArray object with the specified number of vertices, vertex format, number of texture coordinate sets, texture coordinate mapping array, and array of per-strip vertex counts.

Method Summary
`int` | `getNumStrips()` Get number of strips in the GeometryStripArray.
`void` | `getStripVertexCounts(int[] stripVertexCounts)` Get a list of vertexCounts for each strip.
`void` | `setStripVertexCounts(int[] stripVertexCounts)` Sets the array of strip vertex counts.
`void` | `setValidVertexCount(int validVertexCount)` This method is not supported for geometry strip arrays.

Methods inherited from class javax.media.j3d.GeometryArray
`getColor, getColor, getColor, getColor, getColor, getColor, getColorRef3b, getColorRef3f, getColorRef4b, getColorRef4f, getColorRefBuffer, getColorRefByte, getColorRefFloat, getColors, getColors, getColors, getColors, getColors, getColors, getCoordinate, getCoordinate, getCoordinate, getCoordinate, getCoordinates, getCoordinates, getCoordinates, getCoordinates, getCoordRef3d, getCoordRef3f, getCoordRefBuffer, getCoordRefDouble, getCoordRefFloat, getInitialColorIndex, getInitialCoordIndex, getInitialNormalIndex, getInitialTexCoordIndex, getInitialVertexIndex, getInterleavedVertexBuffer, getInterleavedVertices, getNormal, getNormal, getNormalRef3f, getNormalRefBuffer, getNormalRefFloat, getNormals, getNormals, getTexCoordRef2f, getTexCoordRef3f, getTexCoordRefBuffer, getTexCoordRefFloat, getTexCoordSetCount, getTexCoordSetMap, getTexCoordSetMapLength, getTextureCoordinate, getTextureCoordinate, getTextureCoordinate, getTextureCoordinate, getTextureCoordinate, getTextureCoordinate, getTextureCoordinate, getTextureCoordinates, getTextureCoordinates, getTextureCoordinates, getTextureCoordinates, getTextureCoordinates, getTextureCoordinates, getTextureCoordinates, getValidVertexCount, getVertexCount, getVertexFormat, setColor, setColor, setColor, setColor, setColor, setColor, setColorRef3b, setColorRef3f, setColorRef4b, setColorRef4f, setColorRefBuffer, setColorRefByte, setColorRefFloat, setColors, setColors, setColors, setColors, setColors, setColors, setColors, setColors, setColors, setColors, setColors, setColors, setCoordinate, setCoordinate, setCoordinate, setCoordinate, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setCoordRef3d, setCoordRef3f, setCoordRefBuffer, setCoordRefDouble, setCoordRefFloat, setInitialColorIndex, setInitialCoordIndex, setInitialNormalIndex, setInitialTexCoordIndex, setInitialVertexIndex, setInterleavedVertexBuffer, setInterleavedVertices, setNormal, setNormal, setNormalRef3f, setNormalRefBuffer, setNormalRefFloat, setNormals, setNormals, setNormals, setNormals, setTexCoordRef2f, setTexCoordRef3f, setTexCoordRefBuffer, setTexCoordRefFloat, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, updateData`

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`

Constructor Detail

### GeometryStripArray

    public GeometryStripArray(int vertexCount,
                              int vertexFormat,
                              int[] stripVertexCounts)

  Constructs an empty GeometryStripArray object with the specified number of vertices, vertex format, and array of per-strip vertex counts.

  Parameters:
    `vertexCount` - the number of vertex elements in this array
    `vertexFormat` - a mask indicating which components are present in each vertex. This is specified as one or more individual flags that are bitwise "OR"ed together to describe the per-vertex data. The flags include: COORDINATES, to signal the inclusion of vertex positions--always present; NORMALS, to signal the inclusion of per vertex normals; one of COLOR_3, COLOR_4, to signal the inclusion of per vertex colors (without or with color information); and one of TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3, to signal the inclusion of per-vertex texture coordinates 2D or 3D.
    `stripVertexCounts` - array that specifies the count of the number of vertices for each separate strip. The length of this array is the number of separate strips. The sum of the elements in this array defines the total number of valid vertices that are rendered (validVertexCount).
  Throws:
    `java.lang.IllegalArgumentException` - if `validVertexCount > vertexCount`

### GeometryStripArray

    public GeometryStripArray(int vertexCount,
                              int vertexFormat,
                              int texCoordSetCount,
                              int[] texCoordSetMap,
                              int[] stripVertexCounts)

  Constructs an empty GeometryStripArray object with the specified number of vertices, vertex format, number of texture coordinate sets, texture coordinate mapping array, and array of per-strip vertex counts.

  Parameters:
    `vertexCount` - the number of vertex elements in this array

    `vertexFormat` - a mask indicating which components are present in each vertex. This is specified as one or more individual flags that are bitwise "OR"ed together to describe the per-vertex data. The flags include: COORDINATES, to signal the inclusion of vertex positions--always present; NORMALS, to signal the inclusion of per vertex normals; one of COLOR_3, COLOR_4, to signal the inclusion of per vertex colors (without or with color information); and one of TEXTURE_COORDINATE_2 or TEXTURE_COORDINATE_3, to signal the inclusion of per-vertex texture coordinates 2D or 3D.

    `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.

    `stripVertexCounts` - array that specifies the count of the number of vertices for each separate strip. The length of this array is the number of separate strips. The sum of the elements in this array defines the total number of valid vertices that are rendered (validVertexCount).
  Throws:
    `java.lang.IllegalArgumentException` - if `validVertexCount > vertexCount`
  Since:
    Java 3D 1.2

Method Detail

### getNumStrips

    public int getNumStrips()

  Get number of strips in the GeometryStripArray.

  Returns:
    numStrips number of strips

### setStripVertexCounts

    public void setStripVertexCounts(int[] stripVertexCounts)

  Sets the array of strip vertex counts. The length of this array is the number of separate strips. The elements in this array specify the number of vertices for each separate strip. The sum of the elements in this array defines the total number of valid vertices that are rendered (validVertexCount).

  Parameters:
    `stripVertexCounts` - array that specifies the count of the number of vertices for each separate strip.
  Throws:
    `java.lang.IllegalArgumentException` - if any of the following are true:
    `initialVertexIndex + validVertexCount > vertexCount`,
    `initialCoordIndex + validVertexCount > vertexCount`,
    `initialColorIndex + validVertexCount > vertexCount`,
    `initialNormalIndex + validVertexCount > vertexCount`,
    `initialTexCoordIndex + validVertexCount > vertexCount`

    `java.lang.ArrayIndexOutOfBoundsException` - if the geometry data format is `BY_REFERENCE` and any the following are true for non-null array references:
    `CoordRef.length` < num_words * (`initialCoordIndex + validVertexCount`)
    `ColorRef.length` < num_words * (`initialColorIndex + validVertexCount`)
    `NormalRef.length` < num_words * (`initialNormalIndex + validVertexCount`)
    `TexCoordRef.length` < num_words * (`initialTexCoordIndex + validVertexCount`)
    where num_words depends on which variant of `set` Array `Ref` is used.
  Since:
    Java 3D 1.3

### getStripVertexCounts

    public void getStripVertexCounts(int[] stripVertexCounts)

  Get a list of vertexCounts for each strip. The list is copied into the specified array. The array must be large enough to hold all of the ints.

  Parameters:
    `stripVertexCounts` - an array that will receive vertexCounts

### setValidVertexCount

    public void setValidVertexCount(int validVertexCount)

  This method is not supported for geometry strip arrays. The sum of the elements in the strip vertex counts array defines the valid vertex count.

  Overrides:
    `setValidVertexCount` in class `GeometryArray`
  Parameters:
    `validVertexCount` - the new valid vertex count.
  Throws:
    `java.lang.UnsupportedOperationException` - this method is not supported
  Since:
    Java 3D 1.3

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD