#ifndef __cpExtensions__Interaction__ImageSliceStyle__h__
#define __cpExtensions__Interaction__ImageSliceStyle__h__
-#include <cpExtensions/Interaction/BaseStyle.h>
+#include <cpExtensions/Config.h>
+#include <vtkInteractorStyleImage.h>
#include <vtkSmartPointer.h>
// -------------------------------------------------------------------------
class vtkPropPicker;
+class vtkTextActor;
// -------------------------------------------------------------------------
namespace cpExtensions
{
- namespace Visualization { class ImageViewerActors; }
-
+ namespace Visualization
+ {
+ class CursorActors;
+ class LUTImageActor;
+ class WindowLevelImageActor;
+ }
namespace Interaction
{
/**
*/
class cpExtensions_EXPORT ImageSliceStyle
- : public BaseStyle
+ : public vtkInteractorStyleImage
{
public:
typedef ImageSliceStyle Self;
+ typedef cpExtensions::Visualization::CursorActors TCursor;
+ typedef cpExtensions::Visualization::LUTImageActor TLUTActor;
+ typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
public:
- vtkTypeMacro( ImageSliceStyle, BaseStyle );
+ vtkTypeMacro( ImageSliceStyle, vtkInteractorStyleImage );
+ typedef vtkInteractorStyleImage::Superclass Overclass;
public:
static Self* New( );
- cpExtensions::Visualization::ImageViewerActors* GetActors( );
- const cpExtensions::Visualization::ImageViewerActors* GetActors( ) const;
- void SetActors( cpExtensions::Visualization::ImageViewerActors* actors );
+ int GetSliceNumber( ) const;
+ int GetOrientation( ) const;
- // Events
virtual void OnMouseMove( ) cpExtensions_OVERRIDE;
virtual void OnMouseWheelForward( ) cpExtensions_OVERRIDE;
virtual void OnMouseWheelBackward( ) cpExtensions_OVERRIDE;
virtual void OnChar( ) 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 OnChar( ) cpExtensions_OVERRIDE;
+ */
+
protected:
ImageSliceStyle( );
virtual ~ImageSliceStyle( );
- virtual bool _PickPosition( int idx[ 2 ], double pos[ 3 ] ) cpExtensions_OVERRIDE;
+ bool _PickPointOnImageActor( int idx[ 2 ], double pnt[ 3 ] );
+ void _CorrectPosition( double pos[ 3 ], int ijk[ 3 ] );
+ void _ShowText( double pos[ 3 ] );
private:
// Purposely not implemented
Self& operator=( const Self& );
protected:
- vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors > m_Actors;
vtkSmartPointer< vtkPropPicker > m_PropPicker;
+ vtkSmartPointer< TLUTActor > m_LUTActor;
+ vtkSmartPointer< TWLActor > m_WLActor;
+ vtkSmartPointer< TCursor > m_Cursor;
+ vtkSmartPointer< vtkTextActor > m_Text;
+ char m_TextBuffer[ 1024 ];
};
} // ecapseman