/* Performs geometrical transformations (rotation, translation) on a vector */ #ifndef VECTORTRANSFORM_H #define VECTORTRANSFORM_H #include <vector> #include <string> #include "RotationMatrix.h" class VectorTransform { public: VectorTransform(std::vector<double> vec); void Translate(double xComp, double yComp, double zComp, std::string opt); void Rotate(double angle, RotationMatrix::eAxis axis, std::string opt); void Rotate(std::vector<double> matrixElements, std::string opt); // matrix elements row by row double GetX() {return v[0];} double GetY() {return v[1];} double GetZ() {return v[2];} void Print(); private: std::vector<double> v = std::vector<double>(3); }; #endif // VECTORTRANSFORM_H