VTK  9.3.0
vtkInteractorStyleTerrain.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
52 #ifndef vtkInteractorStyleTerrain_h
53 #define vtkInteractorStyleTerrain_h
54 
55 #include "vtkInteractionStyleModule.h" // For export macro
56 #include "vtkInteractorStyle.h"
57 
58 VTK_ABI_NAMESPACE_BEGIN
59 class vtkPolyDataMapper;
60 class vtkSphereSource;
61 class vtkExtractEdges;
62 
63 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTerrain : public vtkInteractorStyle
64 {
65 public:
70 
72  void PrintSelf(ostream& os, vtkIndent indent) override;
73 
75 
79  void OnMouseMove() override;
80  void OnLeftButtonDown() override;
81  void OnLeftButtonUp() override;
82  void OnMiddleButtonDown() override;
83  void OnMiddleButtonUp() override;
84  void OnRightButtonDown() override;
85  void OnRightButtonUp() override;
87 
91  void OnChar() override;
92 
93  // These methods for the different interactions in different modes
94  // are overridden in subclasses to perform the correct motion.
95  void Rotate() override;
96  void Pan() override;
97  void Dolly() override;
98 
100 
103  vtkSetMacro(LatLongLines, vtkTypeBool);
104  vtkGetMacro(LatLongLines, vtkTypeBool);
105  vtkBooleanMacro(LatLongLines, vtkTypeBool);
107 
108 protected:
111 
112  // Internal helper attributes
114 
119 
122 
123  double MotionFactor;
124 
125 private:
127  void operator=(const vtkInteractorStyleTerrain&) = delete;
128 };
129 
130 VTK_ABI_NAMESPACE_END
131 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
extract cell edges from any type of dataset
a simple class to control print indentation
Definition: vtkIndent.h:38
manipulate camera in scene with natural view up (e.g., terrain)
void OnMiddleButtonUp() 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 OnLeftButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMouseMove() 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 OnRightButtonDown() 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.
void Rotate() override
These methods for the different interactions in different modes are overridden in subclasses to perfo...
void OnRightButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
~vtkInteractorStyleTerrain() override
void OnChar() override
Override the "fly-to" (f keypress) for images.
static vtkInteractorStyleTerrain * New()
Instantiate the object.
provide event-driven interface to the rendering window (defines trackball mode)
map vtkPolyData to graphics primitives
create a polygonal sphere centered at the origin
int vtkTypeBool
Definition: vtkABI.h:64