dox/Rendering/vtkAbstractPicker.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00061 #ifndef __vtkAbstractPicker_h
00062 #define __vtkAbstractPicker_h
00063
00064 #include "vtkObject.h"
00065
00066 class vtkRenderer;
00067 class vtkProp;
00068 class vtkPropCollection;
00069
00070 class VTK_RENDERING_EXPORT vtkAbstractPicker : public vtkObject
00071 {
00072 public:
00073 vtkTypeRevisionMacro(vtkAbstractPicker,vtkObject);
00074 void PrintSelf(ostream& os, vtkIndent indent);
00075
00077
00078 vtkGetObjectMacro(Renderer,vtkRenderer);
00080
00082
00084 vtkGetVectorMacro(SelectionPoint,float,3);
00086
00088
00089 vtkGetVectorMacro(PickPosition,float,3);
00091
00093
00097 virtual int Pick(float selectionX, float selectionY, float selectionZ,
00098 vtkRenderer *renderer) = 0;
00100
00102
00105 int Pick(float selectionPt[3], vtkRenderer *ren)
00106 {return this->Pick(selectionPt[0],selectionPt[1],selectionPt[2],ren);};
00108
00110 void SetStartPickMethod(void (*f)(void *), void *arg);
00111
00113 void SetPickMethod(void (*f)(void *), void *arg);
00114
00117 void SetEndPickMethod(void (*f)(void *), void *arg);
00118
00120 void SetStartPickMethodArgDelete(void (*f)(void *));
00121
00123 void SetPickMethodArgDelete(void (*f)(void *));
00124
00126 void SetEndPickMethodArgDelete(void (*f)(void *));
00127
00129
00132 vtkSetMacro(PickFromList,int);
00133 vtkGetMacro(PickFromList,int);
00134 vtkBooleanMacro(PickFromList,int);
00136
00138 void InitializePickList();
00139
00141 void AddPickList(vtkProp *);
00142
00144 void DeletePickList(vtkProp *);
00145
00147 vtkPropCollection *GetPickList() {return this->PickList;}
00148
00149 protected:
00150 vtkAbstractPicker();
00151 ~vtkAbstractPicker();
00152
00153 virtual void Initialize();
00154
00155 vtkRenderer *Renderer;
00156 float SelectionPoint[3];
00157 float PickPosition[3];
00158
00159
00160 unsigned long StartPickTag;
00161 unsigned long PickTag;
00162 unsigned long EndPickTag;
00163
00164
00165 int PickFromList;
00166 vtkPropCollection *PickList;
00167 private:
00168 vtkAbstractPicker(const vtkAbstractPicker&);
00169 void operator=(const vtkAbstractPicker&);
00170 };
00171
00172 #endif
00173
00174