Rotation#

class Rotation#

Euler angle representation of 3D rotation.

This class encapsulates a 3D orientation using Euler angles (yaw, pitch, roll). While not as robust as quaternions for rotations, it provides an intuitive interface for manipulating object orientations, especially from scripting contexts.

All angles are stored in degrees for convenience in editing and visualization.

Note

Euler angles can suffer from gimbal lock and are order-dependent.

Warning

Be careful with angle accumulation to avoid numerical drift.

Public Functions

inline Rotation()#

Default constructor creating zero rotation.

Creates a rotation with all angles set to zero (identity rotation).

inline Rotation(float inYaw, float inPitch, float inRoll)#

Constructor with explicit angle values.

Parameters:
  • inYaw[in] Yaw angle in degrees (rotation around Y-axis)

  • inPitch[in] Pitch angle in degrees (rotation around Z-axis)

  • inRoll[in] Roll angle in degrees (rotation around X-axis)

inline Rotation &operator+=(const Rotation &rhs)#

In-place addition operator.

Parameters:

rhs[in] Rotation to add

Returns:

Reference to this rotation after addition

inline Rotation &operator-=(const Rotation &rhs)#

In-place subtraction operator.

Parameters:

rhs[in] Rotation to subtract

Returns:

Reference to this rotation after subtraction

inline Rotation operator+(const Rotation &rhs) const#

Addition operator.

Parameters:

rhs[in] Rotation to add

Returns:

New rotation with added angles

inline Rotation operator-(const Rotation &rhs) const#

Subtraction operator.

Parameters:

rhs[in] Rotation to subtract

Returns:

New rotation with subtracted angles

Public Members

float yaw#

Yaw angle in degrees (rotation around Y-axis).

float pitch#

Pitch angle in degrees (rotation around Z-axis).

float roll#

Roll angle in degrees (rotation around X-axis).