VTK  9.5.2
vtkInteractorStyleTrackballCamera.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
28
29#ifndef vtkInteractorStyleTrackballCamera_h
30#define vtkInteractorStyleTrackballCamera_h
31
32#include "vtkInteractionStyleModule.h" // For export macro
33#include "vtkInteractorStyle.h"
34#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
35
36VTK_ABI_NAMESPACE_BEGIN
37class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleTrackballCamera
38 : public vtkInteractorStyle
39{
40public:
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
46
50 void OnMouseMove() override;
51 void OnLeftButtonDown() override;
52 void OnLeftButtonUp() override;
53 void OnMiddleButtonDown() override;
54 void OnMiddleButtonUp() override;
55 void OnRightButtonDown() override;
56 void OnRightButtonUp() override;
57 void OnMouseWheelForward() override;
58 void OnMouseWheelBackward() override;
60
61 // These methods for the different interactions in different modes
62 // are overridden in subclasses to perform the correct motion. Since
63 // they are called by OnTimer, they do not have mouse coord parameters
64 // (use interactor's GetEventPosition and GetLastEventPosition)
65 void Rotate() override;
66 void Spin() override;
67 void Pan() override;
68 void Dolly() override;
69 void EnvironmentRotate() override;
70
72
75 vtkSetMacro(MotionFactor, double);
76 vtkGetMacro(MotionFactor, double);
78
79protected:
82
84
85 virtual void Dolly(double factor);
86
87private:
89 void operator=(const vtkInteractorStyleTrackballCamera&) = delete;
90};
91
92VTK_ABI_NAMESPACE_END
93#endif
a simple class to control print indentation
Definition vtkIndent.h:29
void OnRightButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void Dolly(double factor)
static vtkInteractorStyleTrackballCamera * New()
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...
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.
#define VTK_MARSHALAUTO