From: akl Date: Thu, 29 May 2014 10:19:20 +0000 (+0400) Subject: Don't process already processed objects. X-Git-Tag: V7_5_0a1~50^2~33 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=2d26f49c9fdfafe22e8d80d692054150c35b6061;p=modules%2Fgeom.git Don't process already processed objects. --- diff --git a/src/GEOM_I/GEOM_Gen_i.cc b/src/GEOM_I/GEOM_Gen_i.cc index e982b12b8..3578df7b9 100755 --- a/src/GEOM_I/GEOM_Gen_i.cc +++ b/src/GEOM_I/GEOM_Gen_i.cc @@ -3082,6 +3082,11 @@ void GEOM_Gen_i::getUpwardDependency( GEOM::GEOM_BaseObject_ptr gbo, GEOMUtils::LevelsList &upLevelList, int level ) { std::string aGboIOR = gbo->GetEntry(); + for (int i=0; i < upLevelList.size(); i++ ) { + GEOMUtils::LevelInfo aMap = upLevelList.at(i); + if ( aMap.count( aGboIOR ) > 0 ) + return; + } //std::cout << "\n\nAKL: upnode IOR: " << aGboIOR << endl; //std::cout << "AKL: level: " << level << endl; GEOMUtils::NodeLinks anIORs; @@ -3131,7 +3136,7 @@ void GEOM_Gen_i::getDownwardDependency( SALOMEDS::Study_ptr theStudy, return; std::string aGboIOR = gbo->GetEntry(); - cout << "for " << aGboIOR << " at level " << level << endl; + //cout << "for " << aGboIOR << " at level " << level << endl; /*if ( level > 0 ) { if ( level >= downLevelList.size() ) { downLevelList.push_back( aLevelMap );