VTK  9.4.20241221
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 "vtkInteractionWidgetsModule.h" // For export macro
88#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
89
90VTK_ABI_NAMESPACE_BEGIN
92
93class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkTensorWidget : public vtkAbstractWidget
94{
95public:
97
102 void PrintSelf(ostream& os, vtkIndent indent) override;
104
111 {
112 this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
113 }
114
116
124 vtkSetMacro(TranslationEnabled, vtkTypeBool);
125 vtkGetMacro(TranslationEnabled, vtkTypeBool);
126 vtkBooleanMacro(TranslationEnabled, vtkTypeBool);
127 vtkSetMacro(ScalingEnabled, vtkTypeBool);
128 vtkGetMacro(ScalingEnabled, vtkTypeBool);
129 vtkBooleanMacro(ScalingEnabled, vtkTypeBool);
130 vtkSetMacro(RotationEnabled, vtkTypeBool);
131 vtkGetMacro(RotationEnabled, vtkTypeBool);
132 vtkBooleanMacro(RotationEnabled, vtkTypeBool);
133 vtkSetMacro(MoveFacesEnabled, vtkTypeBool);
134 vtkGetMacro(MoveFacesEnabled, vtkTypeBool);
135 vtkBooleanMacro(MoveFacesEnabled, vtkTypeBool);
137
143
148 void SetEnabled(int enabling) override;
149
150protected:
153
154 // Manage the state of the widget
157 {
158 Start = 0,
159 Active
160 };
161
162 // These methods handle events
172
173 // Control whether scaling, rotation, and translation are supported
178
180 static void ProcessKeyEvents(vtkObject*, unsigned long, void*, void*);
181
182private:
183 vtkTensorWidget(const vtkTensorWidget&) = delete;
184 void operator=(const vtkTensorWidget&) = delete;
185};
186
187VTK_ABI_NAMESPACE_END
188#endif
define the API for widget / widget representation
supports function callbacks
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
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_MARSHALAUTO