X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Gen.cxx;h=7a3c34a50a0f8d309bcebfc26aacba9878ac1b16;hp=143c05296374087d4f125cdcd2096979804c2d2f;hb=9d28d73b09e96b23cf9937afa17474f98508df18;hpb=36409e98c921c2a34fa81b0e006a49b62c9821d0 diff --git a/src/SMESH/SMESH_Gen.cxx b/src/SMESH/SMESH_Gen.cxx index 143c05296..7a3c34a50 100644 --- a/src/SMESH/SMESH_Gen.cxx +++ b/src/SMESH/SMESH_Gen.cxx @@ -602,9 +602,18 @@ SMESH_Algo *SMESH_Gen::GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape) list algoList; aMesh.GetHypotheses( aShape, filter, algoList, true ); - if (algoList.size() != 1 ) + + if ( algoList.empty() ) return NULL; + if (algoList.size() > 1 ) { // check if there is one algo several times + list ::iterator algo = algoList.begin(); + for ( ; algo != algoList.end(); ++algo ) + if ( (*algo) != algoList.front() && + (*algo)->GetName() != algoList.front()->GetName() ) + return NULL; + } + return const_cast ( static_cast( algoList.front() )); }