|
| 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 | clearGravity () |
|
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 |
|
btScalar | getMass () 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 | applyPushImpulse (const btVector3 &impulse, const btVector3 &rel_pos) |
|
btVector3 | getPushVelocity () const |
|
btVector3 | getTurnVelocity () const |
|
void | setPushVelocity (const btVector3 &v) |
|
void | setTurnVelocity (const btVector3 &v) |
|
void | applyCentralPushImpulse (const btVector3 &impulse) |
|
void | applyTorqueTurnImpulse (const btVector3 &torque) |
|
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 |
|
btVector3 | getPushVelocityInLocalPoint (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) |
|
int | getNumObjectsWithoutCollision () const |
|
const btCollisionObject * | getObjectWithoutCollision (int index) |
|
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 |
|
void | setSpinningFriction (btScalar frict) |
|
btScalar | getSpinningFriction () const |
|
void | setContactStiffnessAndDamping (btScalar stiffness, btScalar damping) |
|
btScalar | getContactStiffness () const |
|
btScalar | getContactDamping () 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) |
|
int | getWorldArrayIndex () const |
|
void | setWorldArrayIndex (int ix) |
|
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 |
|
int | getUserIndex2 () const |
|
int | getUserIndex3 () 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...
|
|
void | setUserIndex2 (int index) |
|
void | setUserIndex3 (int index) |
|
int | getUpdateRevisionInternal () const |
|
void | setCustomDebugColor (const btVector3 &colorRGB) |
|
void | removeCustomDebugColor () |
|
bool | getCustomDebugColor (btVector3 &colorRGB) const |
|
bool | checkCollideWith (const btCollisionObject *co) 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 |
|
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 one-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 59 of file btRigidBody.h.