VTK  9.3.0
vtkTensorWidget.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
83 #ifndef vtkTensorWidget_h
84 #define vtkTensorWidget_h
85 
86 #include "vtkAbstractWidget.h"
87 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
88 #include "vtkInteractionWidgetsModule.h" // For export macro
89 #include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
90 
91 VTK_ABI_NAMESPACE_BEGIN
93 
94 class VTKINTERACTIONWIDGETS_EXPORT vtkTensorWidget : public vtkAbstractWidget
95 {
96 public:
98 
101  static vtkTensorWidget* New();
103  void PrintSelf(ostream& os, vtkIndent indent) override;
105 
112  {
113  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
114  }
115 
117 
125  vtkSetMacro(TranslationEnabled, vtkTypeBool);
126  vtkGetMacro(TranslationEnabled, vtkTypeBool);
127  vtkBooleanMacro(TranslationEnabled, vtkTypeBool);
128  vtkSetMacro(ScalingEnabled, vtkTypeBool);
129  vtkGetMacro(ScalingEnabled, vtkTypeBool);
130  vtkBooleanMacro(ScalingEnabled, vtkTypeBool);
131  vtkSetMacro(RotationEnabled, vtkTypeBool);
132  vtkGetMacro(RotationEnabled, vtkTypeBool);
133  vtkBooleanMacro(RotationEnabled, vtkTypeBool);
134  vtkSetMacro(MoveFacesEnabled, vtkTypeBool);
135  vtkGetMacro(MoveFacesEnabled, vtkTypeBool);
136  vtkBooleanMacro(MoveFacesEnabled, vtkTypeBool);
138 
144 
149  void SetEnabled(int enabling) override;
150 
151 protected:
153  ~vtkTensorWidget() override;
154 
155  // Manage the state of the widget
158  {
159  Start = 0,
160  Active
161  };
162 #if !defined(VTK_LEGACY_REMOVE)
163  VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
165 #endif
166 
167  // These methods handle events
177 
178  // Control whether scaling, rotation, and translation are supported
183 
185  static void ProcessKeyEvents(vtkObject*, unsigned long, void*, void*);
186 
187 private:
188  vtkTensorWidget(const vtkTensorWidget&) = delete;
189  void operator=(const vtkTensorWidget&) = delete;
190 };
191 
192 VTK_ABI_NAMESPACE_END
193 #endif
define the API for widget / widget representation
supports function callbacks
a simple class to control print indentation
Definition: vtkIndent.h:29
abstract base class for most VTK objects
Definition: vtkObject.h:52
class defining a representation for the vtkTensorWidget
3D widget for manipulating a tensor glyph
static vtkTensorWidget * New()
Standard methods for instantiation, type information, and printing.
static void SelectAction(vtkAbstractWidget *)
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
vtkCallbackCommand * KeyEventCallbackCommand
vtkTypeBool MoveFacesEnabled
~vtkTensorWidget() override
static void MoveAction3D(vtkAbstractWidget *)
static void MoveAction(vtkAbstractWidget *)
vtkTypeBool RotationEnabled
static void ScaleAction(vtkAbstractWidget *)
static void TranslateAction(vtkAbstractWidget *)
void SetRepresentation(vtkTensorRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
void SetEnabled(int enabling) override
Override superclasses' SetEnabled() method because the line widget must enable its internal handle wi...
static void EndSelectAction3D(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
static void SelectAction3D(vtkAbstractWidget *)
vtkTypeBool ScalingEnabled
static void ProcessKeyEvents(vtkObject *, unsigned long, void *, void *)
static void StepAction3D(vtkAbstractWidget *)
static void EndSelectAction(vtkAbstractWidget *)
vtkTypeBool TranslationEnabled
abstract class defines interface between the widget and widget representation classes
int vtkTypeBool
Definition: vtkABI.h:64
#define VTK_DEPRECATED_IN_9_2_0(reason)