VTK  9.7.20261002
vtkJoystickFly.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2// SPDX-License-Identifier: BSD-3-Clause
16
17#ifndef vtkJoystickFly_h
18#define vtkJoystickFly_h
19
21
22#include "vtkCommand.h" // for vtkCommand::UserEvent
23#include "vtkInteractionStyleModule.h" // needed for export macro
24#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
25
26VTK_ABI_NAMESPACE_BEGIN
27class vtkRenderer;
28
29class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkJoystickFly : public vtkCameraManipulator
30{
31public:
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
35 enum : vtkTypeUInt16
36 {
38 };
39
41
44 void StartInteraction() override {}
45 void EndInteraction() override {}
46 void OnKeyDown(vtkRenderWindowInteractor* vtkNotUsed(rwi)) override {}
47 void OnKeyUp(vtkRenderWindowInteractor* vtkNotUsed(rwi)) override {}
49
51
55 void OnMouseMove(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi) override;
56 void OnButtonDown(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi) override;
57 void OnButtonUp(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi) override;
59
61
64 vtkSetClampMacro(FlySpeed, double, 1, 30);
65 vtkGetMacro(FlySpeed, double);
67
68protected:
70 ~vtkJoystickFly() override;
71
72 // Subclasses set to 1 for fly in and -1 for fly out.
73 int In = -1;
74
75private:
76 vtkJoystickFly(const vtkJoystickFly&) = delete;
77 void operator=(const vtkJoystickFly&) = delete;
78
79 int FlyFlag = 0;
80
81 double FlySpeed = 20.0;
82 double LastRenderTime = 0.1;
83
84 void Fly(vtkRenderer* ren, vtkRenderWindowInteractor* rwi, double scale, double speed);
85};
86VTK_ABI_NAMESPACE_END
87#endif
a simple class to control print indentation
Definition vtkIndent.h:108
void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnKeyUp(vtkRenderWindowInteractor *rwi) override
Unimplemented methods from vtkCameraManipulator.
void OnKeyDown(vtkRenderWindowInteractor *rwi) override
Unimplemented methods from vtkCameraManipulator.
void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *rwi) 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.
~vtkJoystickFly() override
void EndInteraction() override
Unimplemented methods from vtkCameraManipulator.
void StartInteraction() override
Unimplemented methods from vtkCameraManipulator.
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
#define VTK_MARSHALAUTO