Cinolib

CinoLib is a C++ library for processing polygonal and polyhedral meshes. It supports surface meshes made of triangles, quads or general polygons as well as volumetric meshes made of tetrahedra, hexahedra or general polyhedra.

Abstract

Inspired by the recent growth of computational methods for general polygonal and polyhedral meshes, this paper introduces Cinolib: a novel header only C++ library for geometry processing. Cinolib differentiates itself from similar toolkits in that it is specifically designed to support a wide set of meshes, such as triangle, quadrilateral and general polygonal surface meshes, as well as tetrahedral, hexahedral and general polyhedral volumetric meshes. At the core of the library there is a hierarchical data structure that factorizes the common properties among the various meshes, allowing tools and algorithms to operate on the widest possible set of meshes with a single implementation, thus avoiding code repetition and facilitating bug fixing and software maintenance. Cinolib is licensed with MIT, it currently counts more than 50K lines of code and, besides the core structure, already comprises a vast set of widespread tools for computer graphics and engineering.

The official project pages is available at https://github.com/mlivesu/cinolib.

Marco Livesu
Marco Livesu
Researcher

My research interests include Geometry Processing and Computer Graphics.