00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00035 #ifndef __vtkPropPicker_h
00036 #define __vtkPropPicker_h
00037 
00038 #include "vtkAbstractPropPicker.h"
00039 
00040 class vtkProp;
00041 class vtkWorldPointPicker;
00042 
00043 class VTK_RENDERING_EXPORT vtkPropPicker : public vtkAbstractPropPicker
00044 {
00045 public:
00046   static vtkPropPicker *New();
00047 
00048   vtkTypeMacro(vtkPropPicker,vtkAbstractPropPicker);
00049   void PrintSelf(ostream& os, vtkIndent indent);
00050 
00055   int PickProp(double selectionX, double selectionY, vtkRenderer *renderer);  
00056 
00058 
00060   int PickProp(double selectionX, double selectionY, vtkRenderer *renderer, 
00061                vtkPropCollection* pickfrom);  
00063 
00065 
00066   int Pick(double selectionX, double selectionY, double selectionZ, 
00067            vtkRenderer *renderer);  
00068   int Pick(double selectionPt[3], vtkRenderer *renderer)
00069     { return this->Pick( selectionPt[0], 
00070                          selectionPt[1], selectionPt[2], renderer); };  
00072 
00073 protected:
00074   vtkPropPicker();
00075   ~vtkPropPicker();
00076 
00077   void Initialize();
00078   
00079   vtkPropCollection* PickFromProps;
00080   
00081   
00082   vtkWorldPointPicker *WorldPointPicker;
00083 private:
00084   vtkPropPicker(const vtkPropPicker&);  
00085   void operator=(const vtkPropPicker&);  
00086 };
00087 
00088 #endif
00089 
00090