#include <btRigidBody.h>
Classes | |
struct | btRigidBodyConstructionInfo |
Public Member Functions | |
void | addConstraintRef (btTypedConstraint *c) |
void | applyCentralForce (const btVector3 &force) |
void | applyCentralImpulse (const btVector3 &impulse) |
void | applyDamping (btScalar timeStep) |
void | applyForce (const btVector3 &force, const btVector3 &rel_pos) |
void | applyGravity () |
void | applyImpulse (const btVector3 &impulse, const btVector3 &rel_pos) |
void | applyTorque (const btVector3 &torque) |
void | applyTorqueImpulse (const btVector3 &torque) |
btRigidBody (const btRigidBodyConstructionInfo &constructionInfo) | |
btRigidBody constructor using construction info | |
btRigidBody (btScalar mass, btMotionState *motionState, btCollisionShape *collisionShape, const btVector3 &localInertia=btVector3(0, 0, 0)) | |
virtual int | calculateSerializeBufferSize () const |
virtual bool | checkCollideWithOverride (btCollisionObject *co) |
void | clearForces () |
SIMD_FORCE_INLINE btScalar | computeAngularImpulseDenominator (const btVector3 &axis) const |
SIMD_FORCE_INLINE btScalar | computeImpulseDenominator (const btVector3 &pos, const btVector3 &normal) const |
void | getAabb (btVector3 &aabbMin, btVector3 &aabbMax) const |
btScalar | getAngularDamping () const |
const btVector3 & | getAngularFactor () const |
btScalar | getAngularSleepingThreshold () const |
const btVector3 & | getAngularVelocity () const |
const btBroadphaseProxy * | getBroadphaseProxy () const |
btBroadphaseProxy * | getBroadphaseProxy () |
const btVector3 & | getCenterOfMassPosition () const |
const btTransform & | getCenterOfMassTransform () const |
SIMD_FORCE_INLINE const btCollisionShape * | getCollisionShape () const |
SIMD_FORCE_INLINE btCollisionShape * | getCollisionShape () |
btTypedConstraint * | getConstraintRef (int index) |
const btVector3 & | getDeltaAngularVelocity () const |
const btVector3 & | getDeltaLinearVelocity () const |
int | getFlags () const |
const btVector3 & | getGravity () const |
const btVector3 & | getInvInertiaDiagLocal () const |
const btMatrix3x3 & | getInvInertiaTensorWorld () const |
btScalar | getInvMass () const |
btScalar | getLinearDamping () const |
const btVector3 & | getLinearFactor () const |
btScalar | getLinearSleepingThreshold () const |
const btVector3 & | getLinearVelocity () const |
btMotionState * | getMotionState () |
const btMotionState * | getMotionState () const |
int | getNumConstraintRefs () const |
btQuaternion | getOrientation () const |
const btVector3 & | getPushVelocity () const |
const btVector3 & | getTotalForce () const |
const btVector3 & | getTotalTorque () const |
const btVector3 & | getTurnVelocity () const |
btVector3 | getVelocityInLocalPoint (const btVector3 &rel_pos) const |
void | integrateVelocities (btScalar step) |
SIMD_FORCE_INLINE void | internalApplyImpulse (const btVector3 &linearComponent, const btVector3 &angularComponent, const btScalar impulseMagnitude) |
SIMD_FORCE_INLINE void | internalApplyPushImpulse (const btVector3 &linearComponent, const btVector3 &angularComponent, btScalar impulseMagnitude) |
const btVector3 & | internalGetAngularFactor () const |
SIMD_FORCE_INLINE void | internalGetAngularVelocity (btVector3 &angVel) const |
btVector3 & | internalGetDeltaAngularVelocity () |
btVector3 & | internalGetDeltaLinearVelocity () |
const btVector3 & | internalGetInvMass () const |
btVector3 & | internalGetPushVelocity () |
btVector3 & | internalGetTurnVelocity () |
SIMD_FORCE_INLINE void | internalGetVelocityInLocalPointObsolete (const btVector3 &rel_pos, btVector3 &velocity) const |
void | internalWritebackVelocity () |
void | internalWritebackVelocity (btScalar timeStep) |
bool | isInWorld () const |
void | predictIntegratedTransform (btScalar step, btTransform &predictedTransform) |
continuous collision detection needs prediction | |
void | proceedToTransform (const btTransform &newTrans) |
void | removeConstraintRef (btTypedConstraint *c) |
void | saveKinematicState (btScalar step) |
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 |
void | setAngularFactor (const btVector3 &angFac) |
void | setAngularFactor (btScalar angFac) |
void | setAngularVelocity (const btVector3 &ang_vel) |
void | setCenterOfMassTransform (const btTransform &xform) |
void | setDamping (btScalar lin_damping, btScalar ang_damping) |
void | setFlags (int flags) |
void | setGravity (const btVector3 &acceleration) |
void | setInvInertiaDiagLocal (const btVector3 &diagInvInertia) |
void | setLinearFactor (const btVector3 &linearFactor) |
void | setLinearVelocity (const btVector3 &lin_vel) |
void | setMassProps (btScalar mass, const btVector3 &inertia) |
void | setMotionState (btMotionState *motionState) |
void | setNewBroadphaseProxy (btBroadphaseProxy *broadphaseProxy) |
void | setSleepingThresholds (btScalar linear, btScalar angular) |
void | translate (const btVector3 &v) |
SIMD_FORCE_INLINE void | updateDeactivation (btScalar timeStep) |
void | updateInertiaTensor () |
SIMD_FORCE_INLINE bool | wantsSleeping () |
virtual | ~btRigidBody () |
Static Public Member Functions | |
static const btRigidBody * | upcast (const btCollisionObject *colObj) |
static btRigidBody * | upcast (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_angularFactor |
btVector3 | m_deltaAngularVelocity |
btVector3 | m_invMass |
btVector3 | m_pushVelocity |
btVector3 | m_turnVelocity |
Private Attributes | |
btScalar | m_additionalAngularDampingFactor |
btScalar | m_additionalAngularDampingThresholdSqr |
bool | m_additionalDamping |
btScalar | m_additionalDampingFactor |
btScalar | m_additionalLinearDampingThresholdSqr |
btScalar | m_angularDamping |
btScalar | m_angularSleepingThreshold |
btVector3 | m_angularVelocity |
btAlignedObjectArray < btTypedConstraint * > | m_constraintRefs |
int | m_debugBodyId |
btVector3 | m_gravity |
btVector3 | m_gravity_acceleration |
btScalar | m_inverseMass |
btVector3 | m_invInertiaLocal |
btMatrix3x3 | m_invInertiaTensorWorld |
btScalar | m_linearDamping |
btVector3 | m_linearFactor |
btScalar | m_linearSleepingThreshold |
btVector3 | m_linearVelocity |
btMotionState * | m_optionalMotionState |
int | m_rigidbodyFlags |
btVector3 | m_totalForce |
btVector3 | m_totalTorque |
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 55 of file btRigidBody.h.
btRigidBody::btRigidBody | ( | const btRigidBodyConstructionInfo & | constructionInfo | ) |
btRigidBody constructor using construction info
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)
virtual btRigidBody::~btRigidBody | ( | ) | [inline, virtual] |
Definition at line 171 of file btRigidBody.h.
void btRigidBody::addConstraintRef | ( | btTypedConstraint * | c | ) |
void btRigidBody::applyCentralForce | ( | const btVector3 & | force | ) | [inline] |
Definition at line 268 of file btRigidBody.h.
void btRigidBody::applyCentralImpulse | ( | const btVector3 & | impulse | ) | [inline] |
Definition at line 310 of file btRigidBody.h.
void btRigidBody::applyDamping | ( | btScalar | timeStep | ) |
void btRigidBody::applyForce | ( | const btVector3 & | force, |
const btVector3 & | rel_pos | ||
) | [inline] |
Definition at line 304 of file btRigidBody.h.
void btRigidBody::applyGravity | ( | ) |
void btRigidBody::applyImpulse | ( | const btVector3 & | impulse, |
const btVector3 & | rel_pos | ||
) | [inline] |
Definition at line 320 of file btRigidBody.h.
void btRigidBody::applyTorque | ( | const btVector3 & | torque | ) | [inline] |
Definition at line 299 of file btRigidBody.h.
void btRigidBody::applyTorqueImpulse | ( | const btVector3 & | torque | ) | [inline] |
Definition at line 315 of file btRigidBody.h.
btRigidBody::ATTRIBUTE_ALIGNED64 | ( | btVector3 | m_deltaLinearVelocity | ) | [protected] |
virtual int btRigidBody::calculateSerializeBufferSize | ( | ) | const [virtual] |
virtual bool btRigidBody::checkCollideWithOverride | ( | btCollisionObject * | co | ) | [virtual] |
void btRigidBody::clearForces | ( | ) | [inline] |
Definition at line 332 of file btRigidBody.h.
SIMD_FORCE_INLINE btScalar btRigidBody::computeAngularImpulseDenominator | ( | const btVector3 & | axis | ) | const [inline] |
Definition at line 399 of file btRigidBody.h.
SIMD_FORCE_INLINE btScalar btRigidBody::computeImpulseDenominator | ( | const btVector3 & | pos, |
const btVector3 & | normal | ||
) | const [inline] |
Definition at line 387 of file btRigidBody.h.
void btRigidBody::getAabb | ( | btVector3 & | aabbMin, |
btVector3 & | aabbMax | ||
) | const |
btScalar btRigidBody::getAngularDamping | ( | ) | const [inline] |
Definition at line 223 of file btRigidBody.h.
const btVector3& btRigidBody::getAngularFactor | ( | ) | const [inline] |
Definition at line 486 of file btRigidBody.h.
btScalar btRigidBody::getAngularSleepingThreshold | ( | ) | const [inline] |
Definition at line 233 of file btRigidBody.h.
const btVector3& btRigidBody::getAngularVelocity | ( | ) | const [inline] |
Definition at line 351 of file btRigidBody.h.
const btBroadphaseProxy* btRigidBody::getBroadphaseProxy | ( | ) | const [inline] |
Definition at line 444 of file btRigidBody.h.
btBroadphaseProxy* btRigidBody::getBroadphaseProxy | ( | ) | [inline] |
Definition at line 448 of file btRigidBody.h.
const btVector3& btRigidBody::getCenterOfMassPosition | ( | ) | const [inline] |
Definition at line 340 of file btRigidBody.h.
const btTransform& btRigidBody::getCenterOfMassTransform | ( | ) | const [inline] |
Definition at line 345 of file btRigidBody.h.
SIMD_FORCE_INLINE const btCollisionShape* btRigidBody::getCollisionShape | ( | ) | const [inline] |
Definition at line 240 of file btRigidBody.h.
SIMD_FORCE_INLINE btCollisionShape* btRigidBody::getCollisionShape | ( | ) | [inline] |
Definition at line 244 of file btRigidBody.h.
btTypedConstraint* btRigidBody::getConstraintRef | ( | int | index | ) | [inline] |
Definition at line 502 of file btRigidBody.h.
const btVector3& btRigidBody::getDeltaAngularVelocity | ( | ) | const [inline] |
Definition at line 527 of file btRigidBody.h.
const btVector3& btRigidBody::getDeltaLinearVelocity | ( | ) | const [inline] |
Definition at line 522 of file btRigidBody.h.
int btRigidBody::getFlags | ( | ) | const [inline] |
Definition at line 517 of file btRigidBody.h.
const btVector3& btRigidBody::getGravity | ( | ) | const [inline] |
Definition at line 211 of file btRigidBody.h.
const btVector3& btRigidBody::getInvInertiaDiagLocal | ( | ) | const [inline] |
Definition at line 283 of file btRigidBody.h.
const btMatrix3x3& btRigidBody::getInvInertiaTensorWorld | ( | ) | const [inline] |
Definition at line 260 of file btRigidBody.h.
btScalar btRigidBody::getInvMass | ( | ) | const [inline] |
Definition at line 259 of file btRigidBody.h.
btScalar btRigidBody::getLinearDamping | ( | ) | const [inline] |
Definition at line 218 of file btRigidBody.h.
const btVector3& btRigidBody::getLinearFactor | ( | ) | const [inline] |
Definition at line 250 of file btRigidBody.h.
btScalar btRigidBody::getLinearSleepingThreshold | ( | ) | const [inline] |
Definition at line 228 of file btRigidBody.h.
const btVector3& btRigidBody::getLinearVelocity | ( | ) | const [inline] |
Definition at line 348 of file btRigidBody.h.
btMotionState* btRigidBody::getMotionState | ( | ) | [inline] |
Definition at line 458 of file btRigidBody.h.
const btMotionState* btRigidBody::getMotionState | ( | ) | const [inline] |
Definition at line 462 of file btRigidBody.h.
int btRigidBody::getNumConstraintRefs | ( | ) | const [inline] |
Definition at line 507 of file btRigidBody.h.
btQuaternion btRigidBody::getOrientation | ( | ) | const |
const btVector3& btRigidBody::getPushVelocity | ( | ) | const [inline] |
Definition at line 532 of file btRigidBody.h.
const btVector3& btRigidBody::getTotalForce | ( | ) | const [inline] |
Definition at line 273 of file btRigidBody.h.
const btVector3& btRigidBody::getTotalTorque | ( | ) | const [inline] |
Definition at line 278 of file btRigidBody.h.
const btVector3& btRigidBody::getTurnVelocity | ( | ) | const [inline] |
Definition at line 537 of file btRigidBody.h.
btVector3 btRigidBody::getVelocityInLocalPoint | ( | const btVector3 & | rel_pos | ) | const [inline] |
Definition at line 366 of file btRigidBody.h.
void btRigidBody::integrateVelocities | ( | btScalar | step | ) |
SIMD_FORCE_INLINE void btRigidBody::internalApplyImpulse | ( | const btVector3 & | linearComponent, |
const btVector3 & | angularComponent, | ||
const btScalar | impulseMagnitude | ||
) | [inline] |
Definition at line 588 of file btRigidBody.h.
SIMD_FORCE_INLINE void btRigidBody::internalApplyPushImpulse | ( | const btVector3 & | linearComponent, |
const btVector3 & | angularComponent, | ||
btScalar | impulseMagnitude | ||
) | [inline] |
Definition at line 597 of file btRigidBody.h.
const btVector3& btRigidBody::internalGetAngularFactor | ( | ) | const [inline] |
Definition at line 556 of file btRigidBody.h.
SIMD_FORCE_INLINE void btRigidBody::internalGetAngularVelocity | ( | btVector3 & | angVel | ) | const [inline] |
Definition at line 581 of file btRigidBody.h.
btVector3& btRigidBody::internalGetDeltaAngularVelocity | ( | ) | [inline] |
Definition at line 551 of file btRigidBody.h.
btVector3& btRigidBody::internalGetDeltaLinearVelocity | ( | ) | [inline] |
some internal methods, don't use them
Definition at line 546 of file btRigidBody.h.
const btVector3& btRigidBody::internalGetInvMass | ( | ) | const [inline] |
Definition at line 561 of file btRigidBody.h.
btVector3& btRigidBody::internalGetPushVelocity | ( | ) | [inline] |
Definition at line 566 of file btRigidBody.h.
btVector3& btRigidBody::internalGetTurnVelocity | ( | ) | [inline] |
Definition at line 571 of file btRigidBody.h.
SIMD_FORCE_INLINE void btRigidBody::internalGetVelocityInLocalPointObsolete | ( | const btVector3 & | rel_pos, |
btVector3 & | velocity | ||
) | const [inline] |
Definition at line 576 of file btRigidBody.h.
void btRigidBody::internalWritebackVelocity | ( | ) | [inline] |
Definition at line 606 of file btRigidBody.h.
void btRigidBody::internalWritebackVelocity | ( | btScalar | timeStep | ) |
bool btRigidBody::isInWorld | ( | ) | const [inline] |
Definition at line 492 of file btRigidBody.h.
void btRigidBody::predictIntegratedTransform | ( | btScalar | step, |
btTransform & | predictedTransform | ||
) |
continuous collision detection needs prediction
void btRigidBody::proceedToTransform | ( | const btTransform & | newTrans | ) |
void btRigidBody::removeConstraintRef | ( | btTypedConstraint * | c | ) |
void btRigidBody::saveKinematicState | ( | btScalar | step | ) |
virtual const char* btRigidBody::serialize | ( | void * | dataBuffer, |
class btSerializer * | serializer | ||
) | const [virtual] |
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual void btRigidBody::serializeSingleObject | ( | class btSerializer * | serializer | ) | const [virtual] |
void btRigidBody::setAngularFactor | ( | const btVector3 & | angFac | ) | [inline] |
Definition at line 477 of file btRigidBody.h.
void btRigidBody::setAngularFactor | ( | btScalar | angFac | ) | [inline] |
Definition at line 482 of file btRigidBody.h.
void btRigidBody::setAngularVelocity | ( | const btVector3 & | ang_vel | ) | [inline] |
Definition at line 361 of file btRigidBody.h.
void btRigidBody::setCenterOfMassTransform | ( | const btTransform & | xform | ) |
void btRigidBody::setDamping | ( | btScalar | lin_damping, |
btScalar | ang_damping | ||
) |
void btRigidBody::setFlags | ( | int | flags | ) | [inline] |
Definition at line 512 of file btRigidBody.h.
void btRigidBody::setGravity | ( | const btVector3 & | acceleration | ) |
void btRigidBody::setInvInertiaDiagLocal | ( | const btVector3 & | diagInvInertia | ) | [inline] |
Definition at line 288 of file btRigidBody.h.
void btRigidBody::setLinearFactor | ( | const btVector3 & | linearFactor | ) | [inline] |
Definition at line 254 of file btRigidBody.h.
void btRigidBody::setLinearVelocity | ( | const btVector3 & | lin_vel | ) | [inline] |
Definition at line 356 of file btRigidBody.h.
void btRigidBody::setMassProps | ( | btScalar | mass, |
const btVector3 & | inertia | ||
) |
void btRigidBody::setMotionState | ( | btMotionState * | motionState | ) | [inline] |
Definition at line 466 of file btRigidBody.h.
void btRigidBody::setNewBroadphaseProxy | ( | btBroadphaseProxy * | broadphaseProxy | ) | [inline] |
Definition at line 452 of file btRigidBody.h.
void btRigidBody::setSleepingThresholds | ( | btScalar | linear, |
btScalar | angular | ||
) | [inline] |
Definition at line 293 of file btRigidBody.h.
void btRigidBody::setupRigidBody | ( | const btRigidBodyConstructionInfo & | constructionInfo | ) | [protected] |
setupRigidBody is only used internally by the constructor
void btRigidBody::translate | ( | const btVector3 & | v | ) | [inline] |
Definition at line 375 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 189 of file btRigidBody.h.
static btRigidBody* btRigidBody::upcast | ( | btCollisionObject * | colObj | ) | [inline, static] |
Definition at line 195 of file btRigidBody.h.
SIMD_FORCE_INLINE void btRigidBody::updateDeactivation | ( | btScalar | timeStep | ) | [inline] |
Definition at line 405 of file btRigidBody.h.
void btRigidBody::updateInertiaTensor | ( | ) |
SIMD_FORCE_INLINE bool btRigidBody::wantsSleeping | ( | ) | [inline] |
Definition at line 422 of file btRigidBody.h.
Definition at line 77 of file btRigidBody.h.
Definition at line 76 of file btRigidBody.h.
bool btRigidBody::m_additionalDamping [private] |
Definition at line 73 of file btRigidBody.h.
Definition at line 74 of file btRigidBody.h.
Definition at line 75 of file btRigidBody.h.
btScalar btRigidBody::m_angularDamping [private] |
Definition at line 71 of file btRigidBody.h.
btVector3 btRigidBody::m_angularFactor [protected] |
Definition at line 98 of file btRigidBody.h.
Definition at line 81 of file btRigidBody.h.
btVector3 btRigidBody::m_angularVelocity [private] |
Definition at line 60 of file btRigidBody.h.
Definition at line 87 of file btRigidBody.h.
Definition at line 474 of file btRigidBody.h.
int btRigidBody::m_debugBodyId [private] |
Definition at line 91 of file btRigidBody.h.
btVector3 btRigidBody::m_deltaAngularVelocity [protected] |
Definition at line 97 of file btRigidBody.h.
Definition at line 475 of file btRigidBody.h.
btVector3 btRigidBody::m_gravity [private] |
Definition at line 64 of file btRigidBody.h.
btVector3 btRigidBody::m_gravity_acceleration [private] |
Definition at line 65 of file btRigidBody.h.
btScalar btRigidBody::m_inverseMass [private] |
Definition at line 61 of file btRigidBody.h.
btVector3 btRigidBody::m_invInertiaLocal [private] |
Definition at line 66 of file btRigidBody.h.
Definition at line 58 of file btRigidBody.h.
btVector3 btRigidBody::m_invMass [protected] |
Definition at line 99 of file btRigidBody.h.
btScalar btRigidBody::m_linearDamping [private] |
Definition at line 70 of file btRigidBody.h.
btVector3 btRigidBody::m_linearFactor [private] |
Definition at line 62 of file btRigidBody.h.
Definition at line 80 of file btRigidBody.h.
btVector3 btRigidBody::m_linearVelocity [private] |
Definition at line 59 of file btRigidBody.h.
btMotionState* btRigidBody::m_optionalMotionState [private] |
Definition at line 84 of file btRigidBody.h.
btVector3 btRigidBody::m_pushVelocity [protected] |
Definition at line 100 of file btRigidBody.h.
int btRigidBody::m_rigidbodyFlags [private] |
Definition at line 89 of file btRigidBody.h.
btVector3 btRigidBody::m_totalForce [private] |
Definition at line 67 of file btRigidBody.h.
btVector3 btRigidBody::m_totalTorque [private] |
Definition at line 68 of file btRigidBody.h.
btVector3 btRigidBody::m_turnVelocity [protected] |
Definition at line 101 of file btRigidBody.h.