VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPointPlacer.h,v 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00040 #ifndef __vtkPointPlacer_h 00041 #define __vtkPointPlacer_h 00042 00043 #include "vtkInteractionWidgetsModule.h" // For export macro 00044 #include "vtkObject.h" 00045 00046 class vtkRenderer; 00047 00048 class VTKINTERACTIONWIDGETS_EXPORT vtkPointPlacer : public vtkObject 00049 { 00050 public: 00052 static vtkPointPlacer *New(); 00053 00055 00056 vtkTypeMacro(vtkPointPlacer,vtkObject); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00059 00061 00066 virtual int ComputeWorldPosition( vtkRenderer *ren, 00067 double displayPos[2], 00068 double worldPos[3], 00069 double worldOrient[9] ); 00071 00073 00077 virtual int ComputeWorldPosition( vtkRenderer *ren, 00078 double displayPos[2], 00079 double refWorldPos[3], 00080 double worldPos[3], 00081 double worldOrient[9] ); 00083 00086 virtual int ValidateWorldPosition( double worldPos[3] ); 00087 00089 virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] ); 00090 00092 00094 virtual int ValidateWorldPosition( double worldPos[3], 00095 double worldOrient[9] ); 00097 00099 00106 virtual int UpdateWorldPosition( vtkRenderer *ren, 00107 double worldPos[3], 00108 double worldOrient[9] ); 00110 00112 00117 virtual int UpdateNodeWorldPosition( 00118 double worldPos[3], vtkIdType nodePointId); 00120 00123 virtual int UpdateInternalState() {return 0;} 00124 00126 00128 vtkSetClampMacro(PixelTolerance,int,1,100); 00129 vtkGetMacro(PixelTolerance,int); 00131 00133 00135 vtkSetClampMacro(WorldTolerance, double, 0.0, VTK_DOUBLE_MAX); 00136 vtkGetMacro(WorldTolerance, double); 00138 00139 protected: 00140 vtkPointPlacer(); 00141 ~vtkPointPlacer(); 00142 00143 int PixelTolerance; 00144 double WorldTolerance; 00145 00146 private: 00147 vtkPointPlacer(const vtkPointPlacer&); //Not implemented 00148 void operator=(const vtkPointPlacer&); //Not implemented 00149 }; 00150 00151 #endif 00152 00153 00154 00155 00156