Classes d’id Tech 4 (neo/idlib/bv)

Description des fichiers dans le dossier neo/idlib/bv.

  • Chaque section prend le nom des deux fichiers C++ (.h et .cpp) auquelle elle fait référence. Ainsi, Bounds indique les fichiers Bounds.h et Bounds.cpp.
  • Une note « + description » indique que le fichier contient une description détaillée pour une ou plusieurs classes.
  • Une classe entre parenthèses indique qu'elle est héritée : SousClasse (ClasseDeBase).

=Bounds

La classe idBounds représente les Axis Aligned Bounding Box (AABB).

Elle contient un tableau de deux vecteurs b[]. Ces vecteurs représentent les coordonnées minimale et maximale de l'AABB.

  • idBounds::FromTransformedBounds() modifie les coordonnées des extrémités (deux vecteurs) de l'occurrence courante, selon une matrice passée en paramètre. La matrice est multipliée par les extrémités d'une autre AABB.

    (Noter que les matrices dans id Tech 4 sont à base de colonnes [column-major] [en], comme l'indiquent les calculs spécifiques pour la multiplication dans la boucle.)

    Cette fonction participe dans l'initialisation de plusieurs objets idBounds dans le code. Étant donné la description d'idBounds dans le code (Axis Aligned Bounding Box), cette fonction est peut-être utilisée pour aligner une bounding box selon l'orientation de l'entité à laquelle elle est associée, plutôt que les trois axes de base.