Final Project of FCG
Fundamentals of Computer Graphics - Final Project : Mesh Subidvision/Simplification | Skin Rendering
Public Member Functions | Private Attributes | List of all members
Quaternion Class Reference

Quaternion structure, serves for rotation purposes. Almost every inputs user-side are expressed in degrees from the Yaw Pitch Roll coordinate system. More...

#include <Quaternion.hpp>

Inheritance diagram for Quaternion:

Public Member Functions

 Quaternion (const glm::vec3 &rotation={ 0.0f, 0.0f, 0.0f })
 Quaternion constructor with rotation in degrees. More...
 
Quaternionoperator= (const glm::quat &quat)
 
 operator glm::quat & ()
 
 operator const glm::quat & () const
 
void SetRotation (const glm::vec3 &rotation)
 Sets degrees rotation. More...
 
void Rotate (const glm::vec3 &rotation)
 Rotates on X, Y, Z axis (degrees) More...
 
void RotateX (const float rotation)
 Rotates on X axis (degrees) More...
 
void RotateY (const float rotation)
 Rotates on Y axis (degrees) More...
 
void RotateZ (const float rotation)
 Rotates on Z axis (degrees) More...
 
glm::vec3 ToEulerAngles () const
 Returns Euler Angles https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion. More...
 

Private Attributes

glm::vec3 __eulerAngles
 

Detailed Description

Quaternion structure, serves for rotation purposes. Almost every inputs user-side are expressed in degrees from the Yaw Pitch Roll coordinate system.

Constructor & Destructor Documentation

◆ Quaternion()

Quaternion::Quaternion ( const glm::vec3 &  rotation = { 0.0f, 0.0f, 0.0f })

Quaternion constructor with rotation in degrees.

Parameters
rotation

Member Function Documentation

◆ Rotate()

void Quaternion::Rotate ( const glm::vec3 &  rotation)

Rotates on X, Y, Z axis (degrees)

Parameters
rotation

◆ RotateX()

void Quaternion::RotateX ( const float  rotation)

Rotates on X axis (degrees)

Parameters
rotation

◆ RotateY()

void Quaternion::RotateY ( const float  rotation)

Rotates on Y axis (degrees)

Parameters
rotation

◆ RotateZ()

void Quaternion::RotateZ ( const float  rotation)

Rotates on Z axis (degrees)

Parameters
rotation

◆ SetRotation()

void Quaternion::SetRotation ( const glm::vec3 &  rotation)

Sets degrees rotation.

Parameters
rotation

◆ ToEulerAngles()

glm::vec3 Quaternion::ToEulerAngles ( ) const

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