VTK
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 =========================================================================*/
38 #ifndef vtkAffineRepresentation_h
39 #define vtkAffineRepresentation_h
40 
41 #include "vtkInteractionWidgetsModule.h" // For export macro
43 
44 class vtkTransform;
45 
47 {
48 public:
50 
52  void PrintSelf(ostream& os, vtkIndent indent);
54 
60  virtual void GetTransform(vtkTransform *t) = 0;
61 
63 
66  vtkSetClampMacro(Tolerance,int,1,100);
67  vtkGetMacro(Tolerance,int);
69 
70 //BTX
71  // Enums define the state of the representation relative to the mouse pointer
72  // position. Used by ComputeInteractionState() to communicate with the
73  // widget.
75  {
76  Outside=0, Rotate, Translate, TranslateX, TranslateY, ScaleWEdge, ScaleEEdge,
77  ScaleNEdge, ScaleSEdge, ScaleNE, ScaleSW, ScaleNW, ScaleSE,
78  ShearEEdge, ShearWEdge, ShearNEdge, ShearSEdge,
79  MoveOriginX, MoveOriginY, MoveOrigin
80  };
81 //ETX
82 
85  virtual void ShallowCopy(vtkProp *prop);
86 
87 protected:
90 
91  // The tolerance for selecting different parts of the widget.
92  int Tolerance;
93 
94  // The internal transformation matrix
96 
97 private:
98  vtkAffineRepresentation(const vtkAffineRepresentation&); //Not implemented
99  void operator=(const vtkAffineRepresentation&); //Not implemented
100 };
101 
102 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
abstract class for representing affine transformation widgets
virtual void ShallowCopy(vtkProp *prop)
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:59
abstract class defines interface between the widget and widget representation classes ...
#define VTKINTERACTIONWIDGETS_EXPORT
a simple class to control print indentation
Definition: vtkIndent.h:38
void PrintSelf(ostream &os, vtkIndent indent)