Summary
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 first-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 d − 1 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 configurations. 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 file 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 efficient, 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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alumbaugh, T.J., Jiao, X.: Compact Array-Based Mesh Data Structures. In: Hanks, B.W. (ed) IMR, pp. 485–503. Springer (2005) ISBN: 978-3- 540-25137-8
Beall, M.W., Shephard, M.S.: A General Topology-Based Mesh Data Structure. International Journal for Numerical Methods in Engineering 40(9), 1573–1596 (1997)
Botsch, M., Steinberg, S., Bischoff, S., Kobbelt, L.: OpenMesh – a generic and efficient polygon mesh data structure. In: OpenSG Symposium (2002)
Campagna, S., Kobbelt, L., Seidel, H.-P.: Directed Edges - A Scalable Representation for Triangle Meshes. Journal of Graphics Tools 3(4) (1998)
Canino, D.: Mangrove Topological Data Structure, http://mangrovetds.sourceforge.net
Celes, W., Paulino, G.H., Espinha, R.: A compact adjacency-based topological data structure for finite element mesh representation. International Journal for Numerical Methods in Engineering 64(11), 1529–1556 (2005) ISSN: 1097-0207
Damiand, G.: Combinatorial Maps. In: CGAL User and Reference Manual. CGAL Editorial Board, 4.0 edition (2012a)
Damiand, G.: Contributions aux Cartes Combinatoires et CartesGénéralisées: Simplification, Modèles, Invariants Topologiques et Applications. Habilitation à diriger des recherches, Université Lyon 1 (2010)
Damiand, G.: Linear Cell Complex. In: CGAL User and Reference Manual. CGAL Editorial Board, 4.0 edition (2012b)
De Floriani, L., Kobbelt, L., Puppo, E.: A Survey on Data Structures for Level-of-Detail Models. In: Advances in Multiresolution for Geometric Modelling Series in Mathematics and Visualization, vol. 243, p. 523 (2007)
Dobkin, D.P., Laszlo, M.J.: Primitives for the manipulation of three-dimensional subdivisions. In: Proceedings of the Third Annual Symposium on Computational Geometry, SCG 1987, pp. 86–99. ACM, New York (1987)
Edelsbrunner, H.: Algorithms in combinatorial geometry. Springer-Verlag New York, Inc., New York (1987) ISBN: 0-387-13722-X
De Floriani, L., Hui, A.: A scalable data structure for three-dimensional non-manifold objects. In: Symposium on Geometry Processing (2003)
De Floriani, L., Hui, A.: Data Structures for Simplicial Complexes: An Analysis and a Comparison. In: Symposium on Geometry Processing (2005)
De Floriani, L., Hui, A.: Shape Representations Based on Simplicial and Cell Complexes. In: Schmalstieg, Dieter, & Jiri Bittner (eds), Eurographics, - State of the Art Reports, Prague. Eurographics Association (2007)
Garimella, R.V.: Mesh Data Structure Selection for Mesh Generation and FEA Applications. International Journal of Numerical Methods in Engineering 55(4), 451–478 (2002)
Granados, M., Hachenberger, P., Hert, S., Kettner, L., Mehlhorn, K., Seel, M.: Boolean Operations on 3D Selective Nef Complexes: Data Structure, Algorithms, and Implementation. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 654–666. Springer, Heidelberg (2003)
Gross, P.W., Kotiuga, P.R.: Data Structures for Geometric and Topological Aspects of Finite Element Algorithms. Progress in Electromagnetics Research 32, 151–169 (2001) ISSN: 1070-4698
Knupp, P., Subcase, L., Mitchell, S.A.: Integration of Mesh Optimization with 3D All-Hex Mesh Generation (1999)
Lage, M., Lewiner, T., Lopes, H., Velho, L.: CHF: a scalable topological data structure for tetrahedral meshes. In: Sibgrapi 2005 (XVIII Brazilian Symposium on Computer Graphics and Image Processing), Natal, RN, pp. 349–356. IEEE (2005)
Ledoux, F., Weill, J.-C., Bertrand, Y.: GMDS: A Generic Mesh Data Structure. In: 17th International Meshing Roundtable, United States (2008)
Lienhardt, P.: Topological models for boundary representation: a comparison with n-dimensional generalized maps. Computer-Aided Design 23(1), 59–82 (1991) ISSN: 0010-4485
Mäntylä, M.: An Introduction to Solid Modeling. Computer Science Press, Inc., New York (1987) ISBN: 0-88175-108-1
Möbius, J., Kobbelt, L.: OpenFlipper: An Open Source Geometry Processing and Rendering Framework. In: Boissonnat, J.-D., Chenin, P., Cohen, A., Gout, C., Lyche, T., Mazure, M.-L., Schumaker, L. (eds.) Curves and Surfaces 2011. LNCS, vol. 6920, pp. 488–500. Springer, Heidelberg (2012)
Murdoch, P., et al.: The spatial twist continuum: a connectivity based method for representing all-hexahedral Finite element meshes. Finite Elem. Anal. Des. 28(2), 137–149 (1997) ISSN: 0168-874X
Remacle, J.-F., Shephard, M.S.: An algorithm oriented mesh database. International Journal for Numerical Methods in Engineering 58(2), 349–374 (2003)
Schöberl, J.: NETGEN An advancing front 2D/3D-mesh generator based on abstract rules. Computing and Visualization in Science 1, 41–52 (1997) ISSN: 1432-9360
Seegyoung Seol, E., Shephard, M.S.: Efficient distributed mesh data structure for parallel automated adaptive analysis. Eng. with Comput. 22(3), 197–213 (2006) ISSN: 0177-0667
Stroustrup, B.: The C++ programming language, 3 edn. Addison-Wesley-Longman (1997) ISBN: 978-0-201-88954-3
Tautges, T.J.: MOAB-SD: integrated structured and unstructured mesh representation. Eng. Comput (Lond.) 20(3), 286–293 (2004)
Teillaud, M.: Three Dimensional Triangulations in CGAL (1999)
Trotts, I.J., Hamann, B., Joy, K.I., Wiley, D.F.: Simplification of tetrahedral meshes. In: Proceedings of the conference on Visualization 1998, VIS 1998, pp. 287–295. IEEE Computer Society Press (1998) ISBN: 1-58113-106-2
Weiler, K.J.: Radial Edge Structure: A Topological Representation for Nonmanifold Geometric Boundary Modeling. In: Geometric Modeling for CAD Applications, pp. 3–36 (1988)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kremer, M., Bommes, D., Kobbelt, L. (2013). OpenVolumeMesh – A Versatile Index-Based Data Structure for 3D Polytopal Complexes. In: Jiao, X., Weill, JC. (eds) Proceedings of the 21st International Meshing Roundtable. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33573-0_31
Download citation
DOI: https://doi.org/10.1007/978-3-642-33573-0_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33572-3
Online ISBN: 978-3-642-33573-0
eBook Packages: EngineeringEngineering (R0)