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),
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
27
29 const Quaternion &orientation):
30 origin_m(origin),
31 orientation_m(orientation),
32 rotationMatrix_m(orientation_m.getRotationMatrix())
33{ }
34
37 orientation_m = orientation_m.conjugate();
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
Inform * gmsg
Definition Main.cpp:70
void operator*=(const CoordinateSystemTrafo &right)
CoordinateSystemTrafo operator*(const CoordinateSystemTrafo &right) const
Vector_t rotate(const Vector_t &) const
Quaternion conjugate() const
Definition Quaternion.h:103
Vektor< double, 3 > Vector_t