Blender V4.3
blender::math::EulerXYZBase< T > Struct Template Reference

#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

 EulerXYZBase ()=default
 
template<typename AngleU >
 EulerXYZBase (const VecBase< AngleU, 3 > &vec)
 
 EulerXYZBase (const AngleT &x, const AngleT &y, const AngleT &z)
 
 EulerXYZBase (const Axis axis, const AngleT &angle)
 
EulerXYZ
EulerXYZBase wrapped () const
 
EulerXYZBase wrapped_around (const EulerXYZBase &reference) 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 AngleTx () const
 
const AngleTy () const
 
const AngleTz () const
 
AngleTx ()
 
AngleTy ()
 
AngleTz ()
 

Static Public Member Functions

static EulerXYZBase identity ()
 

Friends

EulerXYZBase operator- (const EulerXYZBase &a)
 
std::ostream & operator<< (std::ostream &stream, const EulerXYZBase &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_
 

Detailed Description

template<typename T>
struct blender::math::EulerXYZBase< T >

Definition at line 136 of file BLI_math_euler_types.hh.

Member Typedef Documentation

◆ AngleT

template<typename T >
using blender::math::EulerXYZBase< T >::AngleT = AngleRadianBase<T>

Definition at line 137 of file BLI_math_euler_types.hh.

Constructor & Destructor Documentation

◆ EulerXYZBase() [1/4]

template<typename T >
blender::math::EulerXYZBase< T >::EulerXYZBase ( )
default

◆ EulerXYZBase() [2/4]

template<typename T >
template<typename AngleU >
blender::math::EulerXYZBase< T >::EulerXYZBase ( const VecBase< AngleU, 3 > & vec)
inline

Create an euler x,y,z rotation from a triple of radian angle.

Definition at line 145 of file BLI_math_euler_types.hh.

◆ EulerXYZBase() [3/4]

template<typename T >
blender::math::EulerXYZBase< T >::EulerXYZBase ( const AngleT & x,
const AngleT & y,
const AngleT & z )
inline

Definition at line 147 of file BLI_math_euler_types.hh.

◆ EulerXYZBase() [4/4]

template<typename T >
blender::math::EulerXYZBase< T >::EulerXYZBase ( const Axis axis,
const AngleT & angle )
inline

Create a rotation from an basis axis and an angle. This sets a single component of the euler triple, the others are left to 0.

Definition at line 153 of file BLI_math_euler_types.hh.

References angle(), blender::math::EulerXYZBase< T >::identity(), and blender::math::EulerBase< T >::xyz_.

Member Function Documentation

◆ identity()

template<typename T >
static EulerXYZBase blender::math::EulerXYZBase< T >::identity ( )
inlinestatic

◆ wrapped()

template<typename T >
EulerXYZBase< T > blender::math::EulerXYZBase< T >::wrapped ( ) const

Methods. Return this euler orientation but with angles wrapped inside [-pi..pi] range.

Definition at line 25 of file BLI_math_euler.hh.

References blender::math::AngleRadianBase< T >::radian(), result, and blender::math::AngleRadianBase< T >::wrapped().

◆ wrapped_around()

template<typename T >
EulerXYZBase< T > blender::math::EulerXYZBase< T >::wrapped_around ( const EulerXYZBase< T > & reference) const

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 35 of file BLI_math_euler.hh.

References blender::math::AngleRadianBase< T >::radian(), result, and blender::math::AngleRadianBase< T >::wrapped_around().

Referenced by blender::math::tests::TEST(), and blender::math::to_nearest_euler().

Friends And Related Symbol Documentation

◆ operator-

template<typename T >
EulerXYZBase operator- ( const EulerXYZBase< T > & a)
friend

Operators.

Definition at line 185 of file BLI_math_euler_types.hh.

◆ operator<<

template<typename T >
std::ostream & operator<< ( std::ostream & stream,
const EulerXYZBase< T > & rot )
friend

Definition at line 192 of file BLI_math_euler_types.hh.


The documentation for this struct was generated from the following files: