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