Boost logo

Boost Announcement :

Subject: [Boost-announce] [boost] Formal Review: Boost.Polygon starts today August 24, 2009
From: Fernando Cacciola (fernando.cacciola_at_[hidden])
Date: 2009-08-24 16:36:56

Dear Developers,

The formal review of the Boost.Polygon library by Lucanus Simonson
starts today, August 24, 2009 and will finish September 2, 2009.

I really hope to see your vote and your participation in the
discussions on
the Boost mailing lists!


About the library:

The boost polygon library provides algorithms focused on manipulating
polygon geometry data. Specific algorithms provided are the polygon set
operations (intersection, union, difference, disjoint-union) and related
algorithms such as polygon connectivity graph extraction, offsetting and
map-overlay. These so-called Boolean algorithms are of significant
interest in
GIS (Geospatial Information Systems), VLSI CAD as well al other fields
of CAD,
and many more application areas, and providing them is the primary
focus of this
library. The polygon library is not intended to cover all of
geometry in its scope, and provides a set of capabilities for working
coordinates, points, intervals and rectangles that are needed to support
implementing and interacting with polygon data structures and
Specifically, 3d and non-Cartesian/non-planar geometry is outside of
the scope
of the polygon library

The design philosophy behind the polygon library was to create an API
invoking the library algorithms it provides on user geometry data
types that is
maximally intuitive, minimally error-prone and easy to integrate into
pre-existing applications. C++-concepts based template meta-programming
combined with generic operator overloading meets these design goals
sacrificing the runtime or memory efficiency of the underlying
algorithms. This
API makes the following code snippet that operates on non-library
geometry types

void foo(list<CPolygon>& result, const list<CPolygon>& a,
         const list<CPolygon>& b, int deflateValue) {
     CBoundingBox domainExtent;
     using namespace boost::polygon::operators;
     boost::polygon::extents(domainExtent, a);
     result += (b & domainExtent) ^ (a - deflateValue);

The source is available at

And the documentation is at


Please always state in your review, whether you think the library
should be
accepted as a Boost library!

Additionally please consider giving feedback on the following general

- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have any
- How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?
- Are you knowledgeable about the problem domain?

Best Regards

Fernando Cacciola
Review Manager

Unsubscribe & other changes:

Boost-announce list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at