X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2Ffpa%2FBase%2FMinimumSpanningTree.h;h=03940f140a18300af6866b9b9b1ffbb519600f48;hb=2b43395480bf95d0b399ded56aa272768bbc074a;hp=de22019b3e6595ebe9aa147c1aef692cad2e1c0d;hpb=ea46079b5aef76c1782648ed23e70ea944649635;p=FrontAlgorithms.git diff --git a/lib/fpa/Base/MinimumSpanningTree.h b/lib/fpa/Base/MinimumSpanningTree.h index de22019..03940f1 100644 --- a/lib/fpa/Base/MinimumSpanningTree.h +++ b/lib/fpa/Base/MinimumSpanningTree.h @@ -2,7 +2,6 @@ #define __fpa__Base__MinimumSpanningTree__h__ #include -#include #include #include #include @@ -13,7 +12,7 @@ namespace fpa { /** */ - template< class _TVertex, class _TSuperclass > + template< class _TVertex, class _TPath, class _TSuperclass > class MinimumSpanningTree : public _TSuperclass { @@ -24,7 +23,7 @@ namespace fpa typedef itk::SmartPointer< const Self > ConstPointer; typedef _TVertex TVertex; - typedef std::deque< _TVertex > TVertices; + typedef _TPath TPath; typedef std::pair< _TVertex, bool > TCollision; typedef std::vector< TCollision > TCollisionsRow; typedef std::vector< TCollisionsRow > TCollisions; @@ -46,8 +45,12 @@ namespace fpa virtual _TVertex GetParent( const _TVertex& v ) const = 0; virtual void SetParent( const _TVertex& v, const _TVertex& p ) = 0; - virtual TVertices GetPath( const _TVertex& a ) const; - virtual TVertices GetPath( const _TVertex& a, const _TVertex& b ) const; + virtual void GetPath( + typename _TPath::Pointer& path, const _TVertex& a + ) const; + virtual void GetPath( + typename _TPath::Pointer& path, const _TVertex& a, const _TVertex& b + ) const; protected: MinimumSpanningTree( ); @@ -61,7 +64,7 @@ namespace fpa protected: TCollisions m_Collisions; _TMatrix m_FrontPaths; - TVertices m_Seeds; + std::vector< _TVertex > m_Seeds; }; } // ecapseman