Rumba C++ SDK
Imath::Euler< T > Class Template Reference

#include <ImathEuler.h>

Inheritance diagram for Imath::Euler< T >:
Imath::Vec3< T >

Public Types

enum  Order {
  XYZ = 0x0101, XZY = 0x0001, YZX = 0x1101, YXZ = 0x1001,
  ZXY = 0x2101, ZYX = 0x2001, XZX = 0x0011, XYX = 0x0111,
  YXY = 0x1011, YZY = 0x1111, ZYZ = 0x2011, ZXZ = 0x2111,
  XYZr = 0x2000, XZYr = 0x2100, YZXr = 0x1000, YXZr = 0x1100,
  ZXYr = 0x0000, ZYXr = 0x0100, XZXr = 0x2110, XYXr = 0x2010,
  YXYr = 0x1110, YZYr = 0x1010, ZYZr = 0x0110, ZXZr = 0x0010,
  Legal, Min = 0x0000, Max = 0x2111, Default = XYZ
}
 
enum  Axis { X = 0, Y = 1, Z = 2 }
 
enum  InputLayout { XYZLayout, IJKLayout }
 
- Public Types inherited from Imath::Vec3< T >
typedef T BaseType
 

Public Member Functions

 Euler ()
 
 Euler (const Euler &)
 
 Euler (Order p)
 
 Euler (const Vec3< T > &v, Order o=Default, InputLayout l=IJKLayout)
 
 Euler (T i, T j, T k, Order o=Default, InputLayout l=IJKLayout)
 
 Euler (const Euler< T > &euler, Order newp)
 
 Euler (const Matrix33< T > &, Order o=Default)
 
 Euler (const Matrix44< T > &, Order o=Default)
 
const Euler< T > & operator= (const Euler< T > &)
 
const Euler< T > & operator= (const Vec3< T > &)
 
void setXYZVector (const Vec3< T > &)
 
Order order () const
 
void setOrder (Order)
 
void set (Axis initial, bool relative, bool parityEven, bool firstRepeats)
 
void extract (const Matrix33< T > &)
 
void extract (const Matrix44< T > &)
 
void extract (const Quat< T > &)
 
Matrix33< T > toMatrix33 () const
 
Matrix44< T > toMatrix44 () const
 
Quat< T > toQuat () const
 
Vec3< T > toXYZVector () const
 
void angleOrder (int &i, int &j, int &k) const
 
void angleMapping (int &i, int &j, int &k) const
 
void makeNear (const Euler< T > &target)
 
bool frameStatic () const
 
bool initialRepeated () const
 
bool parityEven () const
 
Axis initialAxis () const
 
- Public Member Functions inherited from Imath::Vec3< T >
T & operator[] (int i)
 
const T & operator[] (int i) const
 
 Vec3 ()
 
 Vec3 (T a)
 
 Vec3 (T a, T b, T c)
 
 Vec3 (const Vec3 &v)
 
template<class S >
 Vec3 (const Vec3< S > &v)
 
const Vec3operator= (const Vec3 &v)
 
template<class S >
 Vec3 (const Vec4< S > &v)
 
template<class S >
 Vec3 (const Vec4< S > &v, InfException)
 
template<class S >
void setValue (S a, S b, S c)
 
template<class S >
void setValue (const Vec3< S > &v)
 
template<class S >
void getValue (S &a, S &b, S &c) const
 
template<class S >
void getValue (Vec3< S > &v) const
 
T * getValue ()
 
const T * getValue () const
 
template<class S >
bool operator== (const Vec3< S > &v) const
 
template<class S >
bool operator!= (const Vec3< S > &v) const
 
bool equalWithAbsError (const Vec3< T > &v, T e) const
 
bool equalWithRelError (const Vec3< T > &v, T e) const
 
dot (const Vec3 &v) const
 
operator^ (const Vec3 &v) const
 
Vec3 cross (const Vec3 &v) const
 
const Vec3operator%= (const Vec3 &v)
 
Vec3 operator% (const Vec3 &v) const
 
const Vec3operator+= (const Vec3 &v)
 
Vec3 operator+ (const Vec3 &v) const
 
const Vec3operator-= (const Vec3 &v)
 
Vec3 operator- (const Vec3 &v) const
 
Vec3 operator- () const
 
const Vec3negate ()
 
const Vec3operator*= (const Vec3 &v)
 
const Vec3operator*= (T a)
 
Vec3 operator* (const Vec3 &v) const
 
Vec3 operator* (T a) const
 
const Vec3operator/= (const Vec3 &v)
 
const Vec3operator/= (T a)
 
Vec3 operator/ (const Vec3 &v) const
 
Vec3 operator/ (T a) const
 
length () const
 
length2 () const
 
const Vec3normalize ()
 
const Vec3normalizeExc () throw (Iex::MathExc)
 
const Vec3normalizeNonNull ()
 
Vec3< T > normalized () const
 
Vec3< T > normalizedExc () const throw (Iex::MathExc)
 
Vec3< T > normalizedNonNull () const
 
template<>
short length () const
 
template<>
const Vec3< short > & normalize ()
 
template<>
const Vec3< short > & normalizeExc () throw(Iex::MathExc)
 
template<>
const Vec3< short > & normalizeNonNull ()
 
template<>
Vec3< short > normalized () const
 
template<>
Vec3< short > normalizedExc () const throw(Iex::MathExc)
 
template<>
Vec3< short > normalizedNonNull () const
 
template<>
int length () const
 
template<>
const Vec3< int > & normalize ()
 
template<>
const Vec3< int > & normalizeExc () throw(Iex::MathExc)
 
template<>
const Vec3< int > & normalizeNonNull ()
 
template<>
Vec3< int > normalized () const
 
template<>
Vec3< int > normalizedExc () const throw(Iex::MathExc)
 
template<>
Vec3< int > normalizedNonNull () const
 
template<>
short length () const
 
template<>
const Vec3< short > & normalize ()
 
template<>
const Vec3< short > & normalizeExc () throw(Iex::MathExc)
 
template<>
const Vec3< short > & normalizeNonNull ()
 
template<>
Vec3< short > normalized () const
 
template<>
Vec3< short > normalizedExc () const throw(Iex::MathExc)
 
template<>
Vec3< short > normalizedNonNull () const
 
template<>
int length () const
 
template<>
const Vec3< int > & normalize ()
 
template<>
const Vec3< int > & normalizeExc () throw(Iex::MathExc)
 
template<>
const Vec3< int > & normalizeNonNull ()
 
template<>
Vec3< int > normalized () const
 
template<>
Vec3< int > normalizedExc () const throw(Iex::MathExc)
 
template<>
Vec3< int > normalizedNonNull () const
 

Static Public Member Functions

static bool legal (Order)
 
static float angleMod (T angle)
 
static void simpleXYZRotation (Vec3< T > &xyzRot, const Vec3< T > &targetXyzRot)
 
static void nearestRotation (Vec3< T > &xyzRot, const Vec3< T > &targetXyzRot, Order order=XYZ)
 
- Static Public Member Functions inherited from Imath::Vec3< T >
static unsigned int dimensions ()
 
static T baseTypeMin ()
 
static T baseTypeMax ()
 
static T baseTypeSmallest ()
 
static T baseTypeEpsilon ()
 

Protected Attributes

bool _frameStatic: 1
 
bool _initialRepeated: 1
 
bool _parityEven: 1
 
Axis _initialAxis: 2
 

Additional Inherited Members

- Public Attributes inherited from Imath::Vec3< T >
x
 
y
 
z
 

Member Enumeration Documentation

◆ Axis

template<class T>
enum Imath::Euler::Axis
Enumerator

◆ InputLayout

template<class T>
enum Imath::Euler::InputLayout
Enumerator
XYZLayout 
IJKLayout 

◆ Order

template<class T>
enum Imath::Euler::Order
Enumerator
XYZ 
XZY 
YZX 
YXZ 
ZXY 
ZYX 
XZX 
XYX 
YXY 
YZY 
ZYZ 
ZXZ 
XYZr 
XZYr 
YZXr 
YXZr 
ZXYr 
ZYXr 
XZXr 
XYXr 
YXYr 
YZYr 
ZYZr 
ZXZr 
Legal 
Min 
Max 
Default 

Constructor & Destructor Documentation

◆ Euler() [1/8]

template<class T >
Imath::Euler< T >::Euler ( )

◆ Euler() [2/8]

template<class T >
Imath::Euler< T >::Euler ( const Euler< T > &  euler)
inline

◆ Euler() [3/8]

template<class T>
Imath::Euler< T >::Euler ( Order  p)

◆ Euler() [4/8]

template<class T>
Imath::Euler< T >::Euler ( const Vec3< T > &  v,
Order  o = Default,
InputLayout  l = IJKLayout 
)

◆ Euler() [5/8]

template<class T>
Imath::Euler< T >::Euler ( i,
j,
k,
Order  o = Default,
InputLayout  l = IJKLayout 
)

◆ Euler() [6/8]

template<class T >
Imath::Euler< T >::Euler ( const Euler< T > &  euler,
Order  newp 
)
inline

◆ Euler() [7/8]

template<class T >
Imath::Euler< T >::Euler ( const Matrix33< T > &  M,
typename Euler< T >::Order  p = Default 
)
inline

◆ Euler() [8/8]

template<class T >
Imath::Euler< T >::Euler ( const Matrix44< T > &  M,
typename Euler< T >::Order  p = Default 
)
inline

Member Function Documentation

◆ angleMapping()

template<class T >
void Imath::Euler< T >::angleMapping ( int &  i,
int &  j,
int &  k 
) const
inline

◆ angleMod()

template<class T >
float Imath::Euler< T >::angleMod ( angle)
static

◆ angleOrder()

template<class T >
void Imath::Euler< T >::angleOrder ( int &  i,
int &  j,
int &  k 
) const
inline

◆ extract() [1/3]

template<class T >
void Imath::Euler< T >::extract ( const Matrix33< T > &  M)

◆ extract() [2/3]

template<class T >
void Imath::Euler< T >::extract ( const Matrix44< T > &  M)

◆ extract() [3/3]

template<class T >
void Imath::Euler< T >::extract ( const Quat< T > &  q)
inline

◆ frameStatic()

template<class T>
bool Imath::Euler< T >::frameStatic ( ) const
inline

◆ initialAxis()

template<class T>
Axis Imath::Euler< T >::initialAxis ( ) const
inline

◆ initialRepeated()

template<class T>
bool Imath::Euler< T >::initialRepeated ( ) const
inline

◆ legal()

template<class T>
bool Imath::Euler< T >::legal ( Order  )
inlinestatic

◆ makeNear()

template<class T >
void Imath::Euler< T >::makeNear ( const Euler< T > &  target)

◆ nearestRotation()

template<class T >
void Imath::Euler< T >::nearestRotation ( Vec3< T > &  xyzRot,
const Vec3< T > &  targetXyzRot,
Order  order = XYZ 
)
static

◆ operator=() [1/2]

template<class T >
const Euler< T > & Imath::Euler< T >::operator= ( const Euler< T > &  euler)

◆ operator=() [2/2]

template<class T >
const Euler< T > & Imath::Euler< T >::operator= ( const Vec3< T > &  v)

◆ order()

template<class T >
Euler< T >::Order Imath::Euler< T >::order ( ) const

◆ parityEven()

template<class T>
bool Imath::Euler< T >::parityEven ( ) const
inline

◆ set()

template<class T>
void Imath::Euler< T >::set ( Axis  initial,
bool  relative,
bool  parityEven,
bool  firstRepeats 
)

◆ setOrder()

template<class T>
void Imath::Euler< T >::setOrder ( Order  )
inline

◆ setXYZVector()

template<class T >
void Imath::Euler< T >::setXYZVector ( const Vec3< T > &  v)
inline

◆ simpleXYZRotation()

template<class T >
void Imath::Euler< T >::simpleXYZRotation ( Vec3< T > &  xyzRot,
const Vec3< T > &  targetXyzRot 
)
static

◆ toMatrix33()

template<class T >
Matrix33< T > Imath::Euler< T >::toMatrix33 ( ) const

◆ toMatrix44()

template<class T >
Matrix44< T > Imath::Euler< T >::toMatrix44 ( ) const

◆ toQuat()

template<class T >
Quat< T > Imath::Euler< T >::toQuat ( ) const

◆ toXYZVector()

template<class T >
Vec3< T > Imath::Euler< T >::toXYZVector ( ) const
inline

Member Data Documentation

◆ _frameStatic

template<class T>
bool Imath::Euler< T >::_frameStatic
protected

◆ _initialAxis

template<class T>
Axis Imath::Euler< T >::_initialAxis
protected

◆ _initialRepeated

template<class T>
bool Imath::Euler< T >::_initialRepeated
protected

◆ _parityEven

template<class T>
bool Imath::Euler< T >::_parityEven
protected

The documentation for this class was generated from the following file: