-template< class V, class C, class R, class S, class VC, class B >
-fpa::Base::Dijkstra< V, C, R, S, VC, B >::
+template< class _TSuperclass >
+const typename fpa::Base::Dijkstra< _TSuperclass >::TDijkstraCmp
+fpa::Base::Dijkstra< _TSuperclass >::DijkstraCmp =
+fpa::Base::Dijkstra< _TSuperclass >::TDijkstraCmp( );
+
+// -------------------------------------------------------------------------
+template< class _TSuperclass >
+typename fpa::Base::Dijkstra< _TSuperclass >::
+TMinimumSpanningTree* fpa::Base::Dijkstra< _TSuperclass >::
+GetMinimumSpanningTree( )
+{
+ return(
+ dynamic_cast< TMinimumSpanningTree* >(
+ this->itk::ProcessObject::GetOutput( this->m_MSTIdx )
+ )
+ );
+}
+
+// -------------------------------------------------------------------------
+template< class _TSuperclass >
+const typename fpa::Base::Dijkstra< _TSuperclass >::
+TMinimumSpanningTree* fpa::Base::Dijkstra< _TSuperclass >::
+GetMinimumSpanningTree( ) const
+{
+ return(
+ dynamic_cast< const TMinimumSpanningTree* >(
+ this->itk::ProcessObject::GetOutput( this->m_MSTIdx )
+ )
+ );
+}
+
+// -------------------------------------------------------------------------
+template< class _TSuperclass >
+void fpa::Base::Dijkstra< _TSuperclass >::
+GraftMinimumSpanningTree( itk::DataObject* obj )
+{
+ TMinimumSpanningTree* mst = dynamic_cast< TMinimumSpanningTree* >( obj );
+ if( mst != NULL )
+ this->GraftNthOutput( this->m_MSTIdx, mst );
+}
+
+// -------------------------------------------------------------------------
+template< class _TSuperclass >
+fpa::Base::Dijkstra< _TSuperclass >::