8#include "glm/ext/vector_float3.hpp"
73 std::optional<Collision>
getClosestCollisionDynamic(std::shared_ptr<GameWorld> world, std::optional<CollisionSystemData*> systemData,
74 Entity entity,
CylinderCollider& cylinderCollider, glm::vec3 pos, glm::vec3 dir);
Definition: audioSystem.cpp:8
const glm::vec3 gridSize
Definition: collisionSystemOptimizationDynamic.h:16
void removeFromUniformGrid(CollisionSystemData &collisionSystemData, Entity entity, CylinderCollider &cylinderCollider, Transform &transform)
Remove an entity from the uniform grid. Here, the entity must contain a cylinder collider and transfo...
Definition: collisionSystemOptimizationDynamic.inl:29
void addToUniformGrid(CollisionSystemData &collisionSystemData, Entity entity, CylinderCollider &cylinderCollider, Transform &transform)
Add an entity to the uniform grid. Here, the entity must contain a cylinder collider and transform,...
Definition: collisionSystemOptimizationDynamic.inl:18
void runOverGridCells(CollisionSystemData &collisionSystemData, glm::vec3 pos, glm::vec3 size, std::function< void(Entity)> callback)
Calls a function over the grid cells of a uniform grid that includes a certain bounding box.
Definition: collisionSystemOptimizationDynamic.inl:6
std::optional< Collision > getClosestCollisionDynamic(std::shared_ptr< GameWorld > world, std::optional< CollisionSystemData * > systemData, Entity entity, CylinderCollider &cylinderCollider, glm::vec3 pos, glm::vec3 dir)
Retrieve the closest dynamic collision to a cylinder.
Definition: collisionSystemOptimizationDynamic.cpp:20
void rebuildUniformGrid(std::shared_ptr< GameWorld > world)
Build a world's uniform grid from all objects with cylinder colliders.
Definition: collisionSystemOptimizationDynamic.cpp:10
Manages data that the collision system uses. This lives in runtime on an empty entity.
Definition: collisionSystemData.h:14
Model an axis-aligned cylinder collider.
Definition: collider.h:17