00001 00006 #ifndef hpAdaptSpace2DHCurl_H1_hh 00007 #define hpAdaptSpace2DHCurl_H1_hh 00008 00009 #include "hp2D/hpAdaptiveSpaceH1.hh" 00010 #include "hp2Dedge/hpAdaptiveSpaceHCurl.hh" 00011 00012 namespace hp2D { 00013 00014 // *********************************************** hpAdaptiveSpaceHCurl_H1 ** 00015 00026 class hpAdaptiveSpaceHCurl_H1 : public concepts::Space<Real> { 00027 public: 00039 hpAdaptiveSpaceHCurl_H1(hpAdaptiveSpaceHCurl& spcE, 00040 hpAdaptiveSpaceH1& spcN); 00041 virtual ~hpAdaptiveSpaceHCurl_H1() {} 00042 00043 hpAdaptiveSpaceHCurl& spcE() { return spcE_; } 00044 hpAdaptiveSpaceH1& spcN() { return spcN_; } 00045 00047 virtual uint dim() const { return spcE_.dim() + spcN_.dim(); } 00048 virtual uint nelm() const { return 0; } 00049 // virtual concepts::Space<Real>::Scanner* scan() const { return 0; } 00050 virtual Scanner* scan() const { return 0; } 00051 00055 void recomputeShapefunctions(); 00056 protected: 00057 virtual std::ostream& info(std::ostream& os) const; 00058 private: 00060 hpAdaptiveSpaceHCurl& spcE_; 00062 hpAdaptiveSpaceH1& spcN_; 00063 }; 00064 00065 } // namespace hp2D 00066 00067 #endif // hpAdaptSpace2DHCurl_H1_hh 00068