javax.media.j3d
Class CompressedGeometryHeader

java.lang.Object
  extended by javax.media.j3d.CompressedGeometryHeader

public class CompressedGeometryHeader
extends java.lang.Object

The CompressedGeometrHeader object is used in conjunction with the CompressedGeometry object. The CompressedGeometrHeader object contains information specific to the compressed geometry stored in CompressedGeometry NodeComponent object. This information is used to aid the decompression of the compressed geometry.

All instance data is declared public and no get or set methods are provided.

See Also:
CompressedGeometry

Field Summary
static int ALPHA_IN_BUFFER
          bufferDataPresent: bit indicating that alpha information is bundled with the vertices in the compressed geometry buffer.
 int bufferDataPresent
          Contains bits indicating what data is bundled with the vertices in the compressed geometry buffer.
 int bufferType
          Describes the type of data in the compressed geometry buffer.
static int COLOR_IN_BUFFER
          bufferDataPresent: bit indicating that RGB color information is bundled with the vertices in the compressed geometry buffer.
static int LINE_BUFFER
          bufferType: compressed geometry is made up of line segments.
 Point3d lowerBound
          A point that defines the lower bound of the x, y, and z components for all positions in the compressed geometry buffer.
 int majorVersionNumber
          The major version number for the compressed geometry format that was used to compress the geometry.
 int minorMinorVersionNumber
          The minor-minor version number for the compressed geometry format that was used to compress the geometry.
 int minorVersionNumber
          The minor version number for the compressed geometry format that was used to compress the geometry.
static int NORMAL_IN_BUFFER
          bufferDataPresent: bit indicating that normal information is bundled with the vertices in the compressed geometry buffer.
static int POINT_BUFFER
          bufferType: compressed geometry is made up of individual points.
 int size
          Size of the compressed geometry in bytes.
 int start
          Offset in bytes of the start of the compressed geometry from the beginning of the compressed geometry byte array passed to the CompressedGeometry constructor.
static int TRIANGLE_BUFFER
          bufferType: compressed geometry is made up of triangles.
 Point3d upperBound
          A point that defines the upper bound of the x, y, and z components for all positions in the compressed geometry buffer.
 
Constructor Summary
CompressedGeometryHeader()
          Creates a new CompressedGeometryHeader object used for the creation of a CompressedGeometry NodeComponent object.
 
Method Summary
 java.lang.String toString()
          Returns a String describing the contents of the CompressedGeometryHeader object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

POINT_BUFFER

public static final int POINT_BUFFER
bufferType: compressed geometry is made up of individual points.

See Also:
Constant Field Values

LINE_BUFFER

public static final int LINE_BUFFER
bufferType: compressed geometry is made up of line segments.

See Also:
Constant Field Values

TRIANGLE_BUFFER

public static final int TRIANGLE_BUFFER
bufferType: compressed geometry is made up of triangles.

See Also:
Constant Field Values

NORMAL_IN_BUFFER

public static final int NORMAL_IN_BUFFER
bufferDataPresent: bit indicating that normal information is bundled with the vertices in the compressed geometry buffer.

See Also:
Constant Field Values

COLOR_IN_BUFFER

public static final int COLOR_IN_BUFFER
bufferDataPresent: bit indicating that RGB color information is bundled with the vertices in the compressed geometry buffer.

See Also:
Constant Field Values

ALPHA_IN_BUFFER

public static final int ALPHA_IN_BUFFER
bufferDataPresent: bit indicating that alpha information is bundled with the vertices in the compressed geometry buffer.

See Also:
Constant Field Values

majorVersionNumber

public int majorVersionNumber
The major version number for the compressed geometry format that was used to compress the geometry. If the version number of compressed geometry is incompatible with the supported version of compressed geometry in the current version of Java 3D, the compressed geometry obejct will not be rendered.

See Also:
Canvas3D.queryProperties()

minorVersionNumber

public int minorVersionNumber
The minor version number for the compressed geometry format that was used to compress the geometry. If the version number of compressed geometry is incompatible with the supported version of compressed geometry in the current version of Java 3D, the compressed geometry obejct will not be rendered.

See Also:
Canvas3D.queryProperties()

minorMinorVersionNumber

public int minorMinorVersionNumber
The minor-minor version number for the compressed geometry format that was used to compress the geometry. If the version number of compressed geometry is incompatible with the supported version of compressed geometry in the current version of Java 3D, the compressed geometry obejct will not be rendered.

See Also:
Canvas3D.queryProperties()

bufferType

public int bufferType
Describes the type of data in the compressed geometry buffer. Only one type may be present in any given compressed geometry buffer.


bufferDataPresent

public int bufferDataPresent
Contains bits indicating what data is bundled with the vertices in the compressed geometry buffer. If this data is not present (e.g. color) then this info will be inherited from the Appearance node.


size

public int size
Size of the compressed geometry in bytes.


start

public int start
Offset in bytes of the start of the compressed geometry from the beginning of the compressed geometry byte array passed to the CompressedGeometry constructor.

If the CompressedGeometry is created with reference access semantics, then this allow external compressors or file readers to embed several blocks of compressed geometry in a single large byte array, possibly interspersed with metadata that is not specific to Java 3D, without having to copy each block to a separate byte array.

If the CompressedGeometry is created with copy access semantics, then size bytes of compressed geometry data are copied from the offset indicated by start instead of copying the entire byte array. The getCompressedGeometry() method will return only the bytes used to construct the object, and the getCompressedGeometryHeader() method will return a header with the start field set to 0.


lowerBound

public Point3d lowerBound
A point that defines the lower bound of the x, y, and z components for all positions in the compressed geometry buffer. If null, a lower bound of (-1,-1,-1) is assumed. Java 3D will use this information to construct a bounding box around compressed geometry objects that are used in nodes for which the auto compute bounds flag is true. The default value for this point is null.

Since:
Java 3D 1.2

upperBound

public Point3d upperBound
A point that defines the upper bound of the x, y, and z components for all positions in the compressed geometry buffer. If null, an upper bound of (1,1,1) is assumed. Java 3D will use this information to construct a bounding box around compressed geometry objects that are used in nodes for which the auto compute bounds flag is true. The default value for this point is null.

Since:
Java 3D 1.2
Constructor Detail

CompressedGeometryHeader

public CompressedGeometryHeader()
Creates a new CompressedGeometryHeader object used for the creation of a CompressedGeometry NodeComponent object. All instance data is declared public and no get or set methods are provided. All values are set to 0 by default and must be filled in by the application.

See Also:
CompressedGeometry
Method Detail

toString

public java.lang.String toString()
Returns a String describing the contents of the CompressedGeometryHeader object.

Overrides:
toString in class java.lang.Object
Returns:
a String describing contents of the compressed geometry header