![](https://secure.gravatar.com/avatar/014b988254e77ad61312267eb1d2d696.jpg?s=120&d=mm&r=g)
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@...972.....> 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel