Boost logo

Boost :

Subject: [boost] Formal Review Request: Generic Geometry Library (GGL).
From: Barend Gehrels (barend_at_[hidden])
Date: 2009-10-12 09:03:24


We would like to ask for a formal review for the Generic Geometry
Library (GGL).

The GGL defines concepts for geometries and implements some algorithms
on such geometries.

GGL contains a dimension-agnostic, coordinate-system-agnostic and
scalable kernel, based on concepts, meta-functions and tag-dispatching.
On top of that kernel, algorithms are built: area, length, perimeter,
centroid, convex hull, intersection (clipping), within (point in
polygon), distance, envelope (bounding box), simplify, transform,
convert, and more. The library is also designed to support high
precision arithmetic numbers, such as GMP.

GGL contains instantiable geometry classes, but library users can also
use their own. Using registration macros or traits classes their
geometries can be adapted to fulfil the GGL-concepts.

The GGL might be used in all domains where geometry plays a role:
mapping and GIS, gaming, computer graphics and widgets, robotics,
astronomy... The core is designed to be as generic as possible and
support those domains. However, for now the development has been mostly

We propose the extension model, the same way as GIL also applies it. So
we are going to help to organize development of GGL extensions, where an
extension is (mostly) something more specific to domains like mentioned

The proposed GGL has seen four previews, many discussions and many
changes in design and implementation, based on those discussions. The
last preview was in February '09. Since then the design of the library
is stable and the library contains a variety of coherent functionality.
So we feel that the library is matured enough for formal review.

Therefore, I would like to request a formal review and the library
placed into the review queue. It is put into the Boost.Sandbox:

We have a review manager.

Regards, Barend Gehrels, Bruno Lalande, Mateusz Loskot

Boost list run by bdawes at, gregod at, cpdaniel at, john at