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