X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FBase%2FMinimumSpanningTree.h;h=35cb6e4c0488616d700ab6c49547f93e146910a6;hb=5c42def42121f822c3f6e482d0b4f193a95a8855;hp=de22019b3e6595ebe9aa147c1aef692cad2e1c0d;hpb=ea46079b5aef76c1782648ed23e70ea944649635;p=FrontAlgorithms.git diff --git a/lib/fpa/Base/MinimumSpanningTree.h b/lib/fpa/Base/MinimumSpanningTree.h index de22019..35cb6e4 100644 --- a/lib/fpa/Base/MinimumSpanningTree.h +++ b/lib/fpa/Base/MinimumSpanningTree.h @@ -1,11 +1,12 @@ +// ========================================================================= +// @author Leonardo Florez Valencia +// @email florez-l@javeriana.edu.co +// ========================================================================= + #ifndef __fpa__Base__MinimumSpanningTree__h__ #define __fpa__Base__MinimumSpanningTree__h__ -#include -#include #include -#include -#include namespace fpa { @@ -13,55 +14,54 @@ namespace fpa { /** */ - template< class _TVertex, class _TSuperclass > + template< class _TVertex, class _Superclass > class MinimumSpanningTree - : public _TSuperclass + : public _Superclass { public: typedef MinimumSpanningTree Self; - typedef _TSuperclass Superclass; + typedef _Superclass Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef _TVertex TVertex; - typedef std::deque< _TVertex > TVertices; - typedef std::pair< _TVertex, bool > TCollision; + typedef std::pair< TVertex, bool > TCollision; typedef std::vector< TCollision > TCollisionsRow; typedef std::vector< TCollisionsRow > TCollisions; + typedef std::vector< TVertex > TVertices; protected: typedef std::vector< unsigned long > _TRow; typedef std::vector< _TRow > _TMatrix; public: - itkTypeMacro( MinimumSpanningTree, _TSuperclass ); + itkTypeMacro( fpa::Base::MinimumSpanningTree, _Superclass ); public: const TCollisions& GetCollisions( ) const; void SetCollisions( const TCollisions& collisions ); void ClearSeeds( ); - void AddSeed( const _TVertex& seed ); + void AddSeed( const TVertex& seed ); - virtual _TVertex GetParent( const _TVertex& v ) const = 0; - virtual void SetParent( const _TVertex& v, const _TVertex& p ) = 0; + 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 TVertices GetPath( const TVertex& a ) const; + virtual TVertices GetPath( const TVertex& a, const TVertex& b ) const; protected: MinimumSpanningTree( ); virtual ~MinimumSpanningTree( ); private: - // Purposely not defined MinimumSpanningTree( const Self& other ); Self& operator=( const Self& other ); protected: TCollisions m_Collisions; _TMatrix m_FrontPaths; - TVertices m_Seeds; + std::vector< TVertex > m_Seeds; }; } // ecapseman