00001 00006 #ifndef arrayelementformula_hh 00007 #define arrayelementformula_hh 00008 00009 #include "toolbox/array.hh" 00010 #include "formula/elementFormulaContainer.hh" 00011 00012 00013 namespace hp2D { 00014 00015 // forward declarations 00016 template<typename F> 00017 class BaseQuad; 00018 00019 00020 // *************************************************** ArrayElementFormula ** 00021 00024 template<class F = Real> 00025 class ArrayElementFormula : public concepts::Array<F> { 00026 public: 00031 ArrayElementFormula(); 00033 ArrayElementFormula(const BaseQuad<Real>& elm, 00034 const concepts::ElementFormulaContainer<F> frm); 00038 void compute(const BaseQuad<Real>& elm, 00039 const concepts::ElementFormulaContainer<F> frm); 00040 }; 00041 00042 template<class F> 00043 ArrayElementFormula<F>::ArrayElementFormula() : concepts::Array<F>() {} 00044 00045 template<class F> 00046 ArrayElementFormula<F>::ArrayElementFormula 00047 (const BaseQuad<Real>& elm, const concepts::ElementFormulaContainer<F> frm) 00048 : concepts::Array<F>(0) 00049 { 00050 compute(elm, frm); 00051 } 00052 00053 00054 } // namespace hp2D 00055 00056 #endif // arrayelementformula_hh