00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00038 #ifndef __vtkAffineRepresentation_h
00039 #define __vtkAffineRepresentation_h
00040
00041 #include "vtkWidgetRepresentation.h"
00042
00043 class vtkTransform;
00044
00045 class VTK_WIDGETS_EXPORT vtkAffineRepresentation : public vtkWidgetRepresentation
00046 {
00047 public:
00049
00050 vtkTypeRevisionMacro(vtkAffineRepresentation,vtkWidgetRepresentation);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00053
00059 virtual void GetTransform(vtkTransform *t) = 0;
00060
00062
00065 vtkSetClampMacro(Tolerance,int,1,100);
00066 vtkGetMacro(Tolerance,int);
00068
00069
00070
00071
00072
00073 enum _InteractionState
00074 {
00075 Outside=0, Rotate, Translate, TranslateX, TranslateY, ScaleWEdge, ScaleEEdge,
00076 ScaleNEdge, ScaleSEdge, ScaleNE, ScaleSW, ScaleNW, ScaleSE,
00077 ShearEEdge, ShearWEdge, ShearNEdge, ShearSEdge,
00078 MoveOriginX, MoveOriginY, MoveOrigin
00079 };
00080
00081
00084 virtual void ShallowCopy(vtkProp *prop);
00085
00086 protected:
00087 vtkAffineRepresentation();
00088 ~vtkAffineRepresentation();
00089
00090
00091 int Tolerance;
00092
00093
00094 vtkTransform *Transform;
00095
00096 private:
00097 vtkAffineRepresentation(const vtkAffineRepresentation&);
00098 void operator=(const vtkAffineRepresentation&);
00099 };
00100
00101 #endif