itkTypeMacro( Functor, ProcessObject );
cpPlugins_Id_Macro( Functor, Object );
+ public:
+ virtual void Instantiate( itk::LightObject* filter ) = 0;
+
+ template< class _TFunctor >
+ _TFunctor* GetFunctor( )
+ {
+ return(
+ dynamic_cast< _TFunctor* >( this->m_Functor.GetPointer( ) )
+ );
+ }
+
+ template< class _TFunctor >
+ const _TFunctor* GetFunctor( ) const
+ {
+ return(
+ dynamic_cast< const _TFunctor* >( this->m_Functor.GetPointer( ) )
+ );
+ }
+
protected:
Functor( );
virtual ~Functor( );
// Purposely not implemented
Functor( const Self& );
Self& operator=( const Self& );
+
+ protected:
+ itk::LightObject::Pointer m_Functor;
};
} // ecapseman