Lysa  0.0
Lysa 3D Engine
PhysicsEngine Class Referenceabstract

Detailed Description

Abstract factory/entry point for physics backends.

+ Inheritance diagram for PhysicsEngine:

Public Member Functions

virtual std::unique_ptr< PhysicsScenecreateScene (const DebugConfig &debugConfig) = 0
 
virtual PhysicsMaterial * createMaterial (float friction=0.5f, float restitution=0.0f) const = 0
 
virtual void setRestitutionCombineMode (PhysicsMaterial *physicsMaterial, CombineMode combineMode) const = 0
 
virtual PhysicsMaterial * duplicateMaterial (const PhysicsMaterial *orig) const = 0
 
virtual ~PhysicsEngine () = default
 

Static Public Member Functions

static std::unique_ptr< PhysicsEngine > create (const PhysicsConfiguration &config)
 
static PhysicsEngineType getEngineType ()
 

Constructor & Destructor Documentation

virtual ~PhysicsEngine ( )
virtualdefault

Member Function Documentation

static std::unique_ptr<PhysicsEngine> create ( const PhysicsConfiguration config)
static

Creates a physics engine using the active backend.

Parameters
configPhysics configuration (layers/collision table, etc.).
Returns
A heap‑allocated engine instance.
virtual PhysicsMaterial* createMaterial ( float  friction = 0.5f,
float  restitution = 0.0f 
) const
pure virtual

Creates a new physics material with the specified properties.

Parameters
frictionCoefficient of friction in [0..+inf).
restitutionBounciness coefficient in [0..1].

Implemented in lysa::JoltPhysicsEngine::createMaterial(), lysa::PhysXPhysicsEngine::createMaterial()

virtual std::unique_ptr<PhysicsScene> createScene ( const DebugConfig debugConfig)
pure virtual

Creates a new physics scene/world with optional debug settings.

Implemented in lysa::JoltPhysicsEngine::createScene(), lysa::PhysXPhysicsEngine::createScene()

virtual PhysicsMaterial* duplicateMaterial ( const PhysicsMaterial *  orig) const
pure virtual

Duplicates a material instance (backend‑specific).

Implemented in lysa::JoltPhysicsEngine::duplicateMaterial(), lysa::PhysXPhysicsEngine::duplicateMaterial()

static PhysicsEngineType getEngineType ( )
static

Returns the physics backend compiled in use (JOLT or PHYSX).

virtual void setRestitutionCombineMode ( PhysicsMaterial *  physicsMaterial,
CombineMode  combineMode 
) const
pure virtual

Sets the combine mode used when resolving restitution between two materials.

Implemented in lysa::JoltPhysicsEngine::setRestitutionCombineMode(), lysa::PhysXPhysicsEngine::setRestitutionCombineMode()