From ea1637b05346bcf933ba140b14f89b8ebd89aebf Mon Sep 17 00:00:00 2001
From: Nicolas Marsic <nicolas.marsic@gmail.com>
Date: Thu, 13 Feb 2014 15:19:18 +0000
Subject: [PATCH] Doc...

---
 FunctionSpace/Basis.h                  |  35 ++++---
 FunctionSpace/BasisGenerator.h         | 123 ++++++-------------------
 FunctionSpace/BasisHierarchical0Form.h |  13 +--
 FunctionSpace/BasisHierarchical1Form.h |  13 +--
 FunctionSpace/BasisLagrange.h          |  25 +++--
 FunctionSpace/BasisLocal.h             |   4 +-
 FunctionSpace/FunctionSpaceScalar.h    |  64 +++++++------
 FunctionSpace/FunctionSpaceVector.h    |  57 ++++++------
 FunctionSpace/HexEdgeBasis.h           |   4 +-
 FunctionSpace/HexLagrangeBasis.h       |   7 +-
 FunctionSpace/HexNodeBasis.h           |   4 +-
 FunctionSpace/Legendre.h               |  62 +++++++------
 FunctionSpace/LineEdgeBasis.h          |   9 +-
 FunctionSpace/LineLagrangeBasis.h      |   7 +-
 FunctionSpace/LineNedelecBasis.h       |   3 +-
 FunctionSpace/LineNodeBasis.h          |   9 +-
 FunctionSpace/PermutationTree.h        |   4 +-
 FunctionSpace/QuadEdgeBasis.h          |   5 +-
 FunctionSpace/QuadLagrangeBasis.h      |   7 +-
 FunctionSpace/QuadNedelecBasis.h       |   3 +-
 FunctionSpace/QuadNodeBasis.h          |   5 +-
 FunctionSpace/ReferenceSpace.h         |  10 +-
 FunctionSpace/ReferenceSpaceManager.h  |   2 +-
 FunctionSpace/TetEdgeBasis.h           |   4 +-
 FunctionSpace/TetLagrangeBasis.h       |   7 +-
 FunctionSpace/TetNodeBasis.h           |   4 +-
 FunctionSpace/TriEdgeBasis.h           |   4 +-
 FunctionSpace/TriLagrangeBasis.h       |   7 +-
 FunctionSpace/TriNedelecBasis.h        |   3 +-
 FunctionSpace/TriNodeBasis.h           |   4 +-
 30 files changed, 218 insertions(+), 290 deletions(-)

diff --git a/FunctionSpace/Basis.h b/FunctionSpace/Basis.h
index b9f920ba7f..0d8ac22d5e 100644
--- a/FunctionSpace/Basis.h
+++ b/FunctionSpace/Basis.h
@@ -172,19 +172,19 @@ class Basis{
    **
 
    @fn Basis::getNVertexBased
-   @return Returns the number of Vertex Based functions of this Basis
+   @return Returns the number of Vertex based functions of this Basis
    **
 
    @fn Basis::getNEdgeBased
-   @return Returns the number of Edge Based functions of this Basis
+   @return Returns the number of Edge based functions of this Basis
    **
 
    @fn Basis::getNFaceBased
-   @return Returns the number of Face Based functions of this Basis
+   @return Returns the number of Face based functions of this Basis
    **
 
    @fn Basis::getNCellBased
-   @return Returns the number of Cell Based functions of this Basis
+   @return Returns the number of Cell based functions of this Basis
    **
 
    @fn Basis::getNFunction
@@ -198,9 +198,9 @@ class Basis{
    @param u A u coordinate in the reference space of this Basis
    @param v A v coordinate in the reference space of this Basis
    @param w A w coordinate in the reference space of this Basis
-   @return The given matrix is populated with the evaluation
-   of every basis function at the given coordinates,
-   and for the orientation of the given element
+
+   The given matrix is populated with the evaluation of every basis function
+   at the given coordinates, and for the orientation of the given element
    **
 
    @fn Basis::getFunctions(fullMatrix<double>&, size_t, double, double, double) const
@@ -209,9 +209,9 @@ class Basis{
    @param u A u coordinate in the reference space of this Basis
    @param v A v coordinate in the reference space of this Basis
    @param w A w coordinate in the reference space of this Basis
-   @return The given matrix is populated with the evaluation
-   of every basis function at the given coordinates,
-   and for the given orientation
+
+   The given matrix is populated with the evaluation of every basis function
+   at the given coordinates, and for the given orientation
    **
 
    @fn Basis::getDerivative(fullMatrix<double>&, const MElement&, double, double, double) const
@@ -220,21 +220,24 @@ class Basis{
    @param u A u coordinate in the reference space of this Basis
    @param v A v coordinate in the reference space of this Basis
    @param w A w coordinate in the reference space of this Basis
-   @return The given matrix is populated with the evaluation
-   of the derivative of every basis function at the given coordinates,
+
+   The given matrix is populated with the evaluation of the derivative
+   of every basis function at the given coordinates,
    and for the orientation of the given element
    **
 
    @fn Basis::preEvaluateFunctions
    @param point A Matrix with points coordinate
    (each line is a point and got 3 coordinates, i.e. 3 rows)
-   @return Pre Evaluates every basis function at the given points
+
+   Pre Evaluates every basis function at the given points
    **
 
    @fn Basis::preEvaluateDerivatives
    @param point A Matrix with points coordinate
    (each line is a point and got 3 coordinates, i.e. 3 rows)
-   @return Pre Evaluates every basis function derivative at the given points
+
+   Pre Evaluates every basis function derivative at the given points
 
    @li For 0-Form it computes the gradient
    @li For 1-Form it computes the curl
@@ -269,6 +272,10 @@ class Basis{
    @param element A MElement
    @return Same as Basis::getPreEvaluatedFunctions,
    but the orientation is computed with the given element
+   **
+
+   @fn Basis::toString
+   @return Returns a string describing this Basis
 */
 
 //////////////////////
diff --git a/FunctionSpace/BasisGenerator.h b/FunctionSpace/BasisGenerator.h
index fc1e4d986f..64c1033400 100644
--- a/FunctionSpace/BasisGenerator.h
+++ b/FunctionSpace/BasisGenerator.h
@@ -8,12 +8,7 @@
     @class BasisGenerator
     @brief A bunch of class method to generate a Local Basis
 
-    A BasisGenerator is a bunch of @em class
-    methods to generate a Local Basis (BasisLocal).
-
-    @note
-    A BasisGenerator got @em only @em class @em methods,
-    so it is not required to instanciate it.
+    A BasisGenerator is a bunch of class methods to generate a local Basis.
 */
 
 class BasisGenerator{
@@ -51,9 +46,7 @@ class BasisGenerator{
    @fn BasisGenerator::BasisGenerator
    Instantiates a new BasisGenerator
 
-   @note
-   A BasisGenerator got @em only @em class @em methods,
-   so it is not required to instanciate it.
+   This class got only class methods, so it is not required to instanciate it.
    **
 
    @fn BasisGenerator::~BasisGenerator
@@ -61,145 +54,89 @@ class BasisGenerator{
    **
 
    @fn BasisGenerator::generate(size_t, size_t, size_t, std::string)
-   @param elementType The type of the element,
-   on which the requested Basis will be created
+   @param elementType The element type of the requested Basis
    @param basisType The Basis type
    @param order The order or the requested Basis
    @param family A string
 
-   This method will @em instanciate the requested Basis,
-   of the requested family
+   This method will instanciate the requested Basis of the requested family
 
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
+   @return Returns a pointer to a newly instantiated Basis
 
-   @note Element types are:
+   Element types are:
    @li @c TYPE_LIN for Lines
    @li @c TYPE_TRI for Triangles
    @li @c TYPE_QUA for Quadrangles
    @li @c TYPE_TET for Tetrahedrons
    @li @c TYPE_HEX for Hexahedrons
 
-   @note Basis types are:
-   @li @c 0 for 0-Form
-   @li @c 1 for 1-Form
-   @li @c 2 for 2-Form
-   @li @c 3 for 3-Form
+   Basis types are:
+   @li 0 for 0-Form
+   @li 1 for 1-Form
+   @li 2 for 2-Form
+   @li 3 for 3-Form
 
-   @note Families are:
-   @li @c hierarchical for
+   Families are:
+   @li hierarchical for
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis Functions
-   @li @c lagrange for Lagrange's Basis Functions
+   Basis functions
+   @li lagrange for Lagrange's Basis functions
    **
 
    @fn BasisGenerator::generate(size_t, size_t, size_t)
-   @param elementType The type of the element,
-   on which the requested Basis will be created
+   @param elementType The element type of the requested Basis
    @param basisType The Basis type
    @param order The order or the requested Basis
 
    Same as
-   BasisGenerator::generate(@c elementType, @c basisType, @c order, @c hierarchical)
+   BasisGenerator::generate(elementType, basisType, order, @em hierarchical)
 
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
+   @return Returns a pointer to a newly instantiated Basis
    **
 
    @fn BasisGenerator::linHierarchicalGen
    @param basisType The Basis type
    @param order The order or the requested Basis
 
-   This method will @em instanciate the requested Basis,
-   with a @em Line for support
+   This method will instanciate the requested Basis with a Line support
 
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
+   @return Returns a pointer to a newly instantiated Basis
 
-   @note Basis types are:
-   @li @c 0 for 0-Form
-   @li @c 1 for 1-Form
-   @li @c 2 for 2-Form
-   @li @c 3 for 3-Form
+   Basis types are:
+   @li 0 for 0-Form
+   @li 1 for 1-Form
+   @li 2 for 2-Form
+   @li 3 for 3-Form
 
-   @note The Basis family will be @c hierarchical
+   The Basis family will be hierarchical
    **
 
    @fn BasisGenerator::triHierarchicalGen
    @param basisType The Basis type
    @param order The order or the requested Basis
 
-   This method will @em instanciate the requested Basis,
-   with a @em Triangle for support
-
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
-
-   @note Basis types are:
-   @li @c 0 for 0-Form
-   @li @c 1 for 1-Form
-   @li @c 2 for 2-Form
-   @li @c 3 for 3-Form
-
-   @note The Basis family will be @c hierarchical
+   Same as BasisGenerator::linHierarchicalGen() but for Triangles
    **
 
    @fn BasisGenerator::quaHierarchicalGen
    @param basisType The Basis type
    @param order The order or the requested Basis
 
-   This method will @em instanciate the requested Basis,
-   with a @em Quadrangle for support
-
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
-
-   @note Basis types are:
-   @li @c 0 for 0-Form
-   @li @c 1 for 1-Form
-   @li @c 2 for 2-Form
-   @li @c 3 for 3-Form
-
-   @note The Basis family will be @c hierarchical
+   Same as BasisGenerator::linHierarchicalGen() but for Quadrangles
    **
 
    @fn BasisGenerator::tetHierarchicalGen
    @param basisType The Basis type
    @param order The order or the requested Basis
 
-   This method will @em instanciate the requested Basis,
-   with a @em Tetrahedron for support
-
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
-
-   @note Basis types are:
-   @li @c 0 for 0-Form
-   @li @c 1 for 1-Form
-   @li @c 2 for 2-Form
-   @li @c 3 for 3-Form
-
-   @note The Basis family will be @c hierarchical
+   Same as BasisGenerator::linHierarchicalGen() but for Tetrahedra
    **
 
    @fn BasisGenerator::hexHierarchicalGen
    @param basisType The Basis type
    @param order The order or the requested Basis
 
-   This method will @em instanciate the requested Basis,
-   with a @em Hexahedron for support
-
-   @return Returns a @em pointer to a newly
-   @em instantiated Basis
-
-   @note Basis types are:
-   @li @c 0 for 0-Form
-   @li @c 1 for 1-Form
-   @li @c 2 for 2-Form
-   @li @c 3 for 3-Form
-
-   @note The Basis family will be @c hierarchical
-   **
+   Same as BasisGenerator::linHierarchicalGen() but for Hexahedra
  */
 
 //////////////////////
diff --git a/FunctionSpace/BasisHierarchical0Form.h b/FunctionSpace/BasisHierarchical0Form.h
index c1feaba252..373cf5687e 100644
--- a/FunctionSpace/BasisHierarchical0Form.h
+++ b/FunctionSpace/BasisHierarchical0Form.h
@@ -6,9 +6,9 @@
 
 /**
    @interface BasisHierarchical0Form
-   @brief Interface for Hierarchical 0-Form Local Basis
+   @brief Interface for hierarchical 0-form local Basis
 
-   This is an interface for Hierarchical 0-Form Local Basis.@n
+   This is an interface for hierarchical 0-form local Basis.@n
 */
 
 class BasisHierarchical0Form: public BasisLocal{
@@ -57,7 +57,7 @@ class BasisHierarchical0Form: public BasisLocal{
   virtual const fullMatrix<double>&
     getPreEvaluatedDerivatives(size_t orientation) const;
 
-  std::string toString(void) const;
+  virtual std::string toString(void) const;
 
  protected:
   BasisHierarchical0Form(void);
@@ -69,19 +69,12 @@ class BasisHierarchical0Form: public BasisLocal{
 /**
    @internal
    @fn BasisHierarchical0Form::BasisHierarchical0Form
-
    Instanciates an new BasisHierarchical0Form
    @endinternal
    **
 
    @fn BasisHierarchical0Form::~BasisHierarchical0Form
-
    Deletes this BasisHierarchical0Form
-   **
-
-   @fn BasisHierarchical0Form::toString
-   @return Returns a string describing this
-   BasisHierarchical0Form
  */
 
 #endif
diff --git a/FunctionSpace/BasisHierarchical1Form.h b/FunctionSpace/BasisHierarchical1Form.h
index 7cd9bc42fe..84e5be3473 100644
--- a/FunctionSpace/BasisHierarchical1Form.h
+++ b/FunctionSpace/BasisHierarchical1Form.h
@@ -6,9 +6,9 @@
 
 /**
    @interface BasisHierarchical1Form
-   @brief Interface for Hierarchical 1-Form Local Basis
+   @brief Interface for hierarchical 1-form local Basis
 
-   This is an interface for Hierarchical 1-Form Local Basis.@n
+   This is an interface for hierarchical 1-form local Basis.@n
 */
 
 class BasisHierarchical1Form: public BasisLocal{
@@ -57,7 +57,7 @@ class BasisHierarchical1Form: public BasisLocal{
   virtual const fullMatrix<double>&
     getPreEvaluatedDerivatives(size_t orientation) const;
 
-  std::string toString(void) const;
+  virtual std::string toString(void) const;
 
  protected:
   BasisHierarchical1Form(void);
@@ -69,19 +69,12 @@ class BasisHierarchical1Form: public BasisLocal{
 /**
    @internal
    @fn BasisHierarchical1Form::BasisHierarchical1Form
-
    Instanciates an new BasisHierarchical1Form
    @endinternal
    **
 
    @fn BasisHierarchical1Form::~BasisHierarchical1Form
-
    Deletes this BasisHierarchical1Form
-   **
-
-   @fn BasisHierarchical1Form::toString
-   @return Returns a string describing this
-   BasisHierarchical1Form
  */
 
 #endif
diff --git a/FunctionSpace/BasisLagrange.h b/FunctionSpace/BasisLagrange.h
index e3b39b2820..c32d6a581e 100644
--- a/FunctionSpace/BasisLagrange.h
+++ b/FunctionSpace/BasisLagrange.h
@@ -13,11 +13,10 @@
 
    This is an interface for Lagrange Basis.
 
-   These Local Scalar Basis allow a Coefficient Matrix,
-   and a Monomial Matrix, to be consulted.
+   These local scalar Basis allow a coefficient matrix and a monomial matrix
+   to be consulted.
 
-   A vector from an Other Basis (set of Functions)
-   can also be projected into a Lagrange Basis.
+   Coefficients from an other Basis can be projected into a Lagrange Basis.
 */
 
 class BasisLagrange: public BasisLocal{
@@ -89,13 +88,11 @@ class BasisLagrange: public BasisLocal{
 /**
    @internal
    @fn BasisLagrange::BasisLagrange
-
    Instanciates an new BasisLagrange
    @endinternal
    **
 
    @fn BasisLagrange::~BasisLagrange
-
    Deletes this BasisLagrange
    **
 
@@ -109,18 +106,18 @@ class BasisLagrange: public BasisLocal{
 
    @fn BasisLagrange::project(const MElement&, const std::vector<double>&, const FunctionSpaceScalar&)
    @param element A MElement
-   @param coef A vector of coefficient associated
-   to the given Element
-   @param fSpace The (scalar) Function Space
-   of the given Coefficients
-   @return Projects the given Coefficients in this BasisLagrange
+   @param coef A vector of coefficient associated to the given element
+   @param fSpace The (scalar) FunctionSpace of the given coefficients
+   @return Returns a vector with the projection of the given coefficients
+   in this BasisLagrange
    **
 
    @fn BasisLagrange::project(const MElement&, const std::vector<double>&, const FunctionSpaceVector&)
    @param element A MElement
-   @param coef A vector of coefficient associated to the given Element
-   @param fSpace The (vectorial) Function Space of the given Coefficients
-   @return Projects the given Coefficients in this BasisLagrange
+   @param coef A vector of coefficient associated to the given element
+   @param fSpace The (vectorial) FunctionSpace of the given coefficients
+   @return Returns a vector with the projection of the given coefficients
+   in this BasisLagrange
 
    The returned vector has a size three times bigger than coef,
    since we need three coefficients with a Lagrange basis,
diff --git a/FunctionSpace/BasisLocal.h b/FunctionSpace/BasisLocal.h
index 293066d168..c1b9bba400 100644
--- a/FunctionSpace/BasisLocal.h
+++ b/FunctionSpace/BasisLocal.h
@@ -5,9 +5,9 @@
 
 /**
    @interface BasisLocal
-   @brief Common Interface of all Local Basis
+   @brief Common interface of all local Basis
 
-   This class is the @em common @em interface for all Local Basis.
+   This class is the common interface for all local Basis.
  */
 
 class BasisLocal: public Basis{
diff --git a/FunctionSpace/FunctionSpaceScalar.h b/FunctionSpace/FunctionSpaceScalar.h
index 2ddddde0e9..42428d8f0c 100644
--- a/FunctionSpace/FunctionSpaceScalar.h
+++ b/FunctionSpace/FunctionSpaceScalar.h
@@ -6,11 +6,11 @@
 
 /**
    @class FunctionSpaceScalar
-   @brief A Scalar FunctionSpaces
+   @brief A scalar FunctionSpace
 
-   This class is a @em Scalar FunctionSpaces.@n
+   This class is a scalar FunctionSpaces.
 
-   A FunctionSpaceScalar can be @em interpolated.
+   A FunctionSpaceScalar can be interpolated.
 */
 
 
@@ -49,12 +49,27 @@ class FunctionSpaceScalar : public FunctionSpace{
 
 
 /**
-   @fn FunctionSpaceScalar::FunctionSpaceScalar
+   @fn FunctionSpaceScalar::FunctionSpaceScalar(const GroupOfElement&,size_t)
    @param goe A GroupOfElement
-   @em of @em the @em same @em geomtrical @em type
-   @param basis A Basis (with a meaning on @c goe)
-   Instanciates a new FunctionSpaceScalar with the
-   given Basis on the given GroupOfElement
+   @param order A natural number
+   Instanciates a new FunctionSpaceScalar
+   on the given GroupOfElement and with the given order
+
+   The instanciated FunctionSpace will use a hierarchical Basis
+   **
+
+   @fn FunctionSpaceScalar::FunctionSpaceScalar(const GroupOfElement&,size_t,std::string)
+   @param goe A GroupOfElement
+   @param order A natural number
+   @param family A stringr
+   Instanciates a new FunctionSpaceScalar
+   on the given GroupOfElement and with the given order
+
+   The instanciated FunctionSpace will use the requested Basis family:
+   @li If family is equal to 'lagrange' a Lagrange Basis will be used
+   @li If family is equal to 'hierarchical' a hierarchical Basis will be used
+
+   @see See BasisGenerator::generate()
    **
 
    @fn FunctionSpaceScalar::~FunctionSpaceScalar
@@ -64,39 +79,34 @@ class FunctionSpaceScalar : public FunctionSpace{
    @fn FunctionSpaceScalar::interpolate
    @param element The MElement to interpolate on
    @param coef The coefficients of the interpolation
-   @param xyz The coordinate
-   (of point @em inside the given @c element)
-   of the interpolation in the @em Physical Space
+   @param xyz The coordinate (of a point inside the given element)
+   of the interpolation in the @em physical space
 
    @return Returns the (scalar) interpolated value
 
-   @warning
    If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-
-   @todo
-   If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-   ---> check
+   element @em Bad @em Things may happend
    **
 
    @fn FunctionSpaceScalar::interpolateInRefSpace
    @param element The MElement to interpolate on
    @param coef The coefficients of the interpolation
-   @param uvw The coordinate
-   (of point @em inside the given @c element)
-   of the interpolation in the @em Reference Space
+   @param uvw The coordinate (of a point inside the given element)
+   of the interpolation in the @em reference space
 
    @return Returns the (scalar) interpolated value
 
-   @warning
    If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
+   element @em Bad @em Things may happend
 
-   @todo
-   If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-   ---> check
+   @fn FunctionSpaceScalar::interpolateDerivative
+   @param element The MElement to interpolate on
+   @param coef The coefficients of the interpolation
+   @param xyz The coordinate (of a point inside the given element)
+   of the interpolation in the @em physical space
+
+   Same as FunctionSpaceScalar::interpolate(element, coef, xyz),
+   but this method iterpolates the derivative.
 */
 
 
diff --git a/FunctionSpace/FunctionSpaceVector.h b/FunctionSpace/FunctionSpaceVector.h
index c20f4f60f8..7bdaff6a73 100644
--- a/FunctionSpace/FunctionSpaceVector.h
+++ b/FunctionSpace/FunctionSpaceVector.h
@@ -7,11 +7,11 @@
 
 /**
    @class FunctionSpaceVector
-   @brief A Vectorial FunctionSpaces
+   @brief A vectorial FunctionSpaces
 
-   This class is a @em Vectorial FunctionSpaces.@n
+   This class is a vectorial FunctionSpaces.
 
-   A FunctionSpaceVector can be @em interpolated.
+   A FunctionSpaceVector can be interpolated.
 */
 
 
@@ -42,12 +42,27 @@ class FunctionSpaceVector : public FunctionSpace{
 
 
 /**
-   @fn FunctionSpaceVector::FunctionSpaceVector
+   @fn FunctionSpaceVector::FunctionSpaceVector(const GroupOfElement&,size_t)
    @param goe A GroupOfElement
-   @em of @em the @em same @em geomtrical @em type
-   @param basis A Basis (with a meaning on @c goe)
-   Instanciates a new FunctionSpaceVector with the
-   given Basis on the given GroupOfElement
+   @param order A natural number
+   Instanciates a new FunctionSpaceVector
+   on the given GroupOfElement and with the given order
+
+   The instanciated FunctionSpace will use a hierarchical Basis
+   **
+
+   @fn FunctionSpaceVector::FunctionSpaceVector(const GroupOfElement&,size_t,std::string)
+   @param goe A GroupOfElement
+   @param order A natural number
+   @param family A stringr
+   Instanciates a new FunctionSpaceVector
+   on the given GroupOfElement and with the given order
+
+   The instanciated FunctionSpace will use the requested Basis family:
+   @li If family is equal to 'lagrange' a Lagrange Basis will be used
+   @li If family is equal to 'hierarchical' a hierarchical Basis will be used
+
+   @see See BasisGenerator::generate()
    **
 
    @fn FunctionSpaceVector::~FunctionSpaceVector
@@ -57,39 +72,25 @@ class FunctionSpaceVector : public FunctionSpace{
    @fn FunctionSpaceVector::interpolate
    @param element The MElement to interpolate on
    @param coef The coefficients of the interpolation
-   @param xyz The coordinate
-   (of point @em inside the given @c element)
-   of the interpolation in the @em Physical Space
+   @param xyz The coordinate (of a point inside the given element)
+   of the interpolation in the @em physical space
 
    @return Returns the (vectorial) interpolated value
 
-   @warning
-   If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-
-   @todo
    If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-   ---> check
+   element @em Bad @em Things may happend
    **
 
    @fn FunctionSpaceVector::interpolateInRefSpace
    @param element The MElement to interpolate on
    @param coef The coefficients of the interpolation
-   @param uvw The coordinate
-   (of point @em inside the given @c element)
-   of the interpolation in the @em Reference Space
+   @param uvw The coordinate (of a point inside the given element)
+   of the interpolation in the @em reference space
 
    @return Returns the (vectorial) interpolated value
 
-   @warning
-   If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-
-   @todo
    If the given coordinate are not in the given
-   @c element @em Bad @em Things may happend
-   ---> check
+   element @em Bad @em Things may happend
 */
 
 
diff --git a/FunctionSpace/HexEdgeBasis.h b/FunctionSpace/HexEdgeBasis.h
index 469a1d824b..811f5ba900 100644
--- a/FunctionSpace/HexEdgeBasis.h
+++ b/FunctionSpace/HexEdgeBasis.h
@@ -8,11 +8,11 @@
    @brief An Edge Basis for Hexahedra
 
    This class can instantiate an Edge-Based Basis
-   (high or low order) for Hexahedra.@n
+   (high or low order) for Hexahedra.
 
    It uses
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.
  */
 
 class HexEdgeBasis: public BasisHierarchical1Form{
diff --git a/FunctionSpace/HexLagrangeBasis.h b/FunctionSpace/HexLagrangeBasis.h
index c4cd73cf25..986f8c1150 100644
--- a/FunctionSpace/HexLagrangeBasis.h
+++ b/FunctionSpace/HexLagrangeBasis.h
@@ -7,8 +7,8 @@
    @class HexLagrangeBasis
    @brief Lagrange Basis for Hexahedra
 
-   This class can instantiate a @em Lagrange @em Basis
-   for a Hexahedron and for a given Order.@n
+   This class can instantiate a Lagrange Basis
+   for a Hexahedron and for a given order.
 
    It uses
    <a href="http://geuz.org/gmsh/">gmsh</a> Basis.
@@ -18,8 +18,7 @@ class HexLagrangeBasis: public BasisLagrange{
  public:
   //! @param order A natural number
   //!
-  //! Returns a new HexLagrangeBasis
-  //! of the given Order
+  //! Returns a new HexLagrangeBasis of the given order
   HexLagrangeBasis(size_t order);
 
   //! Deletes this Basis
diff --git a/FunctionSpace/HexNodeBasis.h b/FunctionSpace/HexNodeBasis.h
index eb8d9feaf7..1457e3faf7 100644
--- a/FunctionSpace/HexNodeBasis.h
+++ b/FunctionSpace/HexNodeBasis.h
@@ -8,11 +8,11 @@
    @brief A Node Basis for Hexahedra
 
    This class can instantiate a Node-Based Basis
-   (high or low order) for Hexahedra.@n
+   (high or low order) for Hexahedra.
 
    It uses
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.
  */
 
 class HexNodeBasis: public BasisHierarchical0Form{
diff --git a/FunctionSpace/Legendre.h b/FunctionSpace/Legendre.h
index be9b3f8f20..4cf6106de0 100644
--- a/FunctionSpace/Legendre.h
+++ b/FunctionSpace/Legendre.h
@@ -5,19 +5,16 @@
 
 /**
    @class Legendre
-   @brief Generators for legendre Polynomial%s
-
-   This class handles the generation of legendre
-   Polynomial%s of many types:
-   @li Classical legendre (Legendre::legendre)
-   @li Integrated legendre (Legendre::integrated)
-   @li Scaled legendre (Legendre::scaled)
-   @li Integrated Scaled legendre (Legendre::intScaled)
-
-   @note
-   It is @em not @em requiered to instantiate a Legendre class.@n
-   Indeed, all its methods are @em static.@n
-   Each method is actualy a @em specific Polynomial @em generator.
+   @brief Generators for Legendre Polynomial%s
+
+   This class handles the generation of Legendre Polynomial%s of many types:
+   @li Classical Legendre (Legendre::legendre)
+   @li Integrated Legendre (Legendre::integrated)
+   @li Scaled Legendre (Legendre::scaled)
+   @li Integrated Scaled Legendre (Legendre::intScaled)
+
+   It is not requiered to instantiate a Legendre class.
+   Indeed, all its methods are static.
  */
 
 class Legendre{
@@ -47,32 +44,39 @@ class Legendre{
 
 /**
    @fn void Legendre::legendre(Polynomial*, int)
-   @param polynomial An @em allocated array (of size @c 'order' @c + @c 1)
+   @param polynomial An allocated array (of size 'order' + 1)
    for storing the requested legendre Polynomial%s
-   @param order The @em maximal order of the requested Polynomial%s
-   @return Stores in @c 'polynomial' all the @em classical legendre Polynomial%s
-   of order [@c 0, @c 'order']
+   @param order The maximal order of the requested Polynomial%s
+
+   Stores in 'polynomial' all the classical legendre Polynomial%s
+   of order [0, 'order']
+   **
 
    @fn void Legendre::integrated(Polynomial*, int)
-   @param polynomial An @em allocated array (of size @c 'order')
+   @param polynomial An allocated array (of size 'order')
    for storing the requested legendre Polynomial%s
-   @param order The @em maximal order of the requested Polynomial%s
-   @return Stores in @c 'polynomial' all the @em integrated legendre Polynomial%s
-   of order [@c 1, @c 'order']
+   @param order The maximal order of the requested Polynomial%s
+
+   Stores in 'polynomial' all the integrated legendre Polynomial%s
+   of order [1, 'order']
+   **
 
    @fn void Legendre::scaled(Polynomial*, int)
-   @param polynomial An @em allocated array (of size @c 'order' @c + @c 1)
+   @param polynomial An allocated array (of size 'order' + 1)
    for storing the requested legendre Polynomial%s
-   @param order The @em maximal order of the requested Polynomial%s
-   @return Stores in @c 'polynomial' all the @em scaled legendre Polynomial%s
-   of order [@c 0, @c 'order']
+   @param order The maximal order of the requested Polynomial%s
+
+   Stores in 'polynomial' all the scaled legendre Polynomial%s
+   of order [0, 'order']
+   **
 
    @fn void Legendre::intScaled(Polynomial*, int)
-   @param polynomial An @em allocated array (of size @c 'order')
+   @param polynomial An allocated array (of size 'order')
    for storing the requested legendre Polynomial%s
-   @param order The @em maximal order of the requested Polynomial%s
-   @return Stores in @c 'polynomial' all the @em scaled @em integrated
-   legendre Polynomial%s of order [@c 1, @c 'order']
+   @param order The maximal order of the requested Polynomial%s
+
+   Stores in 'polynomial' all the scaled integrated legendre Polynomial%s
+   of order [1, 'order']
  */
 
 #endif
diff --git a/FunctionSpace/LineEdgeBasis.h b/FunctionSpace/LineEdgeBasis.h
index c8c159c60d..02e170a0b8 100644
--- a/FunctionSpace/LineEdgeBasis.h
+++ b/FunctionSpace/LineEdgeBasis.h
@@ -7,14 +7,13 @@
    @class LineEdgeBasis
    @brief An Edge Basis for Lines
 
-   This class can instantiate an Edge-Based Basis
-   (high or low order) for Lines.@n
+   This class can instantiate an Edge-Based Basis (high or low order) for Lines.
 
-   It uses an @em adaptation of
+   It uses an adaptation of
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.@n
 
-   This Basis is a restriction of a Quad Basis to @f$y = 0@f$.@n
+   This Basis is a restriction of a Quad Basis to @f$y = 0@f$.
 
    It also uses the following mapping: @f$x = \frac{u + 1}{2}@f$.
 */
diff --git a/FunctionSpace/LineLagrangeBasis.h b/FunctionSpace/LineLagrangeBasis.h
index d7a0574849..1d92aa7d90 100644
--- a/FunctionSpace/LineLagrangeBasis.h
+++ b/FunctionSpace/LineLagrangeBasis.h
@@ -7,8 +7,8 @@
    @class LineLagrangeBasis
    @brief Lagrange Basis for Lines
 
-   This class can instantiate a @em Lagrange @em Basis
-   for a Line and for a given Order.@n
+   This class can instantiate a Lagrange Basis
+   for a Line and for a given order.
 
    It uses
    <a href="http://geuz.org/gmsh/">gmsh</a> Basis.
@@ -18,8 +18,7 @@ class LineLagrangeBasis: public BasisLagrange{
  public:
   //! @param order A natural number
   //!
-  //! Returns a new LineLagrangeBasis
-  //! of the given Order
+  //! Returns a new LineLagrangeBasis of the given order
   LineLagrangeBasis(size_t order);
 
   //! Deletes this Basis
diff --git a/FunctionSpace/LineNedelecBasis.h b/FunctionSpace/LineNedelecBasis.h
index 91f5042a01..51d4b43789 100644
--- a/FunctionSpace/LineNedelecBasis.h
+++ b/FunctionSpace/LineNedelecBasis.h
@@ -7,8 +7,7 @@
    @class LineNedelecBasis
    @brief Nedelec Basis for Lines
 
-   This class can instantiate a Nedelec Basis
-   for Lines.@n
+   This class can instantiate a Nedelec Basis for Lines
 */
 
 class LineNedelecBasis: public BasisHierarchical1Form{
diff --git a/FunctionSpace/LineNodeBasis.h b/FunctionSpace/LineNodeBasis.h
index 22ea5a907e..4b46bbe497 100644
--- a/FunctionSpace/LineNodeBasis.h
+++ b/FunctionSpace/LineNodeBasis.h
@@ -7,14 +7,13 @@
    @class LineNodeBasis
    @brief A Node Basis for Lines
 
-   This class can instantiate a Node-Based Basis
-   (high or low order) for Lines.@n
+   This class can instantiate a Node-Based Basis (high or low order) for Lines.
 
-   It uses an @em adaptation of
+   It uses an adaptation of
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.
 
-   This Basis is a restriction of a Quad Basis to @f$y = 0@f$.@n
+   This Basis is a restriction of a Quad Basis to @f$y = 0@f$.
 
    It also uses the following mapping: @f$x = \frac{u + 1}{2}@f$.
  */
diff --git a/FunctionSpace/PermutationTree.h b/FunctionSpace/PermutationTree.h
index 364519623c..b40a488c2c 100644
--- a/FunctionSpace/PermutationTree.h
+++ b/FunctionSpace/PermutationTree.h
@@ -155,8 +155,7 @@ class PermutationTree{
    @param vectorToFill An allocated vector of size
    PermutationTree::getSequenceSize()
 
-   Populates the given vector with the permuted sequence of
-   the given ID
+   Populates the given vector with the permuted sequence of the given ID
    **
 
    @fn PermutationTree::addTagToPermutation
@@ -208,7 +207,6 @@ class PermutationTree{
    @param path A file path
 
    Serialize this PermutationTree into the given file path
-   **
  */
 
 //////////////////////
diff --git a/FunctionSpace/QuadEdgeBasis.h b/FunctionSpace/QuadEdgeBasis.h
index 280666d8dd..733da3f0ac 100644
--- a/FunctionSpace/QuadEdgeBasis.h
+++ b/FunctionSpace/QuadEdgeBasis.h
@@ -7,12 +7,11 @@
    @class QuadEdgeBasis
    @brief An Edge Basis for Quads
 
-   This class can instantiate an Edge-Based Basis
-   (high or low order) for Quads.@n
+   This class can instantiate an Edge-Based Basis (high or low order) for Quads.
 
    It uses a variation of
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.@n
 
    The following mapping has been applied to Zaglmayr's Basis for Quads:
    @li @f$x = \frac{u + 1}{2}@f$
diff --git a/FunctionSpace/QuadLagrangeBasis.h b/FunctionSpace/QuadLagrangeBasis.h
index 1b0ad828fb..313aed1e1d 100644
--- a/FunctionSpace/QuadLagrangeBasis.h
+++ b/FunctionSpace/QuadLagrangeBasis.h
@@ -7,8 +7,8 @@
    @class QuadLagrangeBasis
    @brief Lagrange Basis for Quadrangles
 
-   This class can instantiate a @em Lagrange @em Basis
-   for a Quadrangle and for a given Order.@n
+   This class can instantiate a Lagrange Basis
+   for a Quadrangle and for a given order.
 
    It uses
    <a href="http://geuz.org/gmsh/">gmsh</a> Basis.
@@ -18,8 +18,7 @@ class QuadLagrangeBasis: public BasisLagrange{
  public:
   //! @param order A natural number
   //!
-  //! Returns a new QuadLagrangeBasis
-  //! of the given Order
+  //! Returns a new QuadLagrangeBasis of the given order
   QuadLagrangeBasis(size_t order);
 
   //! Deletes this Basis
diff --git a/FunctionSpace/QuadNedelecBasis.h b/FunctionSpace/QuadNedelecBasis.h
index 77194bc45f..59a40af619 100644
--- a/FunctionSpace/QuadNedelecBasis.h
+++ b/FunctionSpace/QuadNedelecBasis.h
@@ -7,8 +7,7 @@
    @class QuadNedelecBasis
    @brief Nedelec Basis for Quads
 
-   This class can instantiate a Nedelec Basis
-   for Quadrangles.@n
+   This class can instantiate a Nedelec Basis for Quadrangles.
 */
 
 class QuadNedelecBasis: public BasisHierarchical1Form{
diff --git a/FunctionSpace/QuadNodeBasis.h b/FunctionSpace/QuadNodeBasis.h
index 6122841ec4..86725a3241 100644
--- a/FunctionSpace/QuadNodeBasis.h
+++ b/FunctionSpace/QuadNodeBasis.h
@@ -7,12 +7,11 @@
    @class QuadNodeBasis
    @brief A Node Basis for Quads
 
-   This class can instantiate a Node-Based Basis
-   (high or low order) for Quads.@n
+   This class can instantiate a Node-Based Basis (high or low order) for Quads.
 
    It uses a variation of
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.@n
 
    The following mapping has been applied to Zaglmayr's Basis for Quads:
    @li @f$x = \frac{u + 1}{2}@f$
diff --git a/FunctionSpace/ReferenceSpace.h b/FunctionSpace/ReferenceSpace.h
index c875e582a0..3bd4d841a0 100644
--- a/FunctionSpace/ReferenceSpace.h
+++ b/FunctionSpace/ReferenceSpace.h
@@ -224,14 +224,14 @@ class ReferenceSpace{
    Deletes this ReferenceSpace
    **
 
-   @fn ReferenceSpace::getNReferenceSpace
-   @returns Returns the number of ABC reference spaces
+   @fn ReferenceSpace::getNOrientation
+   @returns Returns the number of orientations
    **
 
-   @fn ReferenceSpace::getReferenceSpace
+   @fn ReferenceSpace::getOrientation
    @param element A MElement
-   @returns Returns a natural number defining on which ABC space
-   the given element can be mapped
+   @returns
+   Returns a natural number defining the orientation of the given element
 
    If no space is found (e.g. the given element does not belong
    the same geometrical entity as this ReferenceSpace) an Exception is thrown
diff --git a/FunctionSpace/ReferenceSpaceManager.h b/FunctionSpace/ReferenceSpaceManager.h
index c36dc3a77a..ddf7315af0 100644
--- a/FunctionSpace/ReferenceSpaceManager.h
+++ b/FunctionSpace/ReferenceSpaceManager.h
@@ -13,7 +13,7 @@
 
 /**
    @class ReferenceSpaceManager
-   @biref A way to handel ReferenceSpace%s
+   @brief A way to handel ReferenceSpace%s
 
    This class implements class method to handel and access ReferenceSpace%s
  */
diff --git a/FunctionSpace/TetEdgeBasis.h b/FunctionSpace/TetEdgeBasis.h
index 93cdbb4a3a..0cc8d99176 100644
--- a/FunctionSpace/TetEdgeBasis.h
+++ b/FunctionSpace/TetEdgeBasis.h
@@ -8,11 +8,11 @@
    @brief An Edge Basis for Tetrahedra
 
    This class can instantiate an Edge-Based Basis
-   (high or low order) for Tetrahedra.@n
+   (high or low order) for Tetrahedra
 
    It uses
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.
 */
 
 class TetEdgeBasis: public BasisHierarchical1Form{
diff --git a/FunctionSpace/TetLagrangeBasis.h b/FunctionSpace/TetLagrangeBasis.h
index 97b02a31bf..5c19d82547 100644
--- a/FunctionSpace/TetLagrangeBasis.h
+++ b/FunctionSpace/TetLagrangeBasis.h
@@ -7,8 +7,8 @@
    @class TetLagrangeBasis
    @brief Lagrange Basis for Tetrahedra
 
-   This class can instantiate a @em Lagrange @em Basis
-   for a Tetrahedron and for a given Order.@n
+   This class can instantiate a Lagrange Basis
+   for a Tetrahedron and for a given order.
 
    It uses
    <a href="http://geuz.org/gmsh/">gmsh</a> Basis.
@@ -18,8 +18,7 @@ class TetLagrangeBasis: public BasisLagrange{
  public:
   //! @param order A natural number
   //!
-  //! Returns a new TetLagrangeBasis
-  //! of the given Order
+  //! Returns a new TetLagrangeBasis of the given order
   TetLagrangeBasis(size_t order);
 
   //! Deletes this Basis
diff --git a/FunctionSpace/TetNodeBasis.h b/FunctionSpace/TetNodeBasis.h
index 8d98b54a85..6aa732df7a 100644
--- a/FunctionSpace/TetNodeBasis.h
+++ b/FunctionSpace/TetNodeBasis.h
@@ -8,11 +8,11 @@
    @brief A Node Basis for Tetrahedra
 
    This class can instantiate a Node-Based Basis
-   (high or low order) for Tetrahedra.@n
+   (high or low order) for Tetrahedra.
 
    It uses
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.@n
  */
 
 class TetNodeBasis: public BasisHierarchical0Form{
diff --git a/FunctionSpace/TriEdgeBasis.h b/FunctionSpace/TriEdgeBasis.h
index 830d226c3d..77b6f76e37 100644
--- a/FunctionSpace/TriEdgeBasis.h
+++ b/FunctionSpace/TriEdgeBasis.h
@@ -8,11 +8,11 @@
    @brief An Edge Basis for Triangles
 
    This class can instantiate an Edge-Based Basis
-   (high or low order) for Triangles.@n
+   (high or low order) for Triangles.
 
    It uses
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.
 */
 
 class TriEdgeBasis: public BasisHierarchical1Form{
diff --git a/FunctionSpace/TriLagrangeBasis.h b/FunctionSpace/TriLagrangeBasis.h
index 9092be3631..01ea8bed7e 100644
--- a/FunctionSpace/TriLagrangeBasis.h
+++ b/FunctionSpace/TriLagrangeBasis.h
@@ -7,8 +7,8 @@
    @class TriLagrangeBasis
    @brief Lagrange Basis for Triangles
 
-   This class can instantiate a @em Lagrange @em Basis
-   for a Triangle and for a given Order.@n
+   This class can instantiate a Lagrange Basis
+   for a Triangle and for a given order.
 
    It uses
    <a href="http://geuz.org/gmsh/">gmsh</a> Basis.
@@ -18,8 +18,7 @@ class TriLagrangeBasis: public BasisLagrange{
  public:
   //! @param order A natural number
   //!
-  //! Returns a new TriLagrangeBasis
-  //! of the given Order
+  //! Returns a new TriLagrangeBasis of the given order
   TriLagrangeBasis(size_t order);
 
   //! Deletes this Basis
diff --git a/FunctionSpace/TriNedelecBasis.h b/FunctionSpace/TriNedelecBasis.h
index 772d4cb6f6..1b94731a17 100644
--- a/FunctionSpace/TriNedelecBasis.h
+++ b/FunctionSpace/TriNedelecBasis.h
@@ -7,8 +7,7 @@
    @class TriNedelecBasis
    @brief Nedelec Basis for Triangles
 
-   This class can instantiate a Nedelec Basis
-   for Triangles.@n
+   This class can instantiate a Nedelec Basis for Triangles.
 */
 
 class TriNedelecBasis: public BasisHierarchical1Form{
diff --git a/FunctionSpace/TriNodeBasis.h b/FunctionSpace/TriNodeBasis.h
index 630fa510b0..bcb9381f7c 100644
--- a/FunctionSpace/TriNodeBasis.h
+++ b/FunctionSpace/TriNodeBasis.h
@@ -8,11 +8,11 @@
    @brief A Node Basis for Triangles
 
    This class can instantiate a Node-Based Basis
-   (high or low order) for Triangles.@n
+   (high or low order) for Triangles.
 
    It uses
    <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
-   Basis for @em high @em order Polynomial%s generation.@n
+   Basis for high order Polynomial%s generation.
  */
 
 class TriNodeBasis: public BasisHierarchical0Form{
-- 
GitLab