|
SleakEngine 1.0.0
C++23 multi-backend game engine
|
Represents a quaternion for 3D rotations. More...
#include <Quaternion.hpp>
Public Member Functions | |
| Quaternion () | |
| Quaternion (const Matrix< float, 4, 4 > &matrix) | |
| Quaternion (const Vector3D &axis, float angle) | |
| Quaternion (float w, float x, float y, float z) | |
| Quaternion | conjugate () const |
| float | GetW () const |
| float | GetX () const |
| float | GetY () const |
| float | GetZ () const |
| Quaternion | inverse () const |
| float | magnitude () const |
| void | normalize () |
| Quaternion | operator* (const Quaternion &other) const |
| Quaternion & | operator*= (const Quaternion &other) |
| Quaternion | operator- () const |
| float & | operator[] (int index) |
| const float & | operator[] (int index) const |
| Vector3D | rotateVector (const Vector3D &vec) const |
| Matrix< float, 4, 4 > | toRotationMatrix () const |
Static Public Member Functions | |
| static Quaternion | LookRotation (Vector3D &forward, Vector3D &up) |
Public Attributes | |
| float | w |
| float | x |
| float | y |
| float | z |
Represents a quaternion for 3D rotations.
Quaternions provide a more robust and efficient way to represent rotations compared to Euler angles, avoiding issues like gimbal lock.
This class provides functionalities for creating, manipulating, and using quaternions for various 3D rotation operations.
Definition at line 26 of file Quaternion.hpp.
| Sleak::Math::Quaternion::Quaternion | ( | ) |
Definition at line 9 of file Quaternion.cpp.
| Sleak::Math::Quaternion::Quaternion | ( | float | w, |
| float | x, | ||
| float | y, | ||
| float | z ) |
Definition at line 11 of file Quaternion.cpp.
| Sleak::Math::Quaternion::Quaternion | ( | const Vector3D & | axis, |
| float | angle ) |
Definition at line 14 of file Quaternion.cpp.
| Sleak::Math::Quaternion::Quaternion | ( | const Matrix< float, 4, 4 > & | matrix | ) |
Definition at line 24 of file Quaternion.cpp.
| Quaternion Sleak::Math::Quaternion::conjugate | ( | ) | const |
Definition at line 117 of file Quaternion.cpp.
| float Sleak::Math::Quaternion::GetW | ( | ) | const |
Definition at line 98 of file Quaternion.cpp.
| float Sleak::Math::Quaternion::GetX | ( | ) | const |
Definition at line 95 of file Quaternion.cpp.
| float Sleak::Math::Quaternion::GetY | ( | ) | const |
Definition at line 96 of file Quaternion.cpp.
| float Sleak::Math::Quaternion::GetZ | ( | ) | const |
Definition at line 97 of file Quaternion.cpp.
| Quaternion Sleak::Math::Quaternion::inverse | ( | ) | const |
Definition at line 122 of file Quaternion.cpp.
|
static |
Definition at line 165 of file Quaternion.cpp.
| float Sleak::Math::Quaternion::magnitude | ( | ) | const |
Definition at line 112 of file Quaternion.cpp.
| void Sleak::Math::Quaternion::normalize | ( | ) |
Definition at line 101 of file Quaternion.cpp.
| Quaternion Sleak::Math::Quaternion::operator* | ( | const Quaternion & | other | ) | const |
Definition at line 77 of file Quaternion.cpp.
| Quaternion & Sleak::Math::Quaternion::operator*= | ( | const Quaternion & | other | ) |
Definition at line 86 of file Quaternion.cpp.
| Quaternion Sleak::Math::Quaternion::operator- | ( | ) | const |
Definition at line 91 of file Quaternion.cpp.
| float & Sleak::Math::Quaternion::operator[] | ( | int | index | ) |
Definition at line 56 of file Quaternion.cpp.
| const float & Sleak::Math::Quaternion::operator[] | ( | int | index | ) | const |
Definition at line 66 of file Quaternion.cpp.
Definition at line 132 of file Quaternion.cpp.
| Matrix4 Sleak::Math::Quaternion::toRotationMatrix | ( | ) | const |
Definition at line 139 of file Quaternion.cpp.
| float Sleak::Math::Quaternion::w |
Definition at line 28 of file Quaternion.hpp.
| float Sleak::Math::Quaternion::x |
Definition at line 29 of file Quaternion.hpp.
| float Sleak::Math::Quaternion::y |
Definition at line 30 of file Quaternion.hpp.
| float Sleak::Math::Quaternion::z |
Definition at line 31 of file Quaternion.hpp.