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 __PLANARINTERSECTORP0P0_HXX__
00021 #define __PLANARINTERSECTORP0P0_HXX__
00022
00023 #include "PlanarIntersector.hxx"
00024
00025 namespace INTERP_KERNEL
00026 {
00027 template<class MyMeshType, class MyMatrix, class ConcreteP0P0Intersector>
00028 class PlanarIntersectorP0P0 : public PlanarIntersector<MyMeshType,MyMatrix>
00029 {
00030 public:
00031 static const int SPACEDIM=MyMeshType::MY_SPACEDIM;
00032 static const int MESHDIM=MyMeshType::MY_MESHDIM;
00033 typedef typename MyMeshType::MyConnType ConnType;
00034 static const NumberingPolicy numPol=MyMeshType::My_numPol;
00035 protected:
00036 PlanarIntersectorP0P0(const MyMeshType& meshT, const MyMeshType& meshS, double dimCaracteristic, double precision, double md3DSurf, double medianPlane, bool doRotate, int orientation, int printLevel);
00037 public:
00038 int getNumberOfRowsOfResMatrix() const;
00039 int getNumberOfColsOfResMatrix() const;
00040 void intersectCells(ConnType icellT, const std::vector<ConnType>& icellsS, MyMatrix& res);
00044 double intersectGeometry(ConnType icellT, ConnType icellS, ConnType nbNodesT, ConnType nbNodesS) { return asLeaf().intersectGeometry(icellT,icellS,nbNodesT,nbNodesS); }
00045 protected:
00046 ConcreteP0P0Intersector& asLeaf() { return static_cast<ConcreteP0P0Intersector&>(*this); }
00047 };
00048 }
00049
00050 #endif