I splitted path.h in the following files:
curve.h (abstract class Curve) sbasis-curve.h bezier-curve.h elliptical-arc.h path.h (class Path and iterators )
and path.cpp in
curve-helpers.cpp (CurveHelpers::root_winding) path.cpp (all the previous methods)
finally I added a curves.h file so defined:
#include curve.h #include sbasis-curve.h #include bezier-curve.h #include elliptical-arc.h #include hvlinesegment.h
path.h includes curves.h so existent code should have no problem.
The HLineSegment and VLineSegment classes will be useful to represent directly "H" and "V" curves found in the svg path element.
I committed all changes both to 2geom and Inkscape. Btw I needed to do a make clean before succeeding in building inkscape correctly, because at beginning CurveHelpers::root_winding was seen as defined more than once.
Regards, Marco