|
Bullet Collision Detection & Physics Library
|
The btRigidBody is the main class for rigid body objects. More...
#include <btRigidBody.h>


Classes | |
| struct | btRigidBodyConstructionInfo |
| The btRigidBodyConstructionInfo structure provides information to create a rigid body. More... | |
Static Public Member Functions | |
| static const btRigidBody * | upcast (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 btRigidBody * | upcast (btCollisionObject *colObj) |
Public Attributes | |
| int | m_contactSolverType |
| int | m_frictionSolverType |
Protected Member Functions | |
| void | setupRigidBody (const btRigidBodyConstructionInfo &constructionInfo) |
| setupRigidBody is only used internally by the constructor | |
Additional Inherited Members | |
Public Types inherited from btCollisionObject | |
| enum | CollisionFlags { CF_STATIC_OBJECT = 1 , CF_KINEMATIC_OBJECT = 2 , CF_NO_CONTACT_RESPONSE = 4 , CF_CUSTOM_MATERIAL_CALLBACK = 8 , CF_CHARACTER_OBJECT = 16 , CF_DISABLE_VISUALIZE_OBJECT = 32 , CF_DISABLE_SPU_COLLISION_PROCESSING = 64 , CF_HAS_CONTACT_STIFFNESS_DAMPING = 128 , CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR = 256 , CF_HAS_FRICTION_ANCHOR = 512 , CF_HAS_COLLISION_SOUND_TRIGGER = 1024 } |
| enum | CollisionObjectTypes { CO_COLLISION_OBJECT =1 , CO_RIGID_BODY =2 , CO_GHOST_OBJECT =4 , CO_SOFT_BODY =8 , CO_HF_FLUID =16 , CO_USER_TYPE =32 , CO_FEATHERSTONE_LINK =64 } |
| enum | AnisotropicFrictionFlags { CF_ANISOTROPIC_FRICTION_DISABLED =0 , CF_ANISOTROPIC_FRICTION = 1 , CF_ANISOTROPIC_ROLLING_FRICTION = 2 } |
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 62 of file btRigidBody.h.
| 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.
|
inlinevirtual |
Definition at line 185 of file btRigidBody.h.
| void btRigidBody::addConstraintRef | ( | btTypedConstraint * | c | ) |
disable collision with the 'other' body
Definition at line 433 of file btRigidBody.cpp.
Definition at line 282 of file btRigidBody.h.
Definition at line 324 of file btRigidBody.h.
applyDamping damps the velocity, using the given m_linearDamping and m_angularDamping
Definition at line 161 of file btRigidBody.cpp.
Definition at line 318 of file btRigidBody.h.
| void btRigidBody::applyGravity | ( | ) |
Definition at line 218 of file btRigidBody.cpp.
Definition at line 334 of file btRigidBody.h.
Definition at line 313 of file btRigidBody.h.
Definition at line 329 of file btRigidBody.h.
|
virtual |
Reimplemented from btCollisionObject.
Definition at line 476 of file btRigidBody.cpp.
|
inline |
Definition at line 346 of file btRigidBody.h.
Definition at line 415 of file btRigidBody.h.
explicit version is best avoided, it gains energy
Definition at line 294 of file btRigidBody.cpp.
perform implicit force computation in body space (inertial frame)
Definition at line 309 of file btRigidBody.cpp.
perform implicit force computation in world space
Definition at line 350 of file btRigidBody.cpp.
|
inline |
Definition at line 403 of file btRigidBody.h.
Definition at line 129 of file btRigidBody.cpp.
|
inline |
Definition at line 237 of file btRigidBody.h.
Definition at line 504 of file btRigidBody.h.
|
inline |
Definition at line 247 of file btRigidBody.h.
Definition at line 365 of file btRigidBody.h.
|
inline |
Definition at line 464 of file btRigidBody.h.
|
inline |
Definition at line 460 of file btRigidBody.h.
Definition at line 354 of file btRigidBody.h.
|
inline |
Definition at line 359 of file btRigidBody.h.
|
inline |
Definition at line 258 of file btRigidBody.h.
|
inline |
Definition at line 254 of file btRigidBody.h.
|
inline |
Definition at line 518 of file btRigidBody.h.
|
inline |
Definition at line 533 of file btRigidBody.h.
Definition at line 225 of file btRigidBody.h.
Definition at line 297 of file btRigidBody.h.
|
inline |
Definition at line 274 of file btRigidBody.h.
|
inline |
Definition at line 273 of file btRigidBody.h.
|
inline |
Definition at line 232 of file btRigidBody.h.
Definition at line 264 of file btRigidBody.h.
|
inline |
Definition at line 242 of file btRigidBody.h.
Definition at line 362 of file btRigidBody.h.
| btVector3 btRigidBody::getLocalInertia | ( | ) | const |
Definition at line 263 of file btRigidBody.cpp.
|
inline |
Definition at line 474 of file btRigidBody.h.
|
inline |
Definition at line 478 of file btRigidBody.h.
|
inline |
Definition at line 523 of file btRigidBody.h.
| btQuaternion btRigidBody::getOrientation | ( | ) | const |
Definition at line 405 of file btRigidBody.cpp.
Definition at line 287 of file btRigidBody.h.
Definition at line 292 of file btRigidBody.h.
Definition at line 382 of file btRigidBody.h.
clamp angular velocity. collision calculations will fail on higher angular velocities
Definition at line 387 of file btRigidBody.cpp.
|
inline |
Definition at line 510 of file btRigidBody.h.
| void btRigidBody::predictIntegratedTransform | ( | btScalar | step, |
| btTransform & | predictedTransform ) |
continuous collision detection needs prediction
Definition at line 106 of file btRigidBody.cpp.
| void btRigidBody::proceedToTransform | ( | const btTransform & | newTrans | ) |
Definition at line 227 of file btRigidBody.cpp.
| void btRigidBody::removeConstraintRef | ( | btTypedConstraint * | c | ) |
Definition at line 456 of file btRigidBody.cpp.
Definition at line 111 of file btRigidBody.cpp.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btCollisionObject.
Definition at line 483 of file btRigidBody.cpp.
|
virtual |
Reimplemented from btCollisionObject.
Definition at line 520 of file btRigidBody.cpp.
Definition at line 499 of file btRigidBody.h.
Definition at line 493 of file btRigidBody.h.
Definition at line 376 of file btRigidBody.h.
| void btRigidBody::setCenterOfMassTransform | ( | const btTransform & | xform | ) |
Definition at line 413 of file btRigidBody.cpp.
Definition at line 151 of file btRigidBody.cpp.
Definition at line 528 of file btRigidBody.h.
Definition at line 137 of file btRigidBody.cpp.
Definition at line 302 of file btRigidBody.h.
Definition at line 268 of file btRigidBody.h.
Definition at line 370 of file btRigidBody.h.
Definition at line 233 of file btRigidBody.cpp.
|
inline |
Definition at line 482 of file btRigidBody.h.
|
inline |
Definition at line 468 of file btRigidBody.h.
Definition at line 307 of file btRigidBody.h.
|
protected |
setupRigidBody is only used internally by the constructor
Definition at line 41 of file btRigidBody.cpp.
Definition at line 391 of file btRigidBody.h.
|
inlinestatic |
Definition at line 209 of file btRigidBody.h.
|
inlinestatic |
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 203 of file btRigidBody.h.
Definition at line 421 of file btRigidBody.h.
| void btRigidBody::updateInertiaTensor | ( | ) |
Definition at line 256 of file btRigidBody.cpp.
|
inline |
Definition at line 438 of file btRigidBody.h.
|
private |
Definition at line 84 of file btRigidBody.h.
|
private |
Definition at line 83 of file btRigidBody.h.
|
private |
Definition at line 80 of file btRigidBody.h.
|
private |
Definition at line 81 of file btRigidBody.h.
|
private |
Definition at line 82 of file btRigidBody.h.
|
private |
Definition at line 78 of file btRigidBody.h.
|
protected |
Definition at line 105 of file btRigidBody.h.
|
private |
Definition at line 88 of file btRigidBody.h.
|
private |
Definition at line 67 of file btRigidBody.h.
|
private |
Definition at line 94 of file btRigidBody.h.
| int btRigidBody::m_contactSolverType |
Definition at line 490 of file btRigidBody.h.
|
private |
Definition at line 98 of file btRigidBody.h.
|
protected |
Definition at line 104 of file btRigidBody.h.
|
protected |
Definition at line 103 of file btRigidBody.h.
| int btRigidBody::m_frictionSolverType |
Definition at line 491 of file btRigidBody.h.
|
private |
Definition at line 71 of file btRigidBody.h.
|
private |
Definition at line 72 of file btRigidBody.h.
|
private |
Definition at line 68 of file btRigidBody.h.
|
private |
Definition at line 73 of file btRigidBody.h.
|
private |
Definition at line 65 of file btRigidBody.h.
|
protected |
Definition at line 106 of file btRigidBody.h.
|
private |
Definition at line 77 of file btRigidBody.h.
|
private |
Definition at line 69 of file btRigidBody.h.
|
private |
Definition at line 87 of file btRigidBody.h.
|
private |
Definition at line 66 of file btRigidBody.h.
|
private |
Definition at line 91 of file btRigidBody.h.
|
protected |
Definition at line 107 of file btRigidBody.h.
|
private |
Definition at line 96 of file btRigidBody.h.
|
private |
Definition at line 74 of file btRigidBody.h.
|
private |
Definition at line 75 of file btRigidBody.h.
|
protected |
Definition at line 108 of file btRigidBody.h.