esp::physics::BulletRigidStage class

An individual rigid stage instance implementing an interface with Bullet physics to enable dynamics. See btCollisionObject.

Base classes

class BulletBase
This class is intended to implement bullet-specific.
class RigidStage
A RigidBase representing an individual rigid stage instance attached to a SceneNode. This construction currently may only be esp::physics::MotionType::STATIC.

Constructors, destructors, conversion operators

BulletRigidStage(scene::SceneNode* rigidBodyNode, const assets::ResourceManager& resMgr, std::shared_ptr<btMultiBodyDynamicsWorld> bWorld, std::shared_ptr<std::map<const btCollisionObject*, int>> collisionObjToObjIds)
~BulletRigidStage() override
Destructor cleans up simulation structures for the stage object.

Public functions

auto getCollisionShapeAabb() const -> Magnum::Range3D override
Query the Aabb from bullet physics for the root compound shape of the rigid body in its local space. See btCompoundShape::getAabb.
auto getFrictionCoefficient() const -> double override
Get the scalar friction coefficient of the stage object. Only used for dervied dynamic implementations of RigidStage.
auto getRestitutionCoefficient() const -> double override
Get the scalar coefficient of restitution of the stage object. Only used for dervied dynamic implementations of RigidStage.
void setFrictionCoefficient(double frictionCoefficient) override
Set the scalar friction coefficient of the stage object. See btCollisionObject::setFriction.
void setRestitutionCoefficient(double restitutionCoefficient) override
Set the scalar coefficient of restitution of the stage object. See btCollisionObject::setRestitution.

Private functions

auto initialization_LibSpecific() -> bool override
Finalize the initialization of this RigidScene geometry. This holds bullet-specific functionality for stages.
void setCollidable(bool collidable) override
Set the stage to collidable or not by adding/removing the static collision shapes from the simulation world.

Function documentation

Magnum::Range3D esp::physics::BulletRigidStage::getCollisionShapeAabb() const override

Query the Aabb from bullet physics for the root compound shape of the rigid body in its local space. See btCompoundShape::getAabb.

Returns The Aabb.

double esp::physics::BulletRigidStage::getFrictionCoefficient() const override

Get the scalar friction coefficient of the stage object. Only used for dervied dynamic implementations of RigidStage.

Returns The scalar friction coefficient of the stage object.

double esp::physics::BulletRigidStage::getRestitutionCoefficient() const override

Get the scalar coefficient of restitution of the stage object. Only used for dervied dynamic implementations of RigidStage.

Returns The scalar coefficient of restitution of the stage object.

void esp::physics::BulletRigidStage::setFrictionCoefficient(double frictionCoefficient) override

Set the scalar friction coefficient of the stage object. See btCollisionObject::setFriction.

Parameters
frictionCoefficient The new scalar friction coefficient of the stage object.

void esp::physics::BulletRigidStage::setRestitutionCoefficient(double restitutionCoefficient) override

Set the scalar coefficient of restitution of the stage object. See btCollisionObject::setRestitution.

Parameters
restitutionCoefficient The new scalar coefficient of restitution of the stage object.

bool esp::physics::BulletRigidStage::initialization_LibSpecific() override private

Finalize the initialization of this RigidScene geometry. This holds bullet-specific functionality for stages.

Returns true if initialized successfully, false otherwise.