BulletRigidBody (object)

The BulletRigidBody is the main class for rigid body objects. It is derived from BulletICollisionObject, so it keeps a pointer to a BulletCollisionShape. It is recommended for performance and memory use to share BulletCollisionShape 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 on-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)

BulletRigidBody BulletRigidBody BulletRigidBody BulletICollisionObject BulletICollisionObject BulletRigidBody->BulletICollisionObject

Members

Data pointer  
BulletMotionState __motionState  
BulletCollisionShape __collisionShape  
Object[] __constraints  
BulletBroadphaseProxy __broadphaseProxy  
Object __userPointer  

Methods

  BulletRigidBody ( in BulletRigidBody other )
  BulletRigidBody ( in BulletRigidBodyConstructionInfo constructionInfo )
  BulletRigidBody ()
  __addConstraintRef ! ( in BulletTypedConstraint c )
  __construct ! ( in BulletRigidBodyConstructionInfo constructionInfo )
  __destroy ! ()
  __removeConstraintRef ! ( in BulletTypedConstraint c )
  __setCollisionShape ! ( in BulletCollisionShape collisionShape )
  __setMotionState ! ( in BulletMotionState motionState )
  __setNewBroadphaseProxy ! ( in BulletBroadphaseProxy broadphaseProxy )
  activate ! ( in Boolean forceActivation )
  activate ! ()
  addConstraintRef ! ( in BulletTypedConstraint c )
  applyCentralForce ! ( in Vec3 force )
  applyCentralImpulse ! ( in Vec3 impulse )
  applyDamping ! ( in Scalar timeStep )
  applyForce ! ( in Vec3 force, in Vec3 rel_pos )
  applyGravity ! ()
  applyImpulse ! ( in Vec3 impulse, in Vec3 rel_pos )
  applyTorque ! ( in Vec3 torque )
  applyTorqueImpulse ! ( in Vec3 torque )
Boolean checkCollideWith ? ( in BulletICollisionObject co )
Boolean checkCollideWithOverride ? ( in BulletICollisionObject co )
  clearForces ! ()
BulletRigidBody clone ? ()
Scalar computeAngularImpulseDenominator ? ( in Vec3 axis )
Scalar computeImpulseDenominator ? ( in Vec3 pos, in Vec3 normal )
  forceActivationState ! ( in Integer newState )
  getAabb ! ( io Vec3 aabbMin, io Vec3 aabbMax )
Integer getActivationState ? ()
Scalar getAngularDamping ? ()
Vec3 getAngularFactor ? ()
Scalar getAngularSleepingThreshold ? ()
Vec3 getAngularVelocity ? ()
Vec3 getAnisotropicFriction ? ()
BulletBroadphaseProxy getBroadphaseHandle ? ()
BulletBroadphaseProxy getBroadphaseProxy ? ()
Scalar getCcdMotionThreshold ? ()
Scalar getCcdSquareMotionThreshold ? ()
Scalar getCcdSweptSphereRadius ? ()
Vec3 getCenterOfMassPosition ? ()
Xfo getCenterOfMassTransform ? ()
Integer getCollisionFlags ? ()
BulletCollisionShape getCollisionShape ? ()
Integer getCompanionId ? ()
BulletTypedConstraint getConstraintRef ? ( in Integer index )
Scalar getContactProcessingThreshold ? ()
Scalar getDeactivationTime ? ()
Vec3 getDeltaAngularVelocity ? ()
Vec3 getDeltaLinearVelocity ? ()
Integer getFlags ? ()
Scalar getFriction ? ()
Vec3 getGravity ? ()
Scalar getHitFraction ? ()
Vec3 getInterpolationAngularVelocity ? ()
Vec3 getInterpolationLinearVelocity ? ()
Xfo getInterpolationWorldTransform ? ()
Vec3 getInvInertiaDiagLocal ? ()
Mat33 getInvInertiaTensorWorld ? ()
Scalar getInvMass ? ()
Integer getIslandTag ? ()
Scalar getLinearDamping ? ()
Vec3 getLinearFactor ? ()
Scalar getLinearSleepingThreshold ? ()
Vec3 getLinearVelocity ? ()
BulletMotionState getMotionState ? ()
Integer getNumConstraintRefs ? ()
Object getObject ? ()
Quat getOrientation ? ()
Data getPointer ? ()
Vec3 getPushVelocity ? ()
Scalar getRestitution ? ()
Vec3 getTotalForce ? ()
Vec3 getTotalTorque ? ()
Vec3 getTurnVelocity ? ()
Object getUserPointer ? ()
Vec3 getVelocityInLocalPoint ? ( in Vec3 rel_pos )
Xfo getWorldTransform ? ()
Boolean hasAnisotropicFriction ? ()
Boolean hasContactResponse ? ()
  integrateVelocities ! ( in Scalar step )
Boolean isActive ? ()
Boolean isInWorld ? ()
Boolean isKinematicObject ? ()
Boolean isStaticObject ? ()
Boolean isStaticOrKinematicObject ? ()
Boolean mergesSimulationIslands ? ()
  predictIntegratedTransform ! ( in Scalar step, io Xfo predictedTransform )
  proceedToTransform ! ( in Xfo newTrans )
  removeConstraintRef ! ( in BulletTypedConstraint c )
  saveKinematicState ! ( in Scalar step )
  setActivationState ! ( in Integer newState )
  setAngularFactor ! ( in Scalar angFac )
  setAngularFactor ! ( in Vec3 angFac )
  setAngularVelocity ! ( in Vec3 ang_vel )
  setAnisotropicFriction ! ( in Vec3 anisotropicFriction )
  setCcdMotionThreshold ! ( in Scalar ccdMotionThreshold )
  setCcdSweptSphereRadius ! ( in Scalar radius )
  setCenterOfMassTransform ! ( in Xfo xform )
  setCollisionFlags ! ( in Integer flags )
  setCollisionShape ! ( in BulletCollisionShape collisionShape )
  setCompanionId ! ( in Integer id )
  setContactProcessingThreshold ! ( in Scalar contactProcessingThreshold )
  setDamping ! ( in Scalar lin_damping, in Scalar ang_damping )
  setDeactivationTime ! ( in Scalar time )
  setFlags ! ( in Integer flags )
  setFriction ! ( in Scalar frict )
  setGravity ! ( in Vec3 acceleration )
  setHitFraction ! ( in Scalar hitFraction )
  setInterpolationAngularVelocity ! ( in Vec3 angvel )
  setInterpolationLinearVelocity ! ( in Vec3 linvel )
  setInterpolationWorldTransform ! ( in Xfo trans )
  setInvInertiaDiagLocal ! ( in Vec3 diagInvInertia )
  setInvMass ! ( in Scalar mass )
  setIslandTag ! ( in Integer tag )
  setLinearFactor ! ( in Vec3 linearFactor )
  setLinearVelocity ! ( in Vec3 lin_vel )
  setMotionState ! ( in BulletMotionState motionState )
  setNewBroadphaseProxy ! ( in BulletBroadphaseProxy broadphaseProxy )
  setRestitution ! ( in Scalar rest )
  setSleepingThresholds ! ( in Scalar linear, in Scalar angular )
  setUserPointer ! ( in Object userPointer )
  setWorldTransform ! ( in Xfo worldTrans )
  translate ! ( in Vec3 v )
  updateDeactivation ! ( in Scalar timeStep )
  updateInertiaTensor ! ()
Boolean wantsSleeping ? ()
  ~BulletRigidBody ()

Methods in detail

BulletRigidBody ( in BulletRigidBody other )

copy constructor


BulletRigidBody ( in BulletRigidBodyConstructionInfo constructionInfo )

BulletRigidBody constructor using construction info


BulletRigidBody ()

default constructor


BulletRigidBody.__addConstraintRef! ( in BulletTypedConstraint c )


BulletRigidBody.__construct! ( in BulletRigidBodyConstructionInfo constructionInfo )


BulletRigidBody.__destroy! ()


BulletRigidBody.__removeConstraintRef! ( in BulletTypedConstraint c )


BulletRigidBody.__setCollisionShape! ( in BulletCollisionShape collisionShape )


BulletRigidBody.__setMotionState! ( in BulletMotionState motionState )


BulletRigidBody.__setNewBroadphaseProxy! ( in BulletBroadphaseProxy broadphaseProxy )


BulletRigidBody.activate! ( in Boolean forceActivation )


BulletRigidBody.activate! ()


BulletRigidBody.addConstraintRef! ( in BulletTypedConstraint c )


BulletRigidBody.applyCentralForce! ( in Vec3 force )


BulletRigidBody.applyCentralImpulse! ( in Vec3 impulse )


BulletRigidBody.applyDamping! ( in Scalar timeStep )


BulletRigidBody.applyForce! ( in Vec3 force, in Vec3 rel_pos )


BulletRigidBody.applyGravity! ()


BulletRigidBody.applyImpulse! ( in Vec3 impulse, in Vec3 rel_pos )


BulletRigidBody.applyTorque! ( in Vec3 torque )


BulletRigidBody.applyTorqueImpulse! ( in Vec3 torque )


Boolean BulletRigidBody.checkCollideWith? ( in BulletICollisionObject co )


Boolean BulletRigidBody.checkCollideWithOverride? ( in BulletICollisionObject co )


BulletRigidBody.clearForces! ()


BulletRigidBody BulletRigidBody.clone? ()

clone method


Scalar BulletRigidBody.computeAngularImpulseDenominator? ( in Vec3 axis )


Scalar BulletRigidBody.computeImpulseDenominator? ( in Vec3 pos, in Vec3 normal )


BulletRigidBody.forceActivationState! ( in Integer newState )


BulletRigidBody.getAabb! ( io Vec3 aabbMin, io Vec3 aabbMax )


Integer BulletRigidBody.getActivationState? ()


Scalar BulletRigidBody.getAngularDamping? ()


Vec3 BulletRigidBody.getAngularFactor? ()


Scalar BulletRigidBody.getAngularSleepingThreshold? ()


Vec3 BulletRigidBody.getAngularVelocity? ()


Vec3 BulletRigidBody.getAnisotropicFriction? ()


BulletBroadphaseProxy BulletRigidBody.getBroadphaseHandle? ()


BulletBroadphaseProxy BulletRigidBody.getBroadphaseProxy? ()


Scalar BulletRigidBody.getCcdMotionThreshold? ()


Scalar BulletRigidBody.getCcdSquareMotionThreshold? ()


Scalar BulletRigidBody.getCcdSweptSphereRadius? ()

Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm:


Vec3 BulletRigidBody.getCenterOfMassPosition? ()


Xfo BulletRigidBody.getCenterOfMassTransform? ()


Integer BulletRigidBody.getCollisionFlags? ()


BulletCollisionShape BulletRigidBody.getCollisionShape? ()


Integer BulletRigidBody.getCompanionId? ()


BulletTypedConstraint BulletRigidBody.getConstraintRef? ( in Integer index )


Scalar BulletRigidBody.getContactProcessingThreshold? ()


Scalar BulletRigidBody.getDeactivationTime? ()


Vec3 BulletRigidBody.getDeltaAngularVelocity? ()


Vec3 BulletRigidBody.getDeltaLinearVelocity? ()


Integer BulletRigidBody.getFlags? ()


Scalar BulletRigidBody.getFriction? ()


Vec3 BulletRigidBody.getGravity? ()


Scalar BulletRigidBody.getHitFraction? ()


Vec3 BulletRigidBody.getInterpolationAngularVelocity? ()


Vec3 BulletRigidBody.getInterpolationLinearVelocity? ()


Xfo BulletRigidBody.getInterpolationWorldTransform? ()


Vec3 BulletRigidBody.getInvInertiaDiagLocal? ()


Mat33 BulletRigidBody.getInvInertiaTensorWorld? ()


Scalar BulletRigidBody.getInvMass? ()


Integer BulletRigidBody.getIslandTag? ()


Scalar BulletRigidBody.getLinearDamping? ()


Vec3 BulletRigidBody.getLinearFactor? ()


Scalar BulletRigidBody.getLinearSleepingThreshold? ()


Vec3 BulletRigidBody.getLinearVelocity? ()


BulletMotionState BulletRigidBody.getMotionState? ()


Integer BulletRigidBody.getNumConstraintRefs? ()


Object BulletRigidBody.getObject? ()


Quat BulletRigidBody.getOrientation? ()


Data BulletRigidBody.getPointer? ()


Vec3 BulletRigidBody.getPushVelocity? ()


Scalar BulletRigidBody.getRestitution? ()


Vec3 BulletRigidBody.getTotalForce? ()


Vec3 BulletRigidBody.getTotalTorque? ()


Vec3 BulletRigidBody.getTurnVelocity? ()


Object BulletRigidBody.getUserPointer? ()

users can point to their objects, userPointer is not used by Bullet


Vec3 BulletRigidBody.getVelocityInLocalPoint? ( in Vec3 rel_pos )


Xfo BulletRigidBody.getWorldTransform? ()


Boolean BulletRigidBody.hasAnisotropicFriction? ()


Boolean BulletRigidBody.hasContactResponse? ()


BulletRigidBody.integrateVelocities! ( in Scalar step )


Boolean BulletRigidBody.isActive? ()


Boolean BulletRigidBody.isInWorld? ()


Boolean BulletRigidBody.isKinematicObject? ()


Boolean BulletRigidBody.isStaticObject? ()


Boolean BulletRigidBody.isStaticOrKinematicObject? ()


Boolean BulletRigidBody.mergesSimulationIslands? ()


BulletRigidBody.predictIntegratedTransform! ( in Scalar step, io Xfo predictedTransform )

continuous collision detection needs prediction


BulletRigidBody.proceedToTransform! ( in Xfo newTrans )


BulletRigidBody.removeConstraintRef! ( in BulletTypedConstraint c )


BulletRigidBody.saveKinematicState! ( in Scalar step )


BulletRigidBody.setActivationState! ( in Integer newState )


BulletRigidBody.setAngularFactor! ( in Scalar angFac )


BulletRigidBody.setAngularFactor! ( in Vec3 angFac )


BulletRigidBody.setAngularVelocity! ( in Vec3 ang_vel )


BulletRigidBody.setAnisotropicFriction! ( in Vec3 anisotropicFriction )


BulletRigidBody.setCcdMotionThreshold! ( in Scalar ccdMotionThreshold )

Don’t do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold


BulletRigidBody.setCcdSweptSphereRadius! ( in Scalar radius )

Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm:


BulletRigidBody.setCenterOfMassTransform! ( in Xfo xform )


BulletRigidBody.setCollisionFlags! ( in Integer flags )


BulletRigidBody.setCollisionShape! ( in BulletCollisionShape collisionShape )


BulletRigidBody.setCompanionId! ( in Integer id )


BulletRigidBody.setContactProcessingThreshold! ( in Scalar contactProcessingThreshold )

the constraint solver can discard solving contacts, if the distance is above this threshold. 0 by default. Note that using contacts with positive distance can improve stability. It increases, however, the chance of colliding with delegate contacts, such as ‘interior’ triangle edges


BulletRigidBody.setDamping! ( in Scalar lin_damping, in Scalar ang_damping )


BulletRigidBody.setDeactivationTime! ( in Scalar time )


BulletRigidBody.setFlags! ( in Integer flags )


BulletRigidBody.setFriction! ( in Scalar frict )


BulletRigidBody.setGravity! ( in Vec3 acceleration )


BulletRigidBody.setHitFraction! ( in Scalar hitFraction )


BulletRigidBody.setInterpolationAngularVelocity! ( in Vec3 angvel )


BulletRigidBody.setInterpolationLinearVelocity! ( in Vec3 linvel )


BulletRigidBody.setInterpolationWorldTransform! ( in Xfo trans )


BulletRigidBody.setInvInertiaDiagLocal! ( in Vec3 diagInvInertia )


BulletRigidBody.setInvMass! ( in Scalar mass )


BulletRigidBody.setIslandTag! ( in Integer tag )


BulletRigidBody.setLinearFactor! ( in Vec3 linearFactor )


BulletRigidBody.setLinearVelocity! ( in Vec3 lin_vel )


BulletRigidBody.setMotionState! ( in BulletMotionState motionState )


BulletRigidBody.setNewBroadphaseProxy! ( in BulletBroadphaseProxy broadphaseProxy )


BulletRigidBody.setRestitution! ( in Scalar rest )


BulletRigidBody.setSleepingThresholds! ( in Scalar linear, in Scalar angular )


BulletRigidBody.setUserPointer! ( in Object userPointer )

users can point to their objects, userPointer is not used by Bullet


BulletRigidBody.setWorldTransform! ( in Xfo worldTrans )


BulletRigidBody.translate! ( in Vec3 v )


BulletRigidBody.updateDeactivation! ( in Scalar timeStep )


BulletRigidBody.updateInertiaTensor! ()


Boolean BulletRigidBody.wantsSleeping? ()


~ BulletRigidBody ()