]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/BasicFilters/DoubleFloodImageFilter.h
3a887d06dc4964de69067c037a04166c78313a0c
[cpPlugins.git] / lib / cpPlugins / Plugins / BasicFilters / DoubleFloodImageFilter.h
1 #ifndef __CPPLUGINS__PLUGINS__DOUBLEFLOODIMAGEFILTER__H__
2 #define __CPPLUGINS__PLUGINS__DOUBLEFLOODIMAGEFILTER__H__
3
4 #include <cpPlugins/BasicFilters/cpPluginsBasicFilters_Export.h>
5 #include <cpPlugins/Interface/BaseProcessObjects.h>
6
7 #ifdef cpPlugins_Interface_QT4
8 #include <QDialog>
9 #include <QGridLayout>
10 #include <QLabel>
11 #include <QVBoxLayout>
12 #endif // cpPlugins_Interface_QT4
13
14 namespace cpPlugins
15 {
16   namespace BasicFilters
17   {
18 #ifdef cpPlugins_Interface_QT4
19     class DoubleFloodImageFilter;
20
21     /**
22      */
23     class DoubleFloodImageFilter_Dialog
24       : public QDialog
25     {
26       Q_OBJECT;
27
28     public:
29       typedef QDialog Superclass;
30
31     public:
32       DoubleFloodImageFilter_Dialog(
33         QWidget* parent, DoubleFloodImageFilter* filter, Qt::WindowFlags f = 0
34         );
35       virtual ~DoubleFloodImageFilter_Dialog( );
36
37     public slots:
38       virtual void accept( );
39       virtual void reject( );
40
41     protected:
42       DoubleFloodImageFilter* m_Filter;
43       QLabel* m_Title;
44       QGridLayout* m_MainLayout;
45       QVBoxLayout* m_ToolsLayout;
46     };
47 #endif // cpPlugins_Interface_QT4
48
49     /**
50      */
51     class cpPluginsBasicFilters_EXPORT DoubleFloodImageFilter
52       : public cpPlugins::Interface::ImageToImageFilter
53     {
54     public:
55       typedef DoubleFloodImageFilter                     Self;
56       typedef cpPlugins::Interface::ImageToImageFilter Superclass;
57       typedef itk::SmartPointer< Self >                Pointer;
58       typedef itk::SmartPointer< const Self >          ConstPointer;
59
60     public:
61       itkNewMacro( Self );
62       itkTypeMacro(
63         DoubleFloodImageFilter,
64         cpPlugins::Interface::ImageToImageFilter
65         );
66       cpPlugins_Id_Macro(
67         cpPlugins::BasicFilters::DoubleFloodImageFilter,
68         ImageToBinaryImageFilter
69         );
70
71     public:
72       virtual DialogResult ExecConfigurationDialog( QWidget* parent );
73
74     protected:
75       DoubleFloodImageFilter( );
76       virtual ~DoubleFloodImageFilter( );
77
78       virtual std::string _GenerateData( );
79
80       template< class I >
81         inline std::string _GD0( itk::DataObject* image );
82
83       template< class I, class O >
84         inline std::string _RealGD( itk::DataObject* image );
85
86     private:
87       // Purposely not implemented
88       DoubleFloodImageFilter( const Self& );
89       Self& operator=( const Self& );
90
91     protected:
92 #ifdef cpPlugins_Interface_QT4
93       friend class DoubleFloodImageFilter_Dialog;
94       DoubleFloodImageFilter_Dialog* m_Dialog;
95 #endif // cpPlugins_Interface_QT4
96
97     };
98
99     // ---------------------------------------------------------------------
100     CPPLUGINS_INHERIT_PROVIDER( DoubleFloodImageFilter );
101
102   } // ecapseman
103
104 } // ecapseman
105
106 #endif // __CPPLUGINS__PLUGINS__DOUBLEFLOODIMAGEFILTER__H__
107
108 // eof - $RCSfile$