|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.j3d.IndexedObject
javax.media.j3d.SceneGraphObjectRetained
javax.media.j3d.NodeComponentRetained
javax.media.j3d.GeometryRetained
javax.media.j3d.CompressedGeometryRetained
class CompressedGeometryRetained
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 static boolean |
hardwareDecompression
|
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
|
private GeometryRetained |
pickGeometry
|
(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
|
Fields inherited from class javax.media.j3d.NodeComponentRetained |
---|
changedFrequent, compChanged, duplicateOnCloneTree, mirror, refCnt, refCount, users |
Fields inherited from class javax.media.j3d.SceneGraphObjectRetained |
---|
DONT_MERGE, inBackgroundGroup, inSetLive, MERGE, MERGE_DONE, mergeFlag, onUpdateList, source |
Fields inherited from class javax.media.j3d.IndexedObject |
---|
listIdx |
Constructor Summary | |
---|---|
CompressedGeometryRetained()
The package-scoped constructor. |
Method Summary | |
---|---|
(package private) void |
computeBoundingBox()
Compressed geometry is immutable so this method does nothing. |
(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(CompressedGeometryHeader hdr,
byte[] geometry,
boolean byReference)
Creates the retained compressed geometry data. |
private boolean |
decompressByRef(Context ctx)
Formerly native method that returns availability of a native by-reference rendering API for compressed geometry. |
private boolean |
decompressHW(Context ctx,
int majorVersion,
int minorVersion)
Formerly native method that returns availability of hardware rendering (and acceleration) for compressed geometry of the given version. |
(package private) void |
duplicate(CompressedGeometryRetained cgr)
Copies all retained data for cloneNodeComponent() on the non-retained side. |
(package private) void |
execute(Canvas3D cv,
RenderAtom ra,
boolean isNonUniformScale,
boolean updateAlpha,
float alpha,
int screen,
boolean ignoreVertexColors)
Method for calling native execute() method on behalf of the J3D renderer. |
private void |
execute(Context ctx,
int version,
int bufferType,
int bufferContents,
int renderFlags,
int offset,
int size,
byte[] geometry)
Formerly native method that does HW compressed geometry rendering |
(package private) int |
getBufferType()
Return a buffer type that's compatible with CompressedGeometryHeader. |
(package private) int |
getClassType()
|
(package private) GeometryRetained |
getGeometry(boolean forceDecompression,
Canvas3D cv)
Decompress this object into a GeometryArrayRetained if hardware decompression is not available. |
(package private) GeometryRetained |
getPickGeometry()
This method always decompresses the geometry and retains the result in order to support geometry-based picking and collision detection. |
(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 |
intersect(Bounds targetBound)
|
(package private) boolean |
intersect(PickShape pickShape,
PickInfo pickInfo,
int flags,
Point3d iPnt,
GeometryRetained geom,
int geomIndex)
|
(package private) boolean |
intersect(Point3d[] pnts)
|
(package private) boolean |
intersect(Transform3D thisToOtherVworld,
GeometryRetained g)
|
(package private) boolean |
isByReference()
Return true if the data access mode is by-reference. |
(package private) void |
update()
Update this object. |
Methods inherited from class javax.media.j3d.GeometryRetained |
---|
addUser, canBeInDisplayList, computeCentroid, decrComputeGeoBounds, doSetLive, incrComputeGeoBounds, intersect, intersect, isEquivalenceClass, removeUser, setLive, storeInterestData, updateObject |
Methods inherited from class javax.media.j3d.NodeComponentRetained |
---|
addAMirrorUser, addUser, clearLive, clone, copyMirrorUsers, createMirrorObject, decRefCnt, getDuplicateOnCloneTree, getInImmCtx, incRefCnt, initMirrorObject, notifyUsers, removeAMirrorUser, removeMirrorUsers, removeUser, set, setDuplicateOnCloneTree, setFrequencyChangeMask, setInImmCtx, updateMirrorObject |
Methods inherited from class javax.media.j3d.SceneGraphObjectRetained |
---|
clearLive, clearLive, compile, doSetLive, doSetLive, getSource, getVirtualUniverse, handleFrequencyChange, isInSetLive, isStatic, markAsLive, merge, mergeTransform, setCompiled, setLive, setLive, setSource, traverse |
Methods inherited from class javax.media.j3d.IndexedObject |
---|
getIdxUsed, incIdxUsed |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final int HEADER_LENGTH
private static final int HEADER_MAJOR_VERSION_OFFSET
private static final int HEADER_MINOR_VERSION_OFFSET
private static final int HEADER_MINOR_MINOR_VERSION_OFFSET
private static final int HEADER_BUFFER_TYPE_OFFSET
private static final int HEADER_BUFFER_DATA_OFFSET
static final byte TYPE_POINT
static final byte TYPE_LINE
static final byte TYPE_TRIANGLE
int majorVersionNumber
int minorVersionNumber
int minorMinorVersionNumber
int packedVersion
int bufferType
int bufferContents
int renderFlags
int offset
int size
byte[] compressedGeometry
private boolean byReference
private byte[] originalCompressedGeometry
private static boolean hardwareDecompression
private GeometryRetained pickGeometry
Constructor Detail |
---|
CompressedGeometryRetained()
Method Detail |
---|
private boolean decompressByRef(Context ctx)
private boolean decompressHW(Context ctx, int majorVersion, int minorVersion)
private void execute(Context ctx, int version, int bufferType, int bufferContents, int renderFlags, int offset, int size, byte[] geometry)
void execute(Canvas3D cv, RenderAtom ra, boolean isNonUniformScale, boolean updateAlpha, float alpha, int screen, boolean ignoreVertexColors)
execute
in class GeometryRetained
void computeBoundingBox()
computeBoundingBox
in class GeometryRetained
void update()
update
in class GeometryRetained
boolean isByReference()
private void createByCopy(byte[] geometry)
void createCompressedGeometry(CompressedGeometryHeader hdr, byte[] geometry, boolean byReference)
hdr
- the compressed geometry headergeometry
- the compressed geometrybyReference
- if true then by-reference semantics requestedGeometryRetained getGeometry(boolean forceDecompression, Canvas3D cv)
GeometryRetained getPickGeometry()
boolean intersect(PickShape pickShape, PickInfo pickInfo, int flags, Point3d iPnt, GeometryRetained geom, int geomIndex)
intersect
in class GeometryRetained
boolean intersect(Bounds targetBound)
intersect
in class GeometryRetained
boolean intersect(Transform3D thisToOtherVworld, GeometryRetained g)
intersect
in class GeometryRetained
boolean intersect(Point3d[] pnts)
intersect
in class GeometryRetained
int getVertexFormat()
getVertexFormat
in class GeometryRetained
int getBufferType()
void copy(byte[] buff)
buff
- array of bytes into which to copy compressed geometrybyte[] getReference()
void duplicate(CompressedGeometryRetained cgr)
int getClassType()
getClassType
in class GeometryRetained
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |