1 #ifndef __fpa__Base__Functors__RegionGrow__Base__h__
2 #define __fpa__Base__Functors__RegionGrow__Base__h__
5 #include <itkObjectFactory.h>
6 #include <fpa/Base/Functors/VertexCostFunctionBase.h>
18 template< class _TVertex, class _TOutput >
20 : public fpa::Base::Functors::VertexCostFunctionBase< _TVertex, _TOutput >
23 typedef fpa::Base::Functors::VertexCostFunctionBase< _TVertex, _TOutput > Superclass;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
28 typedef _TVertex TVertex;
29 typedef _TOutput TOutput;
32 itkTypeMacro( Base, itk::Object );
34 itkGetConstMacro( InsideValue, _TOutput );
35 itkGetConstMacro( OutsideValue, _TOutput );
37 itkSetMacro( InsideValue, _TOutput );
38 itkSetMacro( OutsideValue, _TOutput );
41 virtual TOutput Evaluate( const TVertex& a, const TVertex& b ) const = 0;
46 m_InsideValue( TOutput( 1 ) ),
47 m_OutsideValue( TOutput( 0 ) )
53 // Purposely not defined
54 Base( const Self& other );
55 Self& operator=( const Self& other );
58 _TOutput m_InsideValue;
59 _TOutput m_OutsideValue;
70 #endif // __fpa__Base__Functors__RegionGrow__Base__h__