VTK
vtkInteractorStyleFlight.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleFlight.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
38 #ifndef vtkInteractorStyleFlight_h
39 #define vtkInteractorStyleFlight_h
40 
41 #include "vtkInteractionStyleModule.h" // For export macro
42 #include "vtkInteractorStyle.h"
43 class vtkCamera;
45 //BTX
46 class CPIDControl;
47 //ETX
48 
50 {
51 public:
54  void PrintSelf(ostream& os, vtkIndent indent);
55 
58  void JumpTo(double campos[3], double focpos[3]);
59 
61 
62  vtkSetMacro(MotionStepSize,double);
63  vtkGetMacro(MotionStepSize,double);
65 
67 
68  vtkSetMacro(MotionAccelerationFactor,double);
69  vtkGetMacro(MotionAccelerationFactor,double);
71 
73 
74  vtkSetMacro(AngleStepSize,double);
75  vtkGetMacro(AngleStepSize,double);
77 
79 
80  vtkSetMacro(AngleAccelerationFactor,double);
81  vtkGetMacro(AngleAccelerationFactor,double);
83 
85 
86  vtkSetMacro(DisableMotion,int);
87  vtkGetMacro(DisableMotion,int);
88  vtkBooleanMacro(DisableMotion,int);
90 
92 
97  vtkSetMacro(RestoreUpVector,int);
98  vtkGetMacro(RestoreUpVector,int);
99  vtkBooleanMacro(RestoreUpVector,int);
101 
102  // Specify "up" (by default {0,0,1} but can be changed)
103  vtkGetVectorMacro(DefaultUpVector,double,3);
104  vtkSetVectorMacro(DefaultUpVector,double,3);
105 
107 
108  virtual void OnMouseMove();
109  virtual void OnLeftButtonDown();
110  virtual void OnLeftButtonUp();
111  virtual void OnMiddleButtonDown();
112  virtual void OnMiddleButtonUp();
113  virtual void OnRightButtonDown();
114  virtual void OnRightButtonUp();
116 
118 
119  virtual void OnChar();
120  virtual void OnKeyDown();
121  virtual void OnKeyUp();
122  virtual void OnTimer();
123  //
124  virtual void ForwardFly();
125  virtual void ReverseFly();
126  //
127  virtual void StartForwardFly();
128  virtual void EndForwardFly();
129  virtual void StartReverseFly();
130  virtual void EndReverseFly();
132 
133 protected:
136 
138 
141  void FlyByMouse(vtkCamera* cam);
142  void FlyByKey(vtkCamera* cam);
143  void GetLRVector(double vector[3], vtkCamera* cam);
144  void MotionAlongVector(double vector[3], double amount, vtkCamera* cam);
147  //
148  //
149  unsigned char KeysDown;
158  double DefaultUpVector[3];
160  double IdealFocalPoint[3];
162  double DeltaYaw;
163  double lYaw;
164  double DeltaPitch;
165  double lPitch;
166 //BTX
167  CPIDControl *PID_Yaw;
168  CPIDControl *PID_Pitch;
169 //ETX
170 private:
171  vtkInteractorStyleFlight(const vtkInteractorStyleFlight&); // Not implemented.
172  void operator=(const vtkInteractorStyleFlight&); // Not implemented.
173 };
175 
176 #endif
vtkInteractorStyleFlight::vtkInteractorStyleFlight
vtkInteractorStyleFlight()
vtkInteractorStyleFlight::FinishCamera
void FinishCamera(vtkCamera *cam)
vtkX3D::vector
@ vector
Definition: vtkX3D.h:237
vtkInteractorStyleFlight::lPitch
double lPitch
Definition: vtkInteractorStyleFlight.h:165
vtkInteractorStyleFlight::ForwardFly
virtual void ForwardFly()
vtkInteractorStyleFlight::MotionUserScale
double MotionUserScale
Definition: vtkInteractorStyleFlight.h:154
vtkInteractorStyle.h
vtkInteractorStyleFlight::FlyByMouse
void FlyByMouse(vtkCamera *cam)
vtkInteractorStyleFlight
provides flight motion routines
Definition: vtkInteractorStyleFlight.h:50
vtkInteractorStyleFlight::AzimuthStepSize
double AzimuthStepSize
Definition: vtkInteractorStyleFlight.h:159
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkInteractorStyleFlight::OnRightButtonUp
virtual void OnRightButtonUp()
vtkInteractorStyleFlight::UpdateMouseSteering
void UpdateMouseSteering(vtkCamera *cam)
vtkGetVectorMacro
#define vtkGetVectorMacro(name, type, count)
Definition: vtkSetGet.h:424
VTKINTERACTIONSTYLE_EXPORT
#define VTKINTERACTIONSTYLE_EXPORT
Definition: vtkInteractionStyleModule.h:15
vtkInteractorStyleFlight::OnLeftButtonDown
virtual void OnLeftButtonDown()
vtkInteractorStyleFlight::OnMiddleButtonDown
virtual void OnMiddleButtonDown()
vtkInteractorStyleFlight::ReverseFly
virtual void ReverseFly()
vtkInteractorStyleFlight::EndForwardFly
virtual void EndForwardFly()
vtkInteractorStyleFlight::RestoreUpVector
int RestoreUpVector
Definition: vtkInteractorStyleFlight.h:151
vtkInteractionStyleModule.h
vtkInteractorStyleFlight::MotionStepSize
double MotionStepSize
Definition: vtkInteractorStyleFlight.h:153
vtkInteractorStyleFlight::AngleAccelerationFactor
double AngleAccelerationFactor
Definition: vtkInteractorStyleFlight.h:157
vtkInteractorStyleFlight::OnTimer
virtual void OnTimer()
vtkInteractorStyleFlight::JumpTo
void JumpTo(double campos[3], double focpos[3])
vtkInteractorStyleFlight::DisableMotion
int DisableMotion
Definition: vtkInteractorStyleFlight.h:150
vtkInteractorStyleFlight::Transform
vtkPerspectiveTransform * Transform
Definition: vtkInteractorStyleFlight.h:161
vtkInteractorStyleFlight::StartForwardFly
virtual void StartForwardFly()
vtkInteractorStyleFlight::OnKeyDown
virtual void OnKeyDown()
vtkInteractorStyleFlight::AngleStepSize
double AngleStepSize
Definition: vtkInteractorStyleFlight.h:156
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkInteractorStyleFlight::SetupMotionVars
void SetupMotionVars(vtkCamera *cam)
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:49
vtkInteractorStyleFlight::UpdateSteering
void UpdateSteering(vtkCamera *cam)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkInteractorStyleFlight::OnRightButtonDown
virtual void OnRightButtonDown()
vtkInteractorStyleFlight::MotionAccelerationFactor
double MotionAccelerationFactor
Definition: vtkInteractorStyleFlight.h:155
vtkPerspectiveTransform
describes a 4x4 matrix transformation
Definition: vtkPerspectiveTransform.h:56
vtkInteractorStyle
provide event-driven interface to the rendering window (defines trackball mode)
Definition: vtkInteractorStyle.h:136
vtkInteractorStyleFlight::OnMouseMove
virtual void OnMouseMove()
vtkInteractorStyleFlight::DeltaYaw
double DeltaYaw
Definition: vtkInteractorStyleFlight.h:162
vtkInteractorStyleFlight::PID_Pitch
CPIDControl * PID_Pitch
Definition: vtkInteractorStyleFlight.h:168
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkSetVectorMacro
#define vtkSetVectorMacro(name, type, count)
Definition: vtkSetGet.h:406
vtkInteractorStyleFlight::OnChar
virtual void OnChar()
vtkInteractorStyleFlight::lYaw
double lYaw
Definition: vtkInteractorStyleFlight.h:163
vtkInteractorStyleFlight::DeltaPitch
double DeltaPitch
Definition: vtkInteractorStyleFlight.h:164
vtkInteractorStyleFlight::MotionAlongVector
void MotionAlongVector(double vector[3], double amount, vtkCamera *cam)
vtkInteractorStyleFlight::~vtkInteractorStyleFlight
~vtkInteractorStyleFlight()
vtkInteractorStyleFlight::GetLRVector
void GetLRVector(double vector[3], vtkCamera *cam)
vtkInteractorStyleFlight::StartReverseFly
virtual void StartReverseFly()
vtkInteractorStyleFlight::OnMiddleButtonUp
virtual void OnMiddleButtonUp()
vtkInteractorStyleFlight::FlyByKey
void FlyByKey(vtkCamera *cam)
vtkInteractorStyleFlight::OnLeftButtonUp
virtual void OnLeftButtonUp()
vtkInteractorStyleFlight::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkInteractorStyleFlight::PID_Yaw
CPIDControl * PID_Yaw
Definition: vtkInteractorStyleFlight.h:167
vtkInteractorStyleFlight::DiagonalLength
double DiagonalLength
Definition: vtkInteractorStyleFlight.h:152
vtkInteractorStyleFlight::EndReverseFly
virtual void EndReverseFly()
vtkInteractorStyleFlight::New
static vtkInteractorStyleFlight * New()
vtkInteractorStyleFlight::KeysDown
unsigned char KeysDown
Definition: vtkInteractorStyleFlight.h:149
vtkInteractorStyleFlight::OnKeyUp
virtual void OnKeyUp()