Blender V4.3
BLI_math_quaternion.hh File Reference

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::math
 

Functions

Quaternion functions.
template<typename T >
T blender::math::dot (const QuaternionBase< T > &a, const QuaternionBase< T > &b)
 
template<typename T >
QuaternionBase< Tblender::math::pow (const QuaternionBase< T > &q, const T &y)
 
template<typename T >
QuaternionBase< Tblender::math::conjugate (const QuaternionBase< T > &a)
 
template<typename T >
QuaternionBase< Tblender::math::canonicalize (const QuaternionBase< T > &q)
 
template<typename T >
QuaternionBase< Tblender::math::invert (const QuaternionBase< T > &q)
 
template<typename T >
QuaternionBase< Tblender::math::invert_normalized (const QuaternionBase< T > &q)
 
template<typename T >
QuaternionBase< Tblender::math::normalize (const QuaternionBase< T > &q)
 
template<typename T >
QuaternionBase< Tblender::math::normalize_and_get_length (const QuaternionBase< T > &q, T &out_length)
 
template<typename T >
QuaternionBase< Tblender::math::interpolate (const QuaternionBase< T > &a, const QuaternionBase< T > &b, T t)
 
Transform functions.
template<typename T >
VecBase< T, 3 > blender::math::transform_point (const QuaternionBase< T > &q, const VecBase< T, 3 > &v)
 
Test functions.
template<typename T >
bool blender::math::is_zero (const QuaternionBase< T > &q)
 
template<typename T >
bool blender::math::is_equal (const QuaternionBase< T > &a, const QuaternionBase< T > &b, const T epsilon=T(0))
 
template<typename T >
bool blender::math::is_unit_scale (const QuaternionBase< T > &q)
 
Quaternion
template<typename T >
VecBase< T, 2 > blender::math::interpolate_dot_slerp (const T t, const T cosom)
 
Dual-Quaternion
template<typename T >
DualQuaternionBase< Tblender::math::normalize (const DualQuaternionBase< T > &dual_quat)
 
template<typename T >
VecBase< T, 3 > blender::math::transform_point (const DualQuaternionBase< T > &dq, const VecBase< T, 3 > &point, MatBase< T, 3, 3 > *r_crazy_space_mat=nullptr)
 
template<typename T >
DualQuaternionBase< Tblender::math::to_dual_quaternion (const MatBase< T, 4, 4 > &mat, const MatBase< T, 4, 4 > &basemat)
 
Conversion to Euler
template<typename T , typename AngleT = AngleRadian>
AxisAngleBase< T, AngleT > blender::math::to_axis_angle (const QuaternionBase< T > &quat)
 
template<typename T >
EulerXYZBase< Tblender::math::to_euler (const QuaternionBase< T > &quat)
 
template<typename T >
Euler3Base< Tblender::math::to_euler (const QuaternionBase< T > &quat, EulerOrder order)
 
Conversion to Quaternions
template<typename T , typename AngleT >
QuaternionBase< Tblender::math::to_quaternion (const AxisAngleBase< T, AngleT > &axis_angle)