+++ /dev/null
-#ifndef __cpPlugins__Pipeline__Functor__h__
-#define __cpPlugins__Pipeline__Functor__h__
-
-#include <cpPlugins/Pipeline/ProcessObject.h>
-
-// -------------------------------------------------------------------------
-namespace cpPlugins
-{
- namespace Pipeline
- {
- /**
- */
- class cpPlugins_EXPORT Functor
- : public ProcessObject
- {
- public:
- typedef Functor Self;
- typedef ProcessObject Superclass;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
-
- public:
- 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( );
-
- private:
- // Purposely not implemented
- Functor( const Self& );
- Self& operator=( const Self& );
-
- protected:
- itk::LightObject::Pointer m_Functor;
- };
-
- } // ecapseman
-
-} // ecapseman
-
-#endif // __cpPlugins__Pipeline__Functor__h__
-
-// eof - $RCSfile$