mainpage.docu 3.22 KB
 Mike Kremer committed Jan 09, 2012 1 /**  Mike Kremer committed Jan 27, 2012 2 \if OPENVOLUMEMESH_INTERNAL_DOC  Mike Kremer committed Jan 09, 2012 3 \mainpage OpenVolumeMesh Documentation  Mike Kremer committed Jan 27, 2012 4 5 6 \else \page OpenVolumeMeshDoc Documentation \endif  Mike Kremer committed Jan 09, 2012 7   Mike Kremer committed Jan 09, 2012 8 9 \image html volume_mesh.png  Mike Kremer committed Mar 08, 2012 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Welcome to the %OpenVolumeMesh documentation. %OpenVolumeMesh is a generic data structure for the comfortable handling of arbitrary polyhedral meshes. Its concepts are closely related to OpenMesh (http://www.openmesh.org). In particular, %OpenVolumeMesh carries the general idea of storing edges as so-called (directed) half-edges over to the face definitions. So, faces are split up into so-called half-faces having opposing orientations. But unlike in the original concept of half-edges, local adjacency information is not stored on a per half-edge basis. Instead, all entities are arranged in arrays, which makes %OpenVolumeMesh an index-based data structure where the access to entities via handles is accomplished in constant time complexity. By making the data structure index-based, we alleviate the major drawback of the half-edge data structure of only being capable to represent manifold meshes. In our concept, each entity of dimension \f$n\f$ only stores an (ordered) tuple of handles (or indices) pointing to the incident entities of dimension \f$(n-1)\f$. These adjacency relations are called the top-down adjacencies. They are intrinsic to the implemented concept of volumentric meshes. One can additionally compute bottom-up adjacencies, which means that for each entity of dimension \f$n\f$, we also store handles to adjacent entities of dimension \f$(n+1)\f$. These adjacency relations have to be computed explicitly which can be performed in linear time complexity. Both adjacency relations, the top-down and the bottom-up adjacencies, are used to provide a set of iterators and circulators that are comfortable in use. As in OpenMesh, %OpenVolumeMesh provides an entirely generic underlying property system that allows attaching properties of any kind to the entities.  Mike Kremer committed Jan 09, 2012 30 31 32 33 34 35  In this documentation, we first give a concise overview of the implemented concepts in Section \ref concepts. In Section \ref iterators_and_circulators, we introduce all necessary iterators provided by %OpenVolumeMesh. This library is additionally shipped with a file format that allows for reading and permanent storage of the volumetric meshes from/to files. Its specification can be found in \ref file_format. For information on the property system,  Mike Kremer committed Jan 09, 2012 36 please refer to Section \ref property_system. Step-by-step tutorials and code examples can be  Mike Kremer committed Jan 09, 2012 37 38 39 40 41 42 43 found in the tutorials section. %OpenVolumeMesh comes with a complete CMake build system which facilitates building the library platform-independently. It is written in pure C++ using the standard template library and does not have any external dependencies except for GoogleTest which is (optionally) needed for building the unit tests. As per default, the unit tests are excluded from the build but can turned on as desired. Find information on how to build %OpenVolumeMesh in Section \ref building_openvolumemesh.  Mike Kremer committed Jan 09, 2012 44 \b Overview:  Mike Kremer committed Jan 09, 2012 45   Mike Kremer committed Apr 12, 2012 46 47 48 49 50 \li \subpage concepts \li \subpage iterators_and_circulators \li \subpage file_format \li \subpage property_system \li \subpage building_openvolumemesh  Mike Kremer committed Jan 09, 2012 51   Mike Kremer committed Jan 09, 2012 52 \b Tutorials:  Mike Kremer committed Jan 09, 2012 53   Mike Kremer committed Apr 12, 2012 54 55 56 57 \li \subpage tutorial_01 \li \subpage tutorial_02 \li \subpage tutorial_03 \li \subpage tutorial_04  Mike Kremer committed Jan 09, 2012 58 59  **/