Blender V4.3
blender::math::detail Namespace Reference

Functions

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > from_rotation (const AngleRadianBase< T > &rotation)
 
template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > from_rotation (const EulerXYZBase< T > &rotation)
 
template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > from_rotation (const Euler3Base< T > &rotation)
 
template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > from_rotation (const QuaternionBase< T > &rotation)
 
template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > from_rotation (const DualQuaternionBase< T > &rotation)
 
template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > from_rotation (const CartesianBasis &rotation)
 
template<typename T , int NumCol, int NumRow, typename AngleT >
MatBase< T, NumCol, NumRow > from_rotation (const AxisAngleBase< T, AngleT > &rotation)
 
template<typename T >
AngleRadianBase< Tnormalized_to_angle (const MatBase< T, 2, 2 > &mat)
 
template<typename T >
void normalized_to_eul2 (const MatBase< T, 3, 3 > &mat, EulerXYZBase< T > &eul1, EulerXYZBase< T > &eul2)
 
template<typename T >
void normalized_to_eul2 (const MatBase< T, 3, 3 > &mat, Euler3Base< T > &eul1, Euler3Base< T > &eul2)
 
template void normalized_to_eul2 (const float3x3 &mat, Euler3Base< float > &eul1, Euler3Base< float > &eul2)
 
template void normalized_to_eul2 (const float3x3 &mat, EulerXYZBase< float > &eul1, EulerXYZBase< float > &eul2)
 
template void normalized_to_eul2 (const double3x3 &mat, EulerXYZBase< double > &eul1, EulerXYZBase< double > &eul2)
 
template<typename T >
QuaternionBase< Tnormalized_to_quat_fast (const MatBase< T, 3, 3 > &mat)
 
template<typename T >
QuaternionBase< Tnormalized_to_quat_with_checks (const MatBase< T, 3, 3 > &mat)
 
template QuaternionBase< floatnormalized_to_quat_with_checks (const float3x3 &mat)
 
template QuaternionBase< doublenormalized_to_quat_with_checks (const double3x3 &mat)
 
template MatBase< float, 2, 2 > from_rotation (const AngleRadian &rotation)
 
template MatBase< float, 3, 3 > from_rotation (const EulerXYZ &rotation)
 
template MatBase< float, 3, 3 > from_rotation (const Euler3 &rotation)
 
template MatBase< float, 3, 3 > from_rotation (const Quaternion &rotation)
 
template MatBase< float, 3, 3 > from_rotation (const AxisAngle &rotation)
 
template MatBase< float, 3, 3 > from_rotation (const AxisAngleCartesian &rotation)
 
template<typename T >
void to_rotation (const MatBase< T, 2, 2 > &mat, AngleRadianBase< T > &r_rotation)
 
template<typename T >
void to_rotation (const MatBase< T, 3, 3 > &mat, QuaternionBase< T > &r_rotation)
 
template<typename T >
void to_rotation (const MatBase< T, 3, 3 > &mat, EulerXYZBase< T > &r_rotation)
 
template<typename T >
void to_rotation (const MatBase< T, 3, 3 > &mat, Euler3Base< T > &r_rotation)
 

Function Documentation

◆ from_rotation() [1/13]

template MatBase< float, 3, 3 > blender::math::detail::from_rotation ( const AngleRadian & rotation)
extern

◆ from_rotation() [2/13]

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const AngleRadianBase< T > & rotation)
nodiscard

◆ from_rotation() [3/13]

template MatBase< float, 4, 4 > blender::math::detail::from_rotation ( const AxisAngle & rotation)
extern

◆ from_rotation() [4/13]

template<typename T , int NumCol, int NumRow, typename AngleT >
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const AxisAngleBase< T, AngleT > & rotation)
nodiscard

◆ from_rotation() [5/13]

template MatBase< float, 4, 4 > blender::math::detail::from_rotation ( const AxisAngleCartesian & rotation)
extern

◆ from_rotation() [6/13]

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const CartesianBasis & rotation)
nodiscard

Definition at line 1064 of file BLI_math_matrix.hh.

References blender::math::to_vector().

◆ from_rotation() [7/13]

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const DualQuaternionBase< T > & rotation)
nodiscard

From: "Skinning with Dual Quaternions" Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan Trinity College Dublin, Czech Technical University in Prague

From: "Skinning with Dual Quaternions" Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan Trinity College Dublin, Czech Technical University in Prague

Definition at line 1035 of file BLI_math_matrix.hh.

References BLI_assert, from_rotation(), blender::math::is_normalized(), T, view, blender::math::QuaternionBase< T >::w, blender::math::QuaternionBase< T >::x, blender::math::QuaternionBase< T >::y, and blender::math::QuaternionBase< T >::z.

◆ from_rotation() [8/13]

template MatBase< float, 4, 4 > blender::math::detail::from_rotation ( const Euler3 & rotation)
extern

◆ from_rotation() [9/13]

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const Euler3Base< T > & rotation)
nodiscard

Definition at line 973 of file BLI_math_matrix.hh.

References from_rotation(), and result.

◆ from_rotation() [10/13]

template MatBase< float, 4, 4 > blender::math::detail::from_rotation ( const EulerXYZ & rotation)
extern

◆ from_rotation() [11/13]

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const EulerXYZBase< T > & rotation)
nodiscard

Definition at line 942 of file BLI_math_matrix.hh.

References blender::math::cos(), blender::math::sin(), and T.

◆ from_rotation() [12/13]

template MatBase< float, 4, 4 > blender::math::detail::from_rotation ( const Quaternion & rotation)
extern

◆ from_rotation() [13/13]

template<typename T , int NumCol, int NumRow>
MatBase< T, NumCol, NumRow > blender::math::detail::from_rotation ( const QuaternionBase< T > & rotation)
nodiscard

Definition at line 999 of file BLI_math_matrix.hh.

References q1, blender::math::numbers::sqrt2, and T.

◆ normalized_to_angle()

template<typename T >
AngleRadianBase< T > blender::math::detail::normalized_to_angle ( const MatBase< T, 2, 2 > & mat)

Definition at line 764 of file BLI_math_matrix.hh.

References BLI_assert, and blender::math::is_unit_scale().

Referenced by blender::math::to_angle().

◆ normalized_to_eul2() [1/5]

template void blender::math::detail::normalized_to_eul2 ( const double3x3 & mat,
EulerXYZBase< double > & eul1,
EulerXYZBase< double > & eul2 )
extern

◆ normalized_to_eul2() [2/5]

template void blender::math::detail::normalized_to_eul2 ( const float3x3 & mat,
Euler3Base< float > & eul1,
Euler3Base< float > & eul2 )
extern

◆ normalized_to_eul2() [3/5]

template void blender::math::detail::normalized_to_eul2 ( const float3x3 & mat,
EulerXYZBase< float > & eul1,
EulerXYZBase< float > & eul2 )
extern

◆ normalized_to_eul2() [4/5]

◆ normalized_to_eul2() [5/5]

◆ normalized_to_quat_fast()

◆ normalized_to_quat_with_checks() [1/3]

template QuaternionBase< double > blender::math::detail::normalized_to_quat_with_checks ( const double3x3 & mat)
extern

◆ normalized_to_quat_with_checks() [2/3]

template QuaternionBase< float > blender::math::detail::normalized_to_quat_with_checks ( const float3x3 & mat)
extern

◆ normalized_to_quat_with_checks() [3/3]

template<typename T >
QuaternionBase< T > blender::math::detail::normalized_to_quat_with_checks ( const MatBase< T, 3, 3 > & mat)

◆ to_rotation() [1/4]

template<typename T >
void blender::math::detail::to_rotation ( const MatBase< T, 2, 2 > & mat,
AngleRadianBase< T > & r_rotation )
inline

◆ to_rotation() [2/4]

template<typename T >
void blender::math::detail::to_rotation ( const MatBase< T, 3, 3 > & mat,
Euler3Base< T > & r_rotation )
inline

◆ to_rotation() [3/4]

template<typename T >
void blender::math::detail::to_rotation ( const MatBase< T, 3, 3 > & mat,
EulerXYZBase< T > & r_rotation )
inline

Definition at line 1284 of file BLI_math_matrix.hh.

References blender::math::to_euler(), and to_rotation().

◆ to_rotation() [4/4]

template<typename T >
void blender::math::detail::to_rotation ( const MatBase< T, 3, 3 > & mat,
QuaternionBase< T > & r_rotation )
inline

Definition at line 1278 of file BLI_math_matrix.hh.

References blender::math::to_quaternion(), and to_rotation().