From 8c81e2edbd7d0ce6ce9966372d7cbe23992029d1 Mon Sep 17 00:00:00 2001
From: Nicolas Marsic <nicolas.marsic@gmail.com>
Date: Fri, 18 Jan 2013 09:24:18 +0000
Subject: [PATCH] Renaming: BasisHierarchical{Scalar,Vector,} becomes
 BasisHierarchical{0Form,1From,}

---
 ...lScalar.cpp => BasisHierarchical0From.cpp} | 30 +++++++++----------
 ...hicalScalar.h => BasisHierarchical0From.h} | 28 ++++++++---------
 ...lVector.cpp => BasisHierarchical1From.cpp} | 30 +++++++++----------
 ...hicalVector.h => BasisHierarchical1From.h} | 28 ++++++++---------
 FunctionSpace/CMakeLists.txt                  |  4 +--
 FunctionSpace/HexEdgeBasis.h                  | 16 +++++-----
 FunctionSpace/HexNodeBasis.h                  | 14 ++++-----
 FunctionSpace/LineEdgeBasis.h                 | 16 +++++-----
 FunctionSpace/LineNedelecBasis.h              | 10 +++----
 FunctionSpace/LineNodeBasis.h                 | 16 +++++-----
 FunctionSpace/QuadEdgeBasis.h                 | 16 +++++-----
 FunctionSpace/QuadNodeBasis.h                 | 14 ++++-----
 FunctionSpace/TetEdgeBasis.h                  | 16 +++++-----
 FunctionSpace/TetNodeBasis.h                  | 16 +++++-----
 FunctionSpace/TriEdgeBasis.h                  | 16 +++++-----
 FunctionSpace/TriNedelecBasis.h               | 10 +++----
 FunctionSpace/TriNodeBasis.h                  | 16 +++++-----
 17 files changed, 148 insertions(+), 148 deletions(-)
 rename FunctionSpace/{BasisHierarchicalScalar.cpp => BasisHierarchical0From.cpp} (88%)
 rename FunctionSpace/{BasisHierarchicalScalar.h => BasisHierarchical0From.h} (72%)
 rename FunctionSpace/{BasisHierarchicalVector.cpp => BasisHierarchical1From.cpp} (90%)
 rename FunctionSpace/{BasisHierarchicalVector.h => BasisHierarchical1From.h} (72%)

diff --git a/FunctionSpace/BasisHierarchicalScalar.cpp b/FunctionSpace/BasisHierarchical0From.cpp
similarity index 88%
rename from FunctionSpace/BasisHierarchicalScalar.cpp
rename to FunctionSpace/BasisHierarchical0From.cpp
index 5acf26b9a8..c6290335c3 100644
--- a/FunctionSpace/BasisHierarchicalScalar.cpp
+++ b/FunctionSpace/BasisHierarchical0From.cpp
@@ -1,10 +1,10 @@
 #include <sstream>
 #include "Exception.h"
-#include "BasisHierarchicalScalar.h"
+#include "BasisHierarchical0From.h"
 
 using namespace std;
 
-BasisHierarchicalScalar::BasisHierarchicalScalar(void){
+BasisHierarchical0From::BasisHierarchical0From(void){
   // Scalar Basis ? //
   scalar = true;
 
@@ -20,7 +20,7 @@ BasisHierarchicalScalar::BasisHierarchicalScalar(void){
   preEvaluatedGradFunction = NULL;
 }
 
-BasisHierarchicalScalar::~BasisHierarchicalScalar(void){
+BasisHierarchical0From::~BasisHierarchical0From(void){
   // Grad Basis //
   if(hasGrad){
     for(unsigned int i = 0; i < nRefSpace; i++){
@@ -49,17 +49,17 @@ BasisHierarchicalScalar::~BasisHierarchicalScalar(void){
   }
 }
 
-unsigned int BasisHierarchicalScalar::
+unsigned int BasisHierarchical0From::
 getNOrientation(void) const{
   return refSpace->getNPermutation();
 }
 
-unsigned int BasisHierarchicalScalar::
+unsigned int BasisHierarchical0From::
 getOrientation(const MElement& element) const{
   return refSpace->getPermutation(element);
 }
 
-fullMatrix<double>* BasisHierarchicalScalar::
+fullMatrix<double>* BasisHierarchical0From::
 getFunctions(const MElement& element,
 	     double u, double v, double w) const{
 
@@ -77,7 +77,7 @@ getFunctions(const MElement& element,
   return values;
 }
 
-fullMatrix<double>* BasisHierarchicalScalar::
+fullMatrix<double>* BasisHierarchical0From::
 getFunctions(unsigned int orientation,
 	     double u, double v, double w) const{
 
@@ -92,7 +92,7 @@ getFunctions(unsigned int orientation,
   return values;
 }
 
-void BasisHierarchicalScalar::
+void BasisHierarchical0From::
 preEvaluateFunctions(const fullMatrix<double>& point) const{
   // Delete if older //
   if(preEvaluated){
@@ -123,7 +123,7 @@ preEvaluateFunctions(const fullMatrix<double>& point) const{
   preEvaluated = true;
 }
 
-void BasisHierarchicalScalar::
+void BasisHierarchical0From::
 preEvaluateDerivatives(const fullMatrix<double>& point) const{
   // Build Grad //
   if(!hasGrad)
@@ -168,17 +168,17 @@ preEvaluateDerivatives(const fullMatrix<double>& point) const{
   preEvaluatedGrad = true;
 }
 
-const fullMatrix<double>& BasisHierarchicalScalar::
+const fullMatrix<double>& BasisHierarchical0From::
 getPreEvaluatedFunctions(const MElement& element) const{
   return getPreEvaluatedFunctions(refSpace->getPermutation(element));
 }
 
-const fullMatrix<double>& BasisHierarchicalScalar::
+const fullMatrix<double>& BasisHierarchical0From::
 getPreEvaluatedDerivatives(const MElement& element) const{
   return getPreEvaluatedDerivatives(refSpace->getPermutation(element));
 }
 
-const fullMatrix<double>& BasisHierarchicalScalar::
+const fullMatrix<double>& BasisHierarchical0From::
 getPreEvaluatedFunctions(unsigned int orientation) const{
   if(!preEvaluated)
     throw Exception("getPreEvaluatedFunction: function has not been preEvaluated");
@@ -186,7 +186,7 @@ getPreEvaluatedFunctions(unsigned int orientation) const{
   return *preEvaluatedFunction[orientation];
 }
 
-const fullMatrix<double>& BasisHierarchicalScalar::
+const fullMatrix<double>& BasisHierarchical0From::
 getPreEvaluatedDerivatives(unsigned int orientation) const{
   if(!preEvaluatedGrad)
     throw Exception("getPreEvaluatedDerivative: gradient has not been preEvaluated");
@@ -194,7 +194,7 @@ getPreEvaluatedDerivatives(unsigned int orientation) const{
   return *preEvaluatedGradFunction[orientation];
 }
 
-void BasisHierarchicalScalar::getGrad(void) const{
+void BasisHierarchical0From::getGrad(void) const{
   // Alloc //
   grad = new vector<Polynomial>**[nRefSpace];
 
@@ -211,7 +211,7 @@ void BasisHierarchicalScalar::getGrad(void) const{
   hasGrad = true;
 }
 
-string BasisHierarchicalScalar::toString(void) const{
+string BasisHierarchical0From::toString(void) const{
   stringstream stream;
   unsigned int i = 0;
   const unsigned int refSpace = 0;
diff --git a/FunctionSpace/BasisHierarchicalScalar.h b/FunctionSpace/BasisHierarchical0From.h
similarity index 72%
rename from FunctionSpace/BasisHierarchicalScalar.h
rename to FunctionSpace/BasisHierarchical0From.h
index 65941fb193..6acc773198 100644
--- a/FunctionSpace/BasisHierarchicalScalar.h
+++ b/FunctionSpace/BasisHierarchical0From.h
@@ -1,5 +1,5 @@
-#ifndef _BASISHIERARCHICALSCALAR_H_
-#define _BASISHIERARCHICALSCALAR_H_
+#ifndef _BASISHIERARCHICAL0FROM_H_
+#define _BASISHIERARCHICAL0FROM_H_
 
 #include <string>
 #include "BasisLocal.h"
@@ -7,13 +7,13 @@
 #include "ReferenceSpace.h"
 
 /**
-   @interface BasisHierarchicalScalar
-   @brief Interface for Hierarchical Scalar Local Basis
+   @interface BasisHierarchical0From
+   @brief Interface for Hierarchical 0-From Local Basis
 
-   This is an interface for Hierarchical Scalar Local Basis.@n
+   This is an interface for Hierarchical 0-From Local Basis.@n
 */
 
-class BasisHierarchicalScalar: public BasisLocal{
+class BasisHierarchical0From: public BasisLocal{
  protected:
   // Orientation //
   ReferenceSpace* refSpace;
@@ -34,7 +34,7 @@ class BasisHierarchicalScalar: public BasisLocal{
   mutable fullMatrix<double>** preEvaluatedGradFunction;
 
  public:
-  virtual ~BasisHierarchicalScalar(void);
+  virtual ~BasisHierarchical0From(void);
 
   virtual unsigned int getNOrientation(void) const;
   virtual unsigned int getOrientation(const MElement& element) const;
@@ -63,7 +63,7 @@ class BasisHierarchicalScalar: public BasisLocal{
   std::string toString(void) const;
 
  protected:
-  BasisHierarchicalScalar(void);
+  BasisHierarchical0From(void);
 
  private:
   void getGrad(void) const;
@@ -71,20 +71,20 @@ class BasisHierarchicalScalar: public BasisLocal{
 
 /**
    @internal
-   @fn BasisHierarchicalScalar::BasisHierarchicalScalar
+   @fn BasisHierarchical0From::BasisHierarchical0From
 
-   Instanciates an new BasisHierarchicalScalar
+   Instanciates an new BasisHierarchical0From
    @endinternal
    **
 
-   @fn BasisHierarchicalScalar::~BasisHierarchicalScalar
+   @fn BasisHierarchical0From::~BasisHierarchical0From
 
-   Deletes this BasisHierarchicalScalar
+   Deletes this BasisHierarchical0From
    **
 
-   @fn BasisHierarchicalScalar::toString
+   @fn BasisHierarchical0From::toString
    @return Returns a string describing this
-   BasisHierarchicalScalar
+   BasisHierarchical0From
  */
 
 #endif
diff --git a/FunctionSpace/BasisHierarchicalVector.cpp b/FunctionSpace/BasisHierarchical1From.cpp
similarity index 90%
rename from FunctionSpace/BasisHierarchicalVector.cpp
rename to FunctionSpace/BasisHierarchical1From.cpp
index de07bf0e6b..89e3033107 100644
--- a/FunctionSpace/BasisHierarchicalVector.cpp
+++ b/FunctionSpace/BasisHierarchical1From.cpp
@@ -1,10 +1,10 @@
 #include <sstream>
 #include "Exception.h"
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 using namespace std;
 
-BasisHierarchicalVector::BasisHierarchicalVector(void){
+BasisHierarchical1From::BasisHierarchical1From(void){
   // Scalar Basis ?//
   scalar = false;
 
@@ -20,7 +20,7 @@ BasisHierarchicalVector::BasisHierarchicalVector(void){
   preEvaluatedCurlFunction = NULL;
 }
 
-BasisHierarchicalVector::~BasisHierarchicalVector(void){
+BasisHierarchical1From::~BasisHierarchical1From(void){
   // Curl Basis //
   if(hasCurl){
     for(unsigned int i = 0; i < nRefSpace; i++){
@@ -49,17 +49,17 @@ BasisHierarchicalVector::~BasisHierarchicalVector(void){
   }
 }
 
-unsigned int BasisHierarchicalVector::
+unsigned int BasisHierarchical1From::
 getNOrientation(void) const{
   return refSpace->getNPermutation();
 }
 
-unsigned int BasisHierarchicalVector::
+unsigned int BasisHierarchical1From::
 getOrientation(const MElement& element) const{
   return refSpace->getPermutation(element);
 }
 
-fullMatrix<double>* BasisHierarchicalVector::
+fullMatrix<double>* BasisHierarchical1From::
 getFunctions(const MElement& element,
 	     double u, double v, double w) const{
 
@@ -83,7 +83,7 @@ getFunctions(const MElement& element,
   return values;
 }
 
-fullMatrix<double>* BasisHierarchicalVector::
+fullMatrix<double>* BasisHierarchical1From::
 getFunctions(unsigned int orientation,
 	     double u, double v, double w) const{
 
@@ -104,7 +104,7 @@ getFunctions(unsigned int orientation,
   return values;
 }
 
-void BasisHierarchicalVector::
+void BasisHierarchical1From::
 preEvaluateFunctions(const fullMatrix<double>& point) const{
   // Delete if older //
   if(preEvaluated){
@@ -145,7 +145,7 @@ preEvaluateFunctions(const fullMatrix<double>& point) const{
   preEvaluated = true;
 }
 
-void BasisHierarchicalVector::
+void BasisHierarchical1From::
 preEvaluateDerivatives(const fullMatrix<double>& point) const{
   // Build Curl //
   if(!hasCurl)
@@ -190,17 +190,17 @@ preEvaluateDerivatives(const fullMatrix<double>& point) const{
   preEvaluatedCurl = true;
 }
 
-const fullMatrix<double>& BasisHierarchicalVector::
+const fullMatrix<double>& BasisHierarchical1From::
 getPreEvaluatedFunctions(const MElement& element) const{
   return getPreEvaluatedFunctions(refSpace->getPermutation(element));
 }
 
-const fullMatrix<double>& BasisHierarchicalVector::
+const fullMatrix<double>& BasisHierarchical1From::
 getPreEvaluatedDerivatives(const MElement& element) const{
   return getPreEvaluatedDerivatives(refSpace->getPermutation(element));
 }
 
-const fullMatrix<double>& BasisHierarchicalVector::
+const fullMatrix<double>& BasisHierarchical1From::
 getPreEvaluatedFunctions(unsigned int orientation) const{
   if(!preEvaluated)
     throw Exception("getPreEvaluatedFunction: function has not been preEvaluated");
@@ -208,7 +208,7 @@ getPreEvaluatedFunctions(unsigned int orientation) const{
   return *preEvaluatedFunction[orientation];
 }
 
-const fullMatrix<double>& BasisHierarchicalVector::
+const fullMatrix<double>& BasisHierarchical1From::
 getPreEvaluatedDerivatives(unsigned int orientation) const{
   if(!preEvaluatedCurl)
     throw Exception("getPreEvaluatedDerivative: curl has not been preEvaluated");
@@ -216,7 +216,7 @@ getPreEvaluatedDerivatives(unsigned int orientation) const{
   return *preEvaluatedCurlFunction[orientation];
 }
 
-void BasisHierarchicalVector::getCurl(void) const{
+void BasisHierarchical1From::getCurl(void) const{
   // Alloc //
   curl = new vector<Polynomial>**[nRefSpace];
 
@@ -233,7 +233,7 @@ void BasisHierarchicalVector::getCurl(void) const{
   hasCurl = true;
 }
 
-string BasisHierarchicalVector::toString(void) const{
+string BasisHierarchical1From::toString(void) const{
   stringstream stream;
   unsigned int i = 0;
   const unsigned int refSpace = 0;
diff --git a/FunctionSpace/BasisHierarchicalVector.h b/FunctionSpace/BasisHierarchical1From.h
similarity index 72%
rename from FunctionSpace/BasisHierarchicalVector.h
rename to FunctionSpace/BasisHierarchical1From.h
index b45a834d30..82faf8005b 100644
--- a/FunctionSpace/BasisHierarchicalVector.h
+++ b/FunctionSpace/BasisHierarchical1From.h
@@ -1,5 +1,5 @@
-#ifndef _BASISHIERARCHICALVECTOR_H_
-#define _BASISHIERARCHICALVECTOR_H_
+#ifndef _BASISHIERARCHICAL1FROM_H_
+#define _BASISHIERARCHICAL1FROM_H_
 
 #include <string>
 #include "BasisLocal.h"
@@ -7,13 +7,13 @@
 #include "ReferenceSpace.h"
 
 /**
-   @interface BasisHierarchicalVector
-   @brief Interface for Hierarchical Vectorial Local Basis
+   @interface BasisHierarchical1From
+   @brief Interface for Hierarchical 1-Froml Local Basis
 
-   This is an interface for Hierarchical Vectorial Local Basis.@n
+   This is an interface for Hierarchical 1-Froml Local Basis.@n
 */
 
-class BasisHierarchicalVector: public BasisLocal{
+class BasisHierarchical1From: public BasisLocal{
  protected:
   // Orientation //
   ReferenceSpace* refSpace;
@@ -34,7 +34,7 @@ class BasisHierarchicalVector: public BasisLocal{
   mutable fullMatrix<double>** preEvaluatedCurlFunction;
 
  public:
-  virtual ~BasisHierarchicalVector(void);
+  virtual ~BasisHierarchical1From(void);
 
   virtual unsigned int getNOrientation(void) const;
   virtual unsigned int getOrientation(const MElement& element) const;
@@ -63,7 +63,7 @@ class BasisHierarchicalVector: public BasisLocal{
   std::string toString(void) const;
 
  protected:
-  BasisHierarchicalVector(void);
+  BasisHierarchical1From(void);
 
  private:
   void getCurl(void) const;
@@ -71,20 +71,20 @@ class BasisHierarchicalVector: public BasisLocal{
 
 /**
    @internal
-   @fn BasisHierarchicalVector::BasisHierarchicalVector
+   @fn BasisHierarchical1From::BasisHierarchical1From
 
-   Instanciates an new BasisHierarchicalVector
+   Instanciates an new BasisHierarchical1From
    @endinternal
    **
 
-   @fn BasisHierarchicalVector::~BasisHierarchicalVector
+   @fn BasisHierarchical1From::~BasisHierarchical1From
 
-   Deletes this BasisHierarchicalVector
+   Deletes this BasisHierarchical1From
    **
 
-   @fn BasisHierarchicalVector::toString
+   @fn BasisHierarchical1From::toString
    @return Returns a string describing this
-   BasisHierarchicalVector
+   BasisHierarchical1From
  */
 
 #endif
diff --git a/FunctionSpace/CMakeLists.txt b/FunctionSpace/CMakeLists.txt
index c2256639d3..7700ce8a55 100644
--- a/FunctionSpace/CMakeLists.txt
+++ b/FunctionSpace/CMakeLists.txt
@@ -17,8 +17,8 @@ set(SRC
   BasisGenerator.cpp
 
   BasisLagrange.cpp
-  BasisHierarchicalScalar.cpp
-  BasisHierarchicalVector.cpp
+  BasisHierarchical0From.cpp
+  BasisHierarchical1From.cpp
 
   LineNodeBasis.cpp
   LineEdgeBasis.cpp
diff --git a/FunctionSpace/HexEdgeBasis.h b/FunctionSpace/HexEdgeBasis.h
index 0daa7609ac..4dd16a9d95 100644
--- a/FunctionSpace/HexEdgeBasis.h
+++ b/FunctionSpace/HexEdgeBasis.h
@@ -1,27 +1,27 @@
 #ifndef _HEXEDGEBASIS_H_
 #define _HEXEDGEBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class HexEdgeBasis
    @brief An Edge Basis for Hexahedra
- 
-   This class can instantiate an Edge-Based Basis 
+
+   This class can instantiate an Edge-Based Basis
    (high or low order) for Hexahedra.@n
-   
-   It uses 
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+
+   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
  */
 
-class HexEdgeBasis: public BasisHierarchicalVector{
+class HexEdgeBasis: public BasisHierarchical1From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Edge-Basis for Hexahedra of the given order
   HexEdgeBasis(int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~HexEdgeBasis(void);
diff --git a/FunctionSpace/HexNodeBasis.h b/FunctionSpace/HexNodeBasis.h
index 68d4bc1693..855e28729d 100644
--- a/FunctionSpace/HexNodeBasis.h
+++ b/FunctionSpace/HexNodeBasis.h
@@ -1,21 +1,21 @@
 #ifndef _HEXNODEBASIS_H_
 #define _HEXNODEBASIS_H_
 
-#include "BasisHierarchicalScalar.h"
+#include "BasisHierarchical0From.h"
 
 /**
    @class HexNodeBasis
    @brief A Node Basis for Hexahedra
- 
-   This class can instantiate a Node-Based Basis 
+
+   This class can instantiate a Node-Based Basis
    (high or low order) for Hexahedra.@n
-   
-   It uses 
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+
+   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
  */
 
-class HexNodeBasis: public BasisHierarchicalScalar{
+class HexNodeBasis: public BasisHierarchical0From{
  public:
   //! @param order The order of the Basis
   //!
diff --git a/FunctionSpace/LineEdgeBasis.h b/FunctionSpace/LineEdgeBasis.h
index 50519874e3..411730c509 100644
--- a/FunctionSpace/LineEdgeBasis.h
+++ b/FunctionSpace/LineEdgeBasis.h
@@ -1,31 +1,31 @@
 #ifndef _LINEEDGEBASIS_H_
 #define _LINEEDGEBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class LineEdgeBasis
    @brief An Edge Basis for Lines
- 
-   This class can instantiate an Edge-Based Basis 
+
+   This class can instantiate an Edge-Based Basis
    (high or low order) for Lines.@n
-   
+
    It uses an @em adaptation of
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
    Basis for @em high @em order Polynomial%s generation.@n
 
    This Basis is a restriction of a Quad Basis to @f$y = 0@f$.@n
-   
+
    It also uses the following mapping: @f$x = \frac{u + 1}{2}@f$.
 */
 
-class LineEdgeBasis: public BasisHierarchicalVector{
+class LineEdgeBasis: public BasisHierarchical1From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Edge-Basis for Lines of the given order
   LineEdgeBasis(unsigned int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~LineEdgeBasis(void);
diff --git a/FunctionSpace/LineNedelecBasis.h b/FunctionSpace/LineNedelecBasis.h
index a23ee315bc..edb4a699e8 100644
--- a/FunctionSpace/LineNedelecBasis.h
+++ b/FunctionSpace/LineNedelecBasis.h
@@ -1,22 +1,22 @@
 #ifndef _LINENEDELECBASIS_H_
 #define _LINENEDELECBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class LineNedelecBasis
    @brief Nedelec Basis for Lines
- 
-   This class can instantiate a Nedelec Basis 
+
+   This class can instantiate a Nedelec Basis
    for Lines.@n
 */
 
-class LineNedelecBasis: public BasisHierarchicalVector{
+class LineNedelecBasis: public BasisHierarchical1From{
  public:
   //! Returns a new Nedelec Basis for Lines
   //!
   LineNedelecBasis(void);
-  
+
   //! Deletes this Basis
   //!
   virtual ~LineNedelecBasis(void);
diff --git a/FunctionSpace/LineNodeBasis.h b/FunctionSpace/LineNodeBasis.h
index cc555d92d8..6da87b9d87 100644
--- a/FunctionSpace/LineNodeBasis.h
+++ b/FunctionSpace/LineNodeBasis.h
@@ -1,31 +1,31 @@
 #ifndef _LINENODEBASIS_H_
 #define _LINENODEBASIS_H_
 
-#include "BasisHierarchicalScalar.h"
+#include "BasisHierarchical0From.h"
 
 /**
    @class LineNodeBasis
    @brief A Node Basis for Lines
- 
-   This class can instantiate a Node-Based Basis 
+
+   This class can instantiate a Node-Based Basis
    (high or low order) for Lines.@n
-   
+
    It uses an @em adaptation of
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
    Basis for @em high @em order Polynomial%s generation.@n
 
    This Basis is a restriction of a Quad Basis to @f$y = 0@f$.@n
-   
+
    It also uses the following mapping: @f$x = \frac{u + 1}{2}@f$.
  */
 
-class LineNodeBasis: public BasisHierarchicalScalar{
+class LineNodeBasis: public BasisHierarchical0From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Node-Basis for Lines of the given order
   LineNodeBasis(unsigned int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~LineNodeBasis(void);
diff --git a/FunctionSpace/QuadEdgeBasis.h b/FunctionSpace/QuadEdgeBasis.h
index b5a624b5eb..721c25d55c 100644
--- a/FunctionSpace/QuadEdgeBasis.h
+++ b/FunctionSpace/QuadEdgeBasis.h
@@ -1,31 +1,31 @@
 #ifndef _QUADEDGEBASIS_H_
 #define _QUADEDGEBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class QuadEdgeBasis
    @brief An Edge Basis for Quads
- 
-   This class can instantiate an Edge-Based Basis 
+
+   This class can instantiate an Edge-Based Basis
    (high or low order) for Quads.@n
-   
+
    It uses a variation of
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
    Basis for @em high @em 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$
-   @li @f$y = \frac{v + 1}{2}@f$ 
+   @li @f$y = \frac{v + 1}{2}@f$
 */
 
-class QuadEdgeBasis: public BasisHierarchicalVector{
+class QuadEdgeBasis: public BasisHierarchical1From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Edge-Basis for Quads of the given order
   QuadEdgeBasis(int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~QuadEdgeBasis(void);
diff --git a/FunctionSpace/QuadNodeBasis.h b/FunctionSpace/QuadNodeBasis.h
index 16c2eed893..15f6205d20 100644
--- a/FunctionSpace/QuadNodeBasis.h
+++ b/FunctionSpace/QuadNodeBasis.h
@@ -1,25 +1,25 @@
 #ifndef _QUADNODEBASIS_H_
 #define _QUADNODEBASIS_H_
 
-#include "BasisHierarchicalScalar.h"
+#include "BasisHierarchical0From.h"
 
 /**
    @class QuadNodeBasis
    @brief A Node Basis for Quads
- 
-   This class can instantiate a Node-Based Basis 
+
+   This class can instantiate a Node-Based Basis
    (high or low order) for Quads.@n
-   
+
    It uses a variation of
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>
    Basis for @em high @em 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$
    @li @f$y = \frac{v + 1}{2}@f$
 */
 
-class QuadNodeBasis: public BasisHierarchicalScalar{
+class QuadNodeBasis: public BasisHierarchical0From{
  public:
   //! @param order The order of the Basis
   //!
diff --git a/FunctionSpace/TetEdgeBasis.h b/FunctionSpace/TetEdgeBasis.h
index e0f58df669..61e4f982d2 100644
--- a/FunctionSpace/TetEdgeBasis.h
+++ b/FunctionSpace/TetEdgeBasis.h
@@ -1,27 +1,27 @@
 #ifndef _TETEDGEBASIS_H_
 #define _TETEDGEBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class TetEdgeBasis
    @brief An Edge Basis for Tetrahedra
- 
-   This class can instantiate an Edge-Based Basis 
+
+   This class can instantiate an Edge-Based Basis
    (high or low order) for Tetrahedra.@n
-   
-   It uses 
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+
+   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
 */
 
-class TetEdgeBasis: public BasisHierarchicalVector{
+class TetEdgeBasis: public BasisHierarchical1From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Edge-Basis for Tetrahedra of the given order
   TetEdgeBasis(unsigned int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~TetEdgeBasis(void);
diff --git a/FunctionSpace/TetNodeBasis.h b/FunctionSpace/TetNodeBasis.h
index efa5043dae..b1ffb21930 100644
--- a/FunctionSpace/TetNodeBasis.h
+++ b/FunctionSpace/TetNodeBasis.h
@@ -1,27 +1,27 @@
 #ifndef _TETNODEBASIS_H_
 #define _TETNODEBASIS_H_
 
-#include "BasisHierarchicalScalar.h"
+#include "BasisHierarchical0From.h"
 
 /**
    @class TetNodeBasis
    @brief A Node Basis for Tetrahedra
- 
-   This class can instantiate a Node-Based Basis 
+
+   This class can instantiate a Node-Based Basis
    (high or low order) for Tetrahedra.@n
-   
-   It uses 
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+
+   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
  */
 
-class TetNodeBasis: public BasisHierarchicalScalar{
+class TetNodeBasis: public BasisHierarchical0From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Node-Basis for Tetrahedra of the given order
   TetNodeBasis(unsigned int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~TetNodeBasis(void);
diff --git a/FunctionSpace/TriEdgeBasis.h b/FunctionSpace/TriEdgeBasis.h
index 2dbcb9bbe7..856b6e0dae 100644
--- a/FunctionSpace/TriEdgeBasis.h
+++ b/FunctionSpace/TriEdgeBasis.h
@@ -1,27 +1,27 @@
 #ifndef _TRIEDGEBASIS_H_
 #define _TRIEDGEBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class TriEdgeBasis
    @brief An Edge Basis for Triangles
- 
-   This class can instantiate an Edge-Based Basis 
+
+   This class can instantiate an Edge-Based Basis
    (high or low order) for Triangles.@n
-   
-   It uses 
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+
+   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
 */
 
-class TriEdgeBasis: public BasisHierarchicalVector{
+class TriEdgeBasis: public BasisHierarchical1From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Edge-Basis for Triangles of the given order
   TriEdgeBasis(unsigned int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~TriEdgeBasis(void);
diff --git a/FunctionSpace/TriNedelecBasis.h b/FunctionSpace/TriNedelecBasis.h
index 47a4d480c6..078fc32538 100644
--- a/FunctionSpace/TriNedelecBasis.h
+++ b/FunctionSpace/TriNedelecBasis.h
@@ -1,22 +1,22 @@
 #ifndef _TRINEDELECBASIS_H_
 #define _TRINEDELECBASIS_H_
 
-#include "BasisHierarchicalVector.h"
+#include "BasisHierarchical1From.h"
 
 /**
    @class TriNedelecBasis
    @brief Nedelec Basis for Triangles
- 
-   This class can instantiate a Nedelec Basis 
+
+   This class can instantiate a Nedelec Basis
    for Triangles.@n
 */
 
-class TriNedelecBasis: public BasisHierarchicalVector{
+class TriNedelecBasis: public BasisHierarchical1From{
  public:
   //! Returns a new Nedelec Basis for Triangles
   //!
   TriNedelecBasis(void);
-  
+
   //! Deletes this Basis
   //!
   virtual ~TriNedelecBasis(void);
diff --git a/FunctionSpace/TriNodeBasis.h b/FunctionSpace/TriNodeBasis.h
index 129ca4ce2c..80d96f3e9d 100644
--- a/FunctionSpace/TriNodeBasis.h
+++ b/FunctionSpace/TriNodeBasis.h
@@ -1,27 +1,27 @@
 #ifndef _TRINODEBASIS_H_
 #define _TRINODEBASIS_H_
 
-#include "BasisHierarchicalScalar.h"
+#include "BasisHierarchical0From.h"
 
 /**
    @class TriNodeBasis
    @brief A Node Basis for Triangles
- 
-   This class can instantiate a Node-Based Basis 
+
+   This class can instantiate a Node-Based Basis
    (high or low order) for Triangles.@n
-   
-   It uses 
-   <a href="http://www.hpfem.jku.at/publications/szthesis.pdf">Zaglmayr's</a>  
+
+   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
  */
 
-class TriNodeBasis: public BasisHierarchicalScalar{
+class TriNodeBasis: public BasisHierarchical0From{
  public:
   //! @param order The order of the Basis
   //!
   //! Returns a new Node-Basis for Triangles of the given order
   TriNodeBasis(unsigned int order);
-  
+
   //! Deletes this Basis
   //!
   virtual ~TriNodeBasis(void);
-- 
GitLab