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