Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes

btRigidBody Class Reference

The btRigidBody is the main class for rigid body objects. More...

#include <btRigidBody.h>

Inheritance diagram for btRigidBody:
Inheritance graph
[legend]
Collaboration diagram for btRigidBody:
Collaboration graph
[legend]

List of all members.

Classes

struct  btRigidBodyConstructionInfo
 The btRigidBodyConstructionInfo structure provides information to create a rigid body. More...

Public Member Functions

 btRigidBody (const btRigidBodyConstructionInfo &constructionInfo)
 btRigidBody constructor using construction info
 btRigidBody (btScalar mass, btMotionState *motionState, btCollisionShape *collisionShape, const btVector3 &localInertia=btVector3(0, 0, 0))
 btRigidBody constructor for backwards compatibility.
virtual ~btRigidBody ()
void proceedToTransform (const btTransform &newTrans)
void predictIntegratedTransform (btScalar step, btTransform &predictedTransform)
 continuous collision detection needs prediction
void saveKinematicState (btScalar step)
void applyGravity ()
void setGravity (const btVector3 &acceleration)
const btVector3getGravity () 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
const btCollisionShapegetCollisionShape () const
btCollisionShapegetCollisionShape ()
void setMassProps (btScalar mass, const btVector3 &inertia)
const btVector3getLinearFactor () const
void setLinearFactor (const btVector3 &linearFactor)
btScalar getInvMass () const
const btMatrix3x3getInvInertiaTensorWorld () const
void integrateVelocities (btScalar step)
void setCenterOfMassTransform (const btTransform &xform)
void applyCentralForce (const btVector3 &force)
const btVector3getTotalForce () const
const btVector3getTotalTorque () const
const btVector3getInvInertiaDiagLocal () 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 btVector3getCenterOfMassPosition () const
btQuaternion getOrientation () const
const btTransformgetCenterOfMassTransform () const
const btVector3getLinearVelocity () const
const btVector3getAngularVelocity () 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 btBroadphaseProxygetBroadphaseProxy () const
btBroadphaseProxygetBroadphaseProxy ()
void setNewBroadphaseProxy (btBroadphaseProxy *broadphaseProxy)
btMotionStategetMotionState ()
const btMotionStategetMotionState () const
void setMotionState (btMotionState *motionState)
void setAngularFactor (const btVector3 &angFac)
void setAngularFactor (btScalar angFac)
const btVector3getAngularFactor () const
bool isInWorld () const
virtual bool checkCollideWithOverride (const btCollisionObject *co) const
void addConstraintRef (btTypedConstraint *c)
void removeConstraintRef (btTypedConstraint *c)
btTypedConstraintgetConstraintRef (int index)
int getNumConstraintRefs () const
void setFlags (int flags)
int getFlags () const
btVector3 computeGyroscopicForce (btScalar maxGyroscopicForce) 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)
virtual void serializeSingleObject (class btSerializer *serializer) const

Static Public Member Functions

static const btRigidBodyupcast (const btCollisionObject *colObj)
 to keep collision detection and dynamics separate we don't store a rigidbody pointer but a rigidbody is derived from btCollisionObject, so we can safely perform an upcast
static btRigidBodyupcast (btCollisionObject *colObj)

Public Attributes

int m_contactSolverType
int m_frictionSolverType

Protected Member Functions

 ATTRIBUTE_ALIGNED64 (btVector3 m_deltaLinearVelocity)
void setupRigidBody (const btRigidBodyConstructionInfo &constructionInfo)
 setupRigidBody is only used internally by the constructor

Protected Attributes

btVector3 m_deltaAngularVelocity
btVector3 m_angularFactor
btVector3 m_invMass
btVector3 m_pushVelocity
btVector3 m_turnVelocity

Private Attributes

btMatrix3x3 m_invInertiaTensorWorld
btVector3 m_linearVelocity
btVector3 m_angularVelocity
btScalar m_inverseMass
btVector3 m_linearFactor
btVector3 m_gravity
btVector3 m_gravity_acceleration
btVector3 m_invInertiaLocal
btVector3 m_totalForce
btVector3 m_totalTorque
btScalar m_linearDamping
btScalar m_angularDamping
bool m_additionalDamping
btScalar m_additionalDampingFactor
btScalar m_additionalLinearDampingThresholdSqr
btScalar m_additionalAngularDampingThresholdSqr
btScalar m_additionalAngularDampingFactor
btScalar m_linearSleepingThreshold
btScalar m_angularSleepingThreshold
btMotionStatem_optionalMotionState
btAlignedObjectArray
< btTypedConstraint * > 
m_constraintRefs
int m_rigidbodyFlags
int m_debugBodyId

Detailed Description

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:

Definition at line 59 of file btRigidBody.h.


Constructor & Destructor Documentation

btRigidBody::btRigidBody ( const btRigidBodyConstructionInfo constructionInfo  ) 

btRigidBody constructor using construction info

Definition at line 30 of file btRigidBody.cpp.

btRigidBody::btRigidBody ( btScalar  mass,
btMotionState motionState,
btCollisionShape collisionShape,
const btVector3 localInertia = btVector3(0,0,0) 
)

btRigidBody constructor for backwards compatibility.

To specify friction (etc) during rigid body construction, please use the other constructor (using btRigidBodyConstructionInfo)

Definition at line 35 of file btRigidBody.cpp.

virtual btRigidBody::~btRigidBody (  )  [inline, virtual]

Definition at line 179 of file btRigidBody.h.


Member Function Documentation

void btRigidBody::addConstraintRef ( btTypedConstraint c  ) 

Definition at line 339 of file btRigidBody.cpp.

void btRigidBody::applyCentralForce ( const btVector3 force  )  [inline]

Definition at line 276 of file btRigidBody.h.

void btRigidBody::applyCentralImpulse ( const btVector3 impulse  )  [inline]

Definition at line 318 of file btRigidBody.h.

void btRigidBody::applyDamping ( btScalar  timeStep  ) 

applyDamping damps the velocity, using the given m_linearDamping and m_angularDamping

Definition at line 159 of file btRigidBody.cpp.

void btRigidBody::applyForce ( const btVector3 force,
const btVector3 rel_pos 
) [inline]

Definition at line 312 of file btRigidBody.h.

void btRigidBody::applyGravity (  ) 

Definition at line 216 of file btRigidBody.cpp.

void btRigidBody::applyImpulse ( const btVector3 impulse,
const btVector3 rel_pos 
) [inline]

Definition at line 328 of file btRigidBody.h.

void btRigidBody::applyTorque ( const btVector3 torque  )  [inline]

Definition at line 307 of file btRigidBody.h.

void btRigidBody::applyTorqueImpulse ( const btVector3 torque  )  [inline]

Definition at line 323 of file btRigidBody.h.

btRigidBody::ATTRIBUTE_ALIGNED64 ( btVector3  m_deltaLinearVelocity  )  [protected]
int btRigidBody::calculateSerializeBufferSize (  )  const [virtual]

Reimplemented from btCollisionObject.

Definition at line 354 of file btRigidBody.cpp.

bool btRigidBody::checkCollideWithOverride ( const btCollisionObject co  )  const [virtual]

Reimplemented from btCollisionObject.

Definition at line 320 of file btRigidBody.cpp.

void btRigidBody::clearForces (  )  [inline]

Definition at line 340 of file btRigidBody.h.

btScalar btRigidBody::computeAngularImpulseDenominator ( const btVector3 axis  )  const [inline]

Definition at line 407 of file btRigidBody.h.

btVector3 btRigidBody::computeGyroscopicForce ( btScalar  maxGyroscopicForce  )  const

Definition at line 260 of file btRigidBody.cpp.

btScalar btRigidBody::computeImpulseDenominator ( const btVector3 pos,
const btVector3 normal 
) const [inline]

Definition at line 395 of file btRigidBody.h.

void btRigidBody::getAabb ( btVector3 aabbMin,
btVector3 aabbMax 
) const

Definition at line 127 of file btRigidBody.cpp.

btScalar btRigidBody::getAngularDamping (  )  const [inline]

Definition at line 231 of file btRigidBody.h.

const btVector3& btRigidBody::getAngularFactor (  )  const [inline]

Definition at line 494 of file btRigidBody.h.

btScalar btRigidBody::getAngularSleepingThreshold (  )  const [inline]

Definition at line 241 of file btRigidBody.h.

const btVector3& btRigidBody::getAngularVelocity (  )  const [inline]

Definition at line 359 of file btRigidBody.h.

const btBroadphaseProxy* btRigidBody::getBroadphaseProxy (  )  const [inline]

Definition at line 452 of file btRigidBody.h.

btBroadphaseProxy* btRigidBody::getBroadphaseProxy (  )  [inline]

Definition at line 456 of file btRigidBody.h.

const btVector3& btRigidBody::getCenterOfMassPosition (  )  const [inline]

Definition at line 348 of file btRigidBody.h.

const btTransform& btRigidBody::getCenterOfMassTransform (  )  const [inline]

Definition at line 353 of file btRigidBody.h.

const btCollisionShape* btRigidBody::getCollisionShape (  )  const [inline]

Reimplemented from btCollisionObject.

Definition at line 248 of file btRigidBody.h.

btCollisionShape* btRigidBody::getCollisionShape (  )  [inline]

Reimplemented from btCollisionObject.

Definition at line 252 of file btRigidBody.h.

btTypedConstraint* btRigidBody::getConstraintRef ( int  index  )  [inline]

Definition at line 510 of file btRigidBody.h.

int btRigidBody::getFlags (  )  const [inline]

Definition at line 525 of file btRigidBody.h.

const btVector3& btRigidBody::getGravity (  )  const [inline]

Definition at line 219 of file btRigidBody.h.

const btVector3& btRigidBody::getInvInertiaDiagLocal (  )  const [inline]

Definition at line 291 of file btRigidBody.h.

const btMatrix3x3& btRigidBody::getInvInertiaTensorWorld (  )  const [inline]

Definition at line 268 of file btRigidBody.h.

btScalar btRigidBody::getInvMass (  )  const [inline]

Definition at line 267 of file btRigidBody.h.

btScalar btRigidBody::getLinearDamping (  )  const [inline]

Definition at line 226 of file btRigidBody.h.

const btVector3& btRigidBody::getLinearFactor (  )  const [inline]

Definition at line 258 of file btRigidBody.h.

btScalar btRigidBody::getLinearSleepingThreshold (  )  const [inline]

Definition at line 236 of file btRigidBody.h.

const btVector3& btRigidBody::getLinearVelocity (  )  const [inline]

Definition at line 356 of file btRigidBody.h.

btMotionState* btRigidBody::getMotionState (  )  [inline]

Definition at line 466 of file btRigidBody.h.

const btMotionState* btRigidBody::getMotionState (  )  const [inline]

Definition at line 470 of file btRigidBody.h.

int btRigidBody::getNumConstraintRefs (  )  const [inline]

Definition at line 515 of file btRigidBody.h.

btQuaternion btRigidBody::getOrientation (  )  const

Definition at line 295 of file btRigidBody.cpp.

const btVector3& btRigidBody::getTotalForce (  )  const [inline]

Definition at line 281 of file btRigidBody.h.

const btVector3& btRigidBody::getTotalTorque (  )  const [inline]

Definition at line 286 of file btRigidBody.h.

btVector3 btRigidBody::getVelocityInLocalPoint ( const btVector3 rel_pos  )  const [inline]

Definition at line 374 of file btRigidBody.h.

void btRigidBody::integrateVelocities ( btScalar  step  ) 

clamp angular velocity. collision calculations will fail on higher angular velocities

Definition at line 277 of file btRigidBody.cpp.

bool btRigidBody::isInWorld (  )  const [inline]

Definition at line 500 of file btRigidBody.h.

void btRigidBody::predictIntegratedTransform ( btScalar  step,
btTransform predictedTransform 
)

continuous collision detection needs prediction

Definition at line 104 of file btRigidBody.cpp.

void btRigidBody::proceedToTransform ( const btTransform newTrans  ) 

Definition at line 225 of file btRigidBody.cpp.

void btRigidBody::removeConstraintRef ( btTypedConstraint c  ) 

Definition at line 348 of file btRigidBody.cpp.

void btRigidBody::saveKinematicState ( btScalar  step  ) 

Definition at line 109 of file btRigidBody.cpp.

const char * btRigidBody::serialize ( void *  dataBuffer,
class btSerializer serializer 
) const [virtual]

fills the dataBuffer and returns the struct name (and 0 on failure)

Reimplemented from btCollisionObject.

Definition at line 361 of file btRigidBody.cpp.

void btRigidBody::serializeSingleObject ( class btSerializer serializer  )  const [virtual]

Reimplemented from btCollisionObject.

Definition at line 393 of file btRigidBody.cpp.

void btRigidBody::setAngularFactor ( const btVector3 angFac  )  [inline]

Definition at line 485 of file btRigidBody.h.

void btRigidBody::setAngularFactor ( btScalar  angFac  )  [inline]

Definition at line 490 of file btRigidBody.h.

void btRigidBody::setAngularVelocity ( const btVector3 ang_vel  )  [inline]

Definition at line 369 of file btRigidBody.h.

void btRigidBody::setCenterOfMassTransform ( const btTransform xform  ) 

Definition at line 303 of file btRigidBody.cpp.

void btRigidBody::setDamping ( btScalar  lin_damping,
btScalar  ang_damping 
)

Definition at line 149 of file btRigidBody.cpp.

void btRigidBody::setFlags ( int  flags  )  [inline]

Definition at line 520 of file btRigidBody.h.

void btRigidBody::setGravity ( const btVector3 acceleration  ) 

Definition at line 135 of file btRigidBody.cpp.

void btRigidBody::setInvInertiaDiagLocal ( const btVector3 diagInvInertia  )  [inline]

Definition at line 296 of file btRigidBody.h.

void btRigidBody::setLinearFactor ( const btVector3 linearFactor  )  [inline]

Definition at line 262 of file btRigidBody.h.

void btRigidBody::setLinearVelocity ( const btVector3 lin_vel  )  [inline]

Definition at line 364 of file btRigidBody.h.

void btRigidBody::setMassProps ( btScalar  mass,
const btVector3 inertia 
)

Definition at line 231 of file btRigidBody.cpp.

void btRigidBody::setMotionState ( btMotionState motionState  )  [inline]

Definition at line 474 of file btRigidBody.h.

void btRigidBody::setNewBroadphaseProxy ( btBroadphaseProxy broadphaseProxy  )  [inline]

Definition at line 460 of file btRigidBody.h.

void btRigidBody::setSleepingThresholds ( btScalar  linear,
btScalar  angular 
) [inline]

Definition at line 301 of file btRigidBody.h.

void btRigidBody::setupRigidBody ( const btRigidBodyConstructionInfo constructionInfo  )  [protected]

setupRigidBody is only used internally by the constructor

Definition at line 41 of file btRigidBody.cpp.

void btRigidBody::translate ( const btVector3 v  )  [inline]

Definition at line 383 of file btRigidBody.h.

static const btRigidBody* btRigidBody::upcast ( const btCollisionObject colObj  )  [inline, static]

to keep collision detection and dynamics separate we don't store a rigidbody pointer but a rigidbody is derived from btCollisionObject, so we can safely perform an upcast

Definition at line 197 of file btRigidBody.h.

static btRigidBody* btRigidBody::upcast ( btCollisionObject colObj  )  [inline, static]

Definition at line 203 of file btRigidBody.h.

void btRigidBody::updateDeactivation ( btScalar  timeStep  )  [inline]

Definition at line 413 of file btRigidBody.h.

void btRigidBody::updateInertiaTensor (  ) 

Definition at line 254 of file btRigidBody.cpp.

bool btRigidBody::wantsSleeping (  )  [inline]

Definition at line 430 of file btRigidBody.h.


Member Data Documentation

Definition at line 81 of file btRigidBody.h.

Definition at line 80 of file btRigidBody.h.

Definition at line 77 of file btRigidBody.h.

Definition at line 78 of file btRigidBody.h.

Definition at line 79 of file btRigidBody.h.

Definition at line 75 of file btRigidBody.h.

Definition at line 102 of file btRigidBody.h.

Definition at line 85 of file btRigidBody.h.

Definition at line 64 of file btRigidBody.h.

Definition at line 91 of file btRigidBody.h.

Definition at line 482 of file btRigidBody.h.

Definition at line 95 of file btRigidBody.h.

Definition at line 101 of file btRigidBody.h.

Definition at line 483 of file btRigidBody.h.

Definition at line 68 of file btRigidBody.h.

Definition at line 69 of file btRigidBody.h.

Definition at line 65 of file btRigidBody.h.

Definition at line 70 of file btRigidBody.h.

Definition at line 62 of file btRigidBody.h.

Definition at line 103 of file btRigidBody.h.

Definition at line 74 of file btRigidBody.h.

Definition at line 66 of file btRigidBody.h.

Definition at line 84 of file btRigidBody.h.

Definition at line 63 of file btRigidBody.h.

Definition at line 88 of file btRigidBody.h.

Definition at line 104 of file btRigidBody.h.

Definition at line 93 of file btRigidBody.h.

Definition at line 71 of file btRigidBody.h.

Definition at line 72 of file btRigidBody.h.

Definition at line 105 of file btRigidBody.h.


The documentation for this class was generated from the following files: