class CompressedGeometryRetained extends GeometryRetained
| Modifier and Type | Field and Description |
|---|---|
(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 |
boundsDirty, cachedChangedFrequent, centroid, COMPRESS_TYPE, computeGeoBounds, EPSILON, GEO_TYPE_COMPRESSED, GEO_TYPE_GEOMETRYARRAY, GEO_TYPE_INDEXED_LINE_SET, GEO_TYPE_INDEXED_LINE_STRIP_SET, GEO_TYPE_INDEXED_POINT_SET, GEO_TYPE_INDEXED_QUAD_SET, GEO_TYPE_INDEXED_TRI_FAN_SET, GEO_TYPE_INDEXED_TRI_SET, GEO_TYPE_INDEXED_TRI_STRIP_SET, GEO_TYPE_LINE_SET, GEO_TYPE_LINE_STRIP_SET, GEO_TYPE_NONE, GEO_TYPE_POINT_SET, GEO_TYPE_QUAD_SET, GEO_TYPE_RASTER, GEO_TYPE_TEXT3D, GEO_TYPE_TOTAL, GEO_TYPE_TRI_FAN_SET, GEO_TYPE_TRI_SET, GEO_TYPE_TRI_STRIP_SET, geoBounds, geomLock, geoType, isDirty, isEditable, LINE_TYPE, liveStateLock, mirrorGeometry, nativeId, noAlpha, POINT_TYPE, QUAD_TYPE, RASTER_TYPE, recompCentroid, TEXT3D_TYPE, TRIANGLE_TYPE, universeList, userListschangedFrequent, compChanged, duplicateOnCloneTree, mirror, refCnt, refCount, usersDONT_MERGE, inBackgroundGroup, inSetLive, MERGE, MERGE_DONE, mergeFlag, onUpdateList, sourcelistIdx| Constructor and Description |
|---|
CompressedGeometryRetained()
The package-scoped constructor.
|
| Modifier and Type | Method and Description |
|---|---|
(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.
|
addUser, canBeInDisplayList, computeCentroid, decrComputeGeoBounds, doSetLive, incrComputeGeoBounds, intersect, intersect, isEquivalenceClass, removeUser, setLive, storeInterestData, updateObjectaddAMirrorUser, addUser, clearLive, clone, copyMirrorUsers, createMirrorObject, decRefCnt, getDuplicateOnCloneTree, getInImmCtx, incRefCnt, initMirrorObject, notifyUsers, removeAMirrorUser, removeMirrorUsers, removeUser, set, setDuplicateOnCloneTree, setFrequencyChangeMask, setInImmCtx, updateMirrorObjectclearLive, clearLive, compile, doSetLive, doSetLive, getSource, getVirtualUniverse, handleFrequencyChange, isInSetLive, isStatic, markAsLive, merge, mergeTransform, setCompiled, setLive, setLive, setSource, traversegetIdxUsed, incIdxUsedprivate 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
CompressedGeometryRetained()
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 GeometryRetainedvoid computeBoundingBox()
computeBoundingBox in class GeometryRetainedvoid update()
update in class GeometryRetainedboolean 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 GeometryRetainedboolean intersect(Bounds targetBound)
intersect in class GeometryRetainedboolean intersect(Transform3D thisToOtherVworld, GeometryRetained g)
intersect in class GeometryRetainedboolean intersect(Point3d[] pnts)
intersect in class GeometryRetainedint getVertexFormat()
getVertexFormat in class GeometryRetainedint 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 GeometryRetainedCopyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.