1 #ifndef __contoursIntersection_h_INCLUDED__
2 #define __contoursIntersection_h_INCLUDED__
4 #include "manualContour.h"
5 #include "vectorFunctions.h"
7 class contoursIntersection
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,
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 );
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;