1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
6 #ifndef __fpa__Base__Dijkstra__h__
7 #define __fpa__Base__Dijkstra__h__
9 #include <fpa/Base/DijkstraBase.h>
17 template< class _TAlgorithm, class _TMST >
19 : public fpa::Base::DijkstraBase< _TAlgorithm >
22 typedef Dijkstra Self;
23 typedef fpa::Base::DijkstraBase< _TAlgorithm > Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 typedef typename Superclass::TTraits TTraits;
30 typedef typename Superclass::TNode TNode;
31 typedef typename Superclass::TNodes TNodes;
32 typedef typename Superclass::TInputValue TInputValue;
33 typedef typename Superclass::TOutputValue TOutputValue;
34 typedef typename Superclass::TFrontId TFrontId;
35 typedef typename Superclass::TVertex TVertex;
36 typedef typename Superclass::TSeeds TSeeds;
38 typedef typename Superclass::TQueue TQueue;
39 typedef typename Superclass::TQueueOrder TQueueOrder;
40 typedef typename Superclass::TWeightFunction TWeightFunction;
43 TMST* GetMinimumSpanningTree( );
44 const TMST* GetMinimumSpanningTree( ) const;
50 virtual void _AfterGenerateData( ) override;
51 virtual void _UpdateOutputValue( TNode& n ) override;
54 // Purposely not implemented.
55 Dijkstra( const Self& other );
56 Self& operator=( const Self& other );
59 unsigned int m_MSTIdx;
66 #ifndef ITK_MANUAL_INSTANTIATION
67 # include <fpa/Base/Dijkstra.hxx>
68 #endif // ITK_MANUAL_INSTANTIATION
70 #endif // __fpa__Base__Dijkstra__h__