| java.lang.Object javax.media.j3d.J3dStructure javax.media.j3d.GeometryStructure
GeometryStructure | class GeometryStructure extends J3dStructure (Code) | | A geometry structure is a object that organizes geometries
and bounds.
|
Method Summary | |
void | addWakeupOnCollision(WakeupOnCollisionEntry w) | void | addWakeupOnCollision(WakeupOnCollisionExit w) | void | addWakeupOnCollision(WakeupOnCollisionMovement w) | void | checkDuplicateEvent(WakeupOnCollisionMovement wmove, Bounds bound, BHLeafInterface hitNode) Check for duplicate WakeupOnCollisionMovement event. | void | cleanup() | BHLeafInterface | collide(Locale locale, int accurancyMode, UnorderList geomAtoms, Bounds bound, BoundingLeafRetained boundingLeaf, NodeRetained armingNode, WakeupCriterion cond) check if either the geomAtoms[] or
bound or boundingLeaf collide with BHTree. | boolean | getVisibleBHTrees(RenderBin rBin, BoundingBox frustumBBox, Locale locale, long referenceTime, boolean stateChanged, int visibilityPolicy) | GeometryAtom[] | pickAll(Locale locale, PickShape shape) | GeometryAtom | pickAny(Locale locale, PickShape shape) | void | processCollisionDetection() This method test all wakeupOnCollision list and trigger the
condition if collision occurs. | void | processMessages(long referenceTime) | void | removeNodes(J3dMessage m) | void | removeWakeupOnCollision(WakeupOnCollisionEntry wentry) | void | removeWakeupOnCollision(WakeupOnCollisionExit wexit) | void | removeWakeupOnCollision(WakeupOnCollisionMovement wmovement) | void | resetConditionMet() This prevents wakeupCondition sent out message and set
conditionMet to true but the
BehaviorStructure/BehaviorScheduler is not fast enough to
process the message and reset conditionMet to false
when view deactivate/unregister. |
reEvaluateWakeupCollisionGAs | boolean reEvaluateWakeupCollisionGAs(Code) | | |
checkDuplicateEvent | void checkDuplicateEvent(WakeupOnCollisionMovement wmove, Bounds bound, BHLeafInterface hitNode)(Code) | | Check for duplicate WakeupOnCollisionMovement event.
We don't want to continue deliver event even though the
two colliding object did not move but this Geometry update
thread continue to run due to transform change in others
shape not in collision.
|
collide | BHLeafInterface collide(Locale locale, int accurancyMode, UnorderList geomAtoms, Bounds bound, BoundingLeafRetained boundingLeaf, NodeRetained armingNode, WakeupCriterion cond)(Code) | | check if either the geomAtoms[] or
bound or boundingLeaf collide with BHTree.
Only one of geomAtoms, bound, boundingLeaf is non-null.
If accurancyMode is USE_GEOMETRY, object geometry is used,
otherwise object bounding box is used for collision
detection.
In case of GROUP & BOUND, the armingNode is used
to tell whether the colliding Group is itself or not.
Also in case GROUP, geomAtoms is non-null if USE_GEOMETRY.
If cond != null, it must be instanceof WakeupOnCollisionMovement
|
getVisibleBHTrees | boolean getVisibleBHTrees(RenderBin rBin, BoundingBox frustumBBox, Locale locale, long referenceTime, boolean stateChanged, int visibilityPolicy)(Code) | | |
processCollisionDetection | void processCollisionDetection()(Code) | | This method test all wakeupOnCollision list and trigger the
condition if collision occurs.
|
processMessages | void processMessages(long referenceTime)(Code) | | |
resetConditionMet | void resetConditionMet()(Code) | | This prevents wakeupCondition sent out message and set
conditionMet to true but the
BehaviorStructure/BehaviorScheduler is not fast enough to
process the message and reset conditionMet to false
when view deactivate/unregister.
|
|
|