- while the line is being drawn, the only change is that all the points are stored in a new array and the interpolation in fit_and_split is done with a tolerance of 0.
- when the mouse is released, the initial curve is removed and a new curve is interpolated using all the points (using code similar to fit_and_split)
note:
- the old mechanism (using the 16 Point array) is basically unchanged and is used to draw the temporary curve as before. i don't really see a big need to change it.
- we use stl::vector<Geom::Point> to store all the mouse points (could use glib's stuff here though)
- the range of the GUI slider for the smoothing tolerance may need adjustment, since interpolation with all points results in a smoother curve at a given tolerance than on-the-fly interpolation.
ok here's another crack at the patch.
this one is setup such that,
- while the line is being drawn, the only change is that all the points are stored in a new array and the interpolation in fit_and_split is done with a tolerance of 0.
- when the mouse is released, the initial curve is removed and a new curve is interpolated using all the points (using code similar to fit_and_split)
note: Geom::Point> to store all the mouse points (could use glib's stuff here though)
- the old mechanism (using the 16 Point array) is basically unchanged and is used to draw the temporary curve as before. i don't really see a big need to change it.
- we use stl::vector<
- the range of the GUI slider for the smoothing tolerance may need adjustment, since interpolation with all points results in a smoother curve at a given tolerance than on-the-fly interpolation.