JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::Rect Struct Reference

Rectangle aligné sur les axes (AABB) en unités monde. More...

#include <Rect.h>

Public Member Functions

 Rect ()=default
 Rect (const Vector2 &topLeft, const Vector2 &dimensions)
 Construit un rectangle à partir de son coin haut-gauche et de sa taille.
float left () const
float right () const
float top () const
float bottom () const
bool contains (const Vector2 &point) const
 Teste si un point est contenu dans le rectangle.
bool intersects (const Rect &other) const
 Teste le recouvrement avec un autre rectangle.

Public Attributes

Vector2 position {}
 Coin haut-gauche du rectangle.
Vector2 size {}
 Dimensions (largeur en x, hauteur en y), attendues >= 0.

Detailed Description

Rectangle aligné sur les axes (AABB) en unités monde.

Origine au coin haut-gauche, axe Y orienté vers le bas (convention du projet). Les dimensions sont supposées positives ou nulles. Sert de brique aux tests de contenance et d'intersection (culling, collisions grossières, zones d'édition). Sans dépendance DirectX (EX-ARCH-040).

Constructor & Destructor Documentation

◆ Rect() [1/2]

core::Rect::Rect ( )
default

◆ Rect() [2/2]

core::Rect::Rect ( const Vector2 & topLeft,
const Vector2 & dimensions )

Construit un rectangle à partir de son coin haut-gauche et de sa taille.

Parameters
topLeftCoin haut-gauche.
dimensionsLargeur et hauteur (>= 0).

Member Function Documentation

◆ bottom()

float core::Rect::bottom ( ) const
nodiscard
Returns
Ordonnée du bord inférieur (top + hauteur).

◆ contains()

bool core::Rect::contains ( const Vector2 & point) const
nodiscard

Teste si un point est contenu dans le rectangle.

L'appartenance est inclusive sur les bords haut/gauche et exclusive sur les bords bas/droit, afin qu'une grille de rectangles jointifs pave le plan sans recouvrement ni trou.

Parameters
pointPoint à tester, en coordonnées monde.
Returns
true si le point est à l'intérieur ou sur un bord inclus.

◆ intersects()

bool core::Rect::intersects ( const Rect & other) const
nodiscard

Teste le recouvrement avec un autre rectangle.

Le simple contact par un bord (aires disjointes qui se touchent) n'est pas considéré comme une intersection.

Parameters
otherAutre rectangle.
Returns
true si les deux rectangles partagent une aire strictement positive.

◆ left()

float core::Rect::left ( ) const
nodiscard
Returns
Abscisse du bord gauche.

◆ right()

float core::Rect::right ( ) const
nodiscard
Returns
Abscisse du bord droit (left + largeur).

◆ top()

float core::Rect::top ( ) const
nodiscard
Returns
Ordonnée du bord supérieur.

Member Data Documentation

◆ position

Vector2 core::Rect::position {}

Coin haut-gauche du rectangle.

◆ size

Vector2 core::Rect::size {}

Dimensions (largeur en x, hauteur en y), attendues >= 0.


The documentation for this struct was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Math/Rect.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Math/Rect.cpp