Hey Krzysztof,

Thank you for the update. After playing with that cgal toy here, it is indeed disappointing... definitely a shame their implementation wasn't more robust. Given that the first half of GSoC has had a lot of unexpected time eaten up by University stuff, in addition to API related tasks you've designated, would you be willing to put forth an estimated timeline for what you would expect to accomplish in the second half?

Cheers,
Josh


On Wed, Jun 25, 2014 at 5:51 AM, Krzysztof KosiƄski <tweenk.pl@...400...> wrote:
Hello

The midterm evaluations are near due, so here's a public update on my
GSoC project.

The schedule this year was very bad for me, and dealing with
university stuff ate most of my time in the first half of the project,
so I didn't do nearly as much as I hoped for. I have however made a
prototype CGAL-based implementation of boolops. It is available in
2Geom trunk; you have to have CGAL installed, its headers available in
your default include path, and set the CMake option CGAL_TOYS=ON to
compile it. Saying "sudo apt-get install libcgal-dev" suffices to
satisfy the first two requirements on Ubuntu 14.04.

The results of playing with this toy are rather disappointing. CGAL
produces visibly imprecise results even for simple shapes (see
attached pictures), and for some inputs (e.g. when sliding two bananas
over each other so that they nearly match) it crashes with an
assertion. It seems that its boolean operation algorithm for Beziers
is of very poor quality. This means I will have to write the boolops
code from scratch.

I've found a MIT-licensed Objective-C library that implements boolops
on Bezier paths, which may serve as an inspiration.
https://bitbucket.org/andyfinnell/vectorboolean

During the remaining time before midterm, I'll work on path-related
APIs in 2Geom. This will be useful when implementing boolops, and will
allow us to get rid of ugly ancient stuff in Inkscape, such as
SPCurve. After the midterm, I will have to complete a final assignment
at the university, and should have much more time to get useful work
done in the second half of the project.

Regards, Krzysztof

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Inkscape-devel mailing list
Inkscape-devel@...1794...s.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-devel