ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
EulerAngles.h
Go to the documentation of this file.
1/**
2 * @file EulerAngles.h
3 * @brief Represents rotations in 3D space using Euler angles.
4 *
5 * The `EulerAngles` class defines rotations using a sequence of three angles (pitch, yaw, roll)
6 * applied in a specific order.
7 *
8 * @date 22/12/2024
9 * @version 1.0
10 * @author Coela Can't
11 */
12
13#pragma once
14
15#include "EulerOrder.h"
16#include "Vector3D.h"
17
18/**
19 * @class EulerAngles
20 * @brief Encapsulates a 3D rotation using Euler angles and a specific order of application.
21 *
22 * Euler angles are commonly used to represent rotations in 3D space by specifying
23 * three angles applied in a specific sequence. The sequence is defined by the `EulerOrder`.
24 */
26public:
27 Vector3D Angles; ///< The three rotation angles (pitch, yaw, roll) in degrees (or radians based on usage).
28 EulerOrder Order; ///< The order in which the angles are applied (e.g., XYZ, ZYX, etc.).
29
30 /**
31 * @brief Default constructor that initializes angles to zero and order to a default value.
32 */
34
35 /**
36 * @brief Constructs an `EulerAngles` object with specified angles and order.
37 *
38 * @param angles The rotation angles as a `Vector3D` (e.g., pitch, yaw, roll).
39 * @param order The order in which the angles are applied, represented by `EulerOrder`.
40 */
42
43 /**
44 * @brief Converts the `EulerAngles` object to a string representation.
45 *
46 * Useful for debugging and visualizing the rotation angles and order.
47 *
48 * @return A string representing the `EulerAngles` in the format "(angles: [X, Y, Z], order: XYZ)".
49 */
51};
Defines the EulerOrder class for specifying rotation orders in 3D space.
Defines a 3D vector and various related operations.
Encapsulates a 3D rotation using Euler angles and a specific order of application.
Definition EulerAngles.h:25
String ToString()
Converts the EulerAngles object to a string representation.
EulerAngles()
Default constructor that initializes angles to zero and order to a default value.
Vector3D Angles
The three rotation angles (pitch, yaw, roll) in degrees (or radians based on usage).
Definition EulerAngles.h:27
EulerOrder Order
The order in which the angles are applied (e.g., XYZ, ZYX, etc.).
Definition EulerAngles.h:28
Specifies the order and frame of reference for Euler rotations.
Definition EulerOrder.h:25
Implements a generic Kalman Filter for 1D data.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.
Definition Vector3D.h:26