h1. Acknowledgements and History
2Geom is a group project, having many authors and contributors.  The
original code was sketched out by Nathan Hurst and Peter Moulder for
the Inkscape vector graphics program to provide well typed, correct
and easy to use C++ classes.  Since then many people have refined and
debugged the code.  One of the earliest C++ification projects for
inkscape was replacing NRPoint with NR::Point.

A conspicuous absence was a Path datatype, and indeed Inkscape
developed at least 3 different internal path datatypes, plus several
others in related projects.  Considering the core importance of path
operations in vector graphics, this led to much re-implementation of
algorithms, numerous bugs, and many round trips converting between
forms.

Many attempts have been made to try and develop a single path data
structure, but all were fated to sit in random SCMs scattered across
the web.

Several unrelated projects had copied out various portions of the NR
code from Inkscape and in 2006 MenTaLguY and Nathan felt that it was
time to separate out the geometry portions of inkscape into a
separate library for general use and improvement.  The namespace was
changed from NR to Geom and a prototype for paths sketched out.
Nathan studied the state of the art for computational geometry whilst
MenTaLguY focused on the design of Paths.

Before the re-merging of 2Geom with the inkscape svn HEAD it was felt
that a few smaller projects should be ported to use 2Geom.  Michael
Wybrow's libavoid advanced connector routing system was ported first.

(TODO: did this happen? also, add the rest of history..)

h2. People who have contributed to 2Geom
* Aaron C. Spike
* Alex Mac
* Fred: livarot
* Javier Sanchez-Reyes
* Jean-Francois Barraud
* Jonathon Wright
* Joshua Blocher
* Kim Marriott
* MenTaLguY
* Michael J. Wybrow
* Michael G. Sloan
* Nathan J. Hurst
* Peter J. R. Moulder
