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