The current geometry stuff is rather imprecise, slow, and inflexible.  If I've got my history right, various replacements have been proposed, yet none accepted (perhaps code was used from them), yet this stuff has its ancestry in sodipodi.

To finally come up with an end-all-be-all solution, the 2geom project was started by a few inkscape developers.  http://sourceforge.net/projects/lib2geom .  It's going along nicely, but will still be a while until completion.  There's some really nice stuff already, and advanced algorithms in planning.  It'll certainly be a more elegant, fast, capable, and precise solution.

There's definitely room for more developers, though.  Njh, resident math genius, is working on his phd.  Mental, programming guru, is working on his comic.  I, code janitor, am currently preparing for highschool (about 1200 pages of reading for language arts...).

If you'd like to actually get something functioning, and do it on inkscape's current stuff, that's cool - 2geom might be a while.  However, once it's at a decent point of functionality, the current stuff will be torn out and 2geom placed in its stead.  Everything that uses geometry stuff will have to be signifigantly adapted.  I'd suggest putting effort towards 2geom - your CAD stuff will probably be easier and more elegant for it.  You can add features particularly required by your CAD stuff.

Stop by the jabber lib2geom@...132... if you'd like to help but don't know what to do.

On 8/31/06, Redefined Horizons <redefined.horizons@...400...> wrote:
Where can I find the classes used to represent Inkscape's geometries?
(I'm assuming that each geometry type is represented by a separate
class file. Let me know if this is incorrect.)