#include <quat.hpp>
template<typename value_type, typename quat_type_raw, typename underlying_matrix3x4_type_raw, typename underlying_matrix4x4_type_raw, typename vec3_type, typename mat4x4_type>
generic_quat struct
Contents
Public types
- using component_type = value_type
- using quat_type = typename quat_type_raw::type
- using underlying_matrix3x4_type = typename underlying_matrix3x4_type_raw::type
- using underlying_matrix4x4_type = typename underlying_matrix4x4_type_raw::type
Public static variables
- static static uint32_t num_components constexpr
Public static functions
-
static auto slerp(const generic_
quat& v1, const generic_ quat& v2, value_type t) -> MVM_INLINE_NODISCARD generic_ quat noexcept -
static auto identity() -> MVM_INLINE_NODISCARD generic_
quat noexcept -
static auto from_pitch_yaw_roll(value_type pitch,
value_type yaw,
value_type roll) -> MVM_INLINE_NODISCARD generic_
quat noexcept -
static auto from_pitch_yaw_roll(const vec3_type& angles) -> MVM_INLINE_NODISCARD generic_
quat noexcept -
static auto from_axis_angle(const vec3_type& axis,
value_type angle) -> MVM_INLINE_NODISCARD generic_
quat noexcept -
static auto from_rotation_normal(const vec3_type& normal_axis,
value_type angle) -> MVM_INLINE_NODISCARD generic_
quat noexcept -
static auto from_rotation_axis(const vec3_type& axis,
value_type angle) -> MVM_INLINE_NODISCARD generic_
quat noexcept -
static auto rotation_matrix_to_quaternion(const mat4x4_type& matrix) -> MVM_INLINE_NODISCARD generic_
quat noexcept
Public functions
- auto generic_quat() -> MVM_INLINE_NODISCARD noexcept
- auto generic_quat(value_type x, value_type y = 0, value_type z = 0, value_type w = 0) -> MVM_INLINE_NODISCARD noexcept
-
auto generic_quat(const quat_
type& v) -> MVM_INLINE_NODISCARD noexcept -
auto get_internal() const -> MVM_INLINE_NODISCARD quat_
type noexcept -
template<typename Archive>auto serialize(Archive& ar) -> MVM_
INLINE void - auto operator quat_type&() -> MVM_INLINE_NODISCARD
-
auto operator==(const generic_
quat& v) const -> MVM_INLINE_NODISCARD bool noexcept -
auto operator!=(const generic_
quat& v) const -> MVM_INLINE_NODISCARD bool noexcept -
auto operator=(const generic_
quat& v) -> MVM_INLINE_NODISCARD generic_ quat& noexcept -
auto operator*=(const generic_
quat& v) -> MVM_INLINE_NODISCARD generic_ quat& noexcept -
auto operator*(const generic_
quat& v) const -> MVM_INLINE_NODISCARD generic_ quat noexcept - auto operator*(const vec3_type& rhs) const -> MVM_INLINE_NODISCARD vec3_type noexcept
-
auto operator-() const -> MVM_INLINE_NODISCARD generic_
quat noexcept - auto get_component(int index) const -> MVM_INLINE_NODISCARD value_type noexcept
-
auto set_component(int index,
value_type value) -> MVM_
INLINE void - auto operator[](int i) const -> MVM_INLINE_NODISCARD value_type noexcept
- auto x() const -> MVM_INLINE_NODISCARD value_type noexcept
- auto y() const -> MVM_INLINE_NODISCARD value_type noexcept
- auto z() const -> MVM_INLINE_NODISCARD value_type noexcept
- auto w() const -> MVM_INLINE_NODISCARD value_type noexcept
-
auto x(value_type value) const -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto y(value_type value) const -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto z(value_type value) const -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto w(value_type value) const -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto set_x(value_type x) -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto set_y(value_type y) -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto set_z(value_type z) -> MVM_INLINE_NODISCARD generic_
quat& noexcept -
auto set_w(value_type w) -> MVM_INLINE_NODISCARD generic_
quat& noexcept - auto is_nan() const -> MVM_INLINE_NODISCARD bool noexcept
- auto is_infinite() const -> MVM_INLINE_NODISCARD bool noexcept
- auto is_identity() const -> MVM_INLINE_NODISCARD bool noexcept
- auto length() const -> MVM_INLINE_NODISCARD value_type noexcept
- auto squared_length() const -> MVM_INLINE_NODISCARD value_type noexcept
- auto reciprocal_length() const -> MVM_INLINE_NODISCARD value_type noexcept
-
auto normalized() const -> MVM_INLINE_NODISCARD generic_
quat noexcept -
auto normalized_approximate() const -> MVM_INLINE_NODISCARD generic_
quat noexcept -
auto dot(const generic_
quat& v) const -> MVM_INLINE_NODISCARD value_type noexcept -
auto conjugate() const -> MVM_INLINE_NODISCARD generic_
quat noexcept -
auto inverse() const -> MVM_INLINE_NODISCARD generic_
quat noexcept -
auto slerp(const generic_
quat& v, value_type t) const -> MVM_INLINE_NODISCARD generic_ quat noexcept -
auto normalize() -> MVM_
INLINE void noexcept