00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkPointPlacer_h
00041 #define __vtkPointPlacer_h
00042
00043 #include "vtkObject.h"
00044
00045 class vtkRenderer;
00046
00047 class VTK_WIDGETS_EXPORT vtkPointPlacer : public vtkObject
00048 {
00049 public:
00051 static vtkPointPlacer *New();
00052
00054
00055 vtkTypeRevisionMacro(vtkPointPlacer,vtkObject);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00058
00060
00065 virtual int ComputeWorldPosition( vtkRenderer *ren,
00066 double displayPos[2],
00067 double worldPos[3],
00068 double worldOrient[9] );
00070
00072
00076 virtual int ComputeWorldPosition( vtkRenderer *ren,
00077 double displayPos[2],
00078 double refWorldPos[3],
00079 double worldPos[3],
00080 double worldOrient[9] );
00082
00085 virtual int ValidateWorldPosition( double worldPos[3] );
00086
00088 virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
00089
00091
00093 virtual int ValidateWorldPosition( double worldPos[3],
00094 double worldOrient[9] );
00096
00098
00105 virtual int UpdateWorldPosition( vtkRenderer *ren,
00106 double worldPos[3],
00107 double worldOrient[9] );
00109
00110
00113 virtual int UpdateInternalState() {return 0;}
00114
00116
00118 vtkSetClampMacro(PixelTolerance,int,1,100);
00119 vtkGetMacro(PixelTolerance,int);
00121
00123
00125 vtkSetClampMacro(WorldTolerance, double, 0.0, VTK_DOUBLE_MAX);
00126 vtkGetMacro(WorldTolerance, double);
00128
00129 protected:
00130 vtkPointPlacer();
00131 ~vtkPointPlacer();
00132
00133 int PixelTolerance;
00134 double WorldTolerance;
00135
00136 private:
00137 vtkPointPlacer(const vtkPointPlacer&);
00138 void operator=(const vtkPointPlacer&);
00139 };
00140
00141 #endif
00142
00143
00144
00145
00146