|
Blender V4.3
|
#include <BLI_math_euler_types.hh>
Inherits blender::math::EulerBase< T >.
Public Types | |
| using | AngleT = AngleRadianBase<T> |
Public Types inherited from blender::math::EulerBase< T > | |
| using | AngleT = AngleRadianBase<T> |
Public Member Functions | |
| Euler3Base ()=delete | |
| template<typename AngleU > | |
| Euler3Base (const VecBase< AngleU, 3 > &angles_xyz, EulerOrder order) | |
| Euler3Base (const AngleT &x, const AngleT &y, const AngleT &z, EulerOrder order) | |
| Euler3Base (const Axis axis, AngleT angle, EulerOrder order) | |
| Euler3Base (EulerOrder order) | |
| const EulerOrder & | order () const |
| Swizzle | ijk () |
| const VecBase< AngleT, 3 > | ijk () const |
| const AngleT & | i () const |
| const AngleT & | j () const |
| const AngleT & | k () const |
| AngleT & | i () |
| AngleT & | j () |
| AngleT & | k () |
| Euler3Base | wrapped_around (const Euler3Base &reference) const |
| bool | parity () const |
| int | i_index () const |
| int | j_index () const |
| int | k_index () const |
Public Member Functions inherited from blender::math::EulerBase< T > | |
| operator VecBase< AngleT, 3 > () const | |
| operator VecBase< T, 3 > () const | |
| VecBase< AngleT, 3 > & | xyz () |
| const VecBase< AngleT, 3 > & | xyz () const |
| const AngleT & | x () const |
| const AngleT & | y () const |
| const AngleT & | z () const |
| AngleT & | x () |
| AngleT & | y () |
| AngleT & | z () |
Friends | |
| Euler3Base | operator- (const Euler3Base &a) |
| std::ostream & | operator<< (std::ostream &stream, const Euler3Base &rot) |
Additional Inherited Members | |
Protected Member Functions inherited from blender::math::EulerBase< T > | |
| EulerBase ()=default | |
| EulerBase (const AngleT &x, const AngleT &y, const AngleT &z) | |
| EulerBase (const VecBase< AngleT, 3 > &vec) | |
| EulerBase (const VecBase< T, 3 > &vec) | |
Protected Attributes inherited from blender::math::EulerBase< T > | |
| VecBase< AngleT, 3 > | xyz_ |
Definition at line 204 of file BLI_math_euler_types.hh.
| using blender::math::Euler3Base< T >::AngleT = AngleRadianBase<T> |
Definition at line 205 of file BLI_math_euler_types.hh.
|
delete |
|
inline |
Create an euler rotation with order rotation ordering from a triple of radian angles in XYZ order. eg: If order is EulerOrder::ZXY then angles.z will be the angle of the first rotation.
Definition at line 249 of file BLI_math_euler_types.hh.
|
inline |
Definition at line 252 of file BLI_math_euler_types.hh.
|
inline |
Create a rotation around a single euler axis and an angle.
Definition at line 258 of file BLI_math_euler_types.hh.
References angle(), and blender::math::EulerBase< T >::xyz_.
|
inline |
Defines rotation order but not the rotation values. Used for conversion from other rotation types.
Definition at line 267 of file BLI_math_euler_types.hh.
|
inline |
Definition at line 305 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::i_index(), and blender::math::EulerBase< T >::xyz_.
|
inline |
Returns the rotations angle in rotation order. eg: if rotation order is YZX then i is the Y rotation.
Definition at line 293 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::i_index(), and blender::math::EulerBase< T >::xyz_.
Referenced by blender::math::Euler3Base< T >::ijk(), blender::math::detail::normalized_to_eul2(), and blender::math::to_gimbal_axis().
|
inline |
Source Axis of the 1st axis rotation.
Definition at line 372 of file BLI_math_euler_types.hh.
References BLI_assert_unreachable, blender::math::XYZ, blender::math::XZY, blender::math::YXZ, blender::math::YZX, blender::math::ZXY, and blender::math::ZYX.
Referenced by blender::math::Euler3Base< T >::i(), blender::math::Euler3Base< T >::i(), blender::math::detail::normalized_to_eul2(), and blender::math::to_quaternion().
|
inline |
Returns the rotations angle in rotation order. eg: if rotation order is YZX then i is the Y rotation.
Definition at line 280 of file BLI_math_euler_types.hh.
Referenced by blender::math::to_quaternion().
|
inline |
Definition at line 284 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::i(), blender::math::Euler3Base< T >::j(), and blender::math::Euler3Base< T >::k().
|
inline |
Definition at line 309 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::j_index(), and blender::math::EulerBase< T >::xyz_.
|
inline |
Definition at line 297 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::j_index(), and blender::math::EulerBase< T >::xyz_.
Referenced by blender::math::Euler3Base< T >::ijk(), and blender::math::detail::normalized_to_eul2().
|
inline |
Source Axis of the 2nd axis rotation.
Definition at line 393 of file BLI_math_euler_types.hh.
References BLI_assert_unreachable, blender::math::XYZ, blender::math::XZY, blender::math::YXZ, blender::math::YZX, blender::math::ZXY, and blender::math::ZYX.
Referenced by blender::math::Euler3Base< T >::j(), blender::math::Euler3Base< T >::j(), blender::math::detail::normalized_to_eul2(), and blender::math::to_quaternion().
|
inline |
Definition at line 313 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::k_index(), and blender::math::EulerBase< T >::xyz_.
|
inline |
Definition at line 301 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::k_index(), and blender::math::EulerBase< T >::xyz_.
Referenced by blender::math::Euler3Base< T >::ijk(), and blender::math::detail::normalized_to_eul2().
|
inline |
Source Axis of the 3rd axis rotation.
Definition at line 414 of file BLI_math_euler_types.hh.
References BLI_assert_unreachable, blender::math::XYZ, blender::math::XZY, blender::math::YXZ, blender::math::YZX, blender::math::ZXY, and blender::math::ZYX.
Referenced by blender::math::Euler3Base< T >::k(), blender::math::Euler3Base< T >::k(), blender::math::detail::normalized_to_eul2(), and blender::math::to_quaternion().
|
inline |
Methods.
Definition at line 271 of file BLI_math_euler_types.hh.
Referenced by blender::math::detail::to_rotation().
|
inline |
Parity of axis permutation. It is considered even if axes are not shuffled (X followed by Y which in turn followed by Z). Return true if odd (shuffled) and false if even (non-shuffled).
Definition at line 352 of file BLI_math_euler_types.hh.
References BLI_assert_unreachable, blender::math::XYZ, blender::math::XZY, blender::math::YXZ, blender::math::YZX, blender::math::ZXY, and blender::math::ZYX.
Referenced by blender::math::detail::normalized_to_eul2(), and blender::math::to_quaternion().
|
inline |
Return this euler orientation but wrapped around reference.
This means the interpolation between the returned value and reference will always take the shortest path. The angle between them will not be more than pi.
Definition at line 324 of file BLI_math_euler_types.hh.
References blender::math::Euler3Base< T >::wrapped_around(), and blender::math::EulerBase< T >::xyz_.
Referenced by blender::math::to_nearest_euler(), and blender::math::Euler3Base< T >::wrapped_around().
|
friend |
Operators.
Definition at line 332 of file BLI_math_euler_types.hh.
|
friend |
Definition at line 339 of file BLI_math_euler_types.hh.