Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Rendering/vtkPicker.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00056 #ifndef __vtkPicker_h
00057 #define __vtkPicker_h
00058
00059 #include "vtkAbstractPropPicker.h"
00060
00061 class vtkAbstractMapper3D;
00062 class vtkDataSet;
00063 class vtkTransform;
00064 class vtkActorCollection;
00065 class vtkProp3DCollection;
00066 class vtkPoints;
00067
00068 class VTK_RENDERING_EXPORT vtkPicker : public vtkAbstractPropPicker
00069 {
00070 public:
00071 static vtkPicker *New();
00072 vtkTypeRevisionMacro(vtkPicker,vtkAbstractPropPicker);
00073 void PrintSelf(ostream& os, vtkIndent indent);
00074
00076
00079 vtkSetMacro(Tolerance,float);
00080 vtkGetMacro(Tolerance,float);
00082
00084
00086 vtkGetVectorMacro(MapperPosition,float,3);
00088
00090
00091 vtkGetObjectMacro(Mapper,vtkAbstractMapper3D);
00093
00095
00097 vtkGetObjectMacro(DataSet,vtkDataSet);
00099
00102 vtkProp3DCollection *GetProp3Ds() {return this->Prop3Ds;};
00103
00107 vtkActorCollection *GetActors();
00108
00112 vtkPoints *GetPickedPositions() {return this->PickedPositions;};
00113
00115
00119 virtual int Pick(float selectionX, float selectionY, float selectionZ,
00120 vtkRenderer *renderer);
00122
00124
00128 int Pick(float selectionPt[3], vtkRenderer *ren)
00129 {return this->Pick(selectionPt[0], selectionPt[1], selectionPt[2], ren);};
00131
00132 protected:
00133 vtkPicker();
00134 ~vtkPicker();
00135
00136 void MarkPicked(vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m,
00137 float tMin, float mapperPos[3]);
00138 virtual float IntersectWithLine(float p1[3], float p2[3], float tol,
00139 vtkAssemblyPath *path, vtkProp3D *p,
00140 vtkAbstractMapper3D *m);
00141 virtual void Initialize();
00142
00143 float Tolerance;
00144 float MapperPosition[3];
00145
00146 vtkAbstractMapper3D *Mapper;
00147 vtkDataSet *DataSet;
00148
00149 float GlobalTMin;
00150 vtkTransform *Transform;
00151 vtkActorCollection *Actors;
00152 vtkProp3DCollection *Prop3Ds;
00153 vtkPoints *PickedPositions;
00154
00155 private:
00156 vtkPicker(const vtkPicker&);
00157 void operator=(const vtkPicker&);
00158 };
00159
00160
00161 #endif
00162
00163