PBRT
|
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 |