VTK
vtkAngleWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAngleWidget.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 =========================================================================*/
79 #ifndef vtkAngleWidget_h
80 #define vtkAngleWidget_h
81 
82 #include "vtkInteractionWidgetsModule.h" // For export macro
83 #include "vtkAbstractWidget.h"
84 
86 class vtkHandleWidget;
87 class vtkAngleWidgetCallback;
88 
89 
91 {
92 public:
94  static vtkAngleWidget *New();
95 
97 
99  void PrintSelf(ostream& os, vtkIndent indent);
101 
105  virtual void SetEnabled(int);
106 
108 
112  {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
114 
117 
119 
121  {return reinterpret_cast<vtkAngleRepresentation*>(this->WidgetRep);}
123 
127 
130  virtual void SetProcessEvents(int);
131 
133 
137  enum {Start=0,Define,Manipulate};
138  //ETX
140 
142 
150  virtual void SetWidgetStateToStart();
153 
155 
156  virtual int GetWidgetState()
157  {return this->WidgetState;}
159 
160 protected:
163 
164  // The state of the widget
167 
168  // Callback interface to capture events when
169  // placing the widget.
173 
174  // The positioning handle widgets
178  vtkAngleWidgetCallback *AngleWidgetCallback1;
179  vtkAngleWidgetCallback *AngleWidgetCenterCallback;
180  vtkAngleWidgetCallback *AngleWidgetCallback2;
181 
182  // Methods invoked when the handles at the
183  // end points of the widget are manipulated
184  void StartAngleInteraction(int handleNum);
185  void AngleInteraction(int handleNum);
186  void EndAngleInteraction(int handleNum);
187 
188 //BTX
189  friend class vtkAngleWidgetCallback;
190 //ETX
191 
192 private:
193  vtkAngleWidget(const vtkAngleWidget&); //Not implemented
194  void operator=(const vtkAngleWidget&); //Not implemented
195 };
196 
197 #endif
vtkAngleWidget
measure the angle between two rays (defined by three points)
Definition: vtkAngleWidget.h:91
vtkAngleWidget::New
static vtkAngleWidget * New()
vtkAngleWidget::IsAngleValid
int IsAngleValid()
vtkHandleWidget
a general widget for moving handles
Definition: vtkHandleWidget.h:79
vtkAngleWidget::Point1Widget
vtkHandleWidget * Point1Widget
Definition: vtkAngleWidget.h:175
vtkAbstractWidget.h
vtkAngleWidget::StartAngleInteraction
void StartAngleInteraction(int handleNum)
vtkAngleWidget::MoveAction
static void MoveAction(vtkAbstractWidget *)
vtkAngleWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkAngleWidget::vtkAngleWidget
vtkAngleWidget()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition: vtkWidgetRepresentation.h:54
vtkAbstractWidget::WidgetRep
vtkWidgetRepresentation * WidgetRep
Definition: vtkAbstractWidget.h:159
vtkInteractionWidgetsModule.h
vtkAngleWidget::GetAngleRepresentation
vtkAngleRepresentation * GetAngleRepresentation()
Definition: vtkAngleWidget.h:120
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:66
vtkAngleWidget::AngleWidgetCallback1
vtkAngleWidgetCallback * AngleWidgetCallback1
Definition: vtkAngleWidget.h:178
vtkAngleWidget::CurrentHandle
int CurrentHandle
Definition: vtkAngleWidget.h:166
vtkAngleWidget::Point2Widget
vtkHandleWidget * Point2Widget
Definition: vtkAngleWidget.h:177
vtkAngleWidget::GetWidgetState
virtual int GetWidgetState()
Definition: vtkAngleWidget.h:156
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkAngleWidget::EndAngleInteraction
void EndAngleInteraction(int handleNum)
vtkAngleWidget::SetProcessEvents
virtual void SetProcessEvents(int)
vtkAngleWidget::SetWidgetStateToStart
virtual void SetWidgetStateToStart()
vtkAngleWidget::EndSelectAction
static void EndSelectAction(vtkAbstractWidget *)
vtkAngleWidget::SetWidgetStateToManipulate
virtual void SetWidgetStateToManipulate()
vtkAngleWidget::AngleWidgetCenterCallback
vtkAngleWidgetCallback * AngleWidgetCenterCallback
Definition: vtkAngleWidget.h:179
vtkAngleWidget::AngleWidgetCallback2
vtkAngleWidgetCallback * AngleWidgetCallback2
Definition: vtkAngleWidget.h:180
vtkAngleWidget::AngleInteraction
void AngleInteraction(int handleNum)
vtkAngleWidget::SetEnabled
virtual void SetEnabled(int)
vtkgl::r
GLdouble GLdouble GLdouble r
Definition: vtkgl.h:11610
VTKINTERACTIONWIDGETS_EXPORT
#define VTKINTERACTIONWIDGETS_EXPORT
Definition: vtkInteractionWidgetsModule.h:15
vtkAngleWidget::CenterWidget
vtkHandleWidget * CenterWidget
Definition: vtkAngleWidget.h:176
vtkAngleWidget::~vtkAngleWidget
~vtkAngleWidget()
vtkAngleWidget::WidgetState
int WidgetState
Definition: vtkAngleWidget.h:165
vtkAngleWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation()
vtkAngleWidget::AddPointAction
static void AddPointAction(vtkAbstractWidget *)
vtkAngleWidget::SetRepresentation
void SetRepresentation(vtkAngleRepresentation *r)
Definition: vtkAngleWidget.h:111
vtkAngleRepresentation
represent the vtkAngleWidget
Definition: vtkAngleRepresentation.h:39