]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Interaction/ImageSliceStyle.h
0fe25813f5056a6632fe917b8cc9c4a1bdf5e3d7
[cpPlugins.git] / lib / cpExtensions / Interaction / ImageSliceStyle.h
1 #ifndef __cpExtensions__Interaction__ImageSliceStyle__h__
2 #define __cpExtensions__Interaction__ImageSliceStyle__h__
3
4 #include <cpExtensions/Config.h>
5 #include <vtkInteractorStyleImage.h>
6 #include <vtkSmartPointer.h>
7
8 // -------------------------------------------------------------------------
9 class vtkPropPicker;
10
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
13 {
14   namespace Visualization
15   {
16     class CursorActors;
17     class WindowLevelImageActor;
18   }
19   namespace Interaction
20   {
21     /**
22      */
23     class cpExtensions_EXPORT ImageSliceStyle
24       : public vtkInteractorStyleImage
25     {
26     public:
27       typedef ImageSliceStyle Self;
28       typedef cpExtensions::Visualization::CursorActors          TCursor;
29       typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
30
31     public:
32       vtkTypeMacro( ImageSliceStyle, vtkInteractorStyleImage );
33
34     public:
35       static Self* New( );
36
37       virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
38
39       /* TODO
40          cpExtensions::Visualization::ImageViewerActors* GetActors( );
41          const cpExtensions::Visualization::ImageViewerActors* GetActors( ) const;
42          void SetActors( cpExtensions::Visualization::ImageViewerActors* actors );
43
44          // Events
45          virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
46          virtual void OnMouseWheelForward( ) cpExtensions_OVERRIDE;
47          virtual void OnMouseWheelBackward( ) cpExtensions_OVERRIDE;
48          virtual void OnChar( ) cpExtensions_OVERRIDE;
49       */
50
51     protected:
52       ImageSliceStyle( );
53       virtual ~ImageSliceStyle( );
54
55       virtual vtkProp* _ImageActor( int i );
56       virtual bool _PickPointOnImageActor( int idx[ 2 ], double pnt[ 3 ] );
57
58     private:
59       // Purposely not implemented
60       ImageSliceStyle( const Self& );
61       Self& operator=( const Self& );
62
63     protected:
64       vtkSmartPointer< vtkPropPicker > m_PropPicker;
65       vtkSmartPointer< TWLActor > m_WLActor;
66       vtkSmartPointer< TCursor > m_Cursor;
67       /* TODO
68          vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors > m_Actors;
69       */
70     };
71
72   } // ecapseman
73
74 } // ecapseman
75
76 #endif // __cpExtensions__Interaction__ImageSliceStyle__h__
77
78 // eof - $RCSfile$