From 5b15a14a4ef476db2419a956f9f1af3695bdc312 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 16 Oct 2017 09:02:49 -0600 Subject: [PATCH] Document (active_)?face_iterator typedefs. --- include/deal.II/dofs/dof_handler.h | 28 ++++++++++++++++++++++++++++ include/deal.II/grid/tria.h | 25 +++++++++++++++++++++++++ include/deal.II/hp/dof_handler.h | 29 ++++++++++++++++++++++++++++- 3 files changed, 81 insertions(+), 1 deletion(-) diff --git a/include/deal.II/dofs/dof_handler.h b/include/deal.II/dofs/dof_handler.h index c5614b4701..1eba933fd2 100644 --- a/include/deal.II/dofs/dof_handler.h +++ b/include/deal.II/dofs/dof_handler.h @@ -256,7 +256,35 @@ public: */ typedef typename ActiveSelector::cell_iterator cell_iterator; + /** + * A typedef that is used to identify iterators that point to faces. + * The concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * While the actual data type of the typedef is hidden behind a few layers + * of (unfortunately necessary) indirections, it is in essence + * TriaIterator. The + * TriaIterator class works like a pointer to objects that when + * you dereference it yields an object of type DoFAccessor. DoFAccessor, + * in turn, is a class that can be used to query DoF indices on faces, + * but it is also derived from TriaAccessor and consequently can be used + * to query geometric properties such as vertices of faces, their area, etc. + * + * @ingroup Iterators + */ typedef typename ActiveSelector::face_iterator face_iterator; + + /** + * A typedef that is used to identify iterators that point to active faces, + * i.e., to faces that have no children. Active faces must be faces of at + * least one active cell. + * + * Other than the "active" qualification, this typedef is identical to the + * @p face_iterator typedef. In particular, dereferencing either yields + * the same kind of object. + * + * @ingroup Iterators + */ typedef typename ActiveSelector::active_face_iterator active_face_iterator; typedef typename LevelSelector::CellAccessor level_cell_accessor; diff --git a/include/deal.II/grid/tria.h b/include/deal.II/grid/tria.h index a600d993a6..ff36a5f826 100644 --- a/include/deal.II/grid/tria.h +++ b/include/deal.II/grid/tria.h @@ -1503,7 +1503,32 @@ public: */ typedef TriaActiveIterator > active_cell_iterator; + /** + * A typedef that is used to identify iterators that point to faces. + * The concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies faces in a triangulation. The + * TriaIterator class works like a pointer to objects that when + * you dereference it yields an object of type TriaAccessor, i.e., + * class that can be used to query geometric properties of faces + * such as their vertices, their area, etc. + * + * @ingroup Iterators + */ typedef TriaIterator > face_iterator; + + /** + * A typedef that is used to identify iterators that point to active faces, + * i.e., to faces that have no children. Active faces must be faces of at + * least one active cell. + * + * Other than the "active" qualification, this typedef is identical to the + * @p face_iterator typedef. In particular, dereferencing either yields + * the same kind of object. + * + * @ingroup Iterators + */ typedef TriaActiveIterator > active_face_iterator; /** diff --git a/include/deal.II/hp/dof_handler.h b/include/deal.II/hp/dof_handler.h index 47b1103b58..9b868d3e20 100644 --- a/include/deal.II/hp/dof_handler.h +++ b/include/deal.II/hp/dof_handler.h @@ -237,8 +237,35 @@ namespace hp typedef TriaIterator < dealii::DoFCellAccessor < DoFHandler < dim, spacedim >, false > > cell_iterator; #endif - + /** + * A typedef that is used to identify iterators that point to faces. + * The concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * While the actual data type of the typedef is hidden behind a few layers + * of (unfortunately necessary) indirections, it is in essence + * TriaIterator. The + * TriaIterator class works like a pointer to objects that when + * you dereference it yields an object of type DoFAccessor. DoFAccessor, + * in turn, is a class that can be used to query DoF indices on faces, + * but it is also derived from TriaAccessor and consequently can be used + * to query geometric properties such as vertices of faces, their area, etc. + * + * @ingroup Iterators + */ typedef typename ActiveSelector::face_iterator face_iterator; + + /** + * A typedef that is used to identify iterators that point to active faces, + * i.e., to faces that have no children. Active faces must be faces of at + * least one active cell. + * + * Other than the "active" qualification, this typedef is identical to the + * @p face_iterator typedef. In particular, dereferencing either yields + * the same kind of object. + * + * @ingroup Iterators + */ typedef typename ActiveSelector::active_face_iterator active_face_iterator; typedef typename LevelSelector::CellAccessor level_cell_accessor; -- 2.39.5