]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/DataStructures/MinimumSpanningTree.hxx
...
[FrontAlgorithms.git] / lib / fpa / DataStructures / MinimumSpanningTree.hxx
index 5eecf290918cb143354f003ad85b999f85408d4f..c7083d9d53d7044b5eefb1099ca76ba44211ebb3 100644 (file)
@@ -76,6 +76,7 @@ SetCollisions( const TCollisions& collisions )
     } // rof
 
   } // rof
+  this->m_Seeds.resize( N );
   this->Modified( );
 }
 
@@ -91,9 +92,9 @@ ClearSeeds( )
 // -------------------------------------------------------------------------
 template< class _TVertex, class _Superclass >
 void fpa::DataStructures::MinimumSpanningTree< _TVertex, _Superclass >::
-AddSeed( const _TVertex& seed )
+AddSeed( const _TVertex& seed, unsigned long fId )
 {
-  this->m_Seeds.push_back( seed );
+  this->m_Seeds[ fId - 1 ] = seed;
   this->Modified( );
 }
 
@@ -101,7 +102,7 @@ AddSeed( const _TVertex& seed )
 template< class _TVertex, class _Superclass >
 typename fpa::DataStructures::MinimumSpanningTree< _TVertex, _Superclass >::
 TVertices fpa::DataStructures::MinimumSpanningTree< _TVertex, _Superclass >::
-GetPath( const _TVertex& a ) const
+GetAxis( const _TVertex& a ) const
 {
   TVertices vertices;
   _TVertex it = a;
@@ -121,14 +122,14 @@ GetPath( const _TVertex& a ) const
 template< class _TVertex, class _Superclass >
 typename fpa::DataStructures::MinimumSpanningTree< _TVertex, _Superclass >::
 TVertices fpa::DataStructures::MinimumSpanningTree< _TVertex, _Superclass >::
-GetPath( const _TVertex& a, const _TVertex& b ) const
+GetAxis( const _TVertex& a, const _TVertex& b ) const
 {
   static const unsigned long _inf =
     std::numeric_limits< unsigned long >::max( );
 
   TVertices vertices;
-  TVertices pa = this->GetPath( a );
-  TVertices pb = this->GetPath( b );
+  TVertices pa = this->GetAxis( a );
+  TVertices pb = this->GetAxis( b );
   if( pa.size( ) > 0 && pb.size( ) > 0 )
   {
     // Find front identifiers
@@ -161,7 +162,7 @@ GetPath( const _TVertex& a, const _TVertex& b ) const
       if( N > 0 )
       {
         // First path: from start vertex to first collision
-        vertices = this->GetPath(
+        vertices = this->GetAxis(
           a, this->m_Collisions[ fpath[ 0 ] ][ fpath[ 1 ] ].first
           );
 
@@ -169,7 +170,7 @@ GetPath( const _TVertex& a, const _TVertex& b ) const
         for( unsigned int i = 1; i < N - 1; ++i )
         {
           TVertices ipath =
-            this->GetPath(
+            this->GetAxis(
               this->m_Collisions[ fpath[ i - 1 ] ][ fpath[ i ] ].first,
               this->m_Collisions[ fpath[ i + 1 ] ][ fpath[ i ] ].first
               );
@@ -180,7 +181,7 @@ GetPath( const _TVertex& a, const _TVertex& b ) const
 
         // Final path: from last collision to end point
         TVertices lpath =
-          this->GetPath(
+          this->GetAxis(
             this->m_Collisions[ fpath[ N - 1 ] ][ fpath[ N - 2 ] ].first, b
             );
         for( long id = 0; id < lpath.size( ); ++id )