![]() |
![]() |
The Clipper Library is based on but significantly extends Bala Vatti's polygon clipping algorithm as described in "A generic solution to polygon clipping", Communications of the ACM, Vol 35, Issue 7 (July 1992) pp 56-63.
A section in "Computer graphics and geometric modeling: implementation and algorithms" by By Max K. Agoston (Springer, 2005) discussing Vatti Polygon Clipping was also helpful in creating the initial Clipper implementation.
The library performs each of the four boolean clipping operations - intersection, union, difference and exclusive-or (xor). It can accept any number of, and any type of polygon as input (including self-intersecting polygons).
Several features set Clipper apart from other polygon clipping libraries:
The ZIP distribution package contains the Clipper library's source code, a Windows CHM help file, HTML help, and a number of compiled demo applications (including full source code). The library was initially written in Delphi Pascal (compiling in Delphi ver. 7+) but now contains C++, C# and Python translations too. The library's source code in each language is a little over 3500 lines including comments (though the comments are most extensive in the Delphi code). The included demo applications show how Clipper can be used with the different languages using a number of graphics libraries including - AGG, Cairo, OpenGL, Graphics32, GDI+ and SVG.
Copyright ©2010-2012 Angus Johnson - Clipper version 5.1.2 - Help file built on 26-February-2013