quat
Fully qualified name: omni::math::linalg::quat
- 
template<typename T>
 class quat : private omni::math::linalg::base_vec<T, 4>
 
- 
- Public Types - 
- 
using base_type = base_vec<T, 4>
 
 - 
- 
using ScalarType = T
 
 - 
- 
using ImaginaryType = vec3<T>
 
 
 - 
- Public Functions - 
- 
quat() = default
 
 - 
- 
constexpr quat(const quat<T>&) = default
 
 - 
- 
inline explicit constexpr quat(const base_type &other)
 
 - 
- 
inline explicit constexpr quat(T real)
 
 - 
- 
inline constexpr quat(T real, T i, T j, T k)
 
 - 
- 
inline constexpr quat(T real, vec3<T> imaginary)
 
 - 
- 
template<typename OTHER_T>
 inline explicit quat(
- 
- const quat<OTHER_T> &other,
 )
 
 - 
- 
template<typename OTHER_T>
 inline quat(
- 
- const std::initializer_list<OTHER_T> &other,
 ) noexcept
 
 - 
- 
inline T GetReal() const
 
 - 
- 
inline void SetReal(T real)
 
 - 
- 
inline vec3<T> GetImaginary() const
 
 - 
- 
inline void SetImaginary(const vec3<T> &imaginary)
 
 - 
- 
inline void SetImaginary(T i, T j, T k)
 
 - 
- 
inline constexpr T Dot(const quat<T> &other) const
 
 - 
- 
inline quat<T> GetConjugate() const
 
 - 
- 
inline quat<T> GetInverse() const
 
 - 
- 
inline vec3<T> Transform(const vec3<T> &point) const
 
 - 
- 
inline quat<T> operator-() const
 
 - 
- 
inline bool operator==(const quat<T> &other) const
 
 - 
- 
inline bool operator!=(const quat<T> &other) const
 
 - 
- 
inline quat<T> &operator*=(const quat<T> &other)
 
 - 
- 
inline quat<T> &operator*=(T scalar)
 
 - 
- 
inline quat<T> &operator/=(T scalar)
 
 - 
- 
inline quat<T> &operator+=(const quat<T> &other)
 
 - 
- 
inline quat<T> &operator-=(const quat<T> &other)
 
 
 - 
- Public Static Functions - 
- 
static inline quat<T> GetIdentity()
 
 
 - 
- Private Functions - 
- 
inline constexpr T Dot(const base_vec<T, N> &other) const
 
 - 
- 
inline constexpr base_vec<T, N> &operator+=(
- 
- const base_vec<T, N> &that,
 ) noexcept
 
 - 
- 
inline constexpr base_vec<T, N> &operator-=(
- 
- const base_vec<T, N> &that,
 ) noexcept