X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDPartitioner%2FMEDPARTITIONER_JointFinder.cxx;h=1e826eac792581c63b7483ed2d24ff130d62bd86;hb=5f6d7861933f9c7596059d7a847e58624e177216;hp=87dbc36beb496bdcc63dc62b2b8bf06732c26ea7;hpb=10f37bf6f33a762626d7f1093b2f5450c1688667;p=tools%2Fmedcoupling.git diff --git a/src/MEDPartitioner/MEDPARTITIONER_JointFinder.cxx b/src/MEDPartitioner/MEDPARTITIONER_JointFinder.cxx index 87dbc36be..1e826eac7 100644 --- a/src/MEDPartitioner/MEDPARTITIONER_JointFinder.cxx +++ b/src/MEDPartitioner/MEDPARTITIONER_JointFinder.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -48,13 +48,13 @@ void MEDPARTITIONER::JointFinder::findCommonDistantNodes() _node_node[i].resize(nbdomain); } int nbproc=_domain_selector->nbProcs(); - std::vector* > bbtree(nbdomain,(BBTree<3>*) 0); + std::vector bbtree(nbdomain,(BBTreeOfDim*) 0); std::vector bbxi(nbdomain,(double*) 0); std::vector rev(nbdomain,(ParaMEDMEM::DataArrayInt*) 0); std::vector revIndx(nbdomain,(ParaMEDMEM::DataArrayInt*) 0); int meshDim=-1; int spaceDim=-1; - + //init rev and revIndx and bbtree for my domain (of me:proc n) for (int mydomain=0; mydomain (bbx,0,0,myMesh->getNumberOfNodes(),-1e-12); + bbtree[mydomain]=new BBTreeOfDim( spaceDim, bbx,0,0,myMesh->getNumberOfNodes(),-1e-12); //keep bbx because need it in getIntersectingElems //no delete [] bbx yet bbxi[mydomain]=bbx; } - + //send my domains to other proc an receive other domains from other proc for (int isource=0; isourcegetProcessorID(itarget); - + std::vector vec(spaceDim*sourceMesh->getNumberOfNodes()); std::copy(sourceMesh->getCoords()->getConstPointer(),sourceMesh->getCoords()->getConstPointer()+sourceMesh->getNumberOfNodes()*spaceDim,&vec[0]); SendDoubleVec(vec,targetProc); - + //retrieving target data for storage in commonDistantNodes array std::vector localCorrespondency; RecvIntVec(localCorrespondency, targetProc);