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

Axis Aligned Bounding Box. More...

#include <aabb.hpp>

Public Member Functions

 AABB (glm::vec2 pos, glm::vec2 size, glm::quat rot=glm::quat())
 Construit un nouvel objet aabb.
glm::vec2 Min () const
 Renvoie la position la plus faible sur les deux axes (gauche/bas de la box)
glm::vec2 Max () const
 Renvoie la position la plus forte sur les deux axes (droite/haut de la box)
bool Intersects (const AABB &other, float margin=0.0f) const
 Renvoie vrai si l'autre AABB passée en paramètre entre en collision avec celle-ci.

Public Attributes

glm::vec2 center
 La position centrale de l'AABB.
glm::vec2 halfSize
 La moitié de la taille de l'AABB (sur les deux axes)

Detailed Description

Axis Aligned Bounding Box.

Type de "boîte de contour" utilisée par les moteurs physiques pour détecter des collisions L'AABB est alignée sur les axes du "monde" et représente donc un rectangle simple autour d'un objet

Constructor & Destructor Documentation

◆ AABB()

Engine::Physics::AABB::AABB ( glm::vec2 pos,
glm::vec2 size,
glm::quat rot = glm::quat() )
inline

Construit un nouvel objet aabb.

Calcule la position en fonction de la rotation de sorte que l'AABB englobe toute la zone, même si la rotation implique des coins "vides", l'AABB paraîtra plus grande, mais englobe quand même.

Parameters
posLa position centrale de l'AABB à créer
sizeLa taille totale (X/Y) de l'AABB
rotLa rotation de l'objet que l'on veut englober (quaternion)

Member Function Documentation

◆ Intersects()

bool Engine::Physics::AABB::Intersects ( const AABB & other,
float margin = 0.0f ) const
inline

Renvoie vrai si l'autre AABB passée en paramètre entre en collision avec celle-ci.

Parameters
other
Returns
true
false

◆ Max()

glm::vec2 Engine::Physics::AABB::Max ( ) const
inline

Renvoie la position la plus forte sur les deux axes (droite/haut de la box)

Returns
glm::vec2

◆ Min()

glm::vec2 Engine::Physics::AABB::Min ( ) const
inline

Renvoie la position la plus faible sur les deux axes (gauche/bas de la box)

Returns
glm::vec2

Member Data Documentation

◆ center

glm::vec2 Engine::Physics::AABB::center

La position centrale de l'AABB.

◆ halfSize

glm::vec2 Engine::Physics::AABB::halfSize

La moitié de la taille de l'AABB (sur les deux axes)


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