You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vtk.js中如何选择Actor或Volume?PropPicker是否存在?

vtk.js中PropPicker相关问题解答

关于PropPicker的存在性

vtk.js中没有PropPicker这个模块,这就是你导入@kitware/vtk.js/Sources/Rendering/Core/PropPicker时出现找不到错误的原因。

替代方案:使用ActorPicker

如果你需要直接拾取完整的Actor(而非单个单元),可以使用vtkActorPicker,它是vtk.js中专门用于拾取整个Prop(Actor属于Prop的子类)的工具。

示例代码修改

把你原来的CellPicker替换为ActorPicker,调整逻辑如下:

const picker = vtkActorPicker.newInstance();
picker.setPickFromList(1);
picker.initializePickList();
picker.addPickList(actorMainAfter);

renderWindow.getInteractor().onRightButtonPress((callData) => {
  const pos = callData.position;
  const point = [pos.x, pos.y, 0.0];

  console.log(`Pick at: ${point}`);
  picker.pick(point, rendererAfter);
  const pickedActor = picker.getActor(); // 获取拾取到的完整Actor对象
  console.log('Picked actor: ', pickedActor);
  renderWindow.render();
});

关键说明

  • vtkActorPicker的核心方法getActor()会返回拾取到的完整Actor实例,满足你获取整个对象的需求。
  • 它同样支持setPickFromList、addPickList这类筛选拾取目标的方法,和你之前用CellPicker的逻辑兼容。

补充:其他可选拾取工具

如果你的场景需要更灵活的拾取(比如同时支持Prop和单元),也可以考虑vtkPicker(基础拾取类),但vtkActorPicker是针对完整Prop拾取的最优选择。

内容的提问来源于stack exchange,提问作者Bejota

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:50:55