00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkPVInteractorStyle_h
00025 #define __vtkPVInteractorStyle_h
00026
00027 #include "vtkInteractorStyle.h"
00028
00029 class vtkPVCameraManipulator;
00030 class vtkCollection;
00031
00032 class VTK_EXPORT vtkPVInteractorStyle : public vtkInteractorStyle
00033 {
00034 public:
00035 static vtkPVInteractorStyle *New();
00036 vtkTypeRevisionMacro(vtkPVInteractorStyle, vtkInteractorStyle);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040
00042 virtual void OnMouseMove();
00043 virtual void OnLeftButtonDown();
00044 virtual void OnLeftButtonUp();
00045 virtual void OnMiddleButtonDown();
00046 virtual void OnMiddleButtonUp();
00047 virtual void OnRightButtonDown();
00048 virtual void OnRightButtonUp();
00050
00052 void AddManipulator(vtkPVCameraManipulator *m);
00053
00054
00056
00057 vtkGetObjectMacro(CameraManipulators, vtkCollection);
00058
00060
00062 void SetCenterOfRotation(float x, float y, float z);
00063
00065 virtual void OnChar() {};
00066
00067 protected:
00068 vtkPVInteractorStyle();
00069 ~vtkPVInteractorStyle();
00070
00071 vtkPVCameraManipulator *Current;
00072
00073
00074 vtkCollection *CameraManipulators;
00075
00076 void OnButtonDown(int button, int shift, int control);
00077 void OnButtonUp(int button);
00078 void ResetLights();
00079
00080 vtkPVInteractorStyle(const vtkPVInteractorStyle&);
00081 void operator=(const vtkPVInteractorStyle&);
00082 };
00083
00084 #endif