// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Functors__VertexFunction__h__ #define __fpa__Functors__VertexFunction__h__ #include namespace fpa { namespace Functors { /** */ template< class _TVertex, class _TValue > class VertexFunction : public fpa::Functors::BaseVertexFunction< _TVertex > { public: typedef _TVertex TVertex; typedef _TValue TValue; typedef fpa::Functors::BaseVertexFunction< TVertex > Superclass; typedef VertexFunction Self; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkTypeMacro( fpa::Functors::VertexFunction, fpa::Functors::BaseVertexFunction ); public: virtual TValue Evaluate( const TVertex& vertex, const TVertex& parent ) const = 0; protected: VertexFunction( ) : Superclass( ) { } virtual ~VertexFunction( ) { } private: // Purposely not implemented. VertexFunction( const Self& other ); Self& operator=( const Self& other ); }; } // ecapseman } // ecapseman #endif // __fpa__Functors__VertexFunction__h__ // eof - $RCSfile$