1 #ifndef __FPAPLUGINS__BASEIMAGEFILTER__H__
2 #define __FPAPLUGINS__BASEIMAGEFILTER__H__
4 #include <fpa/fpaPlugins_Export.h>
5 #include <cpPlugins/ProcessObject.h>
7 #include <cpExtensions/QT/SimpleMPRWidget.h>
8 #include <vtkRenderWindowInteractor.h>
14 class fpaPlugins_EXPORT BaseImageFilter
15 : public cpPlugins::ProcessObject
18 typedef BaseImageFilter Self;
19 typedef cpPlugins::ProcessObject Superclass;
20 typedef itk::SmartPointer< Self > Pointer;
21 typedef itk::SmartPointer< const Self > ConstPointer;
23 typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget;
26 itkTypeMacro( BaseImageFilter, cpPlugins::ProcessObject );
27 cpPlugins_Id_Macro( BaseImageFilter, fpaImageAlgorithm );
30 virtual bool IsInteractive( ) override;
31 virtual void SetInteractionObjects(
32 const std::vector< void* >& objs
37 virtual ~BaseImageFilter( );
39 template< class _TFilter >
40 inline _TFilter* _ConfigureFilter( );
42 template< class _TFilter >
43 inline void _ExecuteFilter( _TFilter* filter );
45 template< class _TFilter >
46 inline void _ConfigureDebugger( _TFilter* filter );
48 template< class _TFilter >
49 inline void _DeconfigureDebugger( _TFilter* filter );
52 // Purposely not implemented.
53 BaseImageFilter( const Self& other );
54 Self& operator=( const Self& other );
57 TMPRWidget* m_MPRViewer;
58 vtkRenderWindowInteractor* m_SingleInteractor;
59 std::set< unsigned long > m_Observers;
64 #include "BaseImageFilter.hxx"
66 #endif // __FPAPLUGINS__BASEIMAGEFILTER__H__