Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
Physics::PhysicsSystem Class Reference

#include <PhysicsSystem.h>

Public Member Functions

 PhysicsSystem (const glm::vec3 &globalAccel=glm::vec3(0.0f, -Constants::STANDARD_GRAVITY, 0.0f))
 
 ~PhysicsSystem ()
 
void start ()
 
void stop ()
 
void waitForStop ()
 
void addBody (PhysicsBody *body)
 
void removeBody (PhysicsBody *body)
 
PhysicsBodygetBodyById (uint32_t id) const
 
bool step (float dt)
 
void enablePhysics ()
 
void disablePhysics ()
 
bool isPhysicsEnabled () const
 
glm::vec3 getGlobalAcceleration () const
 
void setGlobalAcceleration (const glm::vec3 &newAcceleration)
 
float getSimSpeed () const
 
void setSimSpeed (float newSpeed)
 
double getGravitationalConstant () const
 
void setGravitationalConstant (double newG)
 
float getAmbientTemperature () const
 
void setAmbientTemperature (float newTemp)
 
std::optional< std::vector< ObjectSnapshot > > fetchLatestSnapshot (float renderSimTime)
 
const ProblemRoutergetRouter () const
 
void solveProblem (PhysicsBody *body, const std::unordered_map< std::string, double > &knowns, const std::string &unknown="")
 
void reset ()
 
void clearRuntimeState ()
 

Data Fields

float simTime = 0.0f
 

Detailed Description

Definition at line 16 of file PhysicsSystem.h.

Constructor & Destructor Documentation

◆ PhysicsSystem()

Physics::PhysicsSystem::PhysicsSystem ( const glm::vec3 &  globalAccel = glm::vec3(0.0f, -Constants::STANDARD_GRAVITY, 0.0f))
explicit

Definition at line 12 of file PhysicsSystem.cpp.

◆ ~PhysicsSystem()

Physics::PhysicsSystem::~PhysicsSystem ( )

Definition at line 14 of file PhysicsSystem.cpp.

Member Function Documentation

◆ addBody()

void Physics::PhysicsSystem::addBody ( PhysicsBody body)

Definition at line 152 of file PhysicsSystem.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearRuntimeState()

void Physics::PhysicsSystem::clearRuntimeState ( )

Definition at line 307 of file PhysicsSystem.cpp.

◆ disablePhysics()

void Physics::PhysicsSystem::disablePhysics ( )

Definition at line 326 of file PhysicsSystem.cpp.

◆ enablePhysics()

void Physics::PhysicsSystem::enablePhysics ( )

Definition at line 321 of file PhysicsSystem.cpp.

◆ fetchLatestSnapshot()

std::optional< std::vector< ObjectSnapshot > > Physics::PhysicsSystem::fetchLatestSnapshot ( float  renderSimTime)

Definition at line 43 of file PhysicsSystem.cpp.

◆ getAmbientTemperature()

float Physics::PhysicsSystem::getAmbientTemperature ( ) const
inline

Definition at line 43 of file PhysicsSystem.h.

◆ getBodyById()

Physics::PhysicsBody * Physics::PhysicsSystem::getBodyById ( uint32_t  id) const

Definition at line 34 of file PhysicsSystem.cpp.

Here is the caller graph for this function:

◆ getGlobalAcceleration()

glm::vec3 Physics::PhysicsSystem::getGlobalAcceleration ( ) const
inline

Definition at line 36 of file PhysicsSystem.h.

Here is the caller graph for this function:

◆ getGravitationalConstant()

double Physics::PhysicsSystem::getGravitationalConstant ( ) const
inline

Definition at line 40 of file PhysicsSystem.h.

◆ getRouter()

const ProblemRouter * Physics::PhysicsSystem::getRouter ( ) const
inline

Definition at line 48 of file PhysicsSystem.h.

◆ getSimSpeed()

float Physics::PhysicsSystem::getSimSpeed ( ) const
inline

Definition at line 38 of file PhysicsSystem.h.

Here is the caller graph for this function:

◆ isPhysicsEnabled()

bool Physics::PhysicsSystem::isPhysicsEnabled ( ) const
inline

Definition at line 34 of file PhysicsSystem.h.

◆ removeBody()

void Physics::PhysicsSystem::removeBody ( PhysicsBody body)

Definition at line 159 of file PhysicsSystem.cpp.

Here is the caller graph for this function:

◆ reset()

void Physics::PhysicsSystem::reset ( )

Definition at line 298 of file PhysicsSystem.cpp.

◆ setAmbientTemperature()

void Physics::PhysicsSystem::setAmbientTemperature ( float  newTemp)
inline

Definition at line 44 of file PhysicsSystem.h.

Here is the caller graph for this function:

◆ setGlobalAcceleration()

void Physics::PhysicsSystem::setGlobalAcceleration ( const glm::vec3 &  newAcceleration)
inline

Definition at line 37 of file PhysicsSystem.h.

Here is the caller graph for this function:

◆ setGravitationalConstant()

void Physics::PhysicsSystem::setGravitationalConstant ( double  newG)
inline

Definition at line 41 of file PhysicsSystem.h.

Here is the caller graph for this function:

◆ setSimSpeed()

void Physics::PhysicsSystem::setSimSpeed ( float  newSpeed)
inline

Definition at line 39 of file PhysicsSystem.h.

Here is the caller graph for this function:

◆ solveProblem()

void Physics::PhysicsSystem::solveProblem ( PhysicsBody body,
const std::unordered_map< std::string, double > &  knowns,
const std::string &  unknown = "" 
)

Definition at line 287 of file PhysicsSystem.cpp.

◆ start()

void Physics::PhysicsSystem::start ( )

Definition at line 19 of file PhysicsSystem.cpp.

◆ step()

bool Physics::PhysicsSystem::step ( float  dt)

Definition at line 255 of file PhysicsSystem.cpp.

Here is the caller graph for this function:

◆ stop()

void Physics::PhysicsSystem::stop ( )

Definition at line 24 of file PhysicsSystem.cpp.

◆ waitForStop()

void Physics::PhysicsSystem::waitForStop ( )

Definition at line 29 of file PhysicsSystem.cpp.

Field Documentation

◆ simTime

float Physics::PhysicsSystem::simTime = 0.0f

Definition at line 53 of file PhysicsSystem.h.


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