Dear Inkscape-devel,
I attempted to create a line segment using appendNew with 2 arguments (as suggested
in the wiki):
line1.appendNew<Geom::LineSegment>(p1.pointAt(0.), p2.pointAt(0.));
but I got the error message:
../../src/2geom/bezier-curve.h:218:7: error: no matching function
for call to 'assert_degree'
assert_degree<2>(this);
^~~~~~~~~~~~~~~~
../../src/2geom/path.h:740:23: note: in instantiation of member
function 'Geom::BezierCurveN<1>::BezierCurveN' requested here
do_append(new CurveType(finalPoint(), a, b));
I am not sure why this would be a problem here. The following line creation would work without this error message:
line1.start(p1.pointAt(0.));
line1.appendNew<Geom::LineSegment>(p2.pointAt(0.));
which puzzles me because this leads to a call of assert_degree() as well, although the degree check appears to be the expected 1 instead of 2.
In fact, is the line segment creation mentioned in the wiki “valid”? It seems to internally call LineSegment(finalPoint(), a, b) which would be interpreted as a quadratic curve.
Thank you.