00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef __vtkInteractorStyleSwitch_h
00041 #define __vtkInteractorStyleSwitch_h
00042
00043 #define VTKIS_JOYSTICK 0
00044 #define VTKIS_TRACKBALL 1
00045 #define VTKIS_CAMERA 0
00046 #define VTKIS_ACTOR 1
00047
00048 #include "vtkInteractorStyle.h"
00049 #include "vtkInteractorStyleJoystickActor.h"
00050 #include "vtkInteractorStyleJoystickCamera.h"
00051 #include "vtkInteractorStyleTrackballActor.h"
00052 #include "vtkInteractorStyleTrackballCamera.h"
00053
00054 class VTK_EXPORT vtkInteractorStyleSwitch : public vtkInteractorStyle
00055 {
00056 public:
00057 static vtkInteractorStyleSwitch *New();
00058 vtkTypeMacro(vtkInteractorStyleSwitch, vtkInteractorStyle);
00059
00060 void OnLeftButtonDown(int ctrl, int shift, int x, int y);
00061 void OnLeftButtonUp(int ctrl, int shift, int x, int y);
00062 void OnMiddleButtonDown(int ctrl, int shift, int x, int y);
00063 void OnMiddleButtonUp (int ctrl, int shift, int x, int y);
00064 void OnRightButtonDown(int ctrl, int shift, int x, int y);
00065 void OnRightButtonUp (int ctrl, int shift, int x, int y);
00066 void OnMouseMove(int ctrl, int shift, int x, int y);
00067 void OnChar (int ctrl, int shift, char keycode, int repeatcount);
00068
00069
00070
00071 void SetInteractor(vtkRenderWindowInteractor *iren);
00072
00073 void OnTimer();
00074
00075 #ifndef VTK_REMOVE_LEGACY_CODE
00076
00077
00078 void SetTrackballModeToTrackball()
00079 {VTK_LEGACY_METHOD(JoystickOrTrackball,"3.2"); this->JoystickOrTrackball = VTKIS_TRACKBALL; }
00080 void SetTrackballModeToJoystick()
00081 {VTK_LEGACY_METHOD(JoystickOrTrackball,"3.2"); this->JoystickOrTrackball = VTKIS_JOYSTICK; }
00082 void SetActorModeToCamera()
00083 {VTK_LEGACY_METHOD(CameraOrActor,"3.2"); this->CameraOrActor = VTKIS_CAMERA; }
00084 void SetActorModeToActor()
00085 {VTK_LEGACY_METHOD(CameraOrActor,"3.2"); this->CameraOrActor = VTKIS_ACTOR; }
00086 #endif
00087
00088
00089 protected:
00090 vtkInteractorStyleSwitch();
00091 ~vtkInteractorStyleSwitch();
00092 vtkInteractorStyleSwitch(const vtkInteractorStyleSwitch&) {};
00093 void operator=(const vtkInteractorStyleSwitch&) {};
00094
00095 vtkInteractorStyleJoystickActor *JoystickActor;
00096 vtkInteractorStyleJoystickCamera *JoystickCamera;
00097 vtkInteractorStyleTrackballActor *TrackballActor;
00098 vtkInteractorStyleTrackballCamera *TrackballCamera;
00099
00100 int JoystickOrTrackball;
00101 int CameraOrActor;
00102 };
00103
00104 #endif