public:
VectorMath();
~VectorMath();
+
+ /*Sets all the vector points*/
void SetData(std::vector<int> pointsX1, std::vector<int> pointsX2, std::vector<int> pointsY1, std::vector<int> pointsY2, std::vector<int> pointsZ1, std::vector<int> pointsZ2);
+
+ /*Runs the calculations*/
void Run();
+
+ /*Returns the origin of the second vector*/
std::vector<int> GetOrigin();
+
+ /*Returns the origin of the first vector*/
std::vector<int> GetOriginReslicer();
+
+ /*Returns the cross product of the two vectors*/
void GetResult(double result[3]);
+
+ /*Rotation angle (dot product)*/
double GetAngle();
+
+ /*Scale in X*/
double GetScaleX();
+
+ /*Scale in Y*/
double GetScaleY();
+
+ /*Scale in Z*/
double GetScaleZ();
private:
+ ///////////////////
+ /* Vector Points */
+ ///////////////////
+
+ /*The points are defined by the following naming pattern: _point[axis(x,y or z)][vector(1 {first image} or 2{second image})][a{starting piont} or b{end point}]*/
+
int _pointx1a;
int _pointx1b;
int _pointx2a;
int _pointz1b;
int _pointz2a;
int _pointz2b;
+
+ //////////////////
+ /* Results */
+ /////////////////
std::vector<int> _origin;
std::vector<int> _originReslicer;