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