00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00022 #ifndef __vtkPVJoystickFly_h
00023 #define __vtkPVJoystickFly_h
00024
00025 #include "vtkPVCameraManipulator.h"
00026
00027 class vtkRenderer;
00028
00029 class VTK_EXPORT vtkPVJoystickFly : public vtkPVCameraManipulator
00030 {
00031 public:
00032 vtkTypeRevisionMacro(vtkPVJoystickFly, vtkPVCameraManipulator);
00033 void PrintSelf(ostream& os, vtkIndent indent);
00034
00036
00038 virtual void OnMouseMove(int x, int y, vtkRenderer *ren,
00039 vtkRenderWindowInteractor *rwi);
00040 virtual void OnButtonDown(int x, int y, vtkRenderer *ren,
00041 vtkRenderWindowInteractor *rwi);
00042 virtual void OnButtonUp(int x, int y, vtkRenderer *ren,
00043 vtkRenderWindowInteractor *rwi);
00045
00047
00048 vtkSetClampMacro(FlySpeed, double, 1, 30);
00049 vtkGetMacro(FlySpeed, double);
00051
00052 protected:
00053 vtkPVJoystickFly();
00054 ~vtkPVJoystickFly();
00055
00056 int In;
00057 int FlyFlag;
00058
00059 double FlySpeed;
00060 double Scale;
00061 double LastRenderTime;
00062 double CameraXAxis[3];
00063 double CameraYAxis[3];
00064 double CameraZAxis[3];
00065
00066 void Fly(vtkRenderer* ren, vtkRenderWindowInteractor *rwi,
00067 float scale, float speed);
00068 void ComputeCameraAxes(vtkRenderer*);
00069
00070 vtkPVJoystickFly(const vtkPVJoystickFly&);
00071 void operator=(const vtkPVJoystickFly&);
00072 };
00073
00074 #endif