JoltPhysics class

Constructors, destructors, conversion operators

JoltPhysics()
~JoltPhysics()
JoltPhysics(const JoltPhysics&) deleted

Public functions

auto operator=(const JoltPhysics&) -> JoltPhysics& deleted
auto Initialize(const EngineConfig* config) -> bool
void Shutdown()
void Step(float dt)
void FlushPendingBodies(Registry* reg)
void PushKinematicTransforms(Registry* reg, float dt)
void PullActiveTransforms(Registry* reg)
void DestroyBody(uint32_t entityIndex)
void ResetAllBodies()
auto GetBodyID(uint32_t entityIndex) const -> JPH::BodyID
auto GetEntityIndex(JPH::BodyID bodyID) const -> uint32_t
auto HasBody(uint32_t entityIndex) const -> bool
void RegisterBody(JPH::BodyID id, EntityCacheHandle owner)
void UnregisterBody(JPH::BodyID id)
auto GetBodyOwner(JPH::BodyID id) const -> EntityCacheHandle
void RegisterCharacter(JoltCharacter* ch)
void UnregisterCharacter(JoltCharacter* ch)
auto GetPhysicsSystem() -> JPH::PhysicsSystem*
auto GetTempAllocator() -> JPH::TempAllocator*
auto GetBodyInterface() -> JPH::BodyInterface&
auto GetBodyInterfaceNoLock() const -> const JPH::BodyInterface&
auto GetJoltPhysCounter() -> TrinyxJobs::JobCounter*
auto GetBodyCount() const -> uint32_t
void ProcessContacts(const Registry* Reg)
template<typename T, void(T::*)(PhysicsOnHitData) MemFn>
void BindOnHit(EntityHandle handle, Registry* reg, T* obj)
template<typename T, void(T::*)(PhysicsOverlapData) MemFn>
void BindOnOverlapBegin(EntityHandle handle, Registry* reg, T* obj)
template<typename T, void(T::*)(PhysicsOverlapData) MemFn>
void BindOnOverlapEnd(EntityHandle handle, Registry* reg, T* obj)
void UnbindContacts(EntityHandle handle, Registry* reg, void* ctx)
void UnbindContacts(EntityCacheHandle idx, void* ctx)
template<typename T, void(T::*)(PhysicsOnHitData) MemFn>
void BindConstructOnHit(JPH::BodyID id, T* obj, EntityHandle representingEntity = EntityHandle{})
template<typename T, void(T::*)(PhysicsOverlapData) MemFn>
void BindConstructOnOverlapBegin(JPH::BodyID id, T* obj, EntityHandle representingEntity = EntityHandle{})
template<typename T, void(T::*)(PhysicsOverlapData) MemFn>
void BindConstructOnOverlapEnd(JPH::BodyID id, T* obj, EntityHandle representingEntity = EntityHandle{})
void UnbindConstructContacts(JPH::BodyID id, void* ctx)
void ClearConstructContacts(JPH::BodyID id)
void SaveSnapshot(uint32_t frameNumber)
auto RestoreSnapshot(uint32_t frameNumber) -> bool
auto GetOldestSnapshotFrame() const -> uint32_t
auto GetIsActive() const -> bool

Public variables

std::optional<TrinyxMPSCRing<PhysicsContactEvent>::Consumer> ContactConsumer