#ifndef __cpExtensions__Interaction__ImageSliceStyle__h__ #define __cpExtensions__Interaction__ImageSliceStyle__h__ #include #include #include // ------------------------------------------------------------------------- class vtkPropPicker; // ------------------------------------------------------------------------- namespace cpExtensions { namespace Visualization { class CursorActors; class WindowLevelImageActor; } namespace Interaction { /** */ class cpExtensions_EXPORT ImageSliceStyle : public vtkInteractorStyleImage { public: typedef ImageSliceStyle Self; typedef cpExtensions::Visualization::CursorActors TCursor; typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor; public: vtkTypeMacro( ImageSliceStyle, vtkInteractorStyleImage ); public: static Self* New( ); virtual void OnMouseMove( ) cpExtensions_OVERRIDE; /* TODO cpExtensions::Visualization::ImageViewerActors* GetActors( ); const cpExtensions::Visualization::ImageViewerActors* GetActors( ) const; void SetActors( cpExtensions::Visualization::ImageViewerActors* actors ); // Events virtual void OnMouseMove( ) cpExtensions_OVERRIDE; virtual void OnMouseWheelForward( ) cpExtensions_OVERRIDE; virtual void OnMouseWheelBackward( ) cpExtensions_OVERRIDE; virtual void OnChar( ) cpExtensions_OVERRIDE; */ protected: ImageSliceStyle( ); virtual ~ImageSliceStyle( ); virtual vtkProp* _ImageActor( int i ); virtual bool _PickPointOnImageActor( int idx[ 2 ], double pnt[ 3 ] ); private: // Purposely not implemented ImageSliceStyle( const Self& ); Self& operator=( const Self& ); protected: vtkSmartPointer< vtkPropPicker > m_PropPicker; vtkSmartPointer< TWLActor > m_WLActor; vtkSmartPointer< TCursor > m_Cursor; /* TODO vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors > m_Actors; */ }; } // ecapseman } // ecapseman #endif // __cpExtensions__Interaction__ImageSliceStyle__h__ // eof - $RCSfile$