OpenMesh

A generic and efficient polygon mesh data structure

OpenMesh is a generic and efficient data structure for representing and manipulating polygonal meshes. For more information about OpenMesh and its features take a look at the Introduction page.

OpenMesh is a C++ library. Python bindings are also provided.

On top of OpenMesh we develop OpenFlipper, a flexible geometry modeling and processing framework.



News

OpenMesh 8.0 released

This release now relies on compilers supporting C++11 or higher. Therefore Visual Studio 2013 is no longer supported.

The major upgrade in this release is the integration of an Eigen3 wrapper providing a direct replacement of the integrated vector type (Vec3d/Vec4d). You can now use Eigen3 vectors as the basic data type inside OpenMesh.

We also improved several readers and writers. Furthermore the new SmartTagger class has been added which can be used to tag primitives in the mesh while providing an O(1) reset of the tagging.

Next to this, we removed the glut requirement from the apps.

As usual the full change log is available on our website: Changelog

Feb. 21, 2019

OpenMesh 7.1 released

This release is a minor bugfix release.

We now enforce C++-11 in cmake to make sure OpenMesh compiles without having to add CXX Flags manually with compilers requiring additional flags to enable C++11.

Furhermore a regression in the OBJ reader was fixed causing very poor performance.

As usual the full change log is available on our website: Changelog

May 29, 2018

OpenMesh 7.0 released

This release adds more C++11 support. We can't guarantee that OpenMesh compiles with non C++11 compatible compilers anymore. Furthermore we removed the Python support from the package itself and moved to a new interface available via Pypi.org. The source of the python bindings is now in our Gitlab.

Next to the Core updates for C++11 we fixed several bugs and improved handling for external vector types.

The Subdivider was updated with a midpoint subdivision scheme.

Another set of changes adds fixes and improvements to several reader and writer modules.

As usual the full change log is available on our website: Changelog

April 19, 2018

OpenMesh 6.3 released

OpenMesh 6.3 is still fully backward compatible with the 2.x to 5.x branches. We marked some functions which should not be used anymore as deprecated and added hints which should be used instead.

This will be the last release officially supporting C++98 compilers and building the integrated applications with Qt 4.

The update adds a workaround for an gcc optimizer bug causing segfaults when optimizing with '-O3'. If your gcc is affected (gcc 4.x and 5.x) OpenMesh will fallback to '-O2'. Our Python interface got some build system updates and we fixed several warnings.

As usual the full change log is available on our website: Changelog

Oct. 4, 2016

OpenMesh 6.2 released

OpenMesh 6.2 is still fully backward compatible with the 2.x to 5.x branches. We marked some functions which should not be used anymore as deprecated and added hints which should be used instead.

This release is a minor update to fix compilation errors with Visual Studio 2015 Update 3. We resolved some constructions causing internal compiler and compilation issues.

As usual the full change log is available on our website: Changelog

July 11, 2016

OpenMesh 6.1 released

OpenMesh 6.1 is still fully backward compatible with the 2.x to 5.x branches. We marked some functions which should not be used anymore as deprecated and added hints which should be used instead.

This release is a minor update to fix compilation errors with Visual Studio 2015 community edition. We resolved some constructions causing internal compiler errors.

As usual the full change log is available on our website: Changelog

May 31, 2016
Disclaimer Home Visual Computing institute RWTH Aachen University