#ifndef __cpExtensions__Interaction__ImageSliceStyle__h__ #define __cpExtensions__Interaction__ImageSliceStyle__h__ #include #include // ------------------------------------------------------------------------- class vtkPropPicker; // ------------------------------------------------------------------------- namespace cpExtensions { namespace Visualization { class ImageViewerActors; } namespace Interaction { /** */ class cpExtensions_EXPORT ImageSliceStyle : public BaseStyle { public: typedef ImageSliceStyle Self; public: vtkTypeMacro( ImageSliceStyle, BaseStyle ); public: static Self* New( ); 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 bool _PickPosition( int idx[ 2 ], double pos[ 3 ] ) cpExtensions_OVERRIDE; private: // Purposely not implemented ImageSliceStyle( const Self& ); Self& operator=( const Self& ); protected: vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors > m_Actors; vtkSmartPointer< vtkPropPicker > m_PropPicker; }; } // ecapseman } // ecapseman #endif // __cpExtensions__Interaction__ImageSliceStyle__h__ // eof - $RCSfile$