Class BaseRigidBody

java.lang.Object
org.web3d.vrml.renderer.common.nodes.AbstractNode
org.web3d.vrml.renderer.common.nodes.rigidphysics.BaseRigidBody
All Implemented Interfaces:
VRMLNode, FrameStateListener, VRMLNodeType, VRMLRigidBodyNodeType
Direct Known Subclasses:
NRRigidBody, OGLRigidBody

public abstract class BaseRigidBody extends AbstractNode implements VRMLRigidBodyNodeType
Implementation of the RigidBody node.

In this implementation, the sets of nodes for the bodies and geometry are not expected to change much, if at all. As such, arrays are used to represent the field values, rather than the more customary ArrayList that other classes use for MFNode fields The X3D definition of RigidBody is:

 RigidBody : X3DNode {
   SFVec3f    [in,out] angularVelocity     0 0 0
   SFBool     [in,out] autoDisable         FALSE
   SFVec3f    [in,out] centerOfMass        0 0 0
   SFFloat    [in,out] disableAngularSpeed 0      [0,∞)
   SFFloat    [in,out] disableLinearSpeed  0      [0,∞)
   SFFloat    [in,out] disableTime         0      [0,∞)
   SFBool     [in,out] enabled             TRUE
   SFVec3f    [in,out] finiteRotationAxis  0 0 0
   SFBool     [in,out] fixed               FALSE
   MFVec3f    [in,out] forces              []
   MFNode     [in,out] geometry            []      [X3DNBodyCollidableNode]
   SFMatrix3f [in,out] inertia             1 0 0  0 1 0  0 0 1
   SFVec3f    [in,out] linearVelocity      0 0 0
   SFFloat    [in,out] mass                1       (0,∞)
   SFNode     [in,out] massDensityModel    NULL    [Sphere, Box, Cone]
   SFNode     [in,out] metadata            NULL    [X3DMetadataObject]
   SFRotation [in,out] orientation         0 0 1 0 [0,1]
   SFVec3f    [in,out] position            0 0 0   (-∞,∞)
   MFVec3f    [in,out] torques             []
   SFBool     [in,out] useFiniteRotation   FALSE
   SFBool     [in,out] useGlobalGravity    TRUE
 }
 
Version:
$Revision: 1.12 $
Author:
Justin Couch