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