obb vtk 定点坐标_VTK三维坐标点拾取

本文介绍了如何在VTK中进行三维坐标拾取,重点讲解了如何使用vtkCellPicker与vtkRenderWindowInteractor结合,设置回调函数以及触发Pick()函数来实现坐标采集。同时,提到了在Qt环境下与vtkImagePlaneWidget的交互和vtkCallbackCommand的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三维坐标拾取,可以借助vtkPointPicker或者vtkCellPicker,其官方例程序参见annotatePick.py或QtVTKRenderWindows.cxx。

QtVTKRenderWindows.cxx例子中说明,如果将vtkCellPicker与vtkImagePlaneWidget结合使用时,只需要使用vtkImagePlaneWidget的SetPicker()将它们两者绑定即可实现坐标点的拾取和显示;然而,如果想在三维重建时,实现目标的三维坐标拾取,可不那么简单。下面是VTK6.2.0的使用文档中对含有SetPicker()函数的类的总结:

SetPicker() : vtkRenderWindowInteractor , vtkBalloonWidget , vtkImagePlaneWidget

由上面的总结可见,只有3个类是含有SetPicker()函数的,也就是说只有3个类可以与vtkCellPicker绑定。在三维重建效果显示时,通常使用的是第1个:vtkRenderWindowInteractor。

将vtkCellPicker与vtkRenderWindowInteractor通过SetPicker()绑定之后,并非就万事大吉。这时候还不能触发三维坐标点的采集。此外,就算继续设定vtkCellPicker的事件处理函数,也还不行。

那么,要怎样才能触发vtkCellPicker的采集呢?答案是必须调用其Pick()函数,而且是调用一次,就触发一次!下面将用一个实例说明。

1 vtkCellPicker的创建并且与Interactor绑定

// Cell Picker

m_pvtkCellPicker =

vtkSmartPointer< vtkCellPicker >::New();

m_pvtkCellPicker->SetTolerance( 0.005 );

vtkSmartPointer < vtkCallbackCommand > callbac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值