|
| | 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 () |
| |
| btVector3 | getTurnVelocity () |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
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.