OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
Engine::Physics::BoxCollider Struct Reference

Le BoxCollider est le collider le plus "simple" qui soit. Il s'agit d'une "box" qui se positionne au centre de l'entité, et s'étend autour d'elle. Pas optimal pour les entités arrondies, mais en 2D, avec des sprites, fait amplement l'affaire. More...

#include <collider.hpp>

Inheritance diagram for Engine::Physics::BoxCollider:
Engine::ECS::Component

Public Attributes

glm::vec3 offset = {0.0f, 0.0f, 0.0f}
 Offset par rapport au transform.position de l'entité
glm::vec3 size = {1.0f, 1.0f, 1.0f}
 Taille de la hitbox du collider. Pour des collisions indépendantes du rendu.
bool isTrigger = false
 Si true, le collider est un trigger (superposition possible en ne résolvant pas les conditions)
bool enableRotation = true
 Si true, le collider est mis à jour en fonction de l'angle de rotation du transform rattaché
AABB aabb = {glm::vec2(0.0f), glm::vec2(0.0f)}
 La box AABB associée à ce collider. Mise à jour par le système physique lors de la gestion des mouvements.
std::unordered_map< EntityID, ColliderRecordcollisionsList
 Liste des collisions en cours.
std::unordered_map< EntityID, ColliderRecordtriggersList
 Liste des triggers en cours.
Public Attributes inherited from Engine::ECS::Component
bool enabled = true

Additional Inherited Members

Public Member Functions inherited from Engine::ECS::Component
 Component ()=default
void SetEntity (Entity e)
 Attache l'entité au component.
EntityGetEntity () const
 Renvoie l'entité attachée.
RegistryGetRegistry () const
 Renvoie le registre actuel.
Scene::SceneGetScene () const
 Renvoie la scène en cours.
AppGetApp () const
 Renvoie l'instance d'application.

Detailed Description

Le BoxCollider est le collider le plus "simple" qui soit. Il s'agit d'une "box" qui se positionne au centre de l'entité, et s'étend autour d'elle. Pas optimal pour les entités arrondies, mais en 2D, avec des sprites, fait amplement l'affaire.

Member Data Documentation

◆ aabb

AABB Engine::Physics::BoxCollider::aabb = {glm::vec2(0.0f), glm::vec2(0.0f)}

La box AABB associée à ce collider. Mise à jour par le système physique lors de la gestion des mouvements.

◆ collisionsList

std::unordered_map<EntityID, ColliderRecord> Engine::Physics::BoxCollider::collisionsList

Liste des collisions en cours.

◆ enableRotation

bool Engine::Physics::BoxCollider::enableRotation = true

Si true, le collider est mis à jour en fonction de l'angle de rotation du transform rattaché

◆ isTrigger

bool Engine::Physics::BoxCollider::isTrigger = false

Si true, le collider est un trigger (superposition possible en ne résolvant pas les conditions)

◆ offset

glm::vec3 Engine::Physics::BoxCollider::offset = {0.0f, 0.0f, 0.0f}

Offset par rapport au transform.position de l'entité

◆ size

glm::vec3 Engine::Physics::BoxCollider::size = {1.0f, 1.0f, 1.0f}

Taille de la hitbox du collider. Pour des collisions indépendantes du rendu.

◆ triggersList

std::unordered_map<EntityID, ColliderRecord> Engine::Physics::BoxCollider::triggersList

Liste des triggers en cours.


The documentation for this struct was generated from the following file: