mainpage.docu 2.53 KB
Newer Older
Mike Kremer's avatar
Mike Kremer committed
1 2 3
/** 
\mainpage OpenVolumeMesh Documentation

Mike Kremer's avatar
Mike Kremer committed
4 5
\image html volume_mesh.png

Mike Kremer's avatar
Mike Kremer committed
6 7
Welcome to the %OpenVolumeMesh documentation. %OpenVolumeMesh is a generic data structure
for the comfortable handling of arbitrary polyhedral meshes. Its concepts are closely related
8
to OpenMesh (http://www.openmesh.org). In particular, %OpenVolumeMesh carries the general idea
Mike Kremer's avatar
Mike Kremer committed
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
of storing edges as so-called (directed) half-edges over to the face definitions.
Furthermore, in %OpenVolumeMesh the data is arranged in a \e top-down hierarchy,
meaning that each entity of dimension n is defined through a (ordered) tuple of entities of
dimension (n-1). These are the intrinsic adjacency
relations of the volumentric meshes. One can additionally compute \e bottom-up adjacencies
which means that for each entity of dimension n, we also store its local adjacencies to
entities of dimension (n+1). 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.

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,
please refer to section \ref property_system. Step-by-step tutorials and code examples can be
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's avatar
Mike Kremer committed
34
\b Overview:
Mike Kremer's avatar
Mike Kremer committed
35 36 37 38 39 40 41

\li \ref concepts
\li \ref iterators_and_circulators
\li \ref file_format
\li \ref property_system
\li \ref building_openvolumemesh

Mike Kremer's avatar
Mike Kremer committed
42
\b Tutorials:
Mike Kremer's avatar
Mike Kremer committed
43 44 45

\li \ref tutorial_01
\li \ref tutorial_02
46 47
\li \ref tutorial_03
\li \ref tutorial_04
Mike Kremer's avatar
Mike Kremer committed
48 49

**/