]> Creatis software - FrontAlgorithms.git/commitdiff
...
authorLeonardo Flórez-Valencia <leonardo.florez@gmail.com>
Fri, 14 Jul 2017 13:25:47 +0000 (08:25 -0500)
committerLeonardo Flórez-Valencia <leonardo.florez@gmail.com>
Fri, 14 Jul 2017 13:25:47 +0000 (08:25 -0500)
lib/fpa/Base/MinimumSpanningTree.hxx
lib/fpa/Base/SingleSeedInterface.h
lib/fpa/Base/SingleSeedInterface.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 ] );
index dc45fe9b49e7998f4d3fe90fbf18e8754eba3185..0b2147b24845172b402fa27457017d58f6acfada 100644 (file)
@@ -71,6 +71,7 @@ namespace fpa
       typedef std::set< TNode, TNodeCompare > TNodes;
 
     public:
+      TSeeds& GetSeeds( );
       const TSeeds& GetSeeds( ) const;
 
       virtual void SetSeed( const TVertex& seed );
index 6db301c8220517057abbda389daafc5721e533e9..c669618552e7b66eaaec344aac06f2cda44d5e52 100644 (file)
@@ -6,6 +6,17 @@
 #ifndef __fpa__Base__SingleSeedInterface__hxx__
 #define __fpa__Base__SingleSeedInterface__hxx__
 
+// -------------------------------------------------------------------------
+template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
+typename
+fpa::Base::SingleSeedInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+TSeeds&
+fpa::Base::SingleSeedInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+GetSeeds( )
+{
+  return( this->m_Seeds );
+}
+
 // -------------------------------------------------------------------------
 template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
 const typename