VTK  9.1.20220523
vtkInteractorStyleTrackballCamera.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleTrackballCamera.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 =========================================================================*/
153 #ifndef vtkInteractorStyleTrackballCamera_h
154 #define vtkInteractorStyleTrackballCamera_h
155 
156 #include "vtkInteractionStyleModule.h" // For export macro
157 #include "vtkInteractorStyle.h"
158 
159 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTrackballCamera : public vtkInteractorStyle
160 {
161 public:
164  void PrintSelf(ostream& os, vtkIndent indent) override;
165 
167 
171  void OnMouseMove() override;
172  void OnLeftButtonDown() override;
173  void OnLeftButtonUp() override;
174  void OnMiddleButtonDown() override;
175  void OnMiddleButtonUp() override;
176  void OnRightButtonDown() override;
177  void OnRightButtonUp() override;
178  void OnMouseWheelForward() override;
179  void OnMouseWheelBackward() override;
181 
182  // These methods for the different interactions in different modes
183  // are overridden in subclasses to perform the correct motion. Since
184  // they are called by OnTimer, they do not have mouse coord parameters
185  // (use interactor's GetEventPosition and GetLastEventPosition)
186  void Rotate() override;
187  void Spin() override;
188  void Pan() override;
189  void Dolly() override;
190  void EnvironmentRotate() override;
191 
193 
196  vtkSetMacro(MotionFactor, double);
197  vtkGetMacro(MotionFactor, double);
199 
200 protected:
203 
204  double MotionFactor;
205 
206  virtual void Dolly(double factor);
207 
208 private:
210  void operator=(const vtkInteractorStyleTrackballCamera&) = delete;
211 };
212 
213 #endif
a simple class to control print indentation
Definition: vtkIndent.h:119
interactive manipulation of the camera
void OnRightButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void Dolly(double factor)
void OnLeftButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void OnMouseWheelForward() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMiddleButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMouseMove() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void Rotate() override
These methods for the different interactions in different modes are overridden in subclasses to perfo...
static vtkInteractorStyleTrackballCamera * New()
void OnMouseWheelBackward() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnRightButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnLeftButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMiddleButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
provide event-driven interface to the rendering window (defines trackball mode)