VTK  9.3.20240416
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
72 #ifndef vtkInteractorStyleTerrain_h
73 #define vtkInteractorStyleTerrain_h
74 
75 #include "vtkInteractionStyleModule.h" // For export macro
76 #include "vtkInteractorStyle.h"
77 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
78 
79 VTK_ABI_NAMESPACE_BEGIN
80 class vtkPolyDataMapper;
81 class vtkSphereSource;
82 class vtkExtractEdges;
83 
84 class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleTerrain
85  : public vtkInteractorStyle
86 {
87 public:
92 
94  void PrintSelf(ostream& os, vtkIndent indent) override;
95 
97 
101  void OnMouseMove() override;
102  void OnLeftButtonDown() override;
103  void OnLeftButtonUp() override;
104  void OnMiddleButtonDown() override;
105  void OnMiddleButtonUp() override;
106  void OnRightButtonDown() override;
107  void OnRightButtonUp() override;
109 
113  void OnChar() override;
114 
115  // These methods for the different interactions in different modes
116  // are overridden in subclasses to perform the correct motion.
117  void Rotate() override;
118  void Pan() override;
119  void Dolly() override;
120 
122 
125  vtkSetMacro(LatLongLines, vtkTypeBool);
126  vtkGetMacro(LatLongLines, vtkTypeBool);
127  vtkBooleanMacro(LatLongLines, vtkTypeBool);
129 
130 protected:
133 
134  // Internal helper attributes
136 
141 
144 
145  double MotionFactor;
146 
147 private:
149  void operator=(const vtkInteractorStyleTerrain&) = delete;
150 };
151 
152 VTK_ABI_NAMESPACE_END
153 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:151
extract cell edges from any type of dataset
a simple class to control print indentation
Definition: vtkIndent.h:108
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
#define VTK_MARSHALAUTO