![]() |
ProtoTracer
1.0
Real-time 3D rendering and animation engine
|
Specifies the order and frame of reference for Euler rotations. More...
#include <EulerOrder.h>
Public Types | |
enum | Axis { XYZ , XZY , YXZ , YZX , ZXY , ZYX } |
Enumeration of possible axis orders for rotations. More... | |
enum | AxisFrame { Static , Rotating } |
Enumeration of possible reference frames for rotations. More... | |
Public Member Functions | |
EulerOrder () | |
Default constructor. | |
EulerOrder (Axis axisOrder, AxisFrame axisFrame, Vector3D permutation) | |
Parameterized constructor. | |
String | ToString () |
Converts the EulerOrder object to a string representation. | |
Public Attributes | |
Axis | AxisOrder |
The sequence of axes for the rotation order. | |
AxisFrame | FrameTaken |
The frame of reference (static or rotating). | |
Vector3D | Permutation |
Permutation vector for axis reordering. | |
Specifies the order and frame of reference for Euler rotations.
The EulerOrder
class provides a way to define the sequence of axes for performing rotations in 3D space. It also differentiates between static and rotating reference frames.
Definition at line 25 of file EulerOrder.h.
Enumeration of possible axis orders for rotations.
XYZ
: Rotate about X, then Y, then Z.XZY
: Rotate about X, then Z, then Y.YXZ
: Rotate about Y, then X, then Z.YZX
: Rotate about Y, then Z, then X.ZXY
: Rotate about Z, then X, then Y.ZYX
: Rotate about Z, then Y, then X. Enumerator | |
---|---|
XYZ | X → Y → Z rotation order. |
XZY | X → Z → Y rotation order. |
YXZ | Y → X → Z rotation order. |
YZX | Y → Z → X rotation order. |
ZXY | Z → X → Y rotation order. |
ZYX | Z → Y → X rotation order. |
Definition at line 38 of file EulerOrder.h.
Enumeration of possible reference frames for rotations.
Static
: Rotations are applied relative to a static (inertial) frame.Rotating
: Rotations are applied relative to a rotating (non-inertial) frame. Enumerator | |
---|---|
Static | Rotations relative to a static frame. |
Rotating | Rotations relative to a rotating frame. |
Definition at line 54 of file EulerOrder.h.
EulerOrder | ( | ) |
Default constructor.
Creates an EulerOrder
object with default values.
Definition at line 4 of file EulerOrder.cpp.
EulerOrder | ( | Axis | axisOrder, |
AxisFrame | axisFrame, | ||
Vector3D | permutation | ||
) |
Parameterized constructor.
Initializes an EulerOrder
object with the specified axis order, frame, and permutation.
axisOrder | The sequence of axes for the rotation order. |
axisFrame | The frame of reference (static or rotating). |
permutation | The permutation vector for axis reordering. |
Definition at line 10 of file EulerOrder.cpp.
String ToString | ( | ) |
Converts the EulerOrder object to a string representation.
Definition at line 16 of file EulerOrder.cpp.
References Permutation, and Vector3D::ToString().
Referenced by EulerAngles::ToString().
Axis AxisOrder |
The sequence of axes for the rotation order.
Definition at line 59 of file EulerOrder.h.
AxisFrame FrameTaken |
The frame of reference (static or rotating).
Definition at line 60 of file EulerOrder.h.
Vector3D Permutation |
Permutation vector for axis reordering.
Definition at line 61 of file EulerOrder.h.
Referenced by ToString().