libsegl/rotationsmatrix.h

36 lines
615 B
C++

#ifndef __ROTATIONSMATRIX_H
#define __ROTATIONSMATRIX_H
#include <cmath>
#include "punkt3d.h"
#include "emath.h"
#include "matrix.h"
namespace segl {
enum axis { x_axis=0, y_axis, z_axis };
class Rotationsmatrix : public Matrix {
private:
float deg;
Punkt3D rotvec;
void initRot();
public:
Rotationsmatrix();
Rotationsmatrix(axis, float);
Rotationsmatrix(Punkt3D, float);
~Rotationsmatrix();
void set(float);
void set(axis, float);
void set(Punkt3D, float);
Punkt3D operator*(const Punkt3D&);
Rotationsmatrix operator*(const Rotationsmatrix&);
};
} // namespace segl
#endif