GA::kit v0.3
G&A's in-house C++ application framework
Loading...
Searching...
No Matches
ga::Transform Class Reference

Transform represents a basic model matrix: translate * rotate * scale Stored internally as ga::mat4 (4x4 matrix) as well as: More...

#include <transform.h>

Inheritance diagram for ga::Transform:
ga::Node

Public Member Functions

 Transform ()
 
 Transform (const mat4 &transform)
 
 Transform (const vec3 &translation, const quat &rotation, const vec3 &scale)
 
TransformsetMatrix (const mat4 &matrix)
 
Transformset (const mat4 &matrix)
 
TransformsetTranslation (const vec3 &translation)
 
TransformsetTranslation (const vec2 &translation)
 
TransformsetRotation (const quat &rotation)
 
TransformsetScale (const vec3 &scale)
 
TransformsetEulerRotation (const vec3 &radians)
 
const vec3 & getTranslation () const
 
const quat & getRotation () const
 
const vec3 & getScale () const
 
vec3 getEulerRotation () const
 
const mat4 & getMatrix () const
 
Transformtranslate (const vec3 &vec)
 
Transformtranslate (const vec2 &vec)
 
TransformtranslateX (float x)
 
TransformtranslateY (float y)
 
TransformtranslateZ (float z)
 
Transformscale (const vec3 &pct)
 
Transformscale (float pct)
 
Transformrotate (const vec3 &eulerRadians)
 
TransformrotateAround (const vec3 &axis, float radians)
 
TransformrotateX (float radians)
 
TransformrotateY (float radians)
 
TransformrotateZ (float radians)
 
 operator const mat4 & () const
 
Transformoperator= (const mat4 &m)
 
Transform operator* (const mat4 &m)
 
Transform operator* (const Transform &t)
 

Protected Member Functions

void flagDirty ()
 
void clean () const
 
void decompose ()
 

Protected Attributes

vec3 m_translation
 
vec3 m_scale
 
quat m_rotation
 
mat4 m_transform
 
bool m_dirty
 

Detailed Description

Transform represents a basic model matrix: translate * rotate * scale Stored internally as ga::mat4 (4x4 matrix) as well as:

  • ga::vec3 translation
  • ga::quat rotation
  • ga::vec3 scale

Constructor & Destructor Documentation

◆ Transform() [1/3]

ga::Transform::Transform ( )
inline

◆ Transform() [2/3]

ga::Transform::Transform ( const mat4 &  transform)
inline

◆ Transform() [3/3]

ga::Transform::Transform ( const vec3 &  translation,
const quat &  rotation,
const vec3 &  scale 
)
inline

Member Function Documentation

◆ clean()

void ga::Transform::clean ( ) const
inlineprotected

◆ decompose()

void ga::Transform::decompose ( )
inlineprotected

◆ flagDirty()

void ga::Transform::flagDirty ( )
inlineprotected

◆ getEulerRotation()

vec3 ga::Transform::getEulerRotation ( ) const
inline

◆ getMatrix()

const mat4 & ga::Transform::getMatrix ( ) const
inline

◆ getRotation()

const quat & ga::Transform::getRotation ( ) const
inline

◆ getScale()

const vec3 & ga::Transform::getScale ( ) const
inline

◆ getTranslation()

const vec3 & ga::Transform::getTranslation ( ) const
inline

◆ operator const mat4 &()

ga::Transform::operator const mat4 & ( ) const
inline

◆ operator*() [1/2]

Transform ga::Transform::operator* ( const mat4 &  m)
inline

◆ operator*() [2/2]

Transform ga::Transform::operator* ( const Transform t)
inline

◆ operator=()

Transform & ga::Transform::operator= ( const mat4 &  m)
inline

◆ rotate()

Transform & ga::Transform::rotate ( const vec3 &  eulerRadians)
inline

◆ rotateAround()

Transform & ga::Transform::rotateAround ( const vec3 &  axis,
float  radians 
)
inline

◆ rotateX()

Transform & ga::Transform::rotateX ( float  radians)
inline

◆ rotateY()

Transform & ga::Transform::rotateY ( float  radians)
inline

◆ rotateZ()

Transform & ga::Transform::rotateZ ( float  radians)
inline

◆ scale() [1/2]

Transform & ga::Transform::scale ( const vec3 &  pct)
inline

◆ scale() [2/2]

Transform & ga::Transform::scale ( float  pct)
inline

◆ set()

Transform & ga::Transform::set ( const mat4 &  matrix)
inline

◆ setEulerRotation()

Transform & ga::Transform::setEulerRotation ( const vec3 &  radians)
inline

◆ setMatrix()

Transform & ga::Transform::setMatrix ( const mat4 &  matrix)
inline

◆ setRotation()

Transform & ga::Transform::setRotation ( const quat &  rotation)
inline

◆ setScale()

Transform & ga::Transform::setScale ( const vec3 &  scale)
inline

◆ setTranslation() [1/2]

Transform & ga::Transform::setTranslation ( const vec2 &  translation)
inline

◆ setTranslation() [2/2]

Transform & ga::Transform::setTranslation ( const vec3 &  translation)
inline

◆ translate() [1/2]

Transform & ga::Transform::translate ( const vec2 &  vec)
inline

◆ translate() [2/2]

Transform & ga::Transform::translate ( const vec3 &  vec)
inline

◆ translateX()

Transform & ga::Transform::translateX ( float  x)
inline

◆ translateY()

Transform & ga::Transform::translateY ( float  y)
inline

◆ translateZ()

Transform & ga::Transform::translateZ ( float  z)
inline

Member Data Documentation

◆ m_dirty

bool ga::Transform::m_dirty
protected

◆ m_rotation

quat ga::Transform::m_rotation
protected

◆ m_scale

vec3 ga::Transform::m_scale
protected

◆ m_transform

mat4 ga::Transform::m_transform
protected

◆ m_translation

vec3 ga::Transform::m_translation
protected

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