From a5683b4fb685edfb2beb6460ad34e7cf3c90d383 Mon Sep 17 00:00:00 2001
From: Nicolas Marsic <nicolas.marsic@gmail.com>
Date: Tue, 19 Jun 2012 13:48:31 +0000
Subject: [PATCH] First Interface for FunctionSpace -- Remove of LocalFS ?

---
 FunctionSpace/FunctionSpace.h | 39 +++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 FunctionSpace/FunctionSpace.h

diff --git a/FunctionSpace/FunctionSpace.h b/FunctionSpace/FunctionSpace.h
new file mode 100644
index 0000000000..cc8ed83a26
--- /dev/null
+++ b/FunctionSpace/FunctionSpace.h
@@ -0,0 +1,39 @@
+#ifndef _FUNCTIONSPACE_H_
+#define _FUNCTIONSPACE_H_
+
+#include <map>
+#include "Element.h"
+#include "Jacobian.h"
+#include "Basis.h"
+
+/** 
+    @class FunctionSpace
+    @brief A Function Space
+
+    This class represents a Function Space
+
+    @todo Add interpolation @n
+    --> inheritance: FunctionSpaceScalar & FunctionSapceVector @n
+    "double or fullVector" interpolate(Element, pyhsical coordinate, coef) @n
+    "double or fullVector" interpolate(Element, ref coordinate     , coef) @n
+    "double or fullVector" interpolate(physical coordinate, coef) --> use octree @n
+    
+*/
+
+class FunctionSpace{
+ private:
+  class ElementComparator{
+    bool operator()(const Element* a, const Element* b) const;
+  };
+
+  std::map<Element*, Basis*, ElementComparator>* ETBL; // Element To Basis Lookup
+
+ public:
+  
+  void associate(Element& element, Basis& basis);
+  void associate(int physical, Basis& basis);
+  
+  Basis& getBasis(Element& element) const;
+};
+
+#endif
-- 
GitLab