esp::physics namespace

core physics simulation namespace

Contents

Classes

class BulletPhysicsManager
Dynamic scene and object manager interfacing with Bullet physics engine: https://github.com/bulletphysics/bullet3.
class BulletRigidObject
An individual rigid object instance implementing an interface with Bullet physics to enable MotionType::DYNAMIC objects.
class PhysicsManager
Kinematic and dynamic scene and object manager.
class RigidObject
An AbstractFeature3D representing an individual rigid object instance attached to a SceneNode, updating its state through simulation. This may be a MotionType::STATIC scene collision geometry or an object of any MotionType which can interact with other members of a physical world. Must have a collision mesh. By default, a RigidObject is MotionType::KINEMATIC without an underlying simulator implementation. Derived classes can be used to introduce specific implementations of dynamics.
struct SimulationContactResultCallback
Implements Bullet physics btCollisionWorld::ContactResultCallback interface.
struct VelocityControl
Convenience struct for applying constant velocity control to a rigid body.

Enums

enum class MotionType { ERROR_MOTIONTYPE, STATIC, KINEMATIC, DYNAMIC }
Motion type of a RigidObject. Defines its treatment by the simulator and operations which can be performed on it.
enum class RigidObjectType { NONE, SCENE, OBJECT }
Category of a RigidObject. Defines treatment of the object in PhysicsManager. Also denotes the status of an object as initialized or not.

Enum documentation

enum class esp::physics::MotionType

Motion type of a RigidObject. Defines its treatment by the simulator and operations which can be performed on it.

Enumerators
ERROR_MOTIONTYPE

Refers to an error (such as a query to non-existing object).

STATIC

The object is not expected to move and should not allow kinematic updates. Likely treated as static collision geometry. See RigidObjectType::SCENE.

KINEMATIC

The object is expected to move kinematically, but is not simulated. Default behavior of RigidObject with no physics simulator defined.

DYNAMIC

The object is simulated and can, but should not be, updated kinematically . Default behavior of RigidObject with a physics simulator defined. See BulletRigidObject.

enum class esp::physics::RigidObjectType

Category of a RigidObject. Defines treatment of the object in PhysicsManager. Also denotes the status of an object as initialized or not.

Enumerators
NONE

The object is not initialized yet. Set as default on construction.

SCENE

The object is a MotionType::STATIC scene collision geometry. See PhysicsManager::addScene.

OBJECT

The object is a standard rigid object and should be tracked in PhysicsManager::existingObjects_. PhysicsManager::existingObjects_. See PhysicsManager::addObject.