OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
Engine::Scene::Transform Struct Reference

Cette structure de donnée permet la gestion d'une entité dans l'espace. More...

#include <transform.hpp>

Inheritance diagram for Engine::Scene::Transform:
Engine::ECS::Component

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.
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.

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

Detailed Description

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

Member Function Documentation

◆ GetLocalMatrix()

glm::mat4 Engine::Scene::Transform::GetLocalMatrix ( ) const

Renvoie la matrice modèle locale du transform.

Returns
glm::mat4

◆ GetWorldMatrix()

glm::mat4 Engine::Scene::Transform::GetWorldMatrix ( ) const

Renvoie la matrice modèle "monde" du transform.

Returns
glm::mat4

◆ GetWorldPosition()

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

Returns
glm::vec3

◆ GetWorldRotation()

glm::quat Engine::Scene::Transform::GetWorldRotation ( ) const

Renvoie la rotation du transform dans le "monde".

Returns
glm::quat

◆ GetWorldScale()

glm::vec3 Engine::Scene::Transform::GetWorldScale ( ) const

Renvoie le scaling "monde" du transform.

Returns
glm::vec3

◆ IsRotated()

bool Engine::Scene::Transform::IsRotated ( )

Permet de savoir si l'objet a subi une ou plusieurs rotations.

Returns
true
false

◆ Rotate()

void Engine::Scene::Transform::Rotate ( const glm::vec3 & axis,
float angleRadians )

Fait tourner l'objet d'un angle donné autour d'un axe.

Parameters
axisL'axe autour duquel la rotation à lieu
angleRadiansL'angle de rotation

◆ Rotate2D()

void Engine::Scene::Transform::Rotate2D ( float angleRadians)

Encapsule une rotation dans un cadre 2D (autour de l'axe Z)

Parameters
angleRadiansL'angle de la rotation

◆ SetRotation2D()

void Engine::Scene::Transform::SetRotation2D ( float angleRadians)

Règle l'angle aotour de l'axe Z à l'angle en radians donné

Parameters
angleRadians

◆ Translate() [1/2]

void Engine::Scene::Transform::Translate ( const glm::vec2 & offset)

Déplace le component d'un offset donné

Parameters
offsetUn vecteur 2D pour la translation

◆ Translate() [2/2]

void Engine::Scene::Transform::Translate ( const glm::vec3 & offset)

Déplace le component d'un offset donné

Parameters
offsetUn vecteur 3D pour la translation

Member Data Documentation

◆ position

glm::vec3 Engine::Scene::Transform::position = {0.0f, 0.0f, 0.0f}

La position dans la scène.

◆ rotation

glm::quat Engine::Scene::Transform::rotation = glm::quat(1.0f, 0.0f, 0.0f, 0.0f)

La rotation (quaternion) du transform.

◆ scale

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.


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