Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Iterators and Circulators

In order to iterate over the entities of a mesh or just a certain neighborhood (circulator) of an entity, OpenVolumeMesh provides a set of iterators and circulators. These iterators are entirely STL-compatible and can as such be used in all algorithms of the C++ standard template library. We distinguish between two different kinds of iterators:

  • Intrinsic Iterators: Iterators that do not require bottom-up incidences to be computed.
  • Bottom-Up Incidence Dependent Iterators: Iterators that need bottom-up incidences to be computed before they can be used.

For information on bottom-up incidences, refer to Section Concepts of OpenVolumeMesh. Note since OpenVolumeMesh is an index-based data structure, the iterators encapsulate handles to entities. Dereferencing an iterator thus never returns a reference to the entity itself but only a handle to the entity.

The following sections provide a concise overview of the iterators that come along with OpenVolumeMesh.

Intrinsic Iterators

Bottom-Up Incidence Dependent Iterators and Circulators

Iterators for General Polyhedral Meshes

Specializations for Hexahedral Meshes

Todo:
Make figures for all iterators.