mainpage.docu 2.47 KB
Newer Older
Mike Kremer's avatar
Mike Kremer committed
1 2 3 4 5 6 7 8 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 34 35 36 37 38 39 40 41 42 43 44 45 46
/** 
\mainpage OpenVolumeMesh Documentation

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 (www.openmesh.org). In particular, %OpenVolumeMesh carries the general idea
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.

Overview:

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

Tutorials:

\li \ref tutorial_01
\li \ref tutorial_02
\li \ref tutorial_02

**/