VTK  9.7.1
vtkTrackballPan.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
17 #ifndef vtkTrackballPan_h
18 #define vtkTrackballPan_h
19 
20 #include "vtkCameraManipulator.h"
21 
22 #include "vtkInteractionStyleModule.h" // needed for export macro
23 
24 #include <memory> // for std::unique_ptr
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class VTKINTERACTIONSTYLE_EXPORT vtkTrackballPan : public vtkCameraManipulator
28 {
29 public:
30  static vtkTrackballPan* New();
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
35 
38  void StartInteraction() override {};
39  void EndInteraction() override {};
41 
43 
47  void OnKeyUp(vtkRenderWindowInteractor*) override;
48  void OnKeyDown(vtkRenderWindowInteractor*) override;
50 
52 
56  void OnMouseMove(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* iren) override;
57  void OnButtonDown(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* iren) override;
58  void OnButtonUp(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* iren) override;
60 
61 protected:
63  ~vtkTrackballPan() override;
64 
65 private:
66  vtkTrackballPan(const vtkTrackballPan&) = delete;
67  void operator=(const vtkTrackballPan&) = delete;
68 
69  class vtkInternals;
70  std::unique_ptr<vtkInternals> Internals;
71 };
72 VTK_ABI_NAMESPACE_END
73 #endif
void EndInteraction() override
Unimplemented methods from vtkCameraManipulator.
virtual void OnKeyDown(vtkRenderWindowInteractor *iren)=0
These methods are called on all registered manipulators, not just the active one. ...
void StartInteraction() override
Unimplemented methods from vtkCameraManipulator.
Pans camera with x y mouse movements.
abstract specification for renderers
Definition: vtkRenderer.h:63
Abstraction of style away from button.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void OnKeyUp(vtkRenderWindowInteractor *iren)=0
These methods are called on all registered manipulators, not just the active one. ...
virtual void OnMouseMove(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)=0
These methods are called on the active manipulator when the corresponding events occur.
platform-independent render window interaction including picking and frame rate control.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void OnButtonDown(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)=0
virtual void OnButtonUp(int x, int y, vtkRenderer *ren, vtkRenderWindowInteractor *iren)=0
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...