]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Base/MinimumSpanningTree.hxx
...
[FrontAlgorithms.git] / lib / fpa / Base / MinimumSpanningTree.hxx
index 00e4159c98c489c6140d9e58572815c646449123..d04cd361cd087a70db9368c07aa9330c2a12b1f7 100644 (file)
@@ -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 ] );