View project on GitHub


A C++ library for the representation of meshes with Combinatorial Maps

CGoGN is develop by the research team IGG of the ICube Laboratory of the University of Strasbourg It is now part of a most generic platform name GAIA (in a pole name Modelling & Simulation) which aim to treat most generic type of data, from analysis until Visualisation.

CGoGN is a geometric modeling C++ library that provides an efficient implementation of combinatorial maps.

One of the fundamental idea of topological models is the strong separation between:

Following this fundamental principle, our implementation also aims at:

You can jump here to read an introduction to meshes and combinatorial maps. Depending on your current understanding of this model and on the level on which you plan to use the library, you may or may not need to read it. So feel free to jump directly to the documentation.


A mesh is the cellular decomposition of geometric objects such as curves, surfaces or volumes. Mesh data structures are of fundamental importance in many fields such as surface modeling, mesh generation, finite element analysis, physical simulation, geometry processing, visualization or computational geometry.

Topological models provide neighborhood relations between the cells of the decomposition (vertices, edges, faces, volumes). This information is mandatory for many algorithms in the mentioned application fields.

The data structure should:

Many existing mesh data structures actually find their roots in the notion of combinatorial map, a mathematically defined structure that represents the subdivision of n-dimensional manifolds.