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 __TRIANGULATIONINTERSECTOR_HXX__
00021 #define __TRIANGULATIONINTERSECTOR_HXX__
00022
00023 #include "PlanarIntersectorP0P0.hxx"
00024 #include "PlanarIntersectorP0P1.hxx"
00025 #include "PlanarIntersectorP1P0.hxx"
00026 #include "PlanarIntersectorP1P1.hxx"
00027 #include "PlanarIntersectorP1P0Bary.hxx"
00028
00029 namespace INTERP_KERNEL
00030 {
00031 template<class MyMeshType, class MyMatrix, template <class MeshType, class TheMatrix, class ThisIntersector> class InterpType >
00032 class TriangulationIntersector : public InterpType<MyMeshType,MyMatrix,TriangulationIntersector<MyMeshType,MyMatrix,InterpType> >
00033 {
00034 public:
00035 static const int SPACEDIM=MyMeshType::MY_SPACEDIM;
00036 static const int MESHDIM=MyMeshType::MY_MESHDIM;
00037 typedef typename MyMeshType::MyConnType ConnType;
00038 static const NumberingPolicy numPol=MyMeshType::My_numPol;
00039 public:
00040 TriangulationIntersector(const MyMeshType& meshT, const MyMeshType& meshS,
00041 double dimCaracteristic, double precision, double md3DSurf, double medianPlane, int orientation, int printLevel);
00042 double intersectGeometry(ConnType icellT, ConnType icellS, ConnType nbNodesT, ConnType nbNodesS);
00043 double intersectGeometryWithQuadrangle(const double *quadrangle, const std::vector<double>& sourceCoords, bool isSourceQuad);
00044 double intersectGeometryGeneral(const std::vector<double>& targetCoords, const std::vector<double>& sourceCoords);
00045 double intersectGeoBary(const std::vector<double>& targetCell, bool targetCellQuadratic, const double *sourceCell, std::vector<double>& res);
00046
00047 };
00048 }
00049
00050 #endif