
2013/4/16 Alexander Brock <a.brock@...2965...>:
I think I figured this out. I made a simple curve with two segments, looked at the control points of the segments and found that the order was wrong:
Line 635 in path-manipulator.cpp:
Geom::CubicBezier bc(*cur, *cur->front(), *cur.next(), *cur.next()->back());
The third and the fourth argument should be switched:
Geom::CubicBezier bc(*cur, *cur->front(), *cur.next()->back(), *cur.next());
Alexander
You are entirely correct. I don't know what I thought when I wrote this.
By the way - some things I wrote, such as caching the number of selected nodes in the path _num_selected, are a big mistake (pointless premature optimization) and should be removed. I know there is at least one bug caused by not updating _num_selected correctly which leads to an infinite loop.
Regards, Krzysztof