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#