1 #ifndef __fpa__Base__Dijkstra__h__
2 #define __fpa__Base__Dijkstra__h__
4 #include <fpa/Base/PriorityQueueAlgorithm.h>
12 template< class _TSuperclass, class _TMST >
14 : public fpa::Base::PriorityQueueAlgorithm< _TSuperclass >
17 typedef Dijkstra Self;
18 typedef fpa::Base::PriorityQueueAlgorithm< _TSuperclass > Superclass;
19 typedef itk::SmartPointer< Self > Pointer;
20 typedef itk::SmartPointer< const Self > ConstPointer;
23 typedef typename Superclass::TOutput TOutput;
24 typedef typename Superclass::TVertex TVertex;
27 typedef typename Superclass::_TQueueNode _TQueueNode;
30 itkTypeMacro( Dijkstra, Algorithm );
33 _TMST* GetMinimumSpanningTree( );
34 const _TMST* GetMinimumSpanningTree( ) const;
40 virtual void _AfterGenerateData( ) override;
42 virtual void _UpdateResult( const _TQueueNode& n ) override;
43 virtual bool _UpdateValue(
44 _TQueueNode& v, const _TQueueNode& p
48 // Purposely not defined
49 Dijkstra( const Self& other );
50 Self& operator=( const Self& other );
53 unsigned long m_MSTIndex;
60 #ifndef ITK_MANUAL_INSTANTIATION
61 # include <fpa/Base/Dijkstra.hxx>
62 #endif // ITK_MANUAL_INSTANTIATION
64 #endif // __fpa__Base__Dijkstra__h__