VTK  9.0.1
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 =========================================================================*/
55 #ifndef vtkInteractorStyleTerrain_h
56 #define vtkInteractorStyleTerrain_h
57 
58 #include "vtkInteractionStyleModule.h" // For export macro
59 #include "vtkInteractorStyle.h"
60 
61 class vtkPolyDataMapper;
62 class vtkSphereSource;
63 class vtkExtractEdges;
64 
65 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTerrain : public vtkInteractorStyle
66 {
67 public:
72 
74  void PrintSelf(ostream& os, vtkIndent indent) override;
75 
77 
81  void OnMouseMove() override;
82  void OnLeftButtonDown() override;
83  void OnLeftButtonUp() override;
84  void OnMiddleButtonDown() override;
85  void OnMiddleButtonUp() override;
86  void OnRightButtonDown() override;
87  void OnRightButtonUp() override;
89 
93  void OnChar() override;
94 
95  // These methods for the different interactions in different modes
96  // are overridden in subclasses to perform the correct motion.
97  void Rotate() override;
98  void Pan() override;
99  void Dolly() override;
100 
102 
105  vtkSetMacro(LatLongLines, vtkTypeBool);
106  vtkGetMacro(LatLongLines, vtkTypeBool);
107  vtkBooleanMacro(LatLongLines, vtkTypeBool);
109 
110 protected:
112  ~vtkInteractorStyleTerrain() override;
113 
114  // Internal helper attributes
116 
121 
122  void SelectRepresentation();
123  void CreateLatLong();
124 
125  double MotionFactor;
126 
127 private:
129  void operator=(const vtkInteractorStyleTerrain&) = delete;
130 };
131 
132 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:36
vtkInteractorStyle::Dolly
virtual void Dolly()
Definition: vtkInteractorStyle.h:304
vtkInteractorStyle.h
vtkExtractEdges
extract cell edges from any type of data
Definition: vtkExtractEdges.h:34
vtkInteractorStyle::Pan
virtual void Pan()
Definition: vtkInteractorStyle.h:303
vtkInteractorStyle::OnChar
void OnChar() override
OnChar is triggered when an ASCII key is pressed.
vtkInteractorStyle::OnMiddleButtonUp
virtual void OnMiddleButtonUp()
Definition: vtkInteractorStyle.h:239
vtkInteractorStyleTerrain::LatLongMapper
vtkPolyDataMapper * LatLongMapper
Definition: vtkInteractorStyleTerrain.h:118
vtkInteractorStyle::OnMouseMove
virtual void OnMouseMove()
Generic event bindings can be overridden in subclasses.
Definition: vtkInteractorStyle.h:235
vtkInteractorStyleTerrain::LatLongSphere
vtkSphereSource * LatLongSphere
Definition: vtkInteractorStyleTerrain.h:117
vtkInteractorStyle::OnMiddleButtonDown
virtual void OnMiddleButtonDown()
Definition: vtkInteractorStyle.h:238
vtkSphereSource
create a polygonal sphere centered at the origin
Definition: vtkSphereSource.h:40
vtkInteractorStyle::OnRightButtonDown
virtual void OnRightButtonDown()
Definition: vtkInteractorStyle.h:240
vtkInteractorStyle::OnLeftButtonDown
virtual void OnLeftButtonDown()
Definition: vtkInteractorStyle.h:236
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkInteractorStyleTerrain
manipulate camera in scene with natural view up (e.g., terrain)
Definition: vtkInteractorStyleTerrain.h:65
vtkInteractorStyle
provide event-driven interface to the rendering window (defines trackball mode)
Definition: vtkInteractorStyle.h:147
vtkInteractorStyleTerrain::LatLongLines
vtkTypeBool LatLongLines
Definition: vtkInteractorStyleTerrain.h:115
vtkInteractorStyle::OnLeftButtonUp
virtual void OnLeftButtonUp()
Definition: vtkInteractorStyle.h:237
vtkInteractorStyle::New
static vtkInteractorStyle * New()
This class must be supplied with a vtkRenderWindowInteractor wrapper or parent.
vtkInteractorStyleTerrain::LatLongActor
vtkActor * LatLongActor
Definition: vtkInteractorStyleTerrain.h:119
vtkInteractorStyle::Rotate
virtual void Rotate()
These methods for the different interactions in different modes are overridden in subclasses to perfo...
Definition: vtkInteractorStyle.h:301
vtkInteractorStyle::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkInteractorStyle::OnRightButtonUp
virtual void OnRightButtonUp()
Definition: vtkInteractorStyle.h:241
vtkInteractorStyleTerrain::LatLongExtractEdges
vtkExtractEdges * LatLongExtractEdges
Definition: vtkInteractorStyleTerrain.h:120
vtkInteractorStyleTerrain::MotionFactor
double MotionFactor
Definition: vtkInteractorStyleTerrain.h:125
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69