From 830094fe0afc08f3bfd88a1c7d2250add21c954d Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 4 May 2006 13:40:00 +0000 Subject: [PATCH] Modif forced by changes in SMESH_MeshEditor::FindFaceInSet() --- src/SMESH/SMESH_Pattern.cxx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 ()); -- 2.39.2