1 #ifndef __CPEXTENSIONS__INTERACTION__SphereWidget__H__
2 #define __CPEXTENSIONS__INTERACTION__SphereWidget__H__
4 #include <cpExtensions/cpExtensions_Export.h>
5 #include <cpExtensions/Interaction/BaseInteractorStyle.h>
6 #include <vtkSphereWidget.h>
14 class cpExtensions_EXPORT SphereWidget
15 : public vtkSphereWidget
18 typedef SphereWidget Self;
19 vtkTypeMacro( SphereWidget, vtkSphereWidget );
21 typedef cpExtensions::Interaction::BaseInteractorStyle TBaseStyle;
22 typedef TBaseStyle::TMouseCommand TMouseCommand;
23 typedef TBaseStyle::TKeyCommand TKeyCommand;
28 virtual void SetInteractor( vtkRenderWindowInteractor* rwi );
29 void SetCenter(double* center);
30 void SetAxis(int axis);
32 double * GetPosition();
35 virtual ~SphereWidget( );
38 void* data, const TBaseStyle::ButtonID& button,
39 int* idx, double* pos, bool alt, bool ctr, bool sft
41 static void _DoubleClick(
42 void* data, const TBaseStyle::ButtonID& button,
43 int* idx, double* pos, bool alt, bool ctr, bool sft
45 static void _MouseMove(
46 void* data, const TBaseStyle::ButtonID& button,
47 int* idx, double* pos, bool alt, bool ctr, bool sft
50 static void _KeyPress(void* data, const char& key);
52 static void SetCenter(void* data, double* center);
54 static void SetAxis(void* data, int axis);
55 static int GetAxis(void* data);
56 static double * GetPosition(void* data);
60 // Purposely not implemented
61 SphereWidget( const Self& );
62 Self& operator=( const Self& );
69 #endif // __CPEXTENSIONS__INTERACTION__SphereWidget__H__