VTK  9.7.1
vtkAxesTransformWidget.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
75 #ifndef vtkAxesTransformWidget_h
76 #define vtkAxesTransformWidget_h
77 
78 #include "vtkAbstractWidget.h"
79 #include "vtkInteractionWidgetsModule.h" // For export macro
80 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
81 
82 VTK_ABI_NAMESPACE_BEGIN
84 class vtkHandleWidget;
85 
86 class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkAxesTransformWidget : public vtkAbstractWidget
87 {
88 public:
92  static vtkAxesTransformWidget* New();
93 
95 
99  void PrintSelf(ostream& os, vtkIndent indent) override;
101 
106  void SetEnabled(int enabling) override;
107 
114  {
115  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
116  }
117 
122  {
123  return reinterpret_cast<vtkAxesTransformRepresentation*>(this->WidgetRep);
124  }
125 
129  void CreateDefaultRepresentation() override;
130 
135  void SetProcessEvents(vtkTypeBool) override;
136 
137 protected:
139  ~vtkAxesTransformWidget() override;
140 
143  {
144  Start = 0,
145  Active
146  };
147 
149 
150  // These methods handle events
151  static void SelectAction(vtkAbstractWidget*);
152  static void EndSelectAction(vtkAbstractWidget*);
153  static void MoveAction(vtkAbstractWidget*);
154 
155  // The positioning handle widgets
156  vtkHandleWidget* OriginWidget; // first end point
157  vtkHandleWidget* SelectionWidget; // used when selecting any one of the axes
158 
159 private:
161  void operator=(const vtkAxesTransformWidget&) = delete;
162 };
163 
164 VTK_ABI_NAMESPACE_END
165 #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
vtkWidgetRepresentation * WidgetRep
int vtkTypeBool
Definition: vtkABI.h:64
a simple class to control print indentation
Definition: vtkIndent.h:28
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
#define VTK_MARSHALAUTO
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.