X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FFilters%2FDijkstra.hxx;fp=lib%2Ffpa%2FFilters%2FDijkstra.hxx;h=a27669a5c3bd8ff16ed22be69e72d33ca45471db;hb=2047276c8f1a02432fbcc7014722d460d6c1e60f;hp=0000000000000000000000000000000000000000;hpb=3c639e5da479c7216a0a302ffa156ac6762caeed;p=FrontAlgorithms.git diff --git a/lib/fpa/Filters/Dijkstra.hxx b/lib/fpa/Filters/Dijkstra.hxx new file mode 100644 index 0000000..a27669a --- /dev/null +++ b/lib/fpa/Filters/Dijkstra.hxx @@ -0,0 +1,48 @@ +// ========================================================================= +// @author Leonardo Florez Valencia +// @email florez-l@javeriana.edu.co +// ========================================================================= +#ifndef __fpa__Filters__Dijkstra__hxx__ +#define __fpa__Filters__Dijkstra__hxx__ + +// ------------------------------------------------------------------------- +template< class _TTraits, class _TMST > +fpa::Filters::Dijkstra< _TTraits, _TMST >:: +Dijkstra( ) + : Superclass( ) +{ + fpaFilterOutputConfigureMacro( MinimumSpanningTree, TMST ); +} + +// ------------------------------------------------------------------------- +template< class _TTraits, class _TMST > +fpa::Filters::Dijkstra< _TTraits, _TMST >:: +~Dijkstra( ) +{ +} + +// ------------------------------------------------------------------------- +template< class _TTraits, class _TMST > +void fpa::Filters::Dijkstra< _TTraits, _TMST >:: +_AfterGenerateData( ) +{ + this->Superclass::_AfterGenerateData( ); + + TMST* mst = this->GetMinimumSpanningTree( ); + mst->ClearSeeds( ); + mst->SetCollisions( this->m_Collisions ); + for( TNode n: this->GetSeeds( ) ) + mst->AddSeed( n.Vertex ); +} + +// ------------------------------------------------------------------------- +template< class _TTraits, class _TMST > +void fpa::Filters::Dijkstra< _TTraits, _TMST >:: +_UpdateOutputValue( TNode& n ) +{ + this->Superclass::_UpdateOutputValue( n ); + this->GetMinimumSpanningTree( )->SetParent( n.Vertex, n.Parent ); +} + +#endif // __fpa__Filters__Dijkstra__hxx__ +// eof - $RCSfile$