00001 00007 #ifndef buildHCurlTColumns2D_hh 00008 #define buildHCurlTColumns2D_hh 00009 00010 #include "hp2D/buildTColumnsBase.hh" 00011 #include "basics/typedefs.hh" 00012 00013 namespace hp2D { 00014 00015 // ************************************************ BuildHCurlEdgeTColumns ** 00016 00037 template<class F = concepts::Real> 00038 class BuildHCurlEdgeTColumns : public BuildTColumnsBase<F> { 00039 public: 00040 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper; 00042 BuildHCurlEdgeTColumns() : BuildTColumnsBase<F>() {} 00049 BuildHCurlEdgeTColumns(SpaceHelper& spc) : BuildTColumnsBase<F>(spc) {} 00050 00051 virtual ~BuildHCurlEdgeTColumns() {} 00052 00057 virtual void operator()(const concepts::Connector2& cntr, 00058 concepts::TColumn<F>*& T1) const; 00059 virtual BuildHCurlEdgeTColumns<F>* clone(SpaceHelper* spc = 0) const; 00060 }; 00061 00062 // *********************************************** BuildHCurlInnerTColumns ** 00063 00082 template<class F = concepts::Real> 00083 class BuildHCurlInnerTColumns : public BuildTColumnsBase<F> { 00084 public: 00085 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper; 00087 BuildHCurlInnerTColumns() : BuildTColumnsBase<F>() {} 00094 BuildHCurlInnerTColumns(SpaceHelper& spc) : BuildTColumnsBase<F>(spc) {} 00095 00096 virtual ~BuildHCurlInnerTColumns() {} 00097 00102 virtual void operator()(const concepts::Connector2& cntr, 00103 concepts::TColumn<F>*& T1) const; 00104 virtual BuildHCurlInnerTColumns<F>* clone(SpaceHelper* spc = 0) const; 00105 }; 00106 00107 } // namespace hp2D 00108 00109 #endif // buildTColumnsBase2D_hh