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
91VTK_ABI_NAMESPACE_BEGIN
93
94class VTKINTERACTIONWIDGETS_EXPORT vtkTensorWidget : public vtkAbstractWidget
95{
96public:
98
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
151protected:
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
187private:
188 vtkTensorWidget(const vtkTensorWidget&) = delete;
189 void operator=(const vtkTensorWidget&) = delete;
190};
191
192VTK_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 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 *)
static vtkTensorWidget * New()
Standard methods for instantiation, type information, and printing.
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)