]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/Dijkstra.hxx
a27669a5c3bd8ff16ed22be69e72d33ca45471db
[FrontAlgorithms.git] / lib / fpa / Filters / Dijkstra.hxx
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__Dijkstra__hxx__
6 #define __fpa__Filters__Dijkstra__hxx__
7
8 // -------------------------------------------------------------------------
9 template< class _TTraits, class _TMST >
10 fpa::Filters::Dijkstra< _TTraits, _TMST >::
11 Dijkstra( )
12   : Superclass( )
13 {
14   fpaFilterOutputConfigureMacro( MinimumSpanningTree, TMST );
15 }
16
17 // -------------------------------------------------------------------------
18 template< class _TTraits, class _TMST >
19 fpa::Filters::Dijkstra< _TTraits, _TMST >::
20 ~Dijkstra( )
21 {
22 }
23
24 // -------------------------------------------------------------------------
25 template< class _TTraits, class _TMST >
26 void fpa::Filters::Dijkstra< _TTraits, _TMST >::
27 _AfterGenerateData( )
28 {
29   this->Superclass::_AfterGenerateData( );
30
31   TMST* mst = this->GetMinimumSpanningTree( );
32   mst->ClearSeeds( );
33   mst->SetCollisions( this->m_Collisions );
34   for( TNode n: this->GetSeeds( ) )
35     mst->AddSeed( n.Vertex );
36 }
37
38 // -------------------------------------------------------------------------
39 template< class _TTraits, class _TMST >
40 void fpa::Filters::Dijkstra< _TTraits, _TMST >::
41 _UpdateOutputValue( TNode& n )
42 {
43   this->Superclass::_UpdateOutputValue( n );
44   this->GetMinimumSpanningTree( )->SetParent( n.Vertex, n.Parent );
45 }
46
47 #endif // __fpa__Filters__Dijkstra__hxx__
48 // eof - $RCSfile$