From 160cf572fb0c87c705f797bc198e282a6254f089 Mon Sep 17 00:00:00 2001
From: Christoph Lehmann <christoph.lehmann@ufz.de>
Date: Tue, 12 Jul 2016 10:26:08 +0200
Subject: [PATCH] [NL] improved docu

---
 .../ExtrapolatableElementCollection.h         | 47 ++++++++++++-------
 1 file changed, 30 insertions(+), 17 deletions(-)

diff --git a/NumLib/Extrapolation/ExtrapolatableElementCollection.h b/NumLib/Extrapolation/ExtrapolatableElementCollection.h
index ffd65289081..a00cc489d33 100644
--- a/NumLib/Extrapolation/ExtrapolatableElementCollection.h
+++ b/NumLib/Extrapolation/ExtrapolatableElementCollection.h
@@ -14,8 +14,12 @@
 
 namespace NumLib
 {
-//! Adaptor to get information needed by an Extrapolator from an "arbitrary"
-//! collection of elements (e.g., local assemblers).
+/*! Adaptor to get information needed by an Extrapolator from an "arbitrary"
+ * collection of elements (e.g., local assemblers).
+ *
+ * This is an interface class; suitable implementations have to be provided for
+ * concrete collections of extrapolatable elements.
+ */
 class ExtrapolatableElementCollection
 {
 public:
@@ -24,8 +28,27 @@ public:
     virtual Eigen::Map<const Eigen::RowVectorXd> getShapeMatrix(
         std::size_t const id, unsigned const integration_point) const = 0;
 
-    //! Returns integration point values of some property of the element with
-    //! the given \c id.
+    /*! Returns integration point values of some property of a specific element.
+     *
+     * \param id ID of the element of which the property is queried.
+     * \param cache Can be used to compute a property on-the-fly.
+     *
+     * \remark
+     * \parblock
+     * Since this method returns a reference, integration point values can not
+     * be computed locally and just returned.
+     *
+     * Instead, the vector \c cache can be used to store some derived quantities
+     * that should be used as integration point values. They can be written to
+     * the \c cache and a reference to the \c cache can then be returned by the
+     * implementation of this method. Ordinary integration point values can be
+     * returned directly (if they are stored in the local assembler), and the
+     * \c cache can be left untouched.
+     *
+     * For usage examples see the processes already implemented or the unit test
+     * in TestExtrapolation.cpp
+     * \endparblock
+     */
     virtual std::vector<double> const& getIntegrationPointValues(
         std::size_t const id, std::vector<double>& cache) const = 0;
 
@@ -50,22 +73,12 @@ public:
                   "from Extrapolatable.");
 
     /*! A method providing integration point values of some property.
-     *
-     * \remark
-     * \parblock
-     * The vector \c cache can be used to store some derived quantities that
-     * should be used as integration point values. They can be written to the
-     * \c cache and a reference to the \c cache can then be returned by the
-     * implementation of this method.
-     * Ordinary integration point values can be returned directly (if they are
-     * stored in the local assembler), and the \c cache can be left untouched.
-     *
-     * For usage examples see the processes already implemented or the unit test
-     * in TestExtrapolation.cpp
-     * \endparblock
      *
      * The method must return reference to a vector containing the integration
      * point values.
+     *
+     * For further information about the \c cache parameter see
+     * ExtrapolatableElementCollection::getIntegrationPointValues().
      */
     using IntegrationPointValuesMethod = std::vector<double> const& (
         LocalAssembler::*)(std::vector<double>& cache) const;
-- 
GitLab