ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
EulerOrder Class Reference

Specifies the order and frame of reference for Euler rotations. More...

#include <EulerOrder.h>

Collaboration diagram for EulerOrder:

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.
 

Detailed Description

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.

Member Enumeration Documentation

◆ Axis

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.

◆ AxisFrame

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.

Constructor & Destructor Documentation

◆ EulerOrder() [1/2]

Default constructor.

Creates an EulerOrder object with default values.

Definition at line 4 of file EulerOrder.cpp.

◆ EulerOrder() [2/2]

EulerOrder ( Axis  axisOrder,
AxisFrame  axisFrame,
Vector3D  permutation 
)

Parameterized constructor.

Initializes an EulerOrder object with the specified axis order, frame, and permutation.

Parameters
axisOrderThe sequence of axes for the rotation order.
axisFrameThe frame of reference (static or rotating).
permutationThe permutation vector for axis reordering.

Definition at line 10 of file EulerOrder.cpp.

Member Function Documentation

◆ ToString()

String ToString ( )

Converts the EulerOrder object to a string representation.

Returns
A string describing the axis order, frame, and permutation.

Definition at line 16 of file EulerOrder.cpp.

References Permutation, and Vector3D::ToString().

Referenced by EulerAngles::ToString().

Member Data Documentation

◆ AxisOrder

Axis AxisOrder

The sequence of axes for the rotation order.

Definition at line 59 of file EulerOrder.h.

◆ FrameTaken

AxisFrame FrameTaken

The frame of reference (static or rotating).

Definition at line 60 of file EulerOrder.h.

◆ Permutation

Vector3D Permutation

Permutation vector for axis reordering.

Definition at line 61 of file EulerOrder.h.

Referenced by ToString().


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