]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/kernel/PlanesOperations.h
changes in qt for volume rendering with gpu support, if you are working with volume...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / kernel / PlanesOperations.h
index 451bd10732d3dc29e3eb27103e55d13d990b3f29..ea9c2ee8fd76190ed0aef8627fa2792f4b3252d9 100644 (file)
@@ -4,6 +4,9 @@
 #include <math.h>
 
 #include <iostream>
+#include <vector>
+
+using namespace std;
 
 class PlanesOperations  {
 
@@ -13,11 +16,49 @@ public:
        
        
 
-       double* getCrossProduct(double* vect0,double* vect1);
-       double getDotProduct(double* vect0,double* vect1);
+    double* getCrossProduct(double* vect0,double* vect1);
+    double getDotProduct(double* vect0,double* vect1);
     double* getNormal(double* vect);
     double getMagnitud(double* vect);
-    double* makeVector(double podouble0[3], double podouble1[3]);      
+    double* makeVector(double *podouble0, double* podouble1);
+
+    void getCrossProduct(double* vect0,double* vect1, double* vectres);
+    void getNormal(double* vect, double* vectnorm);
+    void makeVector(double* podouble0, double* podouble1, double* vectres);
+    /**
+    *    Adds to vectors, the result is in vectres;
+    *@param double* vect0, the first vector
+    *@param double* vect1, the second vector
+    *@param double* vectres, the resulting vector
+    */
+    void addVectors(double* vect0, double* vect1, double*vectres);
+    /**
+    *    multiply a vector with a given scalar
+    *@param double* vect0, the vector
+    *@param double scalar, the scalar value
+    *@param double* vectres, the resulting vector
+    */
+    void scalarVector(double* vect0, double scalar, double*vectres);
+    
+    vector<double> getCrossProduct(vector<double> vect0,vector<double> vect1);
+    double  getDotProduct(vector<double> vect0,vector<double> vect1);
+    vector<double> getNormal(vector<double> vect);
+    double  getMagnitud(vector<double> vect);
+    vector<double> makeVector(vector<double> podouble0, vector<double> podouble1);
+    /**
+    *    Adds to vectors, the result is in vectres;
+    *@param double* vect0, the first vector
+    *@param double* vect1, the second vector
+    *@param double* vectres, the resulting vector
+    */
+    vector<double> addVectors(vector<double> vect0, vector<double> vect1);
+    /**
+    *    multiply a vector with a given scalar
+    *@param double* vect0, the vector
+    *@param double scalar, the scalar value
+    *@param double* vectres, the resulting vector
+    */
+    vector<double> scalarVector(vector<double> vect0, double scalar);
        
 };