com.sun.j3d.utils.geometry.compression
Class CompressedGeometryRetained

java.lang.Object
  extended by com.sun.j3d.utils.geometry.compression.CompressedGeometryRetained

 class CompressedGeometryRetained
extends java.lang.Object

The compressed geometry object is used to store geometry in a compressed format. Using compressed geometry reduces the amount of memory needed by a Java 3D application and increases the speed objects can be sent over the network. Once geometry decompression hardware support becomes available, increased rendering performance will also result from the use of compressed geometry.


Field Summary
(package private)  int bufferContents
           
(package private)  int bufferType
           
private  boolean byReference
           
(package private)  byte[] compressedGeometry
           
private  BoundingBox geoBounds
           
private static int HEADER_BUFFER_DATA_OFFSET
           
private static int HEADER_BUFFER_TYPE_OFFSET
           
private static int HEADER_LENGTH
           
private static int HEADER_MAJOR_VERSION_OFFSET
           
private static int HEADER_MINOR_MINOR_VERSION_OFFSET
           
private static int HEADER_MINOR_VERSION_OFFSET
           
(package private)  int majorVersionNumber
           
(package private)  int minorMinorVersionNumber
           
(package private)  int minorVersionNumber
           
(package private)  int offset
           
private  byte[] originalCompressedGeometry
           
(package private)  int packedVersion
           
(package private)  int renderFlags
           
(package private)  int size
           
(package private) static byte TYPE_LINE
           
(package private) static byte TYPE_POINT
           
(package private) static byte TYPE_TRIANGLE
           
 
Constructor Summary
CompressedGeometryRetained()
          The package-scoped constructor.
 
Method Summary
(package private)  void copy(byte[] buff)
          Copies compressed geometry data into the given array of bytes.
private  void createByCopy(byte[] geometry)
           
(package private)  void createCompressedGeometry(CompressedGeometryData.Header hdr, byte[] geometry, boolean byReference)
          Creates the retained compressed geometry data.
(package private)  int getBufferType()
          Return a buffer type that's compatible with CompressedGeometryData.Header.
(package private)  byte[] getReference()
          Returns a reference to the original compressed geometry byte array, which may have been copied even if by-reference semantics have been requested.
(package private)  int getVertexFormat()
          Return a vertex format mask that's compatible with GeometryArray objects.
(package private)  boolean isByReference()
          Return true if the data access mode is by-reference.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HEADER_LENGTH

private static final int HEADER_LENGTH
See Also:
Constant Field Values

HEADER_MAJOR_VERSION_OFFSET

private static final int HEADER_MAJOR_VERSION_OFFSET
See Also:
Constant Field Values

HEADER_MINOR_VERSION_OFFSET

private static final int HEADER_MINOR_VERSION_OFFSET
See Also:
Constant Field Values

HEADER_MINOR_MINOR_VERSION_OFFSET

private static final int HEADER_MINOR_MINOR_VERSION_OFFSET
See Also:
Constant Field Values

HEADER_BUFFER_TYPE_OFFSET

private static final int HEADER_BUFFER_TYPE_OFFSET
See Also:
Constant Field Values

HEADER_BUFFER_DATA_OFFSET

private static final int HEADER_BUFFER_DATA_OFFSET
See Also:
Constant Field Values

TYPE_POINT

static final byte TYPE_POINT
See Also:
Constant Field Values

TYPE_LINE

static final byte TYPE_LINE
See Also:
Constant Field Values

TYPE_TRIANGLE

static final byte TYPE_TRIANGLE
See Also:
Constant Field Values

majorVersionNumber

int majorVersionNumber

minorVersionNumber

int minorVersionNumber

minorMinorVersionNumber

int minorMinorVersionNumber

packedVersion

int packedVersion

bufferType

int bufferType

bufferContents

int bufferContents

renderFlags

int renderFlags

offset

int offset

size

int size

compressedGeometry

byte[] compressedGeometry

originalCompressedGeometry

private byte[] originalCompressedGeometry

geoBounds

private BoundingBox geoBounds

byReference

private boolean byReference
Constructor Detail

CompressedGeometryRetained

CompressedGeometryRetained()
The package-scoped constructor.

Method Detail

isByReference

boolean isByReference()
Return true if the data access mode is by-reference.


createByCopy

private void createByCopy(byte[] geometry)

createCompressedGeometry

void createCompressedGeometry(CompressedGeometryData.Header hdr,
                              byte[] geometry,
                              boolean byReference)
Creates the retained compressed geometry data. Data from the header is always copied; the compressed geometry is copied as well if the data access mode is not by-reference.

Parameters:
hdr - the compressed geometry header
geometry - the compressed geometry
byReference - if true then by-reference semantics requested

getVertexFormat

int getVertexFormat()
Return a vertex format mask that's compatible with GeometryArray objects.


getBufferType

int getBufferType()
Return a buffer type that's compatible with CompressedGeometryData.Header.


copy

void copy(byte[] buff)
Copies compressed geometry data into the given array of bytes. The internal header information is not copied.

Parameters:
buff - array of bytes into which to copy compressed geometry

getReference

byte[] getReference()
Returns a reference to the original compressed geometry byte array, which may have been copied even if by-reference semantics have been requested. It will be null if byCopy is in effect.

Returns:
reference to array of bytes containing the compressed geometry.


Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.