VTK  9.2.20230527
vtkInteractorStyleTerrain.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleTerrain.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
84 #ifndef vtkInteractorStyleTerrain_h
85 #define vtkInteractorStyleTerrain_h
86 
87 #include "vtkInteractionStyleModule.h" // For export macro
88 #include "vtkInteractorStyle.h"
89 
90 VTK_ABI_NAMESPACE_BEGIN
91 class vtkPolyDataMapper;
92 class vtkSphereSource;
93 class vtkExtractEdges;
94 
95 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTerrain : public vtkInteractorStyle
96 {
97 public:
102 
104  void PrintSelf(ostream& os, vtkIndent indent) override;
105 
107 
111  void OnMouseMove() override;
112  void OnLeftButtonDown() override;
113  void OnLeftButtonUp() override;
114  void OnMiddleButtonDown() override;
115  void OnMiddleButtonUp() override;
116  void OnRightButtonDown() override;
117  void OnRightButtonUp() override;
119 
123  void OnChar() override;
124 
125  // These methods for the different interactions in different modes
126  // are overridden in subclasses to perform the correct motion.
127  void Rotate() override;
128  void Pan() override;
129  void Dolly() override;
130 
132 
135  vtkSetMacro(LatLongLines, vtkTypeBool);
136  vtkGetMacro(LatLongLines, vtkTypeBool);
137  vtkBooleanMacro(LatLongLines, vtkTypeBool);
139 
140 protected:
143 
144  // Internal helper attributes
146 
151 
154 
155  double MotionFactor;
156 
157 private:
159  void operator=(const vtkInteractorStyleTerrain&) = delete;
160 };
161 
162 VTK_ABI_NAMESPACE_END
163 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:162
extract cell edges from any type of dataset
a simple class to control print indentation
Definition: vtkIndent.h:120
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:71