]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/Contour/contoursIntersection.h
213e385cdbed544301618dbe0014cf481df11d32
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / Contour / contoursIntersection.h
1 #ifndef __contoursIntersection_h_INCLUDED__
2 #define __contoursIntersection_h_INCLUDED__
3
4 #include "vectorFunctions.h"
5
6 class contoursIntersection
7 {
8   public:
9                 contoursIntersection  ( );
10                 ~contoursIntersection ( );
11         double Slope                ( double x0, double y0,
12                                       double x1, double y1 );
13         double Normal               ( double x0, double y0,
14                                       double *m, double xi );
15         void Intersection           ( double x01, double y01,
16                                       double x02, double y02,
17                                       double mn, double m2,
18                                       double *x, double *y );
19         void SetContour1            ( std::vector<double>*InX1,
20                                       std::vector<double>*InY1,
21                                       std::vector<double>*InZ1 );
22         void SetContour2            ( std::vector<double>*InX2,
23                                       std::vector<double>*InY2,
24                                       std::vector<double>*InZ2 );
25         //All the intersections between the two set contour
26         void InterBetweenContours   ( std::vector<double>*OutX,
27                                       std::vector<double>*OutY,
28                                       std::vector<double>*OutZ );
29         //All the possible intersections between the contours
30         void PossibleIntersections  ( std::vector<double>*OutX,
31                                       std::vector<double>*OutY,
32                                       std::vector<double>*OutZ );
33         //Logical intersections between the two set contours
34         void IntersectionPoints     ( std::vector<double>*OutX,
35                                       std::vector<double>*OutY,
36                                       std::vector<double>*OutZ );
37         //Set the parameter data for stimate the error between the contours
38         void SetErrorParameter      ( double val );
39         //The error between the contours
40         int GetErrorBetweenContours ( double error );
41    private:
42          std::vector<double> _InX1;
43          std::vector<double> _InY1;
44          std::vector<double> _InZ1;
45           std::vector<double> _InX2;
46          std::vector<double> _InY2;
47          std::vector<double> _InZ2;
48 };
49 #endif
50  
51