Helios++
Helios software for LiDAR simulations
RotationOrder.h
1 
12 #pragma once
13 
14 #include <string>
15 
16 #include <glm/glm.hpp>
17 
19 
20 public:
22  static const glm::dvec3 ZERO;
23 
25  static const glm::dvec3 PLUS_I;
26 
28  static const glm::dvec3 MINUS_I;
29 
31  static const glm::dvec3 PLUS_J;
32 
34  static const glm::dvec3 MINUS_J;
35 
37  static const glm::dvec3 PLUS_K;
38 
40  static const glm::dvec3 MINUS_K;
41 
42 
47 public:
48  static const RotationOrder XYZ;
49 
54  static const RotationOrder XZY;
55 
60  static const RotationOrder YXZ;
61 
66  static const RotationOrder YZX;
67 
72  static const RotationOrder ZXY;
73 
78  static const RotationOrder ZYX;
79 
84  static const RotationOrder XYX;
85 
90  static const RotationOrder XZX;
91 
96  static const RotationOrder YXY;
97 
102  static const RotationOrder YZY;
103 
108  static const RotationOrder ZXZ;
109 
114  static const RotationOrder ZYZ;
115 
116 private:
118  std::string name;
119 
121  glm::dvec3 a1;
122 
124  glm::dvec3 a2;
125 
127  glm::dvec3 a3;
128 
137  private: RotationOrder(const std::string _name,
138  const glm::dvec3 a1, const glm::dvec3 a2, const glm::dvec3 a3) {
139  name = _name;
140  this->a1 = a1;
141  this->a2 = a2;
142  this->a3 = a3;
143  }
144 
145  public:
146 
150  const std::string toString() {
151  return name;
152  }
153 
157  const glm::dvec3 getA1() {
158  return this->a1;
159  }
160 
164  const glm::dvec3 getA2() {
165  return this->a2;
166  }
167 
171  const glm::dvec3 getA3() {
172  return this->a3;
173  }
174 
175 };
Definition: RotationOrder.h:18
RotationOrder(const std::string _name, const glm::dvec3 a1, const glm::dvec3 a2, const glm::dvec3 a3)
Definition: RotationOrder.h:137
static const glm::dvec3 MINUS_K
Definition: RotationOrder.h:40
static const RotationOrder XYX
Definition: RotationOrder.h:84
static const RotationOrder ZYX
Definition: RotationOrder.h:78
static const RotationOrder XYZ
Definition: RotationOrder.h:48
static const glm::dvec3 MINUS_J
Definition: RotationOrder.h:34
glm::dvec3 a3
Definition: RotationOrder.h:127
static const glm::dvec3 MINUS_I
Definition: RotationOrder.h:28
static const RotationOrder ZYZ
Definition: RotationOrder.h:114
static const glm::dvec3 PLUS_I
Definition: RotationOrder.h:25
static const RotationOrder ZXY
Definition: RotationOrder.h:72
static const RotationOrder XZX
Definition: RotationOrder.h:90
static const RotationOrder YZY
Definition: RotationOrder.h:102
const glm::dvec3 getA1()
Definition: RotationOrder.h:157
const glm::dvec3 getA2()
Definition: RotationOrder.h:164
static const glm::dvec3 ZERO
Definition: RotationOrder.h:22
glm::dvec3 a2
Definition: RotationOrder.h:124
static const RotationOrder YZX
Definition: RotationOrder.h:66
std::string name
Definition: RotationOrder.h:118
static const RotationOrder ZXZ
Definition: RotationOrder.h:108
const glm::dvec3 getA3()
Definition: RotationOrder.h:171
static const RotationOrder YXZ
Definition: RotationOrder.h:60
static const RotationOrder XZY
Definition: RotationOrder.h:54
const std::string toString()
Definition: RotationOrder.h:150
glm::dvec3 a1
Definition: RotationOrder.h:121
static const glm::dvec3 PLUS_J
Definition: RotationOrder.h:31
static const RotationOrder YXY
Definition: RotationOrder.h:96
static const glm::dvec3 PLUS_K
Definition: RotationOrder.h:37