|
Boost Users : |
Subject: [Boost-users] [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
planar
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
computational
geometry in its scope, and provides a set of capabilities for working
with
coordinates, points, intervals and rectangles that are needed to support
implementing and interacting with polygon data structures and
algorithms.
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
for
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
without
sacrificing the runtime or memory efficiency of the underlying
algorithms. This
API makes the following code snippet that operates on non-library
geometry types
possible:
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
http://svn.boost.org/svn/boost/sandbox/gtl/boost/polygon/
And the documentation is at
http://svn.boost.org/svn/boost/sandbox/gtl/doc/index.htm
---------------------------------------------------
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
topics:
- 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
problems?
- 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: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net