OCC对象渲染到VTK-拾取

参考:https://quaoar.su/blog/page/vtk-opencascade
1、vtkCellPicker的拾取创建后针对全局的是vtkPicker的子类

2、vtkCellPicker和渲染的形状来源没有关系,但是vtkCellPicker只能拾取Prop3Ds ,已经验证OCC对象 线和形状渲染为线框的不可以,这个可能和它拾取机制有关系,平面点射线的单元格,我理解的可能线没办法射线到。

3、IVtkTools_ShapePicker也是全局的,是OCC的api,但是它是继承了vtkAbstractPropPicker的类,部分功能可以在VTK库去理解。

4、回调中通过m_shapePicker->Pick(clickPos[0], clickPos[1], 0, ren);获取选取的对象。
参考中,通过设置渲染器到拾取器,拾取直接通过屏幕点击的点获取我认为是可以的
aShapePicker->SetRenderer(aRenderer);
void SetPicker(const vtkSmartPointer<IVtkTools_ShapePicker>& thePicker) { m_picker = thePicker; }
m_picker->Pick(aPos[0], aPos[1], 0);
但是我接手的工程直接是,一步完成的。
m_shapePicker->Pick(clickPos[0], clickPos[1], 0, ren);
 5、之前讨论的OCC+VTK框选的问题,
IVtkTools_ShapePicker中Pick (double theX0, double theY0, double theX1, double theY1, vtkRenderer *theRenderer=NULL)
     Pick entities in the given rectangle area.
VTK也有vtkAreaPicker实现获取框选的区域对象,后面项目中会尝试一下,参考下面的

VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )_vtkareapicker用法-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和光同尘 、Y_____

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值