Geogram Version 1.9.6-rc
A programming library of geometric algorithms
Loading...
Searching...
No Matches
Design principles

Geogram is designed with the following principles in mind (some of them borrowed from the "Futurist Programmer" manifesto and programming notes, see http://www.graficaobscura.com/future/index.html and http://www.graficaobscura.com/future/futnotes.html):

  • Make it as simple as possible (but not simpler)
  • Make it as easy to use as possible
  • Make it as easy to compile as possible
  • Maximize speed
  • Minimize memory consumption
  • Minimize number of lines of code
  • Minimize number of C++ classes
  • Systematically document all classes, all functions and all parameters
  • Systematically document the implementation of all algorithms, with relevant bibliographic references when applicable
  • Assertion checks everywhere
  • Zero warnings with all compilers / platforms / maximum level of warnings activated
  • Perform systematic non-regression testing and memory checking, using a continuous integration platform (Jenkins)

The algorithms implemented in Geogram are specialized and tuned for most common uses.

How does it compare to other geometry libraries ? Some elements here