Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __INTEGRALUNIFORMINTERSECTOR_HXX__
00021 #define __INTEGRALUNIFORMINTERSECTOR_HXX__
00022
00023 #include "TargetIntersector.hxx"
00024
00025 #include <cmath>
00026
00027 namespace INTERP_KERNEL
00028 {
00029 template<class MyMeshType, class MyMatrix>
00030 class IntegralUniformIntersector : public TargetIntersector<MyMeshType,MyMatrix>
00031 {
00032 public:
00033 typedef typename MyMeshType::MyConnType ConnType;
00034 public:
00035 IntegralUniformIntersector(const MyMeshType& mesh, bool isAbs);
00036 double performNormalization(double val) const { if(_is_abs) return fabs(val); else return val; }
00037 void setFromTo(bool val) { _from_to=val; }
00038 void putValueIn(ConnType i, double val, MyMatrix& res) const;
00039 protected:
00040 const MyMeshType& _mesh;
00042 bool _from_to;
00043 bool _is_abs;
00044 };
00045
00046 template<class MyMeshType, class MyMatrix>
00047 class IntegralUniformIntersectorP0 : public IntegralUniformIntersector<MyMeshType,MyMatrix>
00048 {
00049 public:
00050 typedef typename MyMeshType::MyConnType ConnType;
00051 public:
00052 IntegralUniformIntersectorP0(const MyMeshType& mesh, bool isAbs);
00053 int getNumberOfRowsOfResMatrix() const;
00054 int getNumberOfColsOfResMatrix() const;
00055 void intersectCells(ConnType targetCell, const std::vector<ConnType>& srcCells, MyMatrix& res);
00056 };
00057
00058 template<class MyMeshType, class MyMatrix>
00059 class IntegralUniformIntersectorP1 : public IntegralUniformIntersector<MyMeshType,MyMatrix>
00060 {
00061 public:
00062 typedef typename MyMeshType::MyConnType ConnType;
00063 public:
00064 IntegralUniformIntersectorP1(const MyMeshType& mesh, bool isAbs);
00065 int getNumberOfRowsOfResMatrix() const;
00066 int getNumberOfColsOfResMatrix() const;
00067 void intersectCells(ConnType targetCell, const std::vector<ConnType>& srcCells, MyMatrix& res);
00068 };
00069 }
00070
00071 #endif