Helios++
Helios software for LiDAR simulations
|
#include <RotationOrder.h>
Public Member Functions | |
const std::string | toString () |
const glm::dvec3 | getA1 () |
const glm::dvec3 | getA2 () |
const glm::dvec3 | getA3 () |
Static Public Attributes | |
static const glm::dvec3 | ZERO = glm::dvec3(0, 0, 0) |
static const glm::dvec3 | PLUS_I = glm::dvec3(1, 0, 0) |
static const glm::dvec3 | MINUS_I = glm::dvec3(-1, 0, 0) |
static const glm::dvec3 | PLUS_J = glm::dvec3(0, 1, 0) |
static const glm::dvec3 | MINUS_J = glm::dvec3(0, -1, 0) |
static const glm::dvec3 | PLUS_K = glm::dvec3(0, 0, 1) |
static const glm::dvec3 | MINUS_K = glm::dvec3(0, 0, -1) |
static const RotationOrder | XYZ = RotationOrder("XYZ", PLUS_I, PLUS_J, PLUS_K) |
static const RotationOrder | XZY = RotationOrder("XZY", PLUS_I, PLUS_K, PLUS_J) |
static const RotationOrder | YXZ = RotationOrder("YXZ", PLUS_J, PLUS_I, PLUS_K) |
static const RotationOrder | YZX = RotationOrder("YZX", PLUS_J, PLUS_K, PLUS_I) |
static const RotationOrder | ZXY = RotationOrder("ZXY", PLUS_K, PLUS_I, PLUS_J) |
static const RotationOrder | ZYX = RotationOrder("ZYX", PLUS_K, PLUS_J, PLUS_I) |
static const RotationOrder | XYX = RotationOrder("XYX", PLUS_I, PLUS_J, PLUS_I) |
static const RotationOrder | XZX = RotationOrder("XZX", PLUS_I, PLUS_K, PLUS_I) |
static const RotationOrder | YXY = RotationOrder("YXY", PLUS_J, PLUS_I, PLUS_J) |
static const RotationOrder | YZY = RotationOrder("YZY", PLUS_J, PLUS_K, PLUS_J) |
static const RotationOrder | ZXZ = RotationOrder("ZXZ", PLUS_K, PLUS_I, PLUS_K) |
static const RotationOrder | ZYZ = RotationOrder("ZYZ", PLUS_K, PLUS_J, PLUS_K) |
Private Member Functions | |
RotationOrder (const std::string _name, const glm::dvec3 a1, const glm::dvec3 a2, const glm::dvec3 a3) | |
Private Attributes | |
std::string | name |
glm::dvec3 | a1 |
glm::dvec3 | a2 |
glm::dvec3 | a3 |
This class is a utility representing a rotation order specification for Cardan or Euler angles specification.
This class cannot be instanciated by the user. He can only use one of the twelve predefined supported orders as an argument to either the Rotation#Rotation(RotationOrder,double,double,double) constructor or the Rotation#getAngles method.
|
inlineprivate |
Private constructor. This is a utility class that cannot be instantiated by the user, so its only constructor is private.
name | name of the rotation order |
a1 | axis of the first rotation |
a2 | axis of the second rotation |
a3 | axis of the third rotation |
|
inline |
Get the axis of the first rotation.
|
inline |
Get the axis of the second rotation.
|
inline |
Get the axis of the second rotation.
|
inline |
Get a string representation of the instance.
|
private |
Axis of the first rotation.
|
private |
Axis of the second rotation.
|
private |
Axis of the third rotation.
|
static |
Opposite of the first canonical vector (coordinates: -1, 0, 0).
|
static |
Opposite of the second canonical vector (coordinates: 0, -1, 0).
|
static |
Opposite of the third canonical vector (coordinates: 0, 0, -1).
|
private |
Name of the rotations order.
|
static |
First canonical vector (coordinates: 1, 0, 0).
|
static |
Second canonical vector (coordinates: 0, 1, 0).
|
static |
Third canonical vector (coordinates: 0, 0, 1).
|
static |
Set of Euler angles. this ordered set of rotations is around X, then around Y, then around X
|
static |
Set of Cardan angles. this ordered set of rotations is around X, then around Y, then around Z
|
static |
Set of Euler angles. this ordered set of rotations is around X, then around Z, then around X
|
static |
Set of Cardan angles. this ordered set of rotations is around X, then around Z, then around Y
|
static |
Set of Euler angles. this ordered set of rotations is around Y, then around X, then around Y
|
static |
Set of Cardan angles. this ordered set of rotations is around Y, then around X, then around Z
|
static |
Set of Cardan angles. this ordered set of rotations is around Y, then around Z, then around X
|
static |
Set of Euler angles. this ordered set of rotations is around Y, then around Z, then around Y
|
static |
Null vector (coordinates: 0, 0, 0).
|
static |
Set of Cardan angles. this ordered set of rotations is around Z, then around X, then around Y
|
static |
Set of Euler angles. this ordered set of rotations is around Z, then around X, then around Z
|
static |
Set of Cardan angles. this ordered set of rotations is around Z, then around Y, then around X
|
static |
Set of Euler angles. this ordered set of rotations is around Z, then around Y, then around Z