]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Interaction/ImageSliceStyle.h
Architecture updated.
[cpPlugins.git] / lib / cpExtensions / Interaction / ImageSliceStyle.h
1 #ifndef __cpExtensions__Interaction__ImageSliceStyle__h__
2 #define __cpExtensions__Interaction__ImageSliceStyle__h__
3
4 #include <cpExtensions/Interaction/BaseStyle.h>
5 #include <vtkSmartPointer.h>
6
7 // -------------------------------------------------------------------------
8 class vtkPropPicker;
9
10 // -------------------------------------------------------------------------
11 namespace cpExtensions
12 {
13   namespace Visualization { class ImageViewerActors; }
14
15   namespace Interaction
16   {
17     /**
18      */
19     class cpExtensions_EXPORT ImageSliceStyle
20       : public BaseStyle
21     {
22     public:
23       typedef ImageSliceStyle Self;
24
25     public:
26       vtkTypeMacro( ImageSliceStyle, BaseStyle );
27
28     public:
29       static Self* New( );
30
31       cpExtensions::Visualization::ImageViewerActors* GetActors( );
32       const cpExtensions::Visualization::ImageViewerActors* GetActors( ) const;
33       void SetActors( cpExtensions::Visualization::ImageViewerActors* actors );
34
35       // Events
36       virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
37       virtual void OnMouseWheelForward( ) cpExtensions_OVERRIDE;
38       virtual void OnMouseWheelBackward( ) cpExtensions_OVERRIDE;
39       virtual void OnChar( ) cpExtensions_OVERRIDE;
40
41     protected:
42       ImageSliceStyle( );
43       virtual ~ImageSliceStyle( );
44
45       virtual bool _PickPosition( int idx[ 2 ], double pos[ 3 ] ) cpExtensions_OVERRIDE;
46
47     private:
48       // Purposely not implemented
49       ImageSliceStyle( const Self& );
50       Self& operator=( const Self& );
51
52     protected:
53       vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors > m_Actors;
54       vtkSmartPointer< vtkPropPicker > m_PropPicker;
55     };
56
57   } // ecapseman
58
59 } // ecapseman
60
61 #endif // __cpExtensions__Interaction__ImageSliceStyle__h__
62
63 // eof - $RCSfile$