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 // -------------------------------------------------------------------------
12 // -------------------------------------------------------------------------
13 namespace cpExtensions
15 namespace Visualization
19 class WindowLevelImageActor;
25 class cpExtensions_EXPORT ImageSliceStyle
26 : public vtkInteractorStyleImage
29 typedef ImageSliceStyle Self;
30 typedef cpExtensions::Visualization::CursorActors TCursor;
31 typedef cpExtensions::Visualization::LUTImageActor TLUTActor;
32 typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
35 vtkTypeMacro( ImageSliceStyle, vtkInteractorStyleImage );
36 typedef vtkInteractorStyleImage::Superclass Overclass;
41 int GetSliceNumber( ) const;
42 int GetOrientation( ) const;
44 virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
45 virtual void OnMouseWheelForward( ) cpExtensions_OVERRIDE;
46 virtual void OnMouseWheelBackward( ) cpExtensions_OVERRIDE;
47 virtual void OnChar( ) cpExtensions_OVERRIDE;
51 cpExtensions::Visualization::ImageViewerActors* GetActors( );
52 const cpExtensions::Visualization::ImageViewerActors* GetActors( ) const;
53 void SetActors( cpExtensions::Visualization::ImageViewerActors* actors );
56 virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
57 virtual void OnChar( ) cpExtensions_OVERRIDE;
62 virtual ~ImageSliceStyle( );
64 bool _PickPointOnImageActor( int idx[ 2 ], double pnt[ 3 ] );
65 void _CorrectPosition( double pos[ 3 ], int ijk[ 3 ] );
66 void _ShowText( double pos[ 3 ] );
69 // Purposely not implemented
70 ImageSliceStyle( const Self& );
71 Self& operator=( const Self& );
74 vtkSmartPointer< vtkPropPicker > m_PropPicker;
75 vtkSmartPointer< TLUTActor > m_LUTActor;
76 vtkSmartPointer< TWLActor > m_WLActor;
77 vtkSmartPointer< TCursor > m_Cursor;
78 vtkSmartPointer< vtkTextActor > m_Text;
79 char m_TextBuffer[ 1024 ];
86 #endif // __cpExtensions__Interaction__ImageSliceStyle__h__