00001 #ifndef NMWR_GB_REG2D_GRIDFUNCTIONS_H
00002 #define NMWR_GB_REG2D_GRIDFUNCTIONS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "Gral/Grids/Cartesian2D/element-traits.h"
00019 #include "Gral/Base/grid-function-vector.h"
00020
00024 namespace GrAL {
00025
00039 template<class T>
00040 class grid_function<cartesian2d::RegGrid2D::Vertex,T>
00041 : public grid_function_vector<cartesian2d::RegGrid2D::Vertex,T>
00042 {
00043 typedef grid_function<cartesian2d::RegGrid2D::Vertex,T> self;
00044 typedef grid_function_vector<cartesian2d::RegGrid2D::Vertex,T> base;
00045 public:
00046 typedef typename base::grid_type grid_type;
00047
00048 grid_function() {}
00049 grid_function(grid_type const& gg) : base(gg) {}
00050 grid_function(grid_type const& gg, T const& t) : base(gg,t) {}
00051 };
00052
00053
00059 template<class T>
00060 class grid_function<cartesian2d::RegGrid2D::Edge,T>
00061 : public grid_function_vector<cartesian2d::RegGrid2D::Edge,T>
00062 {
00063 typedef grid_function<cartesian2d::RegGrid2D::Edge,T> self;
00064 typedef grid_function_vector<cartesian2d::RegGrid2D::Edge,T> base;
00065 public:
00066 typedef typename base::grid_type grid_type;
00067
00068 grid_function() {}
00069 grid_function(grid_type const& gg) : base(gg) {}
00070 grid_function(grid_type const& gg, T const& t) : base(gg,t) {}
00071 };
00072
00073
00079 template<class T>
00080 class grid_function<cartesian2d::RegGrid2D::Cell,T>
00081 : public grid_function_vector<cartesian2d::RegGrid2D::Cell,T>
00082 {
00083 typedef grid_function<cartesian2d::RegGrid2D::Cell,T> self;
00084 typedef grid_function_vector<cartesian2d::RegGrid2D::Cell,T> base;
00085 public:
00086 typedef typename base::grid_type grid_type;
00087
00088 grid_function() {}
00089 grid_function(grid_type const& gg) : base(gg) {}
00090 grid_function(grid_type const& gg, T const& t) : base(gg,t) {}
00091 };
00092
00093 }
00094
00095 #endif
00096