36 #ifndef vtkInteractorStyleFlight_h
37 #define vtkInteractorStyleFlight_h
39 #include "vtkInteractionStyleModule.h"
57 void JumpTo(
double campos[3],
double focpos[3]);
64 vtkGetMacro(MotionStepSize,
double);
72 vtkGetMacro(MotionAccelerationFactor,
double);
80 vtkGetMacro(AngleStepSize,
double);
88 vtkGetMacro(AngleAccelerationFactor,
double);
96 vtkGetMacro(DisableMotion,
int);
109 vtkGetMacro(RestoreUpVector,
int);
114 vtkGetVectorMacro(DefaultUpVector,
double,3);
115 vtkSetVectorMacro(DefaultUpVector,
double,3);
122 void OnLeftButtonDown() VTK_OVERRIDE;
123 void OnLeftButtonUp() VTK_OVERRIDE;
124 void OnMiddleButtonDown() VTK_OVERRIDE;
125 void OnMiddleButtonUp() VTK_OVERRIDE;
126 void OnRightButtonDown() VTK_OVERRIDE;
127 void OnRightButtonUp() VTK_OVERRIDE;
134 void OnChar() VTK_OVERRIDE;
135 void OnKeyDown() VTK_OVERRIDE;
136 void OnKeyUp() VTK_OVERRIDE;
137 void OnTimer() VTK_OVERRIDE;
139 virtual
void ForwardFly();
140 virtual
void ReverseFly();
142 virtual
void StartForwardFly();
143 virtual
void EndForwardFly();
144 virtual
void StartReverseFly();
145 virtual
void EndReverseFly();
150 ~vtkInteractorStyleFlight() VTK_OVERRIDE;
157 void UpdateMouseSteering(
vtkCamera *cam);
161 void MotionAlongVector(
double vector[3],
double amount,
vtkCamera* cam);
166 unsigned char KeysDown;
169 double DiagonalLength;
170 double MotionStepSize;
171 double MotionUserScale;
172 double MotionAccelerationFactor;
173 double AngleStepSize;
174 double AngleAccelerationFactor;
175 double DefaultUpVector[3];
176 double AzimuthStepSize;
177 double IdealFocalPoint[3];
185 CPIDControl *PID_Yaw;
186 CPIDControl *PID_Pitch;
189 vtkInteractorStyleFlight(const vtkInteractorStyleFlight&) VTK_DELETE_FUNCTION;
190 void operator=(const vtkInteractorStyleFlight&) VTK_DELETE_FUNCTION;
static vtkInteractorStyle * New()
This class must be supplied with a vtkRenderWindowInteractor wrapper or parent.
provides flight motion routines
a simple class to control print indentation
a virtual camera for 3D rendering
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
provide event-driven interface to the rendering window (defines trackball mode)
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual void OnMouseMove()
Generic event bindings can be overridden in subclasses.