00001 /* Abscissa & weights for cases of common edge and vertex 00002 double layer potential, constant test/trial functions 00003 */ 00004 00005 #ifndef constDLP_aw_hh 00006 #define constDLP_aw_hh 00007 00008 #include "bemInt/exceptns.hh" 00009 #include "basics/typedefs.hh" 00010 00011 namespace bem { 00012 00013 using concepts::Real; 00014 00015 // *************************************************** ConstDLPAbscWghtEdg ** 00016 00020 class ConstDLPAbscWghtEdg { 00021 static const Real* const abswght_[15]; 00022 public: 00023 inline const Real* const operator[](uint i) const; 00024 }; 00025 00026 inline const Real* const ConstDLPAbscWghtEdg::operator[](uint i) const { 00027 if (i >= 15) throw conceptsException(NoOfIntegrationPointsToHigh()); 00028 return abswght_[i]; 00029 } 00030 00031 // *************************************************** ConstDLPAbscWghtVtx ** 00032 00036 class ConstDLPAbscWghtVtx { 00037 static const Real* const abswght_[15]; 00038 public: 00039 inline const Real* const operator[](uint i) const; 00040 }; 00041 00042 inline const Real* const ConstDLPAbscWghtVtx::operator[](uint i) const { 00043 if (i >= 15) throw conceptsException(NoOfIntegrationPointsToHigh()); 00044 return abswght_[i]; 00045 } 00046 00047 } // namespace bem 00048 00049 #endif // constDLP_aw_hh