]> Creatis software - creaMaracasVisu.git/blob - 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
1 #ifndef PlanesOperations_H_
2 #define PlanesOperations_H_
3
4 #include <math.h>
5
6 #include <iostream>
7 #include <vector>
8
9 using namespace std;
10
11 class PlanesOperations  {
12
13 public:
14         PlanesOperations();     
15         ~PlanesOperations();    
16         
17         
18
19     double* getCrossProduct(double* vect0,double* vect1);
20     double getDotProduct(double* vect0,double* vect1);
21     double* getNormal(double* vect);
22     double getMagnitud(double* vect);
23     double* makeVector(double *podouble0, double* podouble1);
24
25     void getCrossProduct(double* vect0,double* vect1, double* vectres);
26     void getNormal(double* vect, double* vectnorm);
27     void makeVector(double* podouble0, double* podouble1, double* vectres);
28     /**
29     *    Adds to vectors, the result is in vectres;
30     *@param double* vect0, the first vector
31     *@param double* vect1, the second vector
32     *@param double* vectres, the resulting vector
33     */
34     void addVectors(double* vect0, double* vect1, double*vectres);
35     /**
36     *    multiply a vector with a given scalar
37     *@param double* vect0, the vector
38     *@param double scalar, the scalar value
39     *@param double* vectres, the resulting vector
40     */
41     void scalarVector(double* vect0, double scalar, double*vectres);
42     
43     vector<double> getCrossProduct(vector<double> vect0,vector<double> vect1);
44     double  getDotProduct(vector<double> vect0,vector<double> vect1);
45     vector<double> getNormal(vector<double> vect);
46     double  getMagnitud(vector<double> vect);
47     vector<double> makeVector(vector<double> podouble0, vector<double> podouble1);
48     /**
49     *    Adds to vectors, the result is in vectres;
50     *@param double* vect0, the first vector
51     *@param double* vect1, the second vector
52     *@param double* vectres, the resulting vector
53     */
54     vector<double> addVectors(vector<double> vect0, vector<double> vect1);
55     /**
56     *    multiply a vector with a given scalar
57     *@param double* vect0, the vector
58     *@param double scalar, the scalar value
59     *@param double* vectres, the resulting vector
60     */
61     vector<double> scalarVector(vector<double> vect0, double scalar);
62         
63 };
64
65 #endif /*PlanesOperations_H_*/