Нужно проводить сложение полигонов. Сейчас для этого использую QPainterPath с его unite, но по-хорошему оно не для того предназначено. Да и не прокатило оно мне. А не прокатило вот почему...
Представьте ситуацию. Есть два полигона. Они соприкасаются, то есть сторона одного из них лежит на стороне другого. Мне надо, чтобы при сложении получился один полигон. Посмотрите на картинку: http://img141.imageshack.us/img141/2749/fuzzyunion.png. Видите там точки p1 и p2? Ведь в компьютерном представлении они могут лежать немного вне полигона, т.е. при сложении может получиться 2 различных полигона. А надо-то один.
То есть, нужна либа, которая учитывала бы подобные проблемы с числами с плавающей запятой.
Библиотек для булёвых операций с полигонами много: GPC, clipper, boost::polygon и т.п. Но пробовать все воистину лень. Кто-нибудь может подсказать ту, где такое точно сработает? Или назвать те, где такое не работает.