HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Euler< T > Class Template Reference

#include <ImathEuler.h>

+ Inheritance diagram for Euler< 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 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< TtoMatrix33 () const
 
Matrix44< TtoMatrix44 () const
 
Quat< TtoQuat () const
 
Vec3< TtoXYZVector () 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 Vec3< T >
Toperator[] (int i)
 
const Toperator[] (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
 
TgetValue ()
 
const TgetValue () 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
 
T dot (const Vec3 &v) const
 
T 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
 
T length () const
 
T length2 () const
 
const Vec3normalize ()
 
const Vec3normalizeExc ()
 
const Vec3normalizeNonNull ()
 
Vec3< Tnormalized () const
 
Vec3< TnormalizedExc () const
 
Vec3< TnormalizedNonNull () const
 
template<>
short length () const
 
template<>
const Vec3< short > & normalize ()
 
template<>
const Vec3< short > & normalizeExc ()
 
template<>
const Vec3< short > & normalizeNonNull ()
 
template<>
Vec3< short > normalized () const
 
template<>
Vec3< short > normalizedExc () const
 
template<>
Vec3< short > normalizedNonNull () const
 
template<>
int length () const
 
template<>
const Vec3< int > & normalize ()
 
template<>
const Vec3< int > & normalizeExc ()
 
template<>
const Vec3< int > & normalizeNonNull ()
 
template<>
Vec3< intnormalized () const
 
template<>
Vec3< intnormalizedExc () const
 
template<>
Vec3< intnormalizedNonNull () 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 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 Vec3< T >
T x
 
T y
 
T z
 

Detailed Description

template<class T>
class Euler< T >

Definition at line 145 of file ImathEuler.h.

Member Enumeration Documentation

template<class T>
enum Euler::Axis
Enumerator
X 
Y 
Z 

Definition at line 205 of file ImathEuler.h.

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

Definition at line 207 of file ImathEuler.h.

template<class T>
enum 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 

Definition at line 153 of file ImathEuler.h.

Constructor & Destructor Documentation

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

Definition at line 398 of file ImathEuler.h.

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

Definition at line 428 of file ImathEuler.h.

template<class T>
Euler< T >::Euler ( Order  p)
template<class T>
Euler< T >::Euler ( const Vec3< T > &  v,
Order  o = Default,
InputLayout  l = IJKLayout 
)
template<class T>
Euler< T >::Euler ( T  i,
T  j,
T  k,
Order  o = Default,
InputLayout  l = IJKLayout 
)
template<class T >
Euler< T >::Euler ( const Euler< T > &  euler,
Order  newp 
)
inline

Definition at line 434 of file ImathEuler.h.

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

Definition at line 452 of file ImathEuler.h.

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

Definition at line 459 of file ImathEuler.h.

Member Function Documentation

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

Definition at line 364 of file ImathEuler.h.

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

Definition at line 849 of file ImathEuler.h.

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

Definition at line 355 of file ImathEuler.h.

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

Definition at line 472 of file ImathEuler.h.

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

Definition at line 554 of file ImathEuler.h.

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

Definition at line 466 of file ImathEuler.h.

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

Definition at line 323 of file ImathEuler.h.

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

Definition at line 326 of file ImathEuler.h.

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

Definition at line 324 of file ImathEuler.h.

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

Definition at line 768 of file ImathEuler.h.

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

Definition at line 900 of file ImathEuler.h.

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

Definition at line 871 of file ImathEuler.h.

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

Definition at line 808 of file ImathEuler.h.

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

Definition at line 821 of file ImathEuler.h.

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

Definition at line 775 of file ImathEuler.h.

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

Definition at line 325 of file ImathEuler.h.

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

Definition at line 796 of file ImathEuler.h.

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

Definition at line 787 of file ImathEuler.h.

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

Definition at line 378 of file ImathEuler.h.

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

Definition at line 861 of file ImathEuler.h.

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

Definition at line 630 of file ImathEuler.h.

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

Definition at line 673 of file ImathEuler.h.

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

Definition at line 716 of file ImathEuler.h.

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

Definition at line 389 of file ImathEuler.h.

Member Data Documentation

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

Definition at line 330 of file ImathEuler.h.

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

Definition at line 336 of file ImathEuler.h.

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

Definition at line 331 of file ImathEuler.h.

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

Definition at line 332 of file ImathEuler.h.


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