VTK
vtkAxesTransformWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAxesTransformWidget.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 =========================================================================*/
81 #ifndef vtkAxesTransformWidget_h
82 #define vtkAxesTransformWidget_h
83 
84 #include "vtkInteractionWidgetsModule.h" // For export macro
85 #include "vtkAbstractWidget.h"
86 
88 class vtkHandleWidget;
89 
90 
91 class VTKINTERACTIONWIDGETS_EXPORT vtkAxesTransformWidget : public vtkAbstractWidget
92 {
93 public:
97  static vtkAxesTransformWidget *New();
98 
100 
104  void PrintSelf(ostream& os, vtkIndent indent) override;
106 
111  void SetEnabled(int enabling) override;
112 
119  {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
120 
125  {return reinterpret_cast<vtkAxesTransformRepresentation*>(this->WidgetRep);}
126 
130  void CreateDefaultRepresentation() override;
131 
136  void SetProcessEvents(vtkTypeBool) override;
137 
138 protected:
140  ~vtkAxesTransformWidget() override;
141 
143  enum _WidgetState {Start=0,Active};
145 
146  // These methods handle events
147  static void SelectAction(vtkAbstractWidget*);
148  static void EndSelectAction(vtkAbstractWidget*);
149  static void MoveAction(vtkAbstractWidget*);
150 
151  // The positioning handle widgets
152  vtkHandleWidget *OriginWidget; //first end point
153  vtkHandleWidget *SelectionWidget; //used when selecting any one of the axes
154 
155 private:
157  void operator=(const vtkAxesTransformWidget&) = delete;
158 };
159 
160 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros implementing standard VTK methods.
a general widget for moving handles
virtual void CreateDefaultRepresentation()=0
Create the default widget representation if one is not set.
represent the vtkAxesTransformWidget
int vtkTypeBool
Definition: vtkABI.h:69
a simple class to control print indentation
Definition: vtkIndent.h:33
void SetRepresentation(vtkAxesTransformRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
define the API for widget / widget representation
virtual void SetProcessEvents(vtkTypeBool)
Methods to change whether the widget responds to interaction.
void SetEnabled(int) override
Methods for activating this widget.
3D widget for performing 3D transformations around an axes
vtkHandleWidget * SelectionWidget
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkAxesTransformRepresentation * GetLineRepresentation()
Return the representation as a vtkAxesTransformRepresentation.