VTK  9.0.3
vtkCompassWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCompassWidget.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 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
20 
64 #ifndef vtkCompassWidget_h
65 #define vtkCompassWidget_h
66 
67 #include "vtkAbstractWidget.h"
68 #include "vtkGeovisCoreModule.h" // For export macro
69 
71 
72 class VTKGEOVISCORE_EXPORT vtkCompassWidget : public vtkAbstractWidget
73 {
74 public:
78  static vtkCompassWidget* New();
79 
81 
85  void PrintSelf(ostream& os, vtkIndent indent) override;
87 
94  {
95  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
96  }
97 
102 
104 
107  double GetHeading();
108  void SetHeading(double v);
109  double GetTilt();
110  void SetTilt(double t);
111  double GetDistance();
112  void SetDistance(double t);
114 
115 protected:
117  ~vtkCompassWidget() override {}
118 
119  // These are the events that are handled
124 
127  {
128  Start = 0,
132  DistanceAdjusting
133  };
134 
135  int TimerId;
137  double StartTime;
138 
139 private:
140  vtkCompassWidget(const vtkCompassWidget&) = delete;
141  void operator=(const vtkCompassWidget&) = delete;
142 };
143 
144 #endif
define the API for widget / widget representation
set a value by manipulating something
void SetTilt(double t)
void SetRepresentation(vtkCompassRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
void SetHeading(double v)
double GetHeading()
Get the value for this widget.
static void EndSelectAction(vtkAbstractWidget *)
static vtkCompassWidget * New()
Instantiate the class.
static void TimerAction(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
double GetDistance()
void SetDistance(double t)
~vtkCompassWidget() override
static void MoveAction(vtkAbstractWidget *)
static void SelectAction(vtkAbstractWidget *)
a simple class to control print indentation
Definition: vtkIndent.h:34
abstract class defines interface between the widget and widget representation classes