#include <nCine/Primitives/Quaternion.h>
template<class T>
Quaternion class
Quaternion.
Represents a rotation as four components X, Y, Z and W. Provides component-wise and scalar arithmetic, quaternion multiplication (rotation composition), magnitude and normalization, conjugation, conversion to a rotation Matrix4x4 and construction from an axis and an angle.
Public static functions
- static auto FromAxisAngle(T xx, T yy, T zz, T degrees) -> Quaternion
- Creates a quaternion from a rotation axis and an angle in degrees.
- static auto FromAxisAngle(const Vector3<T>& axis, T degrees) -> Quaternion
- static auto FromXAxisAngle(T degrees) -> Quaternion
- Creates a quaternion representing a rotation around the X axis.
- static auto FromYAxisAngle(T degrees) -> Quaternion
- Creates a quaternion representing a rotation around the Y axis.
- static auto FromZAxisAngle(T degrees) -> Quaternion
- Creates a quaternion representing a rotation around the Z axis.
Constructors, destructors, conversion operators
- Quaternion() constexpr noexcept
- Quaternion(NoInitT) explicit noexcept
- Quaternion(T x, T y, T z, T w) constexpr noexcept
- Quaternion(const Vector4<T>& v) explicit noexcept
- Quaternion(const Quaternion& other) constexpr noexcept
Public functions
- auto operator=(const Quaternion& other) -> Quaternion&
- void Set(T x, T y, T z, T w)
- auto Data() -> T*
- auto Data() const -> const T*
-
auto operator[](std::
size_t index) -> T& -
auto operator[](std::
size_t index) const -> const T& - auto operator==(const Quaternion& q) const -> bool
- auto operator!=(const Quaternion& q) const -> bool
- auto operator-() const -> Quaternion
- auto operator+=(const Quaternion& q) -> Quaternion&
- auto operator-=(const Quaternion& q) -> Quaternion&
- auto operator*=(const Quaternion& q) -> Quaternion&
- auto operator*=(T s) -> Quaternion&
- auto operator/=(T s) -> Quaternion&
- auto operator+(const Quaternion& q) const -> Quaternion
- auto operator-(const Quaternion& q) const -> Quaternion
- auto operator*(const Quaternion& q) const -> Quaternion
- auto operator*(T s) const -> Quaternion
- auto operator/(T s) const -> Quaternion
- auto Magnitude() const -> T
- Returns the magnitude (norm) of the quaternion.
- auto SqrMagnitude() const -> T
- Returns the squared magnitude of the quaternion.
- auto Normalized() const -> Quaternion
- Returns a normalized copy of the quaternion.
- auto Normalize() -> Quaternion&
- Normalizes the quaternion in place and returns it.
- auto Conjugated() const -> Quaternion
- Returns the conjugate of the quaternion.
- auto Conjugate() -> Quaternion&
- Conjugates the quaternion in place and returns it.
- auto ToMatrix4x4() const -> Matrix4x4<T>
- Converts the quaternion to an equivalent rotation matrix.
Public variables
Constants
Function documentation
template<class T>
static Quaternion nCine:: Primitives:: Quaternion<T>:: FromAxisAngle(const Vector3<T>& axis,
T degrees)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.