PBRT
Imath::Euler< T > Class Template Reference
Inheritance diagram for Imath::Euler< T >:
Imath::Vec3< T >

List of all members.

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 Member Functions

 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

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)

Protected Attributes

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

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


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