VTK
9.0.1
Interaction
Widgets
vtkAffineRepresentation.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkAffineRepresentation.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
=========================================================================*/
39
#ifndef vtkAffineRepresentation_h
40
#define vtkAffineRepresentation_h
41
42
#include "vtkInteractionWidgetsModule.h"
// For export macro
43
#include "
vtkWidgetRepresentation.h
"
44
45
class
vtkTransform
;
46
47
class
VTKINTERACTIONWIDGETS_EXPORT
vtkAffineRepresentation
:
public
vtkWidgetRepresentation
48
{
49
public
:
51
54
vtkTypeMacro(
vtkAffineRepresentation
,
vtkWidgetRepresentation
);
55
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
57
64
virtual
void
GetTransform(
vtkTransform
* t) = 0;
65
67
72
vtkSetClampMacro(Tolerance,
int
, 1, 100);
73
vtkGetMacro(Tolerance,
int
);
75
76
// Enums define the state of the representation relative to the mouse pointer
77
// position. Used by ComputeInteractionState() to communicate with the
78
// widget.
79
enum
_InteractionState
80
{
81
Outside = 0,
82
Rotate
,
83
Translate
,
84
TranslateX
,
85
TranslateY
,
86
ScaleWEdge
,
87
ScaleEEdge
,
88
ScaleNEdge
,
89
ScaleSEdge
,
90
ScaleNE
,
91
ScaleSW
,
92
ScaleNW
,
93
ScaleSE
,
94
ShearEEdge
,
95
ShearWEdge
,
96
ShearNEdge
,
97
ShearSEdge
,
98
MoveOriginX
,
99
MoveOriginY
,
100
MoveOrigin
101
};
102
106
void
ShallowCopy
(
vtkProp
* prop)
override
;
107
108
protected
:
109
vtkAffineRepresentation
();
110
~
vtkAffineRepresentation
()
override
;
111
112
// The tolerance for selecting different parts of the widget.
113
int
Tolerance
;
114
115
// The internal transformation matrix
116
vtkTransform
*
Transform
;
117
118
private
:
119
vtkAffineRepresentation
(
const
vtkAffineRepresentation
&) =
delete
;
120
void
operator=(
const
vtkAffineRepresentation
&) =
delete
;
121
};
122
123
#endif
vtkWidgetRepresentation.h
vtkWidgetRepresentation::ShallowCopy
void ShallowCopy(vtkProp *prop) override
Shallow copy of this vtkProp.
vtkAffineRepresentation::MoveOriginX
@ MoveOriginX
Definition:
vtkAffineRepresentation.h:98
vtkAffineRepresentation::ScaleSE
@ ScaleSE
Definition:
vtkAffineRepresentation.h:93
vtkAffineRepresentation::Transform
vtkTransform * Transform
Definition:
vtkAffineRepresentation.h:116
vtkAffineRepresentation::ScaleWEdge
@ ScaleWEdge
Definition:
vtkAffineRepresentation.h:86
vtkAffineRepresentation::ShearSEdge
@ ShearSEdge
Definition:
vtkAffineRepresentation.h:97
vtkAffineRepresentation::ScaleEEdge
@ ScaleEEdge
Definition:
vtkAffineRepresentation.h:87
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition:
vtkWidgetRepresentation.h:59
vtkTransform
describes linear transformations via a 4x4 matrix
Definition:
vtkTransform.h:54
vtkAffineRepresentation::Rotate
@ Rotate
Definition:
vtkAffineRepresentation.h:82
vtkAffineRepresentation::ShearNEdge
@ ShearNEdge
Definition:
vtkAffineRepresentation.h:96
vtkAffineRepresentation
abstract class for representing affine transformation widgets
Definition:
vtkAffineRepresentation.h:47
vtkAffineRepresentation::ScaleNW
@ ScaleNW
Definition:
vtkAffineRepresentation.h:92
vtkAffineRepresentation::Translate
@ Translate
Definition:
vtkAffineRepresentation.h:83
vtkAffineRepresentation::MoveOriginY
@ MoveOriginY
Definition:
vtkAffineRepresentation.h:99
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:33
vtkAffineRepresentation::ShearWEdge
@ ShearWEdge
Definition:
vtkAffineRepresentation.h:95
vtkAffineRepresentation::ScaleSW
@ ScaleSW
Definition:
vtkAffineRepresentation.h:91
vtkProp
abstract superclass for all actors, volumes and annotations
Definition:
vtkProp.h:53
vtkAffineRepresentation::ScaleNE
@ ScaleNE
Definition:
vtkAffineRepresentation.h:90
vtkAffineRepresentation::ScaleSEdge
@ ScaleSEdge
Definition:
vtkAffineRepresentation.h:89
vtkAffineRepresentation::_InteractionState
_InteractionState
Definition:
vtkAffineRepresentation.h:79
vtkAffineRepresentation::Tolerance
int Tolerance
Definition:
vtkAffineRepresentation.h:113
vtkAffineRepresentation::TranslateX
@ TranslateX
Definition:
vtkAffineRepresentation.h:84
vtkAffineRepresentation::ScaleNEdge
@ ScaleNEdge
Definition:
vtkAffineRepresentation.h:88
vtkAffineRepresentation::TranslateY
@ TranslateY
Definition:
vtkAffineRepresentation.h:85
vtkAffineRepresentation::ShearEEdge
@ ShearEEdge
Definition:
vtkAffineRepresentation.h:94
vtkWidgetRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Generated on Thu Jun 24 2021 15:17:26 for VTK by
1.8.17