#ifndef __fpa__Base__Functors__VertexCostFunctionBase__h__ #define __fpa__Base__Functors__VertexCostFunctionBase__h__ #include #include namespace fpa { namespace Base { namespace Functors { /** */ template< class _TVertex, class _TOutput > class VertexCostFunctionBase : public itk::Object { public: typedef VertexCostFunctionBase Self; typedef itk::Object Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef _TVertex TVertex; typedef _TOutput TOutput; public: itkTypeMacro( VertexCostFunctionBase, itk::Object ); public: virtual TOutput Evaluate( const TVertex& a, const TVertex& b ) const = 0; protected: VertexCostFunctionBase( ) : Superclass( ) { } virtual ~VertexCostFunctionBase( ) { } private: // Purposely not defined VertexCostFunctionBase( const Self& other ); Self& operator=( const Self& other ); }; } // ecapseman } // ecapseman } // ecapseman #endif // __fpa__Base__Functors__VertexCostFunctionBase__h__ // eof - $RCSfile$