]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Interaction/SeedWidget.h
...
[cpPlugins.git] / lib / cpExtensions / Interaction / SeedWidget.h
1 #ifndef __CPEXTENSIONS__INTERACTION__SEEDWIDGET__H__
2 #define __CPEXTENSIONS__INTERACTION__SEEDWIDGET__H__
3
4 #include <cpExtensions/Config.h>
5 #include <cpExtensions/Interaction/BaseInteractorStyle.h>
6 #include <vtkSeedWidget.h>
7
8 namespace cpExtensions
9 {
10   namespace Interaction
11   {
12     /**
13      */
14     class cpExtensions_EXPORT SeedWidget
15       : public vtkSeedWidget
16     {
17     public:
18       typedef SeedWidget Self;
19       vtkTypeMacro( SeedWidget, vtkSeedWidget );
20
21       typedef cpExtensions::Interaction::BaseInteractorStyle TBaseStyle;
22       typedef TBaseStyle::TMouseCommand TMouseCommand;
23
24     public:
25       static Self* New( );
26
27       virtual void SetInteractor( vtkRenderWindowInteractor* rwi );
28
29     protected:
30       SeedWidget( );
31       virtual ~SeedWidget( );
32
33       static void _Click(
34         void* data, const TBaseStyle::ButtonID& button,
35         int* idx, double* pos, bool alt, bool ctr, bool sft
36         );
37       static void _DoubleClick(
38         void* data, const TBaseStyle::ButtonID& button,
39         int* idx, double* pos, bool alt, bool ctr, bool sft
40         );
41
42     private:
43       // Purposely not implemented
44       SeedWidget( const Self& );
45       Self& operator=( const Self& );
46     };
47
48   } // ecapseman
49
50 } // ecapseman
51
52 #endif // __CPEXTENSIONS__INTERACTION__SEEDWIDGET__H__
53
54 // eof - $RCSfile$