From 53d64ebf65c21144a873cfd87fdb94483a21c58e Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Fri, 1 Mar 2019 17:08:03 +0100
Subject: [PATCH] improved doxygen documentation

---
 doc/doxygen/Doxylocal                              |  4 ++--
 src/amdis/DataTransfer.hpp                         | 14 ++++++++++++--
 src/amdis/GridFunctionOperator.hpp                 |  2 ++
 src/amdis/GridTransfer.hpp                         | 10 +++++++++-
 src/amdis/GridTransferManager.hpp                  |  7 +++++++
 .../localoperators/ConvectionDiffusionOperator.hpp |  6 ++++++
 6 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/doc/doxygen/Doxylocal b/doc/doxygen/Doxylocal
index 73390058..61923487 100644
--- a/doc/doxygen/Doxylocal
+++ b/doc/doxygen/Doxylocal
@@ -28,13 +28,13 @@ PREDEFINED            += HAVE_UMFPACK \
 # with spaces.
 
 INPUT                 += @top_srcdir@/src/amdis \
-                         @top_srcdir@/src/amdis/assembler \
                          @top_srcdir@/src/amdis/common \
                          @top_srcdir@/src/amdis/gridfunctions \
-                         @top_srcdir@/src/amdis/io \
                          @top_srcdir@/src/amdis/linearalgebra \
                          @top_srcdir@/src/amdis/linearalgebra/mtl \
+                         @top_srcdir@/src/amdis/localoperators \
                          @top_srcdir@/src/amdis/operations \
+                         @top_srcdir@/src/amdis/typetree \
                          @top_srcdir@/src/amdis/utility \
                          @top_srcdir@/doc
 # see e.g. dune-grid for the examples of mainpage and modules
diff --git a/src/amdis/DataTransfer.hpp b/src/amdis/DataTransfer.hpp
index 3f9f8ca6..b8c460d7 100644
--- a/src/amdis/DataTransfer.hpp
+++ b/src/amdis/DataTransfer.hpp
@@ -6,12 +6,18 @@
 
 namespace AMDiS
 {
+  /**
+   * \addtogroup Adaption
+   * @{
+   **/
+
   typedef enum {
     NO_OPERATION = 0,
     INTERPOLATE  = 1
   } DataTransferOperation;
 
 
+  /// \brief Interface for Containers allowing data transfer between grid changes.
   template <class Container>
   class DataTransferInterface
   {
@@ -27,8 +33,10 @@ namespace AMDiS
   };
 
 
-  /// Implementation of \ref DataTransferInterface that does not interpolation, but
-  /// just resizes the containers to the dimension of the basis
+  /**
+   * \brief Implementation of \ref DataTransferInterface that does not interpolate, but
+   * just resizes the containers to the dimension of the basis
+   **/
   template <class Container>
   class NoDataTransfer
       : public DataTransferInterface<Container>
@@ -69,6 +77,8 @@ namespace AMDiS
     }
   };
 
+  /// @}
+
 } // end namespace AMDiS
 
 #include "DataTransfer.inc.hpp"
diff --git a/src/amdis/GridFunctionOperator.hpp b/src/amdis/GridFunctionOperator.hpp
index b3339453..23fb04a1 100644
--- a/src/amdis/GridFunctionOperator.hpp
+++ b/src/amdis/GridFunctionOperator.hpp
@@ -198,6 +198,7 @@ namespace AMDiS
   };
 
 
+#ifndef DOXYGEN
   template <class Tag, class PreGridFct, class PreQuadFactory>
   struct PreGridFunctionOperator
   {
@@ -205,6 +206,7 @@ namespace AMDiS
     PreGridFct expr;
     PreQuadFactory quadFactory;
   };
+#endif
 
   /// Store tag and expression into a \ref PreGridFunctionOperator to create a \ref GridFunctionOperator
   template <class Tag, class Expr, class... QuadratureArgs>
diff --git a/src/amdis/GridTransfer.hpp b/src/amdis/GridTransfer.hpp
index 4800585c..cf8a2aec 100644
--- a/src/amdis/GridTransfer.hpp
+++ b/src/amdis/GridTransfer.hpp
@@ -7,6 +7,12 @@
 
 namespace AMDiS
 {
+  /**
+   * \addtogroup Adaption
+   * @{
+   **/
+
+  /// \brief Interface for transfer between grid changes to be registered in a \ref GridTransferManager
   class GridTransferInterface
   {
   public:
@@ -17,10 +23,10 @@ namespace AMDiS
     virtual bool preAdapt() = 0;
     virtual bool adapt() = 0;
     virtual void postAdapt() = 0;
-
   };
 
 
+  /// \brief Implementation of \ref GridTransferInterface for concrete Grid type.
   template <class Grid>
   class GridTransfer
       : public GridTransferInterface
@@ -100,4 +106,6 @@ namespace AMDiS
     unsigned long changeIndex_ = 0;
   };
 
+  /// @}
+
 } // end namespace AMDiS
diff --git a/src/amdis/GridTransferManager.hpp b/src/amdis/GridTransferManager.hpp
index 1563a16b..00f2f64d 100644
--- a/src/amdis/GridTransferManager.hpp
+++ b/src/amdis/GridTransferManager.hpp
@@ -9,6 +9,11 @@
 
 namespace AMDiS
 {
+  /**
+   * \addtogroup Adaption
+   * @{
+   **/
+
   /// Static administration class for automatic handling of DOFVectors during grid adaption
   class GridTransferManager
   {
@@ -93,4 +98,6 @@ namespace AMDiS
     using GridTransferCache = ConcurrentCache< Key, Data, StaticLockedPolicy, std::map<Key, Data> >;
   };
 
+  /// @}
+
 } // end namespace AMDiS
diff --git a/src/amdis/localoperators/ConvectionDiffusionOperator.hpp b/src/amdis/localoperators/ConvectionDiffusionOperator.hpp
index 4fc8743e..e70558d2 100644
--- a/src/amdis/localoperators/ConvectionDiffusionOperator.hpp
+++ b/src/amdis/localoperators/ConvectionDiffusionOperator.hpp
@@ -213,6 +213,7 @@ namespace AMDiS
     GridFctF gridFctF_;
   };
 
+#ifndef DOXYGEN
   template <class PreGridFctA, class PreGridFctB, class PreGridFctC, class PreGridFctF, class c>
   struct PreConvectionDiffusionOperator
   {
@@ -222,6 +223,8 @@ namespace AMDiS
     PreGridFctC gridFctC;
     PreGridFctF gridFctF;
   };
+#endif
+
 
   template <class PreGridFctA, class PreGridFctB, class PreGridFctC, class PreGridFctF, bool conserving = true>
   auto convectionDiffusion(PreGridFctA const& gridFctA, PreGridFctB const& gridFctB,
@@ -232,6 +235,8 @@ namespace AMDiS
     return Pre{gridFctA, gridFctB, gridFctC, gridFctF};
   }
 
+
+#ifndef DOXYGEN
   template <class Context, class... T, class GridView>
   auto makeLocalOperator(PreConvectionDiffusionOperator<T...> pre, GridView const& gridView)
   {
@@ -247,6 +252,7 @@ namespace AMDiS
     GridFctOp localOperator{std::move(gridFctA), std::move(gridFctB), std::move(gridFctC), std::move(gridFctF)};
     return localOperator;
   }
+#endif
 
   /** @} **/
 
-- 
GitLab