1 #ifndef __cpExtensions__Interaction__ImageSliceStyle__h__
2 #define __cpExtensions__Interaction__ImageSliceStyle__h__
4 #include <cpExtensions/Config.h>
5 #include <vtkInteractorStyleImage.h>
6 #include <vtkSmartPointer.h>
8 // -------------------------------------------------------------------------
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
14 namespace Visualization
17 class WindowLevelImageActor;
23 class cpExtensions_EXPORT ImageSliceStyle
24 : public vtkInteractorStyleImage
27 typedef ImageSliceStyle Self;
28 typedef cpExtensions::Visualization::CursorActors TCursor;
29 typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
32 vtkTypeMacro( ImageSliceStyle, vtkInteractorStyleImage );
37 virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
40 cpExtensions::Visualization::ImageViewerActors* GetActors( );
41 const cpExtensions::Visualization::ImageViewerActors* GetActors( ) const;
42 void SetActors( cpExtensions::Visualization::ImageViewerActors* actors );
45 virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
46 virtual void OnMouseWheelForward( ) cpExtensions_OVERRIDE;
47 virtual void OnMouseWheelBackward( ) cpExtensions_OVERRIDE;
48 virtual void OnChar( ) cpExtensions_OVERRIDE;
53 virtual ~ImageSliceStyle( );
55 virtual vtkProp* _ImageActor( int i );
56 virtual bool _PickPointOnImageActor( int idx[ 2 ], double pnt[ 3 ] );
59 // Purposely not implemented
60 ImageSliceStyle( const Self& );
61 Self& operator=( const Self& );
64 vtkSmartPointer< vtkPropPicker > m_PropPicker;
65 vtkSmartPointer< TWLActor > m_WLActor;
66 vtkSmartPointer< TCursor > m_Cursor;
68 vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors > m_Actors;
76 #endif // __cpExtensions__Interaction__ImageSliceStyle__h__