28 double physicsTime = 0.0f;
35 glm::vec2 gravity = {0.0f, 9.81f};
42 void ApplyMotion(
float dt);
48 void ResolveCollisions(
float dt);
73 glm::vec2 Reflect(
const glm::vec2& velocity,
const glm::vec2& normal);
81 SpatialHash BuildSpatialHash(
const std::vector<EntityID>& collidableIDs);
89 std::vector<std::pair<EntityID, EntityID>> GenerateBroadPhasePairs(
SpatialHash spatialHash);
Contient la déclaration de la structure AABB.
Component de "scripting" qui permet de profiter des fonctions de cycle de vie sur n'importe quelle en...
La classe System implémente une logique spécifique à des composants.
Definition system.hpp:24
Le Système physique dans son ensemble définit ici.
Definition physicsystem.hpp:25
void OnFixedUpdate(float deltaTime) override
Méthode de cycle de vie de l'app qui appelle les méthodes privées.
Definition physicsystem.cpp:12
Ce fichier contient les types de données nécessaires à la gestion des collisions dans les systèmes ph...
std::unordered_map< Cell, std::vector< Engine::EntityID >, CellHash > SpatialHash
Défiinition du "type" spatialHash => simplement une unordered_map qui lit des entités à une cellule.
Definition spatialhash.hpp:53
constexpr int MAX_PHYSICS_ITERATIONS
Le nombre maximum d'itérations autorisés dans les systèmes physiques pour résoudre collisions et cont...
Definition constants.hpp:37
Définit la structure d'une OBB.
Définition d'un rigidbody au sens physique du terme.
Définit les structures de données nécessaires à la création d'un spatial hash.
Axis Aligned Bounding Box.
Definition aabb.hpp:17
Définition d'un manifeste de collision.
Definition manifold.hpp:11
Oriented Bounding Box.
Definition obb.hpp:18
Définit la manière dont le Système se comporte dans l'architecture ECS.