VTK  9.1.0
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 =========================================================================*/
144 #ifndef vtkInteractorStyleTrackballCamera_h
145 #define vtkInteractorStyleTrackballCamera_h
146 
147 #include "vtkInteractionStyleModule.h" // For export macro
148 #include "vtkInteractorStyle.h"
149 
150 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTrackballCamera : public vtkInteractorStyle
151 {
152 public:
155  void PrintSelf(ostream& os, vtkIndent indent) override;
156 
158 
162  void OnMouseMove() override;
163  void OnLeftButtonDown() override;
164  void OnLeftButtonUp() override;
165  void OnMiddleButtonDown() override;
166  void OnMiddleButtonUp() override;
167  void OnRightButtonDown() override;
168  void OnRightButtonUp() override;
169  void OnMouseWheelForward() override;
170  void OnMouseWheelBackward() override;
172 
173  // These methods for the different interactions in different modes
174  // are overridden in subclasses to perform the correct motion. Since
175  // they are called by OnTimer, they do not have mouse coord parameters
176  // (use interactor's GetEventPosition and GetLastEventPosition)
177  void Rotate() override;
178  void Spin() override;
179  void Pan() override;
180  void Dolly() override;
181  void EnvironmentRotate() override;
182 
184 
187  vtkSetMacro(MotionFactor, double);
188  vtkGetMacro(MotionFactor, double);
190 
191 protected:
194 
195  double MotionFactor;
196 
197  virtual void Dolly(double factor);
198 
199 private:
201  void operator=(const vtkInteractorStyleTrackballCamera&) = delete;
202 };
203 
204 #endif
a simple class to control print indentation
Definition: vtkIndent.h:113
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)