1#ifndef _PHYSICS_WORLD_HPP_
2#define _PHYSICS_WORLD_HPP_
100 std::vector<CollisionPair>
OverlapSphere(
const Vector3D& center,
float radius, uint32_t layerMask = 0xFFFFFFFF)
const;
102 std::vector<CollisionPair>
OverlapAABB(
const AABB& aabb, uint32_t layerMask = 0xFFFFFFFF)
const;
105 float radius,
float maxDist, uint32_t layerMask = 0xFFFFFFFF)
const;
108 float maxDist, uint32_t layerMask = 0xFFFFFFFF)
const;
111 void UpdateBroadphase();
112 void FindPairsAndResolve();
115 std::vector<ColliderComponent*> m_colliders;
std::vector< CollisionPair > OverlapSphere(const Vector3D ¢er, float radius, uint32_t layerMask=0xFFFFFFFF) const
Query API: colliders overlapping a sphere, filtered by layerMask.
void RegisterCollider(ColliderComponent *collider)
void UnregisterCollider(ColliderComponent *collider)
SweepResult SphereSweep(const Vector3D &start, const Vector3D &direction, float radius, float maxDist, uint32_t layerMask=0xFFFFFFFF) const
Sweeps a sphere from start along direction and returns the first collider it hits within maxDist.
RayHit Raycast(const Vector3D &origin, const Vector3D &direction, float maxDist, uint32_t layerMask=0xFFFFFFFF) const
Casts a ray and returns the closest collider hit within maxDist.
std::vector< CollisionPair > OverlapAABB(const AABB &aabb, uint32_t layerMask=0xFFFFFFFF) const
Colliders overlapping an AABB, filtered by layerMask.
Collision shapes, the broadphase tree, and the world that steps them.
Root namespace for everything the engine exposes.
CollisionManifold manifold
ColliderComponent * collider
ColliderComponent * collider