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