To provide applications with the utmost flexibility in the generation and adaptation of meshes, the generic and high-quality meshing library, ViennaMesh, has been developed. ViennaMesh provides a unified interface for various mesh related tools. These tools cover mesh generation, adaptation, and classification of multi-segmented (aka. multi-material) meshes and geometries for unstructured two- and three-dimensional meshes. The goal is to provide applications with an additional back-end layer for mesh generation, allowing to seamlessly exchange mesh tools, for example, mesh generation kernels.
Currently the following external mesh generation kernels are available: Triangle (2D and 3D hulls), Tetgen, and Netgen (3D). Several tools are available to further improve the quality of the generated meshes. Most notable is a hull adaptation module which significantly improves the quality of a hull mesh and therefore improves the quality of the subsequent volume meshing step too.
ViennaMesh is available under the Lesser General Public License (LGPL).