Blender V5.0
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

Referenced by wrapped(), and wrapped_around().

◆ 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.

Member Function Documentation

◆ identity()

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

Static functions.

Definition at line 161 of file BLI_math_euler_types.hh.

Referenced by blender::math::EulerXYZBase< float >::EulerXYZBase().

◆ 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 EulerXYZBase(), 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 EulerXYZBase(), blender::math::AngleRadianBase< T >::radian(), result, blender::math::AngleRadianBase< T >::wrapped_around(), blender::math::EulerBase< T >::x(), blender::math::EulerBase< T >::y(), and blender::math::EulerBase< T >::z().

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

◆ 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: