VTK  9.1.0
vtkInteractorStyleTrackballActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleTrackballActor.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 =========================================================================*/
146 #ifndef vtkInteractorStyleTrackballActor_h
147 #define vtkInteractorStyleTrackballActor_h
148 
149 #include "vtkInteractionStyleModule.h" // For export macro
150 #include "vtkInteractorStyle.h"
151 
152 class vtkCellPicker;
153 
154 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTrackballActor : public vtkInteractorStyle
155 {
156 public:
159  void PrintSelf(ostream& os, vtkIndent indent) override;
160 
162 
166  void OnMouseMove() override;
167  void OnLeftButtonDown() override;
168  void OnLeftButtonUp() override;
169  void OnMiddleButtonDown() override;
170  void OnMiddleButtonUp() override;
171  void OnRightButtonDown() override;
172  void OnRightButtonUp() override;
174 
175  // These methods for the different interactions in different modes
176  // are overridden in subclasses to perform the correct motion. Since
177  // they might be called from OnTimer, they do not have mouse coord parameters
178  // (use interactor's GetEventPosition and GetLastEventPosition)
179  void Rotate() override;
180  void Spin() override;
181  void Pan() override;
182  void Dolly() override;
183  void UniformScale() override;
184 
185 protected:
188 
189  void FindPickedActor(int x, int y);
190 
192  vtkProp3D* prop3D, double* boxCenter, int NumRotation, double** rotate, double* scale);
193 
194  double MotionFactor;
195 
198 
199 private:
201  void operator=(const vtkInteractorStyleTrackballActor&) = delete;
202 };
203 
204 #endif
ray-cast cell picker for all kinds of Prop3Ds
Definition: vtkCellPicker.h:96
a simple class to control print indentation
Definition: vtkIndent.h:113
manipulate objects in the scene independent of each other
void OnMiddleButtonUp() 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 FindPickedActor(int x, int y)
void OnRightButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnRightButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnLeftButtonDown() 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 Rotate() override
These methods for the different interactions in different modes are overridden in subclasses to perfo...
static vtkInteractorStyleTrackballActor * New()
void Prop3DTransform(vtkProp3D *prop3D, double *boxCenter, int NumRotation, double **rotate, double *scale)
void OnMouseMove() 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)
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:93
@ scale
Definition: vtkX3D.h:235