Package 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, ALLOW_VERTEX_ATTR_READ, ALLOW_VERTEX_ATTR_WRITE, BY_REFERENCE, BY_REFERENCE_INDICES, COLOR_3, COLOR_4, COORDINATES, INTERLEAVED, NORMALS, TEXTURE_COORDINATE_2, TEXTURE_COORDINATE_3, TEXTURE_COORDINATE_4, USE_COORD_INDEX_ONLY, USE_NIO_BUFFER, VERTEX_ATTRIBUTES`

### Fields inherited from class javax.media.j3d.Geometry

`ALLOW_INTERSECT`

## Constructor Summary

Constructors
Constructor
Description
`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.
`GeometryStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int[] stripVertexCounts)`
Constructs an empty GeometryStripArray object with the specified number of vertices, vertex format, number of texture coordinate sets, texture coordinate mapping array, vertex attribute count, vertex attribute sizes array, and array of per-strip vertex counts.

## Method Summary

Modifier and Type
Method
Description
`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, getInitialVertexAttrIndex, 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, getVertexAttr, getVertexAttr, getVertexAttr, getVertexAttr, getVertexAttrCount, getVertexAttrRefBuffer, getVertexAttrRefFloat, getVertexAttrs, getVertexAttrs, getVertexAttrs, getVertexAttrs, getVertexAttrSizes, 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, setInitialVertexAttrIndex, 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, setVertexAttr, setVertexAttr, setVertexAttr, setVertexAttr, setVertexAttrRefBuffer, setVertexAttrRefFloat, setVertexAttrs, setVertexAttrs, setVertexAttrs, setVertexAttrs, setVertexAttrs, setVertexAttrs, setVertexAttrs, setVertexAttrs, 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, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### 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` - see `GeometryArray(int,int)` for a description of this parameter.
  `vertexFormat` - see `GeometryArray(int,int)` for a description of this parameter.
  `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:
  `IllegalArgumentException` - if `validVertexCount > vertexCount` ;
  See `GeometryArray(int,int)` for more exceptions that can be thrown

### 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` - see `GeometryArray(int,int,int,int[])` for a description of this parameter.
  `vertexFormat` - see `GeometryArray(int,int,int,int[])` for a description of this parameter.
  `texCoordSetCount` - see `GeometryArray(int,int,int,int[])` for a description of this parameter.
  `texCoordSetMap` - see `GeometryArray(int,int,int,int[])` for a description of this parameter.
  `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:
  `IllegalArgumentException` - if `validVertexCount > vertexCount` ;
  See `GeometryArray(int,int,int,int[])` for more exceptions that can be thrown
Since:
  Java 3D 1.2

### GeometryStripArray

public GeometryStripArray(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap, int vertexAttrCount, int[] vertexAttrSizes, int[] stripVertexCounts)
Constructs an empty GeometryStripArray object with the specified number of vertices, vertex format, number of texture coordinate sets, texture coordinate mapping array, vertex attribute count, vertex attribute sizes array, and array of per-strip vertex counts.

Parameters:
  `vertexCount` - see `GeometryArray(int,int,int,int[],int,int[])` for a description of this parameter.
  `vertexFormat` - see `GeometryArray(int,int,int,int[],int,int[])` for a description of this parameter.
  `texCoordSetMap` - see `GeometryArray(int,int,int,int[],int,int[])` for a description of this parameter.
  `vertexAttrCount` - see `GeometryArray(int,int,int,int[],int,int[])` for a description of this parameter.
  `vertexAttrSizes` - see `GeometryArray(int,int,int,int[],int,int[])` for a description of this parameter.
  `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:
  `IllegalArgumentException` - if `validVertexCount > vertexCount` ;
  See `GeometryArray(int,int,int,int[],int,int[])` for more exceptions that can be thrown
Since:
  Java 3D 1.4

## Method Details

### 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:
  `IllegalArgumentException` - if any of the following are true:
  `initialVertexIndex + validVertexCount > vertexCount`,
  `initialCoordIndex + validVertexCount > vertexCount`,
  `initialColorIndex + validVertexCount > vertexCount`,
  `initialNormalIndex + validVertexCount > vertexCount`,
  `initialTexCoordIndex + validVertexCount > vertexCount`

  `ArrayIndexOutOfBoundsException` - if the geometry data format is `BY_REFERENCE` and any the following are true for non-null array references:
  `CoordRef.length` invalid input: '<' num_words * (`initialCoordIndex + validVertexCount`)
  `ColorRef.length` invalid input: '<' num_words * (`initialColorIndex + validVertexCount`)
  `NormalRef.length` invalid input: '<' num_words * (`initialNormalIndex + validVertexCount`)
  `TexCoordRef.length` invalid input: '<' 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:
  `UnsupportedOperationException` - this method is not supported
Since:
  Java 3D 1.3