X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FBase%2FMinimumSpanningTree.hxx;h=d04cd361cd087a70db9368c07aa9330c2a12b1f7;hb=a44c34f8d4118730a65ab3a7f9b6fc12614ce67a;hp=00e4159c98c489c6140d9e58572815c646449123;hpb=0f167b3c36824ce1cd126e287aeeade116f60ccb;p=FrontAlgorithms.git diff --git a/lib/fpa/Base/MinimumSpanningTree.hxx b/lib/fpa/Base/MinimumSpanningTree.hxx index 00e4159..d04cd36 100644 --- a/lib/fpa/Base/MinimumSpanningTree.hxx +++ b/lib/fpa/Base/MinimumSpanningTree.hxx @@ -124,7 +124,6 @@ typename fpa::Base::MinimumSpanningTree< _TVertex, _Superclass >:: TVertices fpa::Base::MinimumSpanningTree< _TVertex, _Superclass >:: GetPath( const _TVertex& a, const _TVertex& b ) const { -#error no hace bien el backtracking! static const unsigned long _inf = std::numeric_limits< unsigned long >::max( ); @@ -164,7 +163,7 @@ GetPath( const _TVertex& a, const _TVertex& b ) const { // First path: from start vertex to first collision vertices = this->GetPath( - a, this->m_Collisions[ fpath[ 1 ] ][ fpath[ 0 ] ].first + a, this->m_Collisions[ fpath[ 0 ] ][ fpath[ 1 ] ].first ); // Intermediary paths @@ -172,8 +171,8 @@ GetPath( const _TVertex& a, const _TVertex& b ) const { TVertices ipath = this->GetPath( - this->m_Collisions[ fpath[ i ] ][ fpath[ i - 1 ] ].first, - this->m_Collisions[ fpath[ i ] ][ fpath[ i + 1 ] ].first + this->m_Collisions[ fpath[ i - 1 ] ][ fpath[ i ] ].first, + this->m_Collisions[ fpath[ i + 1 ] ][ fpath[ i ] ].first ); for( long id = 0; id < ipath.size( ); ++id ) vertices.push_back( ipath[ id ] ); @@ -183,7 +182,7 @@ GetPath( const _TVertex& a, const _TVertex& b ) const // Final path: from last collision to end point TVertices lpath = this->GetPath( - this->m_Collisions[ fpath[ N - 2 ] ][ fpath[ N - 1 ] ].first, b + this->m_Collisions[ fpath[ N - 1 ] ][ fpath[ N - 2 ] ].first, b ); for( long id = 0; id < lpath.size( ); ++id ) vertices.push_back( lpath[ id ] );