VTK  9.2.6
vtkContextTransform.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkContextItem.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15
25
26#ifndef vtkContextTransform_h
27#define vtkContextTransform_h
28
30#include "vtkRenderingContext2DModule.h" // For export macro
31#include "vtkSmartPointer.h" // Needed for SP ivars.
32#include "vtkVector.h" // Needed for ivars.
33
34class vtkTransform2D;
35
36class VTKRENDERINGCONTEXT2D_EXPORT vtkContextTransform : public vtkAbstractContextItem
37{
38public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
46
52 void Update() override;
53
57 bool Paint(vtkContext2D* painter) override;
58
62 virtual void Identity();
63
68 virtual void Translate(float dx, float dy);
69
74 virtual void Scale(float dx, float dy);
75
79 virtual void Rotate(float angle);
80
85
89 vtkVector2f MapToParent(const vtkVector2f& point) override;
90
94 vtkVector2f MapFromParent(const vtkVector2f& point) override;
95
97
101 vtkSetMacro(PanMouseButton, int);
102 vtkGetMacro(PanMouseButton, int);
104
106
110 vtkSetMacro(PanModifier, int);
111 vtkGetMacro(PanModifier, int);
113
115
119 vtkSetMacro(SecondaryPanMouseButton, int);
120 vtkGetMacro(SecondaryPanMouseButton, int);
122
124
128 vtkSetMacro(SecondaryPanModifier, int);
129 vtkGetMacro(SecondaryPanModifier, int);
131
133
137 vtkSetMacro(ZoomMouseButton, int);
138 vtkGetMacro(ZoomMouseButton, int);
140
142
146 vtkSetMacro(ZoomModifier, int);
147 vtkGetMacro(ZoomModifier, int);
149
151
155 vtkSetMacro(SecondaryZoomMouseButton, int);
156 vtkGetMacro(SecondaryZoomMouseButton, int);
158
160
164 vtkSetMacro(SecondaryZoomModifier, int);
165 vtkGetMacro(SecondaryZoomModifier, int);
167
169
172 vtkSetMacro(ZoomOnMouseWheel, bool);
173 vtkGetMacro(ZoomOnMouseWheel, bool);
174 vtkBooleanMacro(ZoomOnMouseWheel, bool);
176
178
181 vtkSetMacro(PanYOnMouseWheel, bool);
182 vtkGetMacro(PanYOnMouseWheel, bool);
183 vtkBooleanMacro(PanYOnMouseWheel, bool);
185
189 bool Hit(const vtkContextMouseEvent& mouse) override;
190
194 bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) override;
195
199 bool MouseMoveEvent(const vtkContextMouseEvent& mouse) override;
200
204 bool MouseWheelEvent(const vtkContextMouseEvent& mouse, int delta) override;
205
206protected:
209
211
220
223
225
226private:
228 void operator=(const vtkContextTransform&) = delete;
229};
230
231#endif // vtkContextTransform_h
Class for drawing 2D primitives to a graphical context.
data structure to represent mouse events.
static vtkContextTransform * New()
Creates a vtkContextTransform object.
bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) override
Mouse wheel event.
bool Paint(vtkContext2D *painter) override
Paint event for the item, called whenever the item needs to be drawn.
virtual void Identity()
Reset the transform to the identity transformation.
virtual vtkTransform2D * GetTransform()
Access the vtkTransform2D that controls object transformation.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void Translate(float dx, float dy)
Translate the item by the specified amounts dx and dy in the x and y directions.
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) override
Mouse press event.
vtkVector2f MapToParent(const vtkVector2f &point) override
Transforms a point to the parent coordinate system.
bool Hit(const vtkContextMouseEvent &mouse) override
Returns true if the transform is interactive, false otherwise.
~vtkContextTransform() override
void Update() override
Perform any updates to the item that may be necessary before rendering.
vtkVector2f MapFromParent(const vtkVector2f &point) override
Transforms a point from the parent coordinate system.
virtual void Scale(float dx, float dy)
Scale the item by the specified amounts dx and dy in the x and y directions.
vtkSmartPointer< vtkTransform2D > Transform
virtual void Rotate(float angle)
Rotate the item by the specified angle.
a simple class to control print indentation
Definition vtkIndent.h:34
Hold a reference to a vtkObjectBase instance.
describes linear transformations via a 3x3 matrix