OGL Engine 1.2.0-dev
|
Cette structure de donnée permet la gestion d'une entité dans l'espace. More...
#include <transform.hpp>
Public Member Functions | |
void | Translate (const glm::vec3 &offset) |
Déplace le component d'un offset donné | |
void | Translate (const glm::vec2 &offset) |
Déplace le component d'un offset donné | |
void | Rotate (const glm::vec3 &axis, float angleRadians) |
Fait tourner l'objet d'un angle donné autour d'un axe. | |
void | Rotate2D (float angleRadians) |
Encapsule une rotation dans un cadre 2D (autour de l'axe Z) | |
void | SetRotation2D (float angleRadians) |
Règle l'angle aotour de l'axe Z à l'angle en radians donné | |
bool | IsRotated () |
Permet de savoir si l'objet a subi une ou plusieurs rotations. | |
glm::vec3 | GetWorldPosition () const |
Renvoie la position du transform dans le "monde". | |
glm::quat | GetWorldRotation () const |
Renvoie la rotation du transform dans le "monde". | |
glm::vec3 | GetWorldScale () const |
Renvoie le scaling "monde" du transform. | |
glm::mat4 | GetLocalMatrix () const |
Renvoie la matrice modèle locale du transform. | |
glm::mat4 | GetWorldMatrix () const |
Renvoie la matrice modèle "monde" du transform. | |
Public Member Functions inherited from Engine::ECS::Component | |
Component ()=default | |
void | SetEntity (Entity e) |
Attache l'entité au component. | |
Entity & | GetEntity () const |
Renvoie l'entité attachée. | |
Registry & | GetRegistry () const |
Renvoie le registre actuel. | |
Scene::Scene & | GetScene () const |
Renvoie la scène en cours. | |
App & | GetApp () const |
Renvoie l'instance d'application. |
Public Attributes | |
glm::vec3 | position = {0.0f, 0.0f, 0.0f} |
La position dans la scène. | |
glm::quat | rotation = glm::quat(1.0f, 0.0f, 0.0f, 0.0f) |
La rotation (quaternion) du transform. | |
glm::vec3 | scale = {1.0f, 1.0f, 1.0f} |
Facteur d'argrandissement par lequel tous les components avec une taille sont mis à l'échelle. | |
Public Attributes inherited from Engine::ECS::Component | |
bool | enabled = true |
Cette structure de donnée permet la gestion d'une entité dans l'espace.
ELle donne accès à une position, une rotation et un facteur d'agrandissement permettant le calcul de matrices Model
glm::mat4 Engine::Scene::Transform::GetLocalMatrix | ( | ) | const |
Renvoie la matrice modèle locale du transform.
glm::mat4 Engine::Scene::Transform::GetWorldMatrix | ( | ) | const |
Renvoie la matrice modèle "monde" du transform.
glm::vec3 Engine::Scene::Transform::GetWorldPosition | ( | ) | const |
Renvoie la position du transform dans le "monde".
Comprendre : Mis à jour en fonction de la position de l'entité parente s'il y en a une
glm::quat Engine::Scene::Transform::GetWorldRotation | ( | ) | const |
Renvoie la rotation du transform dans le "monde".
glm::vec3 Engine::Scene::Transform::GetWorldScale | ( | ) | const |
Renvoie le scaling "monde" du transform.
bool Engine::Scene::Transform::IsRotated | ( | ) |
Permet de savoir si l'objet a subi une ou plusieurs rotations.
void Engine::Scene::Transform::Rotate | ( | const glm::vec3 & | axis, |
float | angleRadians ) |
Fait tourner l'objet d'un angle donné autour d'un axe.
axis | L'axe autour duquel la rotation à lieu |
angleRadians | L'angle de rotation |
void Engine::Scene::Transform::Rotate2D | ( | float | angleRadians | ) |
Encapsule une rotation dans un cadre 2D (autour de l'axe Z)
angleRadians | L'angle de la rotation |
void Engine::Scene::Transform::SetRotation2D | ( | float | angleRadians | ) |
Règle l'angle aotour de l'axe Z à l'angle en radians donné
angleRadians |
void Engine::Scene::Transform::Translate | ( | const glm::vec2 & | offset | ) |
Déplace le component d'un offset donné
offset | Un vecteur 2D pour la translation |
void Engine::Scene::Transform::Translate | ( | const glm::vec3 & | offset | ) |
Déplace le component d'un offset donné
offset | Un vecteur 3D pour la translation |
glm::vec3 Engine::Scene::Transform::position = {0.0f, 0.0f, 0.0f} |
La position dans la scène.
glm::quat Engine::Scene::Transform::rotation = glm::quat(1.0f, 0.0f, 0.0f, 0.0f) |
La rotation (quaternion) du transform.
glm::vec3 Engine::Scene::Transform::scale = {1.0f, 1.0f, 1.0f} |
Facteur d'argrandissement par lequel tous les components avec une taille sont mis à l'échelle.