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¶
Methods in detail¶
BulletRigidBody ( in BulletRigidBody other )
copy constructor
BulletRigidBody ( in BulletRigidBodyConstructionInfo constructionInfo )
BulletRigidBody constructor using construction info
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 ()