1 #ifndef _SOLVE_SBASIS_H
2 #define _SOLVE_SBASIS_H
3 #include "point.h"
4 #include "sbasis.h"
6 namespace Geom{
8 class Point;
10 unsigned
11 crossing_count(Geom::Point const *V, /* Control pts of Bezier curve */
12 unsigned degree); /* Degree of Bezier curve */
13 void
14 find_parametric_bezier_roots(
15 Geom::Point const *w, /* The control points */
16 unsigned degree, /* The degree of the polynomial */
17 std::vector<double> & solutions, /* RETURN candidate t-values */
18 unsigned depth); /* The depth of the recursion */
20 unsigned
21 crossing_count(double const *V, /* Control pts of Bezier curve */
22 unsigned degree, /* Degree of Bezier curve */
23 double left_t, double right_t);
24 void
25 find_bernstein_roots(
26 double const *w, /* The control points */
27 unsigned degree, /* The degree of the polynomial */
28 std::vector<double> & solutions, /* RETURN candidate t-values */
29 unsigned depth, /* The depth of the recursion */
30 double left_t=0, double right_t=1);
32 };
33 #endif