#ifndef __FPAPLUGINS__BASEIMAGEFILTER__H__ #define __FPAPLUGINS__BASEIMAGEFILTER__H__ #include #include #include #include namespace fpaPlugins { /** */ class fpaPlugins_EXPORT BaseImageFilter : public cpPlugins::ProcessObject { public: typedef BaseImageFilter Self; typedef cpPlugins::ProcessObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget; public: itkTypeMacro( BaseImageFilter, cpPlugins::ProcessObject ); cpPlugins_Id_Macro( BaseImageFilter, fpaImageAlgorithm ); public: virtual bool IsInteractive( ) override; virtual void SetInteractionObjects( const std::vector< void* >& objs ) override; protected: BaseImageFilter( ); virtual ~BaseImageFilter( ); template< class _TFilter > inline _TFilter* _ConfigureFilter( ); template< class _TFilter > inline void _ExecuteFilter( _TFilter* filter ); template< class _TFilter > inline void _ConfigureDebugger( _TFilter* filter ); template< class _TFilter > inline void _DeconfigureDebugger( _TFilter* filter ); private: // Purposely not implemented. BaseImageFilter( const Self& other ); Self& operator=( const Self& other ); protected: TMPRWidget* m_MPRViewer; vtkRenderWindowInteractor* m_SingleInteractor; std::set< unsigned long > m_Observers; }; } // ecapseman #include "BaseImageFilter.hxx" #endif // __FPAPLUGINS__BASEIMAGEFILTER__H__ // eof - $RCSfile$