VTK  9.3.20240424
vtkAffineRepresentation.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
27#ifndef vtkAffineRepresentation_h
28#define vtkAffineRepresentation_h
29
30#include "vtkInteractionWidgetsModule.h" // For export macro
32#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
33
34VTK_ABI_NAMESPACE_BEGIN
35class vtkTransform;
36
37class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkAffineRepresentation
39{
40public:
42
46 void PrintSelf(ostream& os, vtkIndent indent) override;
48
55 virtual void GetTransform(vtkTransform* t) = 0;
56
58
63 vtkSetClampMacro(Tolerance, int, 1, 100);
64 vtkGetMacro(Tolerance, int);
66
67 // Enums define the state of the representation relative to the mouse pointer
68 // position. Used by ComputeInteractionState() to communicate with the
69 // widget.
71 {
72 Outside = 0,
91 MoveOrigin
92 };
93
97 void ShallowCopy(vtkProp* prop) override;
98
99protected:
102
103 // The tolerance for selecting different parts of the widget.
105
106 // The internal transformation matrix
108
109private:
111 void operator=(const vtkAffineRepresentation&) = delete;
112};
113
114VTK_ABI_NAMESPACE_END
115#endif
abstract class for representing affine transformation widgets
virtual void GetTransform(vtkTransform *t)=0
Retrieve a linear transform characterizing the affine transformation generated by this widget.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of this class.
void ShallowCopy(vtkProp *prop) override
Methods to make this class properly act like a vtkWidgetRepresentation.
~vtkAffineRepresentation() override
a simple class to control print indentation
Definition vtkIndent.h:108
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:66
describes linear transformations via a 4x4 matrix
abstract class defines interface between the widget and widget representation classes
#define VTK_MARSHALAUTO