#ifndef __fpa__Image__MinimumSpanningTree__hxx__ #define __fpa__Image__MinimumSpanningTree__hxx__ // ------------------------------------------------------------------------- template< unsigned int _VDim > typename fpa::Image::MinimumSpanningTree< _VDim >:: TVertex fpa::Image::MinimumSpanningTree< _VDim >:: GetParent( const TVertex& v ) const { TVertex p = v + this->GetPixel( v ); return( p ); } // ------------------------------------------------------------------------- template< unsigned int _VDim > void fpa::Image::MinimumSpanningTree< _VDim >:: SetParent( const TVertex& v, const TVertex& p ) { this->SetPixel( v, p - v ); } // ------------------------------------------------------------------------- template< unsigned int _VDim > void fpa::Image::MinimumSpanningTree< _VDim >:: GetPath( typename TPath::Pointer& path, const TVertex& a ) const { if( path.GetPointer( ) == NULL ) path = TPath::New( ); path->SetReferenceImage( this ); this->Superclass::GetPath( path, a ); } // ------------------------------------------------------------------------- template< unsigned int _VDim > void fpa::Image::MinimumSpanningTree< _VDim >:: GetPath( typename TPath::Pointer& path, const TVertex& a, const TVertex& b ) const { if( path.GetPointer( ) == NULL ) path = TPath::New( ); path->SetReferenceImage( this ); this->Superclass::GetPath( path, a, b ); } // ------------------------------------------------------------------------- template< unsigned int _VDim > fpa::Image::MinimumSpanningTree< _VDim >:: MinimumSpanningTree( ) : Superclass( ) { } // ------------------------------------------------------------------------- template< unsigned int _VDim > fpa::Image::MinimumSpanningTree< _VDim >:: ~MinimumSpanningTree( ) { } #endif // __fpa__Image__MinimumSpanningTree__hxx__ // eof - $RCSfile$