VTK  9.2.6
vtkDistanceWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDistanceWidget.h,v
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 =========================================================================*/
97 #ifndef vtkDistanceWidget_h
98 #define vtkDistanceWidget_h
99 
100 #include "vtkAbstractWidget.h"
101 #include "vtkInteractionWidgetsModule.h" // For export macro
102 
104 class vtkHandleWidget;
105 class vtkDistanceWidgetCallback;
106 
107 class VTKINTERACTIONWIDGETS_EXPORT vtkDistanceWidget : public vtkAbstractWidget
108 {
109 public:
114 
116 
120  void PrintSelf(ostream& os, vtkIndent indent) override;
122 
128  void SetEnabled(int) override;
129 
136  {
137  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
138  }
139 
144  {
145  return reinterpret_cast<vtkDistanceRepresentation*>(this->WidgetRep);
146  }
147 
152 
158 
166  enum
167  {
168  Start = 0,
170  Manipulate
171  };
172 
174 
184  virtual void SetWidgetStateToStart();
187 
191  virtual int GetWidgetState() { return this->WidgetState; }
192 
193 protected:
195  ~vtkDistanceWidget() override;
196 
197  // The state of the widget
200 
201  // Callback interface to capture events when
202  // placing the widget.
209 
210  // The positioning handle widgets
213  vtkDistanceWidgetCallback* DistanceWidgetCallback1;
214  vtkDistanceWidgetCallback* DistanceWidgetCallback2;
215 
216  // Methods invoked when the handles at the
217  // end points of the widget are manipulated
218  void StartDistanceInteraction(int handleNum);
219  void DistanceInteraction(int handleNum);
220  void EndDistanceInteraction(int handleNum);
221 
222  friend class vtkDistanceWidgetCallback;
223 
224 private:
225  vtkDistanceWidget(const vtkDistanceWidget&) = delete;
226  void operator=(const vtkDistanceWidget&) = delete;
227 };
228 
229 #endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
represent the vtkDistanceWidget
measure the distance between two points
virtual void SetWidgetStateToStart()
Set the state of the widget.
virtual int GetWidgetState()
Return the current widget state.
vtkDistanceRepresentation * GetDistanceRepresentation()
Return the representation as a vtkDistanceRepresentation.
static void MoveAction3D(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for a VTK class.
virtual void SetWidgetStateToManipulate()
Set the state of the widget.
static void EndSelectAction(vtkAbstractWidget *)
void SetRepresentation(vtkDistanceRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
void EndDistanceInteraction(int handleNum)
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
static void AddPointAction3D(vtkAbstractWidget *)
~vtkDistanceWidget() override
vtkHandleWidget * Point2Widget
void StartDistanceInteraction(int handleNum)
vtkHandleWidget * Point1Widget
vtkDistanceWidgetCallback * DistanceWidgetCallback1
void DistanceInteraction(int handleNum)
vtkDistanceWidgetCallback * DistanceWidgetCallback2
static vtkDistanceWidget * New()
Instantiate this class.
static void MoveAction(vtkAbstractWidget *)
void SetEnabled(int) override
The method for activating and deactivating this widget.
void SetProcessEvents(vtkTypeBool) override
Methods to change the whether the widget responds to interaction.
static void AddPointAction(vtkAbstractWidget *)
static void EndSelectAction3D(vtkAbstractWidget *)
a general widget for moving handles
a simple class to control print indentation
Definition: vtkIndent.h:119
abstract class defines interface between the widget and widget representation classes
int vtkTypeBool
Definition: vtkABI.h:69