index 6e21a6395c51aab5b52212608821feaa72d798fd..f7216c15a7e214e811d03e4ba45892f5b0b28f33 100644 (file)
#ifndef _SBASIS_GEOMETRIC
#define _SBASIS_GEOMETRIC
-#include "d2.h"
-#include "piecewise.h"
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
#include <vector>
-/** two-dimensional geometric operators.
+/**
+ * \file
+ * \brief two-dimensional geometric operators.
+ *
* Copyright 2007, JFBarraud
* Copyright 2007, njh
*
double length( D2<SBasis> const &M, double tol=.01);
double length(Piecewise<D2<SBasis> > const &M, double tol=.01);
+void length_integrating(D2<SBasis> const &B, double &result, double &abs_error, double tol);
+
Piecewise<D2<SBasis> >
arc_length_parametrization(D2<SBasis> const &M,
unsigned order=3,
unsigned centroid(Piecewise<D2<SBasis> > const &p, Point& centroid, double &area);
+std::vector<D2<SBasis> >
+cubics_fitting_curvature(Point const &M0, Point const &M1,
+ Point const &dM0, Point const &dM1,
+ double d2M0xdM0, double d2M1xdM1,
+ int insist_on_speed_signs = 1,
+ double epsilon = 1e-5);
+
+std::vector<D2<SBasis> >
+cubics_fitting_curvature(Point const &M0, Point const &M1,
+ Point const &dM0, Point const &dM1,
+ Point const &d2M0, Point const &d2M1,
+ int insist_on_speed_signs = 1,
+ double epsilon = 1e-5);
+
+std::vector<D2<SBasis> >
+cubics_with_prescribed_curvature(Point const &M0, Point const &M1,
+ Point const &dM0, Point const &dM1,
+ double k0, double k1,
+ int insist_on_speed_signs = 1,
+ double error = 1e-5);
+
+
+std::vector<double> find_tangents(Point P, D2<SBasis> const &A);
+
};
#endif
fill-column:99
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :