]> Creatis software - cpPlugins.git/blob - lib/ivq/VTK/InteractorStyleImage.h
...
[cpPlugins.git] / lib / ivq / VTK / InteractorStyleImage.h
1 /* =======================================================================
2  * @author: Leonardo Florez-Valencia
3  * @email: florez-l@javeriana.edu.co
4  * =======================================================================
5  */
6
7 #ifndef __ivq__VTK__InteractorStyleImage__h__
8 #define __ivq__VTK__InteractorStyleImage__h__
9
10 #include <ivq/ivq_export.h>
11
12 #include <set>
13 #include <vtkInteractorStyleImage.h>
14
15 namespace ivq
16 {
17   namespace VTK
18   {
19     class ImageViewer;
20
21     /**
22      */
23     class IVQ_EXPORT InteractorStyleImage
24       : public vtkInteractorStyleImage
25     {
26     public:
27       typedef InteractorStyleImage Self;
28
29     public:
30       vtkTypeMacro( InteractorStyleImage, vtkInteractorStyleImage );
31
32     public:
33       static Self* New( );
34
35       ivq::VTK::ImageViewer* GetViewer( );
36       void SetViewer( ivq::VTK::ImageViewer* v );
37       void AddOtherViewer( ivq::VTK::ImageViewer* v );
38
39       virtual void OnMouseMove( ) override;
40       virtual void OnLeftButtonDown( ) override;
41       virtual void OnLeftButtonUp( ) override;
42       virtual void OnMiddleButtonDown( ) override;
43       virtual void OnMiddleButtonUp( ) override;
44       virtual void OnRightButtonDown( ) override;
45       virtual void OnRightButtonUp( ) override;
46       virtual void OnMouseWheelForward( ) override;
47       virtual void OnMouseWheelBackward( ) override;
48       virtual void OnChar( ) override;
49
50       virtual void Rotate( ) override;
51       virtual void Spin( ) override;
52
53     protected:
54       InteractorStyleImage( );
55       virtual ~InteractorStyleImage( );
56
57     private:
58       // Purposely not implemented.
59       InteractorStyleImage( const InteractorStyleImage& other );
60       void operator=( const InteractorStyleImage& other );
61
62     protected:
63       ivq::VTK::ImageViewer* Viewer;
64       std::set< ivq::VTK::ImageViewer* > OtherViewers;
65       double StartClick[ 2 ];
66       double StartWL[ 2 ];
67       unsigned char PressedButton;
68     };
69
70   } // ecapseman
71
72 } // ecapseman
73
74 #endif // __ivq__VTK__InteractorStyleImage__h__
75
76 // eof - $RCSfile$