X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FBase%2FDijkstra.hxx;h=b7c10f478a2d6eee59fa04fbc08b0501ca23b4e6;hb=c370699e769d8db284c58534c7a45f11dc9fb8b3;hp=3584b1ab406a57a282c2b491345840208101522c;hpb=e82144a4e9fb907de430c8aca4b92577a81033fb;p=FrontAlgorithms.git diff --git a/lib/fpa/Base/Dijkstra.hxx b/lib/fpa/Base/Dijkstra.hxx index 3584b1a..b7c10f4 100644 --- a/lib/fpa/Base/Dijkstra.hxx +++ b/lib/fpa/Base/Dijkstra.hxx @@ -137,7 +137,8 @@ GenerateData( ) // Add neighborhood TVertices neighbors = this->_GetNeighbors( node.Vertex ); typename TVertices::const_iterator neighIt = neighbors.begin( ); - for( ; neighIt != neighbors.end( ); ++neighIt ) + bool coll = false; + while( neighIt != neighbors.end( ) && !coll ) { TVertex neigh = *neighIt; if( this->_IsMarked( neigh ) ) @@ -149,7 +150,11 @@ GenerateData( ) this->GetNumberOfSeeds( ) > 1 && nColl == 1 ) + { q.clear( ); + coll = true; + + } // fi } else { @@ -171,8 +176,9 @@ GenerateData( ) } // fi } // fi + ++neighIt; - } // rof + } // elihw } // elihw this->_FreeMarks( );