|
template<class t_angle_type > |
AxisAngle< t_angle_type, t_type > | axisAngle () const |
|
Quaternion | conjugate () const |
|
template<class t_angle_type > |
Vector< 3, Angle< t_angle_type > > | euler () const |
|
Quaternion | invert () const |
|
Quaternion | operator* (const Quaternion &q2) const |
|
template<class t_vec_type > |
Vector< 3, t_vec_type > | operator* (const Vector< 3, t_vec_type > &v) const |
|
const Quaternion | operator/ (t_type s) const |
|
constexpr | Quaternion () |
|
template<class t_angle_type , class t_axis_type > |
constexpr | Quaternion (Angle< t_angle_type > angle, Vector< 3, t_axis_type > axis) |
|
constexpr | Quaternion (const Vector< 4, t_type > &vec) |
|
constexpr | Quaternion (t_type x) |
|
constexpr | Quaternion (t_type x, t_type y, t_type z, t_type w) |
|
template<class t_angle_type > |
void | setFromEuler (Vector< 3, Angle< t_angle_type > > euler) |
|
Matrix< t_type > | toMatrix () const |
|
constexpr Vector< t_dims, t_new_type > | as () const |
|
constexpr Vector< t_new_dim, t_new_type > | as () const |
|
constexpr Vector< t_new_dim, t_new_type > | as (t_new_type extra_fill_value) const |
|
constexpr uint01 | dimensionalIndex () const |
|
constexpr t_type | dimensionalValue () const |
|
constexpr t_magnitude_type | magnitude () const |
|
constexpr t_type | magnitudeSquared () const |
|
constexpr Vector< t_dims, t_norm_type > | normalized (Vector< t_dims, t_norm_type > value_if_nan=Constant< Vector< t_dims, t_norm_type > >::Invalid) const |
|
constexpr | operator const t_type & () const |
|
constexpr | operator t_type & () |
|
constexpr Vector< t_dims, t_type > | operator- () const |
|
constexpr Vector< t_dims, t_type > & | operator= (const t_type &scaler) |
|
constexpr const t_type & | operator[] (const uint01 dimension_index) const |
|
constexpr t_type & | operator[] (uint01 dimension_index) |
|
constexpr t_type | product () const |
|
constexpr t_type | sum () const |
|
constexpr | Vector () noexcept |
|
constexpr | Vector (const t_type &prefix, typename std::enable_if< tdims >=2, const Vector< t_dims - 1, t_type > & >::type vector) |
|
constexpr | Vector (const t_type &prefix_a, const t_type &prefix_b, typename std::enable_if< tdims >=3, const Vector< tdims - 1, t_type > & >::type vector) |
|
constexpr | Vector (const t_type &scaler) noexcept |
|
constexpr | Vector (const t_type &x, const t_type &y, const t_type &z, const t_type &w, const t_type &v, const t_type &u, const t_type &t, const t_type &s, typename std::enable_if< tdims==9, const t_type & >::type r) |
|
constexpr | Vector (const t_type &x, const t_type &y, const t_type &z, const t_type &w, const t_type &v, typename std::enable_if< tdims==6, const t_type & >::type u) |
|
constexpr | Vector (const t_type &x, const t_type &y, const t_type &z, const t_type &w, typename std::enable_if< tdims==5, const t_type & >::type v) |
|
constexpr | Vector (const t_type &x, const t_type &y, const t_type &z, typename std::enable_if< tdims==4, const t_type & >::type w) |
|
constexpr | Vector (const t_type &x, const t_type &y, const typename std::enable_if< tdims==3, const t_type & >::type z) |
|
constexpr | Vector (const t_type &x, typename std::enable_if< tdims==2, const t_type & >::type y) |
|
constexpr | Vector (const t_type(&vector)[t_dims]) |
|
constexpr | Vector (const Vector< getMax(tdims - 2, 0), t_type > &vector, const t_type &suffix_a, typename std::enable_if< tdims >=3, const t_type & >::type suffix_b) |
|
constexpr | Vector (const Vector< t_dims, t_vec_type > &vector) noexcept |
|
constexpr | Vector (const Vector< tdims - 1, t_type > &vector, typename std::enable_if< tdims >=2, const t_type & >::type suffix) |
|
template<class t_type>
class NDEVR::Quaternion< t_type >
https://www.3dgep.com/understanding-quaternions/