VTK  9.5.2
vtkInteractorStyleTrackballActor.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
133
134#ifndef vtkInteractorStyleTrackballActor_h
135#define vtkInteractorStyleTrackballActor_h
136
137#include "vtkInteractionStyleModule.h" // For export macro
138#include "vtkInteractorStyle.h"
139#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
140
141VTK_ABI_NAMESPACE_BEGIN
142class vtkCellPicker;
143
144class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleTrackballActor
145 : public vtkInteractorStyle
146{
147public:
150 void PrintSelf(ostream& os, vtkIndent indent) override;
151
153
157 void OnMouseMove() override;
158 void OnLeftButtonDown() override;
159 void OnLeftButtonUp() override;
160 void OnMiddleButtonDown() override;
161 void OnMiddleButtonUp() override;
162 void OnRightButtonDown() override;
163 void OnRightButtonUp() override;
165
166 // These methods for the different interactions in different modes
167 // are overridden in subclasses to perform the correct motion. Since
168 // they might be called from OnTimer, they do not have mouse coord parameters
169 // (use interactor's GetEventPosition and GetLastEventPosition)
170 void Rotate() override;
171 void Spin() override;
172 void Pan() override;
173 void Dolly() override;
174 void UniformScale() override;
175
176protected:
179
180 void FindPickedActor(int x, int y);
181
183 vtkProp3D* prop3D, double* boxCenter, int NumRotation, double** rotate, double* scale);
184
186
189
190private:
192 void operator=(const vtkInteractorStyleTrackballActor&) = delete;
193};
194
195VTK_ABI_NAMESPACE_END
196#endif
ray-cast cell picker for all kinds of Prop3Ds
a simple class to control print indentation
Definition vtkIndent.h:108
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.
represents an 3D object for placement in a rendered scene
Definition vtkProp3D.h:89
#define VTK_MARSHALAUTO