总述
简单的说,拾取器可分两类:
一类是基于硬件拾取,如vtkPropPicker及其子类、vtkAreaPicker及子类
另一类是基于几何拾取,如vtkPicker和它的子类
硬件拾取的优点是快速,但获取信息有限
几何拾取则获得的信息多,但速度相对要慢一些
vtkPropPicker
使用硬件拾取的策略来确定所拾取的vtkProp对象,包括拾取点的世界坐标。它通常比vtkAbstractPropPicker的其它子类速度要快,但它不能返回所拾取对象的详细信息。
博文:vtk 一个 Randerer 多个 Actor 独立操作的问题 vtkPropPicker拾取功能_恋恋西风的博客-CSDN博客
vtkAreaPicker
vtkAreaPicker及其子类vtkRenderedAreaPicker也是基于硬件实现的,同样无法获取到拾取对象的详细信息,他们的作用是选择屏幕上的对象。
博文:vtk vtkAreaPicker 多边形选取部分_恋恋西风的博客-CSDN博客
vtkPicker
vtkPicker是基于软件实现的拾取类,具体实现是基于vtkProp对象的包围盒来拾取对象的。
vtkPicker有三个子类,其中两个分别是vtkPointPicker和vtkCellPicker,它们可以获取所拾取对象的详细信息,如点的ID,单元的ID等。
vtkPointPicker
用于拾取单个点,返回ID和坐标值。
博文:通过修改点修改 vtkPolyData_恋恋西风的博客-CSDN博客
vtkCellPicker
用于拾取某个单元,并返回交点的信息, vtkCellPicker是所有拾取类中最慢的一个,但获取信息是最多的。通过指定容差,可以返回单一的拾取对象。
博文:https://blog.csdn.net/q610098308/article/details/125421795