ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
vtkPVJoystickFly.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include "qPCL.h" // needed for export macro
11 #include "vtkCameraManipulator.h"
12 
13 class vtkRenderer;
14 
16 public:
18  void PrintSelf(ostream& os, vtkIndent indent) override;
19 
21 
25  void OnMouseMove(int x,
26  int y,
27  vtkRenderer* ren,
28  vtkRenderWindowInteractor* rwi) override;
29  void OnButtonDown(int x,
30  int y,
31  vtkRenderer* ren,
32  vtkRenderWindowInteractor* rwi) override;
33  void OnButtonUp(int x,
34  int y,
35  vtkRenderer* ren,
36  vtkRenderWindowInteractor* rwi) override;
38 
40 
43  vtkSetClampMacro(FlySpeed, double, 1, 30);
44  vtkGetMacro(FlySpeed, double);
46 
47 protected:
49  ~vtkPVJoystickFly() override;
50 
51  int In;
52  int FlyFlag;
53 
54  double FlySpeed;
55  double Scale;
57  double CameraXAxis[3];
58  double CameraYAxis[3];
59  double CameraZAxis[3];
60 
61  void Fly(vtkRenderer* ren,
62  vtkRenderWindowInteractor* rwi,
63  double scale,
64  double speed);
65  void ComputeCameraAxes(vtkRenderer*);
66 
68  void operator=(const vtkPVJoystickFly&) = delete;
69 };
virtual void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)
virtual void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)
virtual void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)
void PrintSelf(ostream &os, vtkIndent indent) override
void operator=(const vtkPVJoystickFly &)=delete
vtkGetMacro(FlySpeed, double)
vtkPVJoystickFly(const vtkPVJoystickFly &)=delete
vtkSetClampMacro(FlySpeed, double, 1, 30)
vtkTypeMacro(vtkPVJoystickFly, vtkCameraManipulator)
normal_z y
normal_z x
#define QPCL_ENGINE_LIB_API
Definition: qPCL.h:15