BulletRigidBody.kl

Types

BulletRigidBodyConstructionInfo (struct)

The BulletRigidBodyConstructionInfo structure provides information to create a rigid body. Setting mass to zero creates a fixed (non-dynamic) rigid body. For dynamic objects, you can use the collision shape to approximate the local inertia tensor, otherwise use the zero vector (default argument) You can use the motion state to synchronize the world transform between physics and graphics objects. And if the motion state is provided, the rigid body will initialize its initial world transform from the motion state, startWorldTransform is only used when you don’t provide a motion state.

Members

Scalar mass  
BulletMotionState motionState When a motionState is provided, the rigid body will initialize its world transform from the motion state In this case, startWorldTransform is ignored.
Xfo startWorldTransform  
BulletCollisionShape collisionShape  
Vec3 localInertia  
Scalar linearDamping  
Scalar angularDamping  
Scalar friction best simulation results when friction is non-zero
Scalar restitution best simulation results using zero restitution.
Scalar linearSleepingThreshold  
Scalar angularSleepingThreshold  
Boolean additionalDamping  
Scalar additionalDampingFactor  
Scalar additionalLinearDampingThresholdSqr  
Scalar additionalAngularDampingThresholdSqr  
Scalar additionalAngularDampingFactor  

Methods

  BulletRigidBodyConstructionInfo ( in BulletRigidBodyConstructionInfo other )
  BulletRigidBodyConstructionInfo ( in Scalar mass, in BulletMotionState motionState, in BulletCollisionShape collisionShape )
  BulletRigidBodyConstructionInfo ( in Scalar mass, in BulletMotionState motionState, in BulletCollisionShape collisionShape, in Vec3 localInertia )
  BulletRigidBodyConstructionInfo ()
  __construct ! ( in Scalar mass, in BulletMotionState motionState, in BulletCollisionShape collisionShape, in Vec3 localInertia )
BulletRigidBodyConstructionInfo clone ? ()

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)

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 ()