00001 /* class which can change the quadrature points for hp2D::BaseQuad's 00002 */ 00003 00004 #ifndef hprecompShpFct2D_hh 00005 #define hprecompShpFct2D_hh 00006 00007 #include "basics/typedefs.hh" 00008 #include "basics/outputOperator.hh" 00009 #include "hp2D/quad.hh" 00010 00011 namespace hp2D { 00012 00013 // ***************************************************** RecomputeShapefct ** 00014 00015 class RecomputeShapefct : concepts::OutputOperator { 00016 public: 00017 RecomputeShapefct(concepts::Space<Real>& spc, 00018 enum concepts::intRule rule, 00019 bool constant, uint points) : 00020 spc_(&spc), rule_(rule), constant_(constant), dtltPoints_(points) {} 00021 uint& operator[](const uint attrib) { return points_[attrib]; } 00023 void compute(); 00024 protected: 00025 virtual std::ostream& info(std::ostream& os) const; 00026 concepts::Space<Real>* spc_; 00027 enum concepts::intRule rule_; 00028 bool constant_; 00029 uint dtltPoints_; 00030 std::map<uint, uint> points_; 00031 }; 00032 00033 } // namespace hp2D 00034 00035 #endif // hprecompShpFct2D_hh