1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#ifndef ROTATIONMATRIX_H
#define ROTATIONMATRIX_H
#include <iostream>
#include <vector>
#define PI 3.14159265
class RotationMatrix {
public:
enum eAxis {X = 1, Y = 2, Z = 3};
static const unsigned int DIM = 3;
typedef double matrix[DIM][DIM];
RotationMatrix();//add setter to fill this
RotationMatrix(double angle, eAxis axis);
RotationMatrix(std::vector<double> elements);
void PrintMatrix();
void Transpose();
RotationMatrix operator*(const RotationMatrix& m);
std::vector<double> operator*(const std::vector<double>& v);
private:
matrix mat;
};
#endif // ROTATIONMATRIX_H
|