00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00033 #ifndef __vtkCellPicker_h
00034 #define __vtkCellPicker_h
00035 
00036 #include "vtkPicker.h"
00037 
00038 class vtkGenericCell;
00039 
00040 class VTK_RENDERING_EXPORT vtkCellPicker : public vtkPicker
00041 {
00042 public:
00043   static vtkCellPicker *New();
00044   vtkTypeRevisionMacro(vtkCellPicker,vtkPicker);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046 
00048 
00049   vtkGetMacro(CellId, vtkIdType);
00051 
00053 
00054   vtkGetMacro(SubId, int);
00056 
00058 
00060   vtkGetVectorMacro(PCoords, double,3);
00062 
00063 protected:
00064   vtkCellPicker();
00065   ~vtkCellPicker();
00066 
00067   vtkIdType CellId; 
00068   int SubId; 
00069   double PCoords[3]; 
00070 
00071   virtual double IntersectWithLine(double p1[3], double p2[3], double tol, 
00072                                   vtkAssemblyPath *path, vtkProp3D *p, 
00073                                   vtkAbstractMapper3D *m);
00074   void Initialize();
00075   
00076 private:
00077   vtkGenericCell *Cell; 
00078   
00079 private:
00080   vtkCellPicker(const vtkCellPicker&);  
00081   void operator=(const vtkCellPicker&);  
00082 };
00083 
00084 #endif
00085 
00086