Public Software /News / | /gpc / | /gpctool / | /Register / | /Links / News and developments /Updated 29 July 2003/ * 29 July 03: GEORGE/DREW MCLEAN, we tried to reply to your email enquiry but the mail to you bounced. Please contact us again. * Stefan Schedel has produced a Delphi/Pascal port of gpc v2.30. You can download it here . * Joerg Raedler has made available his Python bindings to GPC. * A new email account has now been set up for library related enquiries: gpc@cs.man.ac.uk * Release 2.31 of the /gpc/ library is now available. See the version information for details. * A /gpc/ library graphical evaluation package is also available for Unix / X11 users. Users may also be interested to know that the GNU MAVERIK VR System, developed by the University of Manchester Advanced Interfaces Group has now been released under the GNU General Public License. ------------------------------------------------------------------------ A general polygon clipper library (gpc) /Release 2.31/ A flexible and highly robust polygon set operations library for use with C applications, as referenced in the comp.graphics.algorithms FAQ and the UIUC Computational Geometry Pages . The /gpc/ library is estimated to have thousands of users worldwide, and is subject to several hundred downloads each month. This software is free for non-commercial use. Anyone wishing to use the /gpc/ library in support of a commercial product please email gpc@cs.man.ac.uk . /Difference, intersection, exclusive-or and and union operations./ Features Difference, intersection, exclusive-or and union clip operations are supported. Polygons may be comprised of multiple disjoint contours. Contour vertices may be given in any order - clockwise or anticlockwise. Contours may be convex, concave or self-intersecting. Contours may be nested (i.e. polygons may have holes). Output may take the form of either polygon contours or tristrips. Hole and external contours are differentiated in the result. Coincident edges and degenerate regions are handled correctly. Performance The current release (v2.31) of /gpc /is faster than older releases (e.g. v2.22). The following tables give performance results measured on a 650 MHz Athlon, running GNU/Linux and compiled using gcc. Test 1 is the "British Isles map" example shown above. The subject polygon has 2 contours totalling 1857 edges, while the clip polygon has 4 contours totalling 28 vertices. Difference Intersection Exclusive-or Union *gpc v2.22* 54 67 46 54 *gpc v2.31* 63 67 61 63 *Table 1: *Clip operations per second for Test 1. Test 2 is an example consisting of 54 small rectangular contours with many overlapping regions and coincident edges. The subject and clip polygons each have 27 contours comprising 108 edges. Difference Intersection Exclusive-or Union *gpc v2.22* 1616 1787 1386 1392 *gpc v2.31* 1929 2868 1540 1542 *Table 2: *Clip operations per second for Test 2. Click here to download the test examples.. Downloading gpc The clipper library sources are available either as a Unix compressed tarfile (28k) or a PC Zip file (15k) . On-line documentation for the /gpc/ library. Version information . ------------------------------------------------------------------------ A graphical polygon clipper evaluation package (gpctool) /Release 1.01/ (Click to enlarge) The /gpctool/ package allows the interactive graphical evaluation of the /gpc/ polygon library under Unix / X11. Compilation requires Mesa (or OpenGL ) and xforms libraries - no precompiled binaries are available. Downloading gpctool The sources are available as either a Unix compressed tarfile (62k) or a PC Zip file (38k) . *Note:* This software is completely unsupported. ------------------------------------------------------------------------ Mailing list registration Please enter your full email address in the box below if you would like to be informed of /gpc/ software updates. ------------------------------------------------------------------------ Links Related polygon clipping links . ------------------------------------------------------------------------ /Alan Murta /