Antkeeper
0.0.1
|
#include <engine/math/numbers.hpp>
#include <engine/math/quaternion.hpp>
#include <engine/math/vector.hpp>
#include <cmath>
#include <cstdint>
#include <concepts>
#include <utility>
Go to the source code of this file.
Namespaces | |
math | |
Mathematical functions and data types. | |
Enumerations | |
enum class | math::rotation_sequence : std::uint8_t { math::zxz = 0b100010 , math::xyx = 0b000100 , math::yzy = 0b011001 , math::zyz = 0b100110 , math::xzx = 0b001000 , math::yxy = 0b010001 , math::xyz = 0b100100 , math::yzx = 0b001001 , math::zxy = 0b010010 , math::xzy = 0b011000 , math::zyx = 0b000110 , math::yxz = 0b100001 } |
Rotation sequences of proper Euler and Tait-Bryan angles. More... | |
Functions | |
template<std::integral T> | |
constexpr vec3< T > | math::rotation_axes (rotation_sequence sequence) noexcept |
Returns the indices of the axes of a rotation sequence. More... | |
template<rotation_sequence Sequence, class T > | |
vec3< T > | math::euler_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_zxz_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_xyx_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_yzy_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_zyz_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_xzx_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_yxy_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_xyz_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_yzx_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_zxy_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_xzy_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_zyx_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_yxz_from_quat (const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<class T > | |
vec3< T > | math::euler_from_quat (rotation_sequence sequence, const quat< T > &q, T tolerance=T{1e-6}) |
Derives Euler angles from a unit quaternion. More... | |
template<rotation_sequence Sequence, class T > | |
quat< T > | math::euler_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_zxz_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_xyx_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_yzy_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_zyz_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_xzx_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_yxy_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_xyz_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_yzx_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_zxy_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_xzy_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_zyx_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_yxz_to_quat (const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |
template<class T > | |
quat< T > | math::euler_to_quat (rotation_sequence sequence, const vec3< T > &angles) |
Constructs a quaternion from Euler angles. More... | |