OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
CoordinateSystemTrafo.cpp
Go to the documentation of this file.
2#include "Utility/Inform.h"
3
4extern Inform *gmsg;
5
7 origin_m(0.0),
8 orientation_m(1.0, 0.0, 0.0, 0.0),
9 rotationMatrix_m(3,3)
10{
11 rotationMatrix_m(0,0) = 1.0;
12 rotationMatrix_m(0,1) = 0.0;
13 rotationMatrix_m(0,2) = 0.0;
14 rotationMatrix_m(1,0) = 0.0;
15 rotationMatrix_m(1,1) = 1.0;
16 rotationMatrix_m(1,2) = 0.0;
17 rotationMatrix_m(2,0) = 0.0;
18 rotationMatrix_m(2,1) = 0.0;
19 rotationMatrix_m(2,2) = 1.0;
20}
21
23 origin_m(right.origin_m),
24 orientation_m(right.orientation_m),
25 rotationMatrix_m(right.rotationMatrix_m)
26{ }
27
29 const Quaternion &orientation):
30 origin_m(origin),
31 orientation_m(orientation),
32 rotationMatrix_m(orientation_m.getRotationMatrix())
33{ }
34
38 //rotationMatrix_m = transpose(rotationMatrix_m);
39 rotationMatrix_m = boost::numeric::ublas::trans(rotationMatrix_m);
40}
41
43 CoordinateSystemTrafo result(*this);
44
45 result *= right;
46 return result;
47}
48
54}
Inform * gmsg
Definition: Main.cpp:70
void operator*=(const CoordinateSystemTrafo &right)
CoordinateSystemTrafo operator*(const CoordinateSystemTrafo &right) const
Quaternion & normalize()
Definition: Quaternion.cpp:102
Vector_t rotate(const Vector_t &) const
Definition: Quaternion.cpp:122
Quaternion conjugate() const
Definition: Quaternion.h:103
matrix_t getRotationMatrix() const
Definition: Quaternion.cpp:135
Definition: Inform.h:42