VTK
dox/Widgets/vtkPointPlacer.h
Go to the documentation of this file.
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 "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   vtkTypeMacro(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 
00111 
00116   virtual int UpdateNodeWorldPosition(
00117       double worldPos[3], vtkIdType nodePointId);
00119 
00122   virtual int UpdateInternalState() {return 0;}
00123   
00125 
00127   vtkSetClampMacro(PixelTolerance,int,1,100);
00128   vtkGetMacro(PixelTolerance,int);
00130 
00132 
00134   vtkSetClampMacro(WorldTolerance, double, 0.0, VTK_DOUBLE_MAX);
00135   vtkGetMacro(WorldTolerance, double);
00137 
00138 protected:
00139   vtkPointPlacer();
00140   ~vtkPointPlacer();
00141 
00142   int          PixelTolerance;
00143   double       WorldTolerance;
00144   
00145 private:
00146   vtkPointPlacer(const vtkPointPlacer&);  //Not implemented
00147   void operator=(const vtkPointPlacer&);  //Not implemented
00148 };
00149 
00150 #endif
00151 
00152 
00153 
00154 
00155