2#ifdef StevEngine_PHYSICS
3#include "physics/RigidBody.hpp"
4#include "utilities/Vector3.hpp"
5#include <unordered_map>
9#include <Jolt/RegisterTypes.h>
10#include <Jolt/Core/Factory.h>
11#include <Jolt/Core/TempAllocator.h>
12#include <Jolt/Core/JobSystemThreadPool.h>
13#include <Jolt/Physics/PhysicsSettings.h>
14#include <Jolt/Physics/PhysicsSystem.h>
15#include <Jolt/Core/JobSystemSingleThreaded.h>
16#include <Jolt/Physics/Collision/RayCast.h>
17#include <Jolt/Physics/Collision/Shape/BoxShape.h>
18#include <Jolt/Physics/Collision/Shape/SphereShape.h>
19#include <Jolt/Physics/Collision/Shape/MutableCompoundShape.h>
20#include <Jolt/Physics/Body/Body.h>
21#include <Jolt/Physics/Body/BodyManager.h>
22#include <Jolt/Physics/Body/BodyCreationSettings.h>
23#include <Jolt/Physics/Body/BodyActivationListener.h>
48 void Init(JPH::PhysicsSettings settings);
84 void Update(
double deltaTime);
86 JPH::PhysicsSystem joltSystem;
87 JPH::TempAllocatorMalloc tempAllocator;
88 JPH::JobSystemSingleThreaded jobSystem;
96 std::unordered_map<JPH::BodyID, RigidBody*> rigidBodies;
99 extern PhysicsSystem physics;
Main engine class managing core systems.
Definition Engine.hpp:26
Broad phase layer interface for Jolt.
Definition Layers.hpp:91
Filter for object layer collisions.
Definition Layers.hpp:135
Filter for broad phase layer collisions.
Definition Layers.hpp:118
RigidBody * CastRay(JPH::RayCast ray, Utilities::Vector3 *hitPoint=NULL) const
Get physics body interface.
Definition PhysicsSystem.cpp:76
void DestroyBody(JPH::Body *body, RigidBody *attachedRigidBody)
Destroy body.
Definition PhysicsSystem.cpp:70
void Init(JPH::PhysicsSettings settings)
Initialize physics system.
Definition PhysicsSystem.cpp:40
JPH::PhysicsSystem & GetJoltSystem()
Get Jolt physics system.
Definition PhysicsSystem.hpp:62
PhysicsSystem()
Create physics system.
Definition PhysicsSystem.cpp:37
JPH::Body * CreateBody(JPH::BodyCreationSettings settings, RigidBody *attachedRigidBody)
Create a new Jolt physics body.
Definition PhysicsSystem.cpp:63
Physics rigid body component.
Definition RigidBody.hpp:61
3D vector class
Definition Vector3.hpp:17