VTK  9.7.1
vtkTrackballMultiRotate.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-FileCopyrightText: Copyright 2009 Sandia Corporation
4 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
5 
20 #ifndef vtkTrackballMultiRotate_h
21 #define vtkTrackballMultiRotate_h
22 
23 #include "vtkCameraManipulator.h"
24 
25 #include "vtkInteractionStyleModule.h" // needed for export macro
26 
27 VTK_ABI_NAMESPACE_BEGIN
29 class vtkTrackballRoll;
30 class vtkTrackballRotate;
31 
32 class VTKINTERACTIONSTYLE_EXPORT vtkTrackballMultiRotate : public vtkCameraManipulator
33 {
34 public:
36  static vtkTrackballMultiRotate* New();
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
43  void StartInteraction() override {};
44  void EndInteraction() override {};
45  void OnKeyDown(vtkRenderWindowInteractor* vtkNotUsed(rwi)) override {}
46  void OnKeyUp(vtkRenderWindowInteractor* vtkNotUsed(rwi)) override {}
48 
50 
54  void OnMouseMove(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi) override;
55  void OnButtonDown(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi) override;
56  void OnButtonUp(int x, int y, vtkRenderer* ren, vtkRenderWindowInteractor* rwi) override;
58 
59 protected:
61  ~vtkTrackballMultiRotate() override;
62 
63 private:
65  void operator=(const vtkTrackballMultiRotate&) = delete;
66 
67  vtkTrackballRotate* RotateManipulator;
68  vtkTrackballRoll* RollManipulator;
69 
70  vtkCameraManipulator* CurrentManipulator;
71 };
72 VTK_ABI_NAMESPACE_END
73 #endif // vtkTrackballMultiRotate_h
void EndInteraction() override
Unimplemented methods from vtkCameraManipulator.
void StartInteraction() override
Unimplemented methods from vtkCameraManipulator.
void OnKeyUp(vtkRenderWindowInteractor *rwi) override
Unimplemented methods from vtkCameraManipulator.
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 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.
Rotates camera with xy mouse movement.
Rolls camera around a point.
a simple class to control print indentation
Definition: vtkIndent.h:28
This camera manipulator combines the vtkTrackballRotate and vtkTrackballRoll manipulators in one...
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...
void OnKeyDown(vtkRenderWindowInteractor *rwi) override
Unimplemented methods from vtkCameraManipulator.