// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Base__Functors__Dijkstra__Function__h__ #define __fpa__Base__Functors__Dijkstra__Function__h__ #include namespace fpa { namespace Base { namespace Functors { namespace Dijkstra { /** */ template< class _TVertex, class _TOutputValue > class Function : public itk::Object { public: typedef Function Self; typedef itk::Object Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkTypeMacro( fpa::Base::Functors::Dijkstra::Function, itk::Object ); public: virtual _TOutputValue Evaluate( const _TVertex& v, const _TVertex& p ) const = 0; protected: Function( ) : Superclass( ) { } virtual ~Function( ) { } private: // Purposely not implemented Function( const Self& other ); Self& operator=( const Self& other ); }; } // ecapseman } // ecapseman } // ecapseman } // ecapseman #endif // __fpa__Base__Functors__Dijkstra__Function__h__ // eof - $RCSfile$