|  | 
|  | btRigidBody (const btRigidBodyConstructionInfo &constructionInfo) | 
|  | btRigidBody constructor using construction info  More... 
 | 
|  | 
|  | btRigidBody (btScalar mass, btMotionState *motionState, btCollisionShape *collisionShape, const btVector3 &localInertia=btVector3(0, 0, 0)) | 
|  | btRigidBody constructor for backwards compatibility.  More... 
 | 
|  | 
| virtual | ~btRigidBody () | 
|  | 
| void | proceedToTransform (const btTransform &newTrans) | 
|  | 
| void | predictIntegratedTransform (btScalar step, btTransform &predictedTransform) | 
|  | continuous collision detection needs prediction  More... 
 | 
|  | 
| void | saveKinematicState (btScalar step) | 
|  | 
| void | applyGravity () | 
|  | 
| void | setGravity (const btVector3 &acceleration) | 
|  | 
| const btVector3 & | getGravity () const | 
|  | 
| void | setDamping (btScalar lin_damping, btScalar ang_damping) | 
|  | 
| btScalar | getLinearDamping () const | 
|  | 
| btScalar | getAngularDamping () const | 
|  | 
| btScalar | getLinearSleepingThreshold () const | 
|  | 
| btScalar | getAngularSleepingThreshold () const | 
|  | 
| void | applyDamping (btScalar timeStep) | 
|  | applyDamping damps the velocity, using the given m_linearDamping and m_angularDamping  More... 
 | 
|  | 
| const btCollisionShape * | getCollisionShape () const | 
|  | 
| btCollisionShape * | getCollisionShape () | 
|  | 
| void | setMassProps (btScalar mass, const btVector3 &inertia) | 
|  | 
| const btVector3 & | getLinearFactor () const | 
|  | 
| void | setLinearFactor (const btVector3 &linearFactor) | 
|  | 
| btScalar | getInvMass () const | 
|  | 
| const btMatrix3x3 & | getInvInertiaTensorWorld () const | 
|  | 
| void | integrateVelocities (btScalar step) | 
|  | 
| void | setCenterOfMassTransform (const btTransform &xform) | 
|  | 
| void | applyCentralForce (const btVector3 &force) | 
|  | 
| const btVector3 & | getTotalForce () const | 
|  | 
| const btVector3 & | getTotalTorque () const | 
|  | 
| const btVector3 & | getInvInertiaDiagLocal () const | 
|  | 
| void | setInvInertiaDiagLocal (const btVector3 &diagInvInertia) | 
|  | 
| void | setSleepingThresholds (btScalar linear, btScalar angular) | 
|  | 
| void | applyTorque (const btVector3 &torque) | 
|  | 
| void | applyForce (const btVector3 &force, const btVector3 &rel_pos) | 
|  | 
| void | applyCentralImpulse (const btVector3 &impulse) | 
|  | 
| void | applyTorqueImpulse (const btVector3 &torque) | 
|  | 
| void | applyImpulse (const btVector3 &impulse, const btVector3 &rel_pos) | 
|  | 
| void | clearForces () | 
|  | 
| void | updateInertiaTensor () | 
|  | 
| const btVector3 & | getCenterOfMassPosition () const | 
|  | 
| btQuaternion | getOrientation () const | 
|  | 
| const btTransform & | getCenterOfMassTransform () const | 
|  | 
| const btVector3 & | getLinearVelocity () const | 
|  | 
| const btVector3 & | getAngularVelocity () const | 
|  | 
| void | setLinearVelocity (const btVector3 &lin_vel) | 
|  | 
| void | setAngularVelocity (const btVector3 &ang_vel) | 
|  | 
| btVector3 | getVelocityInLocalPoint (const btVector3 &rel_pos) const | 
|  | 
| void | translate (const btVector3 &v) | 
|  | 
| void | getAabb (btVector3 &aabbMin, btVector3 &aabbMax) const | 
|  | 
| btScalar | computeImpulseDenominator (const btVector3 &pos, const btVector3 &normal) const | 
|  | 
| btScalar | computeAngularImpulseDenominator (const btVector3 &axis) const | 
|  | 
| void | updateDeactivation (btScalar timeStep) | 
|  | 
| bool | wantsSleeping () | 
|  | 
| const btBroadphaseProxy * | getBroadphaseProxy () const | 
|  | 
| btBroadphaseProxy * | getBroadphaseProxy () | 
|  | 
| void | setNewBroadphaseProxy (btBroadphaseProxy *broadphaseProxy) | 
|  | 
| btMotionState * | getMotionState () | 
|  | 
| const btMotionState * | getMotionState () const | 
|  | 
| void | setMotionState (btMotionState *motionState) | 
|  | 
| void | setAngularFactor (const btVector3 &angFac) | 
|  | 
| void | setAngularFactor (btScalar angFac) | 
|  | 
| const btVector3 & | getAngularFactor () const | 
|  | 
| bool | isInWorld () const | 
|  | 
| void | addConstraintRef (btTypedConstraint *c) | 
|  | 
| void | removeConstraintRef (btTypedConstraint *c) | 
|  | 
| btTypedConstraint * | getConstraintRef (int index) | 
|  | 
| int | getNumConstraintRefs () const | 
|  | 
| void | setFlags (int flags) | 
|  | 
| int | getFlags () const | 
|  | 
| btVector3 | computeGyroscopicImpulseImplicit_World (btScalar dt) const | 
|  | perform implicit force computation in world space  More... 
 | 
|  | 
| btVector3 | computeGyroscopicImpulseImplicit_Body (btScalar step) const | 
|  | perform implicit force computation in body space (inertial frame)  More... 
 | 
|  | 
| btVector3 | computeGyroscopicForceExplicit (btScalar maxGyroscopicForce) const | 
|  | explicit version is best avoided, it gains energy  More... 
 | 
|  | 
| btVector3 | getLocalInertia () const | 
|  | 
| virtual int | calculateSerializeBufferSize () const | 
|  | 
| virtual const char * | serialize (void *dataBuffer, class btSerializer *serializer) const | 
|  | fills the dataBuffer and returns the struct name (and 0 on failure)  More... 
 | 
|  | 
| virtual void | serializeSingleObject (class btSerializer *serializer) const | 
|  | 
|  | BT_DECLARE_ALIGNED_ALLOCATOR () | 
|  | 
| bool | mergesSimulationIslands () const | 
|  | 
| const btVector3 & | getAnisotropicFriction () const | 
|  | 
| void | setAnisotropicFriction (const btVector3 &anisotropicFriction, int frictionMode=CF_ANISOTROPIC_FRICTION) | 
|  | 
| bool | hasAnisotropicFriction (int frictionMode=CF_ANISOTROPIC_FRICTION) const | 
|  | 
| void | setContactProcessingThreshold (btScalar contactProcessingThreshold) | 
|  | the constraint solver can discard solving contacts, if the distance is above this threshold.  More... 
 | 
|  | 
| btScalar | getContactProcessingThreshold () const | 
|  | 
| bool | isStaticObject () const | 
|  | 
| bool | isKinematicObject () const | 
|  | 
| bool | isStaticOrKinematicObject () const | 
|  | 
| bool | hasContactResponse () const | 
|  | 
|  | btCollisionObject () | 
|  | 
| virtual | ~btCollisionObject () | 
|  | 
| virtual void | setCollisionShape (btCollisionShape *collisionShape) | 
|  | 
| const btCollisionShape * | getCollisionShape () const | 
|  | 
| btCollisionShape * | getCollisionShape () | 
|  | 
| void | setIgnoreCollisionCheck (const btCollisionObject *co, bool ignoreCollisionCheck) | 
|  | 
| virtual bool | checkCollideWithOverride (const btCollisionObject *co) const | 
|  | 
| void * | internalGetExtensionPointer () const | 
|  | Avoid using this internal API call, the extension pointer is used by some Bullet extensions.  More... 
 | 
|  | 
| void | internalSetExtensionPointer (void *pointer) | 
|  | Avoid using this internal API call, the extension pointer is used by some Bullet extensions If you need to store your own user pointer, use 'setUserPointer/getUserPointer' instead.  More... 
 | 
|  | 
| int | getActivationState () const | 
|  | 
| void | setActivationState (int newState) const | 
|  | 
| void | setDeactivationTime (btScalar time) | 
|  | 
| btScalar | getDeactivationTime () const | 
|  | 
| void | forceActivationState (int newState) const | 
|  | 
| void | activate (bool forceActivation=false) const | 
|  | 
| bool | isActive () const | 
|  | 
| void | setRestitution (btScalar rest) | 
|  | 
| btScalar | getRestitution () const | 
|  | 
| void | setFriction (btScalar frict) | 
|  | 
| btScalar | getFriction () const | 
|  | 
| void | setRollingFriction (btScalar frict) | 
|  | 
| btScalar | getRollingFriction () const | 
|  | 
| int | getInternalType () const | 
|  | reserved for Bullet internal usage  More... 
 | 
|  | 
| btTransform & | getWorldTransform () | 
|  | 
| const btTransform & | getWorldTransform () const | 
|  | 
| void | setWorldTransform (const btTransform &worldTrans) | 
|  | 
| btBroadphaseProxy * | getBroadphaseHandle () | 
|  | 
| const btBroadphaseProxy * | getBroadphaseHandle () const | 
|  | 
| void | setBroadphaseHandle (btBroadphaseProxy *handle) | 
|  | 
| const btTransform & | getInterpolationWorldTransform () const | 
|  | 
| btTransform & | getInterpolationWorldTransform () | 
|  | 
| void | setInterpolationWorldTransform (const btTransform &trans) | 
|  | 
| void | setInterpolationLinearVelocity (const btVector3 &linvel) | 
|  | 
| void | setInterpolationAngularVelocity (const btVector3 &angvel) | 
|  | 
| const btVector3 & | getInterpolationLinearVelocity () const | 
|  | 
| const btVector3 & | getInterpolationAngularVelocity () const | 
|  | 
| int | getIslandTag () const | 
|  | 
| void | setIslandTag (int tag) | 
|  | 
| int | getCompanionId () const | 
|  | 
| void | setCompanionId (int id) | 
|  | 
| btScalar | getHitFraction () const | 
|  | 
| void | setHitFraction (btScalar hitFraction) | 
|  | 
| int | getCollisionFlags () const | 
|  | 
| void | setCollisionFlags (int flags) | 
|  | 
| btScalar | getCcdSweptSphereRadius () const | 
|  | Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::  More... 
 | 
|  | 
| void | setCcdSweptSphereRadius (btScalar radius) | 
|  | Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::  More... 
 | 
|  | 
| btScalar | getCcdMotionThreshold () const | 
|  | 
| btScalar | getCcdSquareMotionThreshold () const | 
|  | 
| void | setCcdMotionThreshold (btScalar ccdMotionThreshold) | 
|  | Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold.  More... 
 | 
|  | 
| void * | getUserPointer () const | 
|  | users can point to their objects, userPointer is not used by Bullet  More... 
 | 
|  | 
| int | getUserIndex () const | 
|  | 
| void | setUserPointer (void *userPointer) | 
|  | users can point to their objects, userPointer is not used by Bullet  More... 
 | 
|  | 
| void | setUserIndex (int index) | 
|  | users can point to their objects, userPointer is not used by Bullet  More... 
 | 
|  | 
| int | getUpdateRevisionInternal () const | 
|  | 
| bool | checkCollideWith (const btCollisionObject *co) const | 
|  | 
The btRigidBody is the main class for rigid body objects. 
It is derived from btCollisionObject, so it keeps a pointer to a btCollisionShape. It is recommended for performance and memory use to share btCollisionShape objects whenever possible. There are 3 types of rigid bodies:
- A) Dynamic rigid bodies, with positive mass. Motion is controlled by rigid body dynamics.
- B) Fixed objects with zero mass. They are not moving (basically collision objects)
- C) Kinematic objects, which are objects without mass, but the user can move them. There is on-way interaction, and Bullet calculates a velocity based on the timestep and previous and current world transform. Bullet automatically deactivates dynamic rigid bodies, when the velocity is below a threshold for a given time. Deactivated (sleeping) rigid bodies don't take any processing time, except a minor broadphase collision detection impact (to allow active objects to activate/wake up sleeping objects) 
Definition at line 62 of file btRigidBody.h.