Cogs.Core
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Cogs::Core::PhysicsManager Class Reference

Classes

struct  CollisionEvent
 

Public Member Functions

 PhysicsManager (Context *context)
 
void addRigidBody (btRigidBody *rigidBody)
 
void removeRigidBody (btRigidBody *rigidBody)
 
void addCollisionObject (btCollisionObject *btCollisionObject)
 
void removeCollisionObject (btCollisionObject *btCollisionObject)
 
void addConstraint (btTypedConstraint *constraint)
 
void removeConstraint (btTypedConstraint *constraint)
 
void preUpdate (Context *context)
 
void postUpdate (Context *context)
 
void waitForASync (Context *context)
 
constexpr ContextgetContext () noexcept
 

Static Public Member Functions

static Reflection::TypeId getTypeId ()
 

Private Member Functions

void stepSimulation (float deltaTime)
 
void pullGhostState ()
 
void pushGhostState ()
 

Private Attributes

Contextcontext
 
bool ghostCallbackSet = false
 
std::unique_ptr< btBroadphaseInterface > broadphase
 
std::unique_ptr< btDefaultCollisionConfiguration > collisionConfiguration
 
std::unique_ptr< btCollisionDispatcher > dispatcher
 
std::unique_ptr< btSequentialImpulseConstraintSolver > solver
 
std::unique_ptr< btDiscreteDynamicsWorld > dynamicsWorld
 
TaskId task = NoTask
 

Detailed Description

Definition at line 75 of file PhysicsManager.h.

Constructor & Destructor Documentation

◆ PhysicsManager()

Cogs::Core::PhysicsManager::PhysicsManager ( Context context)
explicit

Definition at line 37 of file PhysicsManager.cpp.

Member Function Documentation

◆ addCollisionObject()

void Cogs::Core::PhysicsManager::addCollisionObject ( btCollisionObject *  btCollisionObject)

Definition at line 60 of file PhysicsManager.cpp.

◆ addConstraint()

void Cogs::Core::PhysicsManager::addConstraint ( btTypedConstraint *  constraint)

Definition at line 75 of file PhysicsManager.cpp.

◆ addRigidBody()

void Cogs::Core::PhysicsManager::addRigidBody ( btRigidBody *  rigidBody)

Definition at line 50 of file PhysicsManager.cpp.

◆ getContext()

constexpr Context * Cogs::Core::PhysicsManager::getContext ( )
inlineconstexprnoexcept

Definition at line 98 of file PhysicsManager.h.

◆ getTypeId()

static Reflection::TypeId Cogs::Core::PhysicsManager::getTypeId ( )
inlinestatic

Definition at line 81 of file PhysicsManager.h.

◆ postUpdate()

void Cogs::Core::PhysicsManager::postUpdate ( Context context)

Definition at line 115 of file PhysicsManager.cpp.

◆ preUpdate()

void Cogs::Core::PhysicsManager::preUpdate ( Context context)

Definition at line 107 of file PhysicsManager.cpp.

◆ pullGhostState()

void Cogs::Core::PhysicsManager::pullGhostState ( )
private

Definition at line 133 of file PhysicsManager.cpp.

◆ pushGhostState()

void Cogs::Core::PhysicsManager::pushGhostState ( )
private

Definition at line 185 of file PhysicsManager.cpp.

◆ removeCollisionObject()

void Cogs::Core::PhysicsManager::removeCollisionObject ( btCollisionObject *  btCollisionObject)

Definition at line 70 of file PhysicsManager.cpp.

◆ removeConstraint()

void Cogs::Core::PhysicsManager::removeConstraint ( btTypedConstraint *  constraint)

Definition at line 80 of file PhysicsManager.cpp.

◆ removeRigidBody()

void Cogs::Core::PhysicsManager::removeRigidBody ( btRigidBody *  rigidBody)

Definition at line 55 of file PhysicsManager.cpp.

◆ stepSimulation()

void Cogs::Core::PhysicsManager::stepSimulation ( float  deltaTime)
private

Definition at line 85 of file PhysicsManager.cpp.

◆ waitForASync()

void Cogs::Core::PhysicsManager::waitForASync ( Context context)

Definition at line 126 of file PhysicsManager.cpp.

Member Data Documentation

◆ broadphase

std::unique_ptr<btBroadphaseInterface> Cogs::Core::PhysicsManager::broadphase
private

Definition at line 111 of file PhysicsManager.h.

◆ collisionConfiguration

std::unique_ptr<btDefaultCollisionConfiguration> Cogs::Core::PhysicsManager::collisionConfiguration
private

Definition at line 112 of file PhysicsManager.h.

◆ context

Context* Cogs::Core::PhysicsManager::context
private

Definition at line 107 of file PhysicsManager.h.

◆ dispatcher

std::unique_ptr<btCollisionDispatcher> Cogs::Core::PhysicsManager::dispatcher
private

Definition at line 113 of file PhysicsManager.h.

◆ dynamicsWorld

std::unique_ptr<btDiscreteDynamicsWorld> Cogs::Core::PhysicsManager::dynamicsWorld
private

Definition at line 115 of file PhysicsManager.h.

◆ ghostCallbackSet

bool Cogs::Core::PhysicsManager::ghostCallbackSet = false
private

Definition at line 109 of file PhysicsManager.h.

◆ solver

std::unique_ptr<btSequentialImpulseConstraintSolver> Cogs::Core::PhysicsManager::solver
private

Definition at line 114 of file PhysicsManager.h.

◆ task

TaskId Cogs::Core::PhysicsManager::task = NoTask
private

Definition at line 125 of file PhysicsManager.h.


The documentation for this class was generated from the following files: