Version 42 (modified by barendgehrels, 3 years ago)

--

Generic Geometry Library

Ohloh project report for Generic Geometry Library

The Generic Geometry Library (GGL) provides a  generic implementation of geometry algorithms, working with geometry types provided by the library itself as well as user-defined types. The library is implemented in  C++ programming language with extensive use of elements of  template metaprogramming like class (type) templates, static polymorphism and compile-time execution. Consequently, GGL is built upon foundation of  C++ Standard Library and  Boost C++ Libraries.

Project homepage: http://geometrylibrary.geodan.nl/

Note that GGL is still work in progress. Early adaptors are welcome to use GGL. However, realize that GGL is not complete and things might change. In general, all commits are well tested (by hundred unit tests) and breaking changes are announced on the list.

The main purpose of this Trac website is to collect bug reports, patches and enhancements submitted by developers and users as well as it integrates Wiki pages. In order to submit a new report or edit Wiki pages you'll need to login with an  OSGeo User ID. Read the TracGuide for details about how the site works.

News

Features

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

The GGL contains a dimension-agnostic, coordinate-system-agnostic and scalable kernel, based on concepts,  metafunctions 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.

Documentation

Documentation and API reference (generated with  Doxygen) is available from the project website at http://geometrylibrary.geodan.nl/

Related materials:

  • OGC Overview of functions and OGC support
  • Who Uses GGL? - list of projects using the Generic Geometry Library
  • BoostCon materials

Supported compilers

  • MS Visual Studio 2005 (Express Edition, aka 8.0)
  • MS Visual Studio 2008 (Express Edition, aka 9.0)
  • Visual C++ 8.0 from Visual Studio 2005 Professional on both Windows XP Professional (32-bit) and Windows 7 Professional (64-bit)
  • Visual C++ 9.0 from Visual Studio Team System 2008 on Vista Business (64-bit)
  • Visual C++ 10.0 from Visual Studio Professional 2010 Beta2 (10.0.21006.1 B2REL)
  • gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
  • gcc version 3.4.5 (mingw/gcc 3.4.5 coming with Qt Creator 1.2.1.)
  • gcc version 4 (tested are 4.1, 4.2, 4.4 using MinGW and Linux Ubuntu)

Download

Package with recent library preview is available from download page.

Subversion

Subversion repository with source code of Generic Geometry Library is hosted in  Boost Sandbox available at

svn co https://svn.boost.org/svn/boost/sandbox/ggl ggl

Support

 ggl@lists.osgeo.org mailing list is the main place where Generic Geometry Library discussion happens and  archives are public. You'll need to  subscribe to be able to post to the list.

License

Generic Geometry Library (GGL) is distributed under the  Boost Software License, Version 1.0.

Copyright

  • Copyright © 1995-2009 Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
  • Copyright © 2008-2009 Bruno Lalande, Paris, France.
  • Copyright © 2009 Mateusz Loskot, London, UK

This Trac website for Generic Geometry Library project is hosted by  OSGeo Foundation