From: Leonardo Flórez-Valencia Date: Mon, 29 May 2017 03:05:13 +0000 (-0500) Subject: ... X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=FrontAlgorithms.git;a=commitdiff_plain;h=c370699e769d8db284c58534c7a45f11dc9fb8b3 ... --- 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( ); diff --git a/lib/fpa/Base/RegionGrow.hxx b/lib/fpa/Base/RegionGrow.hxx index b942dfd..09fe59a 100644 --- a/lib/fpa/Base/RegionGrow.hxx +++ b/lib/fpa/Base/RegionGrow.hxx @@ -121,7 +121,8 @@ GenerateData( ) // Add neighborhood TVertices neighbors = this->_GetNeighbors( node.first ); 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 ) ) @@ -133,13 +134,18 @@ GenerateData( ) this->GetNumberOfSeeds( ) > 1 && nColl == 1 ) + { while( q.size( ) > 0 ) q.pop( ); + coll = true; + + } // fi } else q.push( _TNode( neigh, node.second ) ); + ++neighIt; - } // rof + } // elihw } // elihw this->_FreeMarks( );