Muto 0.0.1
Cross-Platform Application Template
GitHub Repo | Muto Updates | Muto's Author
Loading...
Searching...
No Matches
Muto::TransformComponent Struct Reference

Component that holds the transform of an entity. More...

#include <Components.h>

Public Member Functions

glm::mat4 GetTransform () const
 Calculates and returns the transformation matrix.
 
 TransformComponent ()=default
 
 TransformComponent (const glm::vec3 &translation)
 Constructor that initializes the translation with a 3D vector.
 
 TransformComponent (const TransformComponent &)=default
 

Public Attributes

glm::vec3 Rotation = { 0.0f, 0.0f, 0.0f }
 Rotation vector (in radians).
 
glm::vec3 Scale = { 1.0f, 1.0f, 1.0f }
 Scale vector.
 
glm::vec3 Translation = { 0.0f, 0.0f, 0.0f }
 Translation (position) vector.
 

Detailed Description

Component that holds the transform of an entity.

Constructor & Destructor Documentation

◆ TransformComponent() [1/3]

Muto::TransformComponent::TransformComponent ( )
default

◆ TransformComponent() [2/3]

Muto::TransformComponent::TransformComponent ( const TransformComponent &  )
default

◆ TransformComponent() [3/3]

Muto::TransformComponent::TransformComponent ( const glm::vec3 &  translation)
inline

Constructor that initializes the translation with a 3D vector.

81 }
constexpr Scope< T > CreateScope(Args &&... args)
Creates a Scope (unique_ptr) for the given type and constructor arguments.
Definition Defines_Macros.h:51
glm::vec3 Translation
Translation (position) vector.
Definition Components.h:70

References TransformComponent().

Referenced by TransformComponent().

Member Function Documentation

◆ GetTransform()

glm::mat4 Muto::TransformComponent::GetTransform ( ) const
inline

Calculates and returns the transformation matrix.

85 {
86 glm::mat4 rotation = glm::toMat4(glm::quat(Rotation));
87
88 return glm::translate(glm::mat4(1.0f), Translation)
89 * rotation
90 * glm::scale(glm::mat4(1.0f), Scale);
91 }
glm::vec3 Scale
Scale vector.
Definition Components.h:74
glm::vec3 Rotation
Rotation vector (in radians).
Definition Components.h:72

Member Data Documentation

◆ Rotation

glm::vec3 Muto::TransformComponent::Rotation = { 0.0f, 0.0f, 0.0f }

Rotation vector (in radians).

72{ 0.0f, 0.0f, 0.0f };

◆ Scale

glm::vec3 Muto::TransformComponent::Scale = { 1.0f, 1.0f, 1.0f }

Scale vector.

74{ 1.0f, 1.0f, 1.0f };

◆ Translation

glm::vec3 Muto::TransformComponent::Translation = { 0.0f, 0.0f, 0.0f }

Translation (position) vector.

70{ 0.0f, 0.0f, 0.0f };

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