OpenVolumeMesh - A Versatile Index-Based Data Structure for 3D Polytopal Complexes - Archive ouverte HAL Access content directly
Conference Papers Year : 2012

OpenVolumeMesh - A Versatile Index-Based Data Structure for 3D Polytopal Complexes

(1) , (2) , (3)
Michael Kremer
  • Function : Author
  • PersonId : 933762
David Bommes
  • Function : Author
  • PersonId : 933763
Leif Kobbelt
  • Function : Author
  • PersonId : 933764


We present a data structure which is able to represent heterogeneous 3-dimensional polytopal cell complexes and is general enough to also represent non-manifolds without incurring undue overhead. Extending the idea of half-edge based data structures for two-manifold surface meshes, all faces, i.e. the two-dimensional entities of a mesh, are represented by a pair of oriented half-faces. The concept of using directed half-entities enables inducing an orientation to the meshes in an intuitive and easy to use manner. We pursue the idea of encoding connectivity by storing rst-order top-down incidence relations per entity, i.e. for each entity of dimension d, a list of links to the respective incident entities of dimension d1 is stored. For instance, each half-face as well as its orientation is uniquely determined by a tuple of links to its incident half-edges or each 3D cell by the set of incident half-faces. This representation allows for handling non-manifolds as well as mixed-dimensional mesh con gurations. No entity is duplicated according to its valence, instead, it is shared by all incident entities in order to reduce memory consumption. Furthermore, an array-based storage layout is used in combination with direct index-based access. This guarantees constant access time to the entities of a mesh. Although bottom-up incidence relations are implied by the top-down incidences, our data structure provides the option to explicitly generate and cache them in a transparent manner. This allows for accelerated navigation in the local neighborhood of an entity. We provide an open-source and platform-independent implementation of the proposed data structure written in C++ using dynamic typing paradigms. The library is equipped with a set of STL compliant iterators, a generic property system to dynamically attach properties to all entities at run-time, and a serializer/deserializer supporting a simple le format. Due to its similarity to the OpenMesh data structure, it is easy to use, in particular for those familiar with OpenMesh. Since the presented data structure is compact, intuitive, and e cient, it is suitable for a variety of applications, such as meshing, visualization, and numerical analysis. OpenVolumeMesh is open-source software licensed under the terms of the LGPL.
Vignette du fichier
hal-00762280.png (131.91 Ko) Télécharger le fichier Fichier principal
Vignette du fichier
ovm.pdf (1.52 Mo) Télécharger le fichier
Format : Figure, Image
Origin : Files produced by the author(s)

Dates and versions

hal-00762280 , version 1 (06-12-2012)



Michael Kremer, David Bommes, Leif Kobbelt. OpenVolumeMesh - A Versatile Index-Based Data Structure for 3D Polytopal Complexes. 21st International Meshing Roundtable, Oct 2012, San Jose, United States. pp.531-548, ⟨10.1007/978-3-642-33573-0_31⟩. ⟨hal-00762280⟩


480 View
493 Download



Gmail Facebook Twitter LinkedIn More