1 #ifndef __CPEXTENSIONS__INTERACTION__IMAGEINTERACTORSTYLE__H__
2 #define __CPEXTENSIONS__INTERACTION__IMAGEINTERACTORSTYLE__H__
4 #include <cpExtensions/Interaction/BaseInteractorStyle.h>
8 #include <vtkSmartPointer.h>
9 #include <vtkImageActorPointPlacer.h>
10 #include <vtkPropPicker.h>
11 #include <vtkPointHandleRepresentation3D.h>
12 #include <vtkSeedRepresentation.h>
13 #include <cpExtensions/Interaction/SeedWidget.h>
15 // Forward definitions
18 namespace cpExtensions
24 class cpExtensions_EXPORT ImageInteractorStyle
25 : public BaseInteractorStyle
28 typedef ImageInteractorStyle Self;
29 vtkTypeMacro( ImageInteractorStyle, BaseInteractorStyle );
32 typedef Superclass::TMouseCommand TMouseCommand;
33 typedef Superclass::TMouseWheelCommand TMouseWheelCommand;
34 typedef Superclass::TKeyCommand TKeyCommand;
35 typedef Superclass::TVoidCommand TVoidCommand;
36 typedef Superclass::TMouseMoveCommand TMouseMoveCommand;
37 typedef Superclass::TMouseClickCommand TMouseClickCommand;
38 typedef Superclass::TMouseDoubleClickCommand TMouseDoubleClickCommand;
39 typedef Superclass::TExposeCommand TExposeCommand;
40 typedef Superclass::TConfigureCommand TConfigureCommand;
41 typedef Superclass::TEnterCommand TEnterCommand;
42 typedef Superclass::TLeaveCommand TLeaveCommand;
47 vtkSmartPointer< vtkImageActorPointPlacer > Placer;
48 vtkSmartPointer< vtkPointHandleRepresentation3D > Handle;
49 vtkSmartPointer< vtkSeedRepresentation > Representation;
50 vtkSmartPointer< SeedWidget > Widget;
53 vtkRenderWindowInteractor* interactor, vtkImageActor* actor
62 // Data for local picker
63 virtual void AssociateImageActor( vtkImageActor* actor );
67 void SeedWidgetOff( );
70 ImageInteractorStyle( );
71 virtual ~ImageInteractorStyle( );
73 virtual bool _PickPosition( int idx[ 2 ], double pos[ 3 ] );
76 // Purposely not implemented
77 ImageInteractorStyle( const Self& );
78 Self& operator=( const Self& );
81 vtkSmartPointer< vtkPropPicker > m_PropPicker;
83 TSeedWidget* m_SeedWidget;
90 #endif // __CPEXTENSIONS__INTERACTION__IMAGEINTERACTORSTYLE__H__