Go to the documentation of this file.00001 #ifndef buildH1TColumns2D_hh
00002 #define buildH1TColumns2D_hh
00003
00004 #include "buildTColumnsBase.hh"
00005
00006 namespace concepts {
00007
00008
00009 class EdgesOfVertices;
00010 }
00011
00012 namespace hp2D {
00013
00014
00015
00035 template<class F = concepts::Real>
00036 class BuildH1VtxTColumns : public BuildTColumnsBase<F> {
00037 public:
00038 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper;
00040 BuildH1VtxTColumns() : BuildTColumnsBase<F>() {}
00047 BuildH1VtxTColumns(SpaceHelper& spc) : BuildTColumnsBase<F>(spc) {}
00048
00049 virtual ~BuildH1VtxTColumns() {}
00050
00051 virtual void operator()(const concepts::Connector2& cntr,
00052 concepts::TColumn<F>*& T1) const;
00053 virtual BuildH1VtxTColumns<F>* clone(SpaceHelper* spc = 0) const;
00054 protected:
00055 virtual std::ostream& info(std::ostream& os) const;
00056 };
00057
00058
00059
00080 template<class F = concepts::Real>
00081 class BuildH1EdgeTColumns : public BuildTColumnsBase<F> {
00082 public:
00083 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper;
00085 BuildH1EdgeTColumns() : BuildTColumnsBase<F>() {}
00092 BuildH1EdgeTColumns(SpaceHelper& spc) : BuildTColumnsBase<F>(spc) {}
00093
00094 virtual ~BuildH1EdgeTColumns() {}
00095
00100 virtual void operator()(const concepts::Connector2& cntr,
00101 concepts::TColumn<F>*& T1) const;
00102 virtual BuildH1EdgeTColumns<F>* clone(SpaceHelper* spc = 0) const;
00103 protected:
00104 virtual std::ostream& info(std::ostream& os) const;
00105 };
00106
00107
00108
00149 template<class F = concepts::Real>
00150 class BuildH1InnerTColumns : public BuildTColumnsBase<F> {
00151 public:
00152 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper;
00154 BuildH1InnerTColumns() : BuildTColumnsBase<F>() {}
00161 BuildH1InnerTColumns(SpaceHelper& spc) : BuildTColumnsBase<F>(spc) {}
00162
00163 virtual ~BuildH1InnerTColumns() {}
00164
00169 virtual void operator()(const concepts::Connector2& cntr,
00170 concepts::TColumn<F>*& T1) const;
00171 virtual BuildH1InnerTColumns<F>* clone(SpaceHelper* spc = 0) const;
00186 virtual bool trunk(uint p, uint q, const ushort P[2]) const;
00187 protected:
00188 virtual std::ostream& info(std::ostream& os) const;
00189 };
00190
00191
00192
00212 template<class F = concepts::Real>
00213 class BuildH1InnerTColumnsLinTrunk : public BuildH1InnerTColumns<F> {
00214 public:
00215 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper;
00217 BuildH1InnerTColumnsLinTrunk() : BuildH1InnerTColumns<F>() {}
00224 BuildH1InnerTColumnsLinTrunk(SpaceHelper& spc)
00225 : BuildH1InnerTColumns<F>(spc) {}
00226 virtual ~BuildH1InnerTColumnsLinTrunk() {}
00227 virtual BuildH1InnerTColumnsLinTrunk<F>* clone(SpaceHelper* spc = 0) const;
00228
00229 virtual bool trunk(uint p, uint q, const ushort P[2]) const;
00230 protected:
00231 virtual std::ostream& info(std::ostream& os) const;
00232 };
00233
00234
00235
00252 template<class F = concepts::Real>
00253 class BuildH1InnerTColumnsHypTrunk : public BuildH1InnerTColumns<F> {
00254 public:
00255 typedef typename concepts::SpaceHelper<F, SpacePreBuilder> SpaceHelper;
00257 BuildH1InnerTColumnsHypTrunk() : BuildH1InnerTColumns<F>() {}
00264 BuildH1InnerTColumnsHypTrunk(SpaceHelper& spc)
00265 : BuildH1InnerTColumns<F>(spc) {}
00266 virtual ~BuildH1InnerTColumnsHypTrunk() {}
00267 virtual BuildH1InnerTColumnsHypTrunk<F>* clone(SpaceHelper* spc = 0) const;
00268
00269 virtual bool trunk(uint p, uint q, const ushort P[2]) const;
00270 protected:
00271 virtual std::ostream& info(std::ostream& os) const;
00272 };
00273
00274 }
00275
00276 #endif // buildH1TColumns2D_hh