Skip to content
Bruno Levy edited this page Mar 3, 2023 · 39 revisions

Geogram documentation

Geogram is a programming library with geometric algorithms. It has geometry-processing functionalities (reconstruction, parameterization, remeshing, ...). It also has lower-level algorithm (Delaunay/Voronoi, geometric search, solving linear systems...). See the list of mini-tutorials below.

Geogram contains the main results in Geometry Processing from the former ALICE Inria project, that is, more than 30 research articles published in ACM SIGGRAPH, ACM Transactions on Graphics, Symposium on Geometry Processing and Eurographics. It was supported by two grants from the European Research Council (ERC): GOODSHAPE and VORPALINE.

Geogram project on github

Compiling

Releases

Programmer's reference manual

Mini tutorials and example programs

References

How does it compare to other geometry-processing libraries ?

There exists other libraries for geometric computing / geometry processing, such as:

It is difficult to compare different "swiss army knives" that have a completely different set of blades. The specificity of Geogram as compared to these generic libraries is that it is targeted towards some specific scenari with no compromise concerning performance and memory consumption. For instance, Geogram's 3D triangulation can be applied to pointsets with hundred millions points that we use in our research in cosmology, where the data structures used by other library would not fit in memory. This comes at the expense of less genericity (for instance, CGAL has a function to remove a point from a 3D Delaunay triangulation that Geogram does not have).

Another difference is the programming style and the design choices: Geogram is not a header-only library and makes a moderate use of modern C++ programming. This difference is rather a question of programmer's taste.

Geogram comes "with batteries installed" (nearly no external dependancies) and is easy to compile. It does not depend on BOOST (that we find too heavy, again it is a question of taste).

Geogram works under Linux/Windows/Mac/Android/Emscripten. Emscripten lets you compile programs and include them in webpages, see examples here.

Clone this wiki locally