X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FINTERP_KERNEL%2FPolyhedron3D2DIntersectorP0P0.txx;h=4c1e4fb9ef159abfd532593ddef111c6a359342c;hb=be4c3bb042d5426fbbe54378b9d7b35173ab27ef;hp=ce3d1a10c4494f8d0a3e49b2b6cdf45726c4ae8c;hpb=f1a947b32a36d8dc8e3079b25305bb50e8cb59a0;p=tools%2Fmedcoupling.git diff --git a/src/INTERP_KERNEL/Polyhedron3D2DIntersectorP0P0.txx b/src/INTERP_KERNEL/Polyhedron3D2DIntersectorP0P0.txx index ce3d1a10c..4c1e4fb9e 100644 --- a/src/INTERP_KERNEL/Polyhedron3D2DIntersectorP0P0.txx +++ b/src/INTERP_KERNEL/Polyhedron3D2DIntersectorP0P0.txx @@ -81,7 +81,6 @@ namespace INTERP_KERNEL * * @param targetCell in C mode. * @param srcCells in C mode. - * */ template void Polyhedron3D2DIntersectorP0P0::intersectCells(ConnType targetCell, @@ -111,7 +110,7 @@ namespace INTERP_KERNEL { // we could store mapping local -> global numbers too, but not sure it is worth it const int globalNodeNum = getGlobalNumberOfNode(i, OTT::indFC(*iterCellS), src_mesh); - polyNodes[i]=globalNodeNum; + polyNodes[i] = globalNodeNum; polyCoords[i] = const_cast(src_mesh.getCoordinatesPtr()+MyMeshType::MY_SPACEDIM*globalNodeNum); } @@ -125,46 +124,43 @@ namespace INTERP_KERNEL listOfTetraFacesTreated, listOfTetraFacesColinear); - if(surface!=0.) { - - matrix[targetCell].insert(std::make_pair(cellSrcIdx, surface)); - - bool isSrcFaceColinearWithFaceOfTetraTargetCell = false; - std::set::iterator iter; - for (iter = listOfTetraFacesColinear.begin(); iter != listOfTetraFacesColinear.end(); ++iter) - { - if (listOfTetraFacesTreated.count(*iter) != 1) - { - isSrcFaceColinearWithFaceOfTetraTargetCell = false; - break; - } - else - { - isSrcFaceColinearWithFaceOfTetraTargetCell = true; - } - } - - if (isSrcFaceColinearWithFaceOfTetraTargetCell) - { - DuplicateFacesType::iterator intersectFacesIter = _intersect_faces.find(cellSrcIdx); - if (intersectFacesIter != _intersect_faces.end()) - { - intersectFacesIter->second.insert(targetCell); - } - else - { - std::set targetCellSet; - targetCellSet.insert(targetCell); - _intersect_faces.insert(std::make_pair(cellSrcIdx, targetCellSet)); - } - - } - - } - - delete[] polyNodes; - delete[] polyCoords; - + if(surface!=0.) + { + + matrix[targetCell].insert(std::make_pair(cellSrcIdx, surface)); + + bool isSrcFaceColinearWithFaceOfTetraTargetCell = false; + std::set::iterator iter; + for (iter = listOfTetraFacesColinear.begin(); iter != listOfTetraFacesColinear.end(); ++iter) + { + if (listOfTetraFacesTreated.count(*iter) != 1) + { + isSrcFaceColinearWithFaceOfTetraTargetCell = false; + break; + } + else + { + isSrcFaceColinearWithFaceOfTetraTargetCell = true; + } + } + + if (isSrcFaceColinearWithFaceOfTetraTargetCell) + { + DuplicateFacesType::iterator intersectFacesIter = _intersect_faces.find(cellSrcIdx); + if (intersectFacesIter != _intersect_faces.end()) + { + intersectFacesIter->second.insert(targetCell); + } + else + { + std::set targetCellSet; + targetCellSet.insert(targetCell); + _intersect_faces.insert(std::make_pair(cellSrcIdx, targetCellSet)); + } + } + } + delete [] polyNodes; + delete [] polyCoords; } _split.releaseArrays(); }