From: eap Date: Thu, 4 May 2006 13:40:00 +0000 (+0000) Subject: Modif forced by changes in SMESH_MeshEditor::FindFaceInSet() X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=830094fe0afc08f3bfd88a1c7d2250add21c954d;p=modules%2Fsmesh.git Modif forced by changes in SMESH_MeshEditor::FindFaceInSet() --- diff --git a/src/SMESH/SMESH_Pattern.cxx b/src/SMESH/SMESH_Pattern.cxx index 909e9f5a4..b5d732f58 100644 --- a/src/SMESH/SMESH_Pattern.cxx +++ b/src/SMESH/SMESH_Pattern.cxx @@ -3243,8 +3243,13 @@ void SMESH_Pattern:: myPolyElems.reserve( myIdsOnBoundary.size() ); // make a set of refined elements - set< const SMDS_MeshElement* > avoidSet, elemSet; - avoidSet.insert( myElements.begin(), myElements.end() ); + map avoidSet, elemSet; + std::vector::iterator itv = myElements.begin(); + for(; itv!=myElements.end(); itv++) { + const SMDS_MeshElement* el = (*itv); + avoidSet.insert( make_pair(el->GetID(),el) ); + } + //avoidSet.insert( myElements.begin(), myElements.end() ); map< TNodeSet, list< list< int > > >::iterator indListIt, nn_IdList; @@ -3274,7 +3279,7 @@ void SMESH_Pattern:: SMESH_MeshEditor::FindFaceInSet( n1, n2, elemSet, avoidSet ); if ( face ) { - avoidSet.insert ( face ); + avoidSet.insert ( make_pair(face->GetID(),face) ); myPolyElems.push_back( face ); // some links of are split; @@ -3395,7 +3400,7 @@ void SMESH_Pattern:: while ( eIt->more() ) { const SMDS_MeshElement* elem = eIt->next(); - if ( !volTool.Set( elem ) || !avoidSet.insert( elem ).second ) + if ( !volTool.Set( elem ) || !avoidSet.insert( make_pair(elem->GetID(),elem) ).second ) continue; // skip faces or refined elements // add polyhedron definition myPolyhedronQuantities.push_back(vector ());