1 #ifndef __FPAPLUGINS__BASEIMAGEFILTER__H__
2 #define __FPAPLUGINS__BASEIMAGEFILTER__H__
4 #include <fpa/Config.h>
5 #include <plugins/fpaPlugins_Export.h>
6 #include <cpPlugins/BaseObjects/ProcessObject.h>
8 #include <cpExtensions/QT/SimpleMPRWidget.h>
9 #include <vtkRenderWindowInteractor.h>
15 class fpaPlugins_EXPORT BaseImageFilter
16 : public cpPlugins::BaseObjects::ProcessObject
19 typedef BaseImageFilter Self;
20 typedef cpPlugins::BaseObjects::ProcessObject Superclass;
21 typedef itk::SmartPointer< Self > Pointer;
22 typedef itk::SmartPointer< const Self > ConstPointer;
24 typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget;
27 itkTypeMacro( BaseImageFilter, cpPlugins::BaseObjects::ProcessObject );
28 cpPlugins_Id_Macro( BaseImageFilter, fpaImageAlgorithm );
31 virtual bool IsInteractive( ) fpa_OVERRIDE;
33 virtual void SetInteractionObjects(
34 const std::vector< void* >& objs
40 virtual ~BaseImageFilter( );
42 template< class _TFilter >
43 inline _TFilter* _ConfigureFilter( );
45 template< class _TFilter >
46 inline void _ExecuteFilter( _TFilter* filter );
48 template< class _TFilter >
49 inline void _ConfigureDebugger( _TFilter* filter );
51 template< class _TFilter >
52 inline void _DeconfigureDebugger( _TFilter* filter );
55 // Purposely not implemented.
56 BaseImageFilter( const Self& other );
57 Self& operator=( const Self& other );
60 std::set< unsigned long > m_Observers;
65 #include "BaseImageFilter.hxx"
67 #endif // __FPAPLUGINS__BASEIMAGEFILTER__H__