Nebula
Loading...
Searching...
No Matches
Physics Namespace Reference

Detailed Description

Diverse functions for manipulating physics actors.

Implements a resource loader for physics actors.

Physics::DebugUI.

callback interfaces for PhysX

Classes

struct  Actor
 
class  ActorContext
 
struct  ActorId
 
struct  ActorInfo
 
struct  ActorResourceId
 
struct  Aggregate
 
class  AggregateContext
 
struct  AggregateId
 
struct  AggregateInfo
 
struct  AggregateResourceId
 
class  Allocator
 
struct  BodyInfo
 
struct  Character
 
class  CharacterContext
 
struct  CharacterCreateInfo
 
struct  CharacterId
 
struct  Constraint
 
struct  ConstraintId
 
struct  ConstraintInfo
 
struct  ConstraintResourceId
 
struct  ContactEvent
 
struct  DebugDrawInterface
 
struct  DebugState
 
class  ErrorCallback
 
struct  Material
 
struct  PhysicsResourceId
 
class  PhysxState
 
struct  Scene
 physx scene classes, foundation and physics are duplicated here for convenience instead of static getters, might be removed later on More...
 
struct  ShapeHandle
 
class  StreamActorPool
 
class  VisualDebugger
 Class that communicates with the physics visual debugger program. More...
 

Typedefs

using CharacterCollision = Util::BitField<CharacterCollisionBitsMax>
 
using UpdateFunctionType = void (*) (const Actor&)
 
using EventCallbackType = void (*) (const Util::Array<ContactEvent>&)
 

Enumerations

enum  PhysicsIdType { ActorIdType , MeshIdType }
 
enum  ActorType { Static , Kinematic , Dynamic }
 
enum  CharacterCollisionBits { Sides = 0 , Up = 1 , Down = 2 , CharacterCollisionBitsMax }
 

Functions

void SetDebugDrawInterface (DebugDrawInterface const &drawInterface)
 
void UpdateDebugDrawingParameters ()
 
void EnableDebugDrawing (bool enabled)
 
void ApplyBounds (PxBounds3 const &box)
 
void DebugVisualizeScene (PxScene *scene)
 
bool CheckAndResetModified (Core::CVar *cvar)
 
void DrawPhysicsDebug ()
 
void RenderUI (Graphics::GraphicsEntityId camera)
 
void RenderMaterialsUI ()
 
static void CollectModified (Physics::Scene &scene)
 
static void PreSceneUpdates (Physics::Scene &scene)
 
static void PostSceneUpdates (Physics::Scene &scene)
 
static PxShape * GetShapeCopy (PxShape *shape, Math::vec3 const &scale)
 
static physx::PxGeometryHolder CreateMeshFromResource (MeshTopology type, Util::StringAtom resource, int primGroup)
 
static PxShape * CreateColliderShape (physx::PxGeometryHolder geometry, physx::PxMaterial *material, physx::PxTransform const &trans, const Util::String &colliderName, bool exclusive)
 
static void AddCollider (physx::PxGeometryHolder geometry, IndexT material, const Math::transform &trans, const char *name, const Util::String &colliderName, BodyInfo &bodyInfo, const Util::StringAtom &tag, Ids::Id32 entry)
 
static void AddMeshColliders (PhysicsResource::MeshColliderT *colliderNode, Math::transform const &nodeTransform, Util::String nodeName, IndexT materialIdx, const Util::StringAtom &tag, Ids::Id32 entry, BodyInfo &targetBody)
 
static void AddHeightField (PhysicsResource::HeightFieldColliderT *colliderNode, Math::transform const &nodeTransform, Util::String nodeName, IndexT materialIdx, const Util::StringAtom &tag, Ids::Id32 entry, BodyInfo &targetBody)
 
 __ImplementInterfaceSingleton (Physics::VisualDebugger)
 
void LoadMaterialTable (const IO::URI &materialTable)
 
void Setup ()
 initialize the physics subsystem and create a default scene
 
void ShutDown ()
 close the physics subsystem
 
IndexT CreateScene ()
 
void DestroyScene (IndexT sceneId)
 
Physics::SceneGetScene (IndexT idx)
 
void SetEventCallback (EventCallbackType callback, IndexT sceneId)
 
void SetActiveActorCallback (UpdateFunctionType callback, IndexT sceneId)
 
void RenderDebug ()
 render a debug visualization of the level
 
Physics::MaterialGetMaterial (IndexT idx)
 
void SetOnSleepCallback (Util::Delegate< void(ActorId *id, SizeT num)> const &callback)
 
void SetOnWakeCallback (Util::Delegate< void(ActorId *id, SizeT num)> const &callback)
 
IndexT SetPhysicsMaterial (Util::StringAtom name, float staticFriction, float dynamicFriction, float restitution, float density)
 
IndexT LookupMaterial (Util::StringAtom name)
 
SizeT GetNrMaterials ()
 
void Update (Timing::Time delta)
 perform sync simulation step(s)
 
void BeginSimulating (Timing::Time delta, IndexT scene)
 explicit calls to simulate and fetch results. Do not mix with Update!
 
void EndSimulating (IndexT scene)
 
void FlushSimulation (IndexT scene)
 this will block until simulation has ended for cleanups e.g.
 
ActorId CreateActorInstance (Physics::ActorResourceId id, Math::transform const &trans, Physics::ActorType type, uint64_t userData, IndexT scene)
 
void DestroyActorInstance (Physics::ActorId id)
 

Variables

Util::Array< Charactercontrollers
 
Ids::IdGenerationPool controllerIdPool
 
Core::CVarcl_debug_draw_physics = Core::CVarCreate(Core::CVarType::CVar_Int, "cl_debug_draw_physics", "0", "Set to 1 will enable physics debug drawing")
 
Core::CVarcl_physics_draw_scale = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale", "1.0", "Visualization drawing scale.")
 
Core::CVarcl_physics_draw_scale_points = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_points", "1.0", "Point visualization drawing scale.")
 
Core::CVarcl_physics_draw_scale_lines = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_lines", "1.0", "Line visualization drawing scale.")
 
Core::CVarcl_physics_draw_scale_triangles = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_triangles", "1.0", "Triangle visualization drawing scale.")
 
Core::CVarcl_physics_draw_world_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_world_axes", "0", "Visualize the world axes. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_body_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_axes", "0", "Visualize a bodies axes. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_body_mass_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_mass_axes", "0", "Visualize a body's mass axes. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_body_lin_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_lin_velocity", "0", "Visualize the bodies linear velocity. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_body_ang_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_ang_velocity", "0", "Visualize the bodies angular velocity. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_contact_point = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_point", "0", " Visualize contact points. Will enable contact information. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_contact_normal = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_normal", "0", "Visualize contact normals. Will enable contact information. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_contact_error = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_error", "0", " Visualize contact errors. Will enable contact information. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_contact_force = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_force", "0", "Visualize Contact forces. Will enable contact information. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_actor_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_actor_axes", "0", "Visualize actor axes. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_aabbs = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_aabbs", "0", "Visualize bounds (AABBs in world space). Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_shapes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_shapes", "1", "Shape visualization. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_axes", "0", "Shape axis visualization. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_compounds = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_compounds", "0", "Compound visualization (compound AABBs in world space). Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_fnormals = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_fnormals", "0", "Mesh & convex face normals. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_edges = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_edges", "0", "Active edges for meshes. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_static = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_static", "0", "Static pruning structures. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_collision_dynamic = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_dynamic", "0", "Dynamic pruning structures. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_joint_local_frames = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_local_frames", "0", "Visualize joint local axes. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_joint_limits = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_limits", "0", "Visualize joint limits. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_cull_box = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_cull_box", "0", "Visualize culling box. Needs cl_debug_draw_physics set to 1.")
 
Core::CVarcl_physics_draw_mbp_regions = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_mbp_regions", "0", "MBP regions. Needs cl_debug_draw_physics set to 1.")
 
DebugState dstate
 
PhysxState state
 
StreamActorPoolactorPool = nullptr
 

Typedef Documentation

◆ CharacterCollision

◆ EventCallbackType

◆ UpdateFunctionType

using Physics::UpdateFunctionType = void (*) (const Actor&)

Enumeration Type Documentation

◆ ActorType

Enumerator
Static 
Kinematic 
Dynamic 

◆ CharacterCollisionBits

Enumerator
Sides 
Up 
Down 
CharacterCollisionBitsMax 

◆ PhysicsIdType

Enumerator
ActorIdType 
MeshIdType 

Function Documentation

◆ __ImplementInterfaceSingleton()

Physics::__ImplementInterfaceSingleton ( Physics::VisualDebugger )

◆ AddCollider()

static void Physics::AddCollider ( physx::PxGeometryHolder geometry,
IndexT material,
const Math::transform & trans,
const char * name,
const Util::String & colliderName,
BodyInfo & bodyInfo,
const Util::StringAtom & tag,
Ids::Id32 entry )
static

◆ AddHeightField()

static void Physics::AddHeightField ( PhysicsResource::HeightFieldColliderT * colliderNode,
Math::transform const & nodeTransform,
Util::String nodeName,
IndexT materialIdx,
const Util::StringAtom & tag,
Ids::Id32 entry,
BodyInfo & targetBody )
static

◆ AddMeshColliders()

static void Physics::AddMeshColliders ( PhysicsResource::MeshColliderT * colliderNode,
Math::transform const & nodeTransform,
Util::String nodeName,
IndexT materialIdx,
const Util::StringAtom & tag,
Ids::Id32 entry,
BodyInfo & targetBody )
static

◆ ApplyBounds()

void Physics::ApplyBounds ( PxBounds3 const & box)

◆ BeginSimulating()

void Physics::BeginSimulating ( Timing::Time delta,
IndexT scene )

explicit calls to simulate and fetch results. Do not mix with Update!

◆ CheckAndResetModified()

bool Physics::CheckAndResetModified ( Core::CVar * cvar)

◆ CollectModified()

static void Physics::CollectModified ( Physics::Scene & scene)
static

◆ CreateActorInstance()

ActorId Physics::CreateActorInstance ( Physics::ActorResourceId id,
Math::transform const & trans,
Physics::ActorType type,
uint64_t userData,
IndexT scene )

◆ CreateColliderShape()

static PxShape * Physics::CreateColliderShape ( physx::PxGeometryHolder geometry,
physx::PxMaterial * material,
physx::PxTransform const & trans,
const Util::String & colliderName,
bool exclusive )
static

◆ CreateMeshFromResource()

static physx::PxGeometryHolder Physics::CreateMeshFromResource ( MeshTopology type,
Util::StringAtom resource,
int primGroup )
static

◆ CreateScene()

IndexT Physics::CreateScene ( )

◆ DebugVisualizeScene()

void Physics::DebugVisualizeScene ( PxScene * scene)

◆ DestroyActorInstance()

void Physics::DestroyActorInstance ( Physics::ActorId id)

◆ DestroyScene()

void Physics::DestroyScene ( IndexT sceneId)

◆ DrawPhysicsDebug()

void Physics::DrawPhysicsDebug ( )

◆ EnableDebugDrawing()

void Physics::EnableDebugDrawing ( bool enabled)

◆ EndSimulating()

void Physics::EndSimulating ( IndexT scene)

◆ FlushSimulation()

void Physics::FlushSimulation ( IndexT scene)

this will block until simulation has ended for cleanups e.g.

◆ GetMaterial()

Material & Physics::GetMaterial ( IndexT idx)

◆ GetNrMaterials()

SizeT Physics::GetNrMaterials ( )

◆ GetScene()

Physics::Scene & Physics::GetScene ( IndexT idx)

◆ GetShapeCopy()

static PxShape * Physics::GetShapeCopy ( PxShape * shape,
Math::vec3 const & scale )
static

◆ LoadMaterialTable()

void Physics::LoadMaterialTable ( const IO::URI & materialTable)

◆ LookupMaterial()

IndexT Physics::LookupMaterial ( Util::StringAtom name)

◆ PostSceneUpdates()

static void Physics::PostSceneUpdates ( Physics::Scene & scene)
static

◆ PreSceneUpdates()

static void Physics::PreSceneUpdates ( Physics::Scene & scene)
static

◆ RenderDebug()

void Physics::RenderDebug ( )

render a debug visualization of the level

◆ RenderMaterialsUI()

void Physics::RenderMaterialsUI ( )

◆ RenderUI()

void Physics::RenderUI ( Graphics::GraphicsEntityId camera)

◆ SetActiveActorCallback()

void Physics::SetActiveActorCallback ( UpdateFunctionType callback,
IndexT sceneId )

◆ SetDebugDrawInterface()

void Physics::SetDebugDrawInterface ( DebugDrawInterface const & drawInterface)

◆ SetEventCallback()

void Physics::SetEventCallback ( EventCallbackType callback,
IndexT sceneId )

◆ SetOnSleepCallback()

void Physics::SetOnSleepCallback ( Util::Delegate< void(ActorId *id, SizeT num)> const & callback)

◆ SetOnWakeCallback()

void Physics::SetOnWakeCallback ( Util::Delegate< void(ActorId *id, SizeT num)> const & callback)

◆ SetPhysicsMaterial()

IndexT Physics::SetPhysicsMaterial ( Util::StringAtom name,
float staticFriction,
float dynamicFriction,
float restitution,
float density )

◆ Setup()

void Physics::Setup ( )

initialize the physics subsystem and create a default scene

◆ ShutDown()

void Physics::ShutDown ( )

close the physics subsystem

◆ Update()

void Physics::Update ( Timing::Time delta)

perform sync simulation step(s)

◆ UpdateDebugDrawingParameters()

void Physics::UpdateDebugDrawingParameters ( )

Variable Documentation

◆ actorPool

StreamActorPool * Physics::actorPool = nullptr

◆ cl_debug_draw_physics

Core::CVar* Physics::cl_debug_draw_physics = Core::CVarCreate(Core::CVarType::CVar_Int, "cl_debug_draw_physics", "0", "Set to 1 will enable physics debug drawing")

◆ cl_physics_draw_actor_axes

Core::CVar* Physics::cl_physics_draw_actor_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_actor_axes", "0", "Visualize actor axes. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_body_ang_velocity

Core::CVar* Physics::cl_physics_draw_body_ang_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_ang_velocity", "0", "Visualize the bodies angular velocity. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_body_axes

Core::CVar* Physics::cl_physics_draw_body_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_axes", "0", "Visualize a bodies axes. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_body_lin_velocity

Core::CVar* Physics::cl_physics_draw_body_lin_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_lin_velocity", "0", "Visualize the bodies linear velocity. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_body_mass_axes

Core::CVar* Physics::cl_physics_draw_body_mass_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_mass_axes", "0", "Visualize a body's mass axes. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_aabbs

Core::CVar* Physics::cl_physics_draw_collision_aabbs = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_aabbs", "0", "Visualize bounds (AABBs in world space). Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_axes

Core::CVar* Physics::cl_physics_draw_collision_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_axes", "0", "Shape axis visualization. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_compounds

Core::CVar* Physics::cl_physics_draw_collision_compounds = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_compounds", "0", "Compound visualization (compound AABBs in world space). Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_dynamic

Core::CVar* Physics::cl_physics_draw_collision_dynamic = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_dynamic", "0", "Dynamic pruning structures. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_edges

Core::CVar* Physics::cl_physics_draw_collision_edges = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_edges", "0", "Active edges for meshes. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_fnormals

Core::CVar* Physics::cl_physics_draw_collision_fnormals = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_fnormals", "0", "Mesh & convex face normals. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_shapes

Core::CVar* Physics::cl_physics_draw_collision_shapes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_shapes", "1", "Shape visualization. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_collision_static

Core::CVar* Physics::cl_physics_draw_collision_static = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_static", "0", "Static pruning structures. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_contact_error

Core::CVar* Physics::cl_physics_draw_contact_error = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_error", "0", " Visualize contact errors. Will enable contact information. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_contact_force

Core::CVar* Physics::cl_physics_draw_contact_force = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_force", "0", "Visualize Contact forces. Will enable contact information. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_contact_normal

Core::CVar* Physics::cl_physics_draw_contact_normal = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_normal", "0", "Visualize contact normals. Will enable contact information. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_contact_point

Core::CVar* Physics::cl_physics_draw_contact_point = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_point", "0", " Visualize contact points. Will enable contact information. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_cull_box

Core::CVar* Physics::cl_physics_draw_cull_box = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_cull_box", "0", "Visualize culling box. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_joint_limits

Core::CVar* Physics::cl_physics_draw_joint_limits = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_limits", "0", "Visualize joint limits. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_joint_local_frames

Core::CVar* Physics::cl_physics_draw_joint_local_frames = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_local_frames", "0", "Visualize joint local axes. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_mbp_regions

Core::CVar* Physics::cl_physics_draw_mbp_regions = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_mbp_regions", "0", "MBP regions. Needs cl_debug_draw_physics set to 1.")

◆ cl_physics_draw_scale

Core::CVar* Physics::cl_physics_draw_scale = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale", "1.0", "Visualization drawing scale.")

◆ cl_physics_draw_scale_lines

Core::CVar* Physics::cl_physics_draw_scale_lines = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_lines", "1.0", "Line visualization drawing scale.")

◆ cl_physics_draw_scale_points

Core::CVar* Physics::cl_physics_draw_scale_points = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_points", "1.0", "Point visualization drawing scale.")

◆ cl_physics_draw_scale_triangles

Core::CVar* Physics::cl_physics_draw_scale_triangles = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_triangles", "1.0", "Triangle visualization drawing scale.")

◆ cl_physics_draw_world_axes

Core::CVar* Physics::cl_physics_draw_world_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_world_axes", "0", "Visualize the world axes. Needs cl_debug_draw_physics set to 1.")

◆ controllerIdPool

Ids::IdGenerationPool Physics::controllerIdPool

◆ controllers

Util::Array<Character> Physics::controllers

◆ dstate

DebugState Physics::dstate

◆ state

PhysxState Physics::state