qt - Qt3D点线拾取?
问题描述
我一直在尝试在 Qt3D 中对网格进行点和线拾取。这是三角形拾取的工作版本,
auto renderSettings = new Qt3DRender::QRenderSettings(root);
renderSettings->pickingSettings()->setPickMethod(Qt3DRender::QPickingSettings::TrianglePicking);
auto entity = new Qt3DCore::QEntity(root);
auto picker = new Qt3DRender::QObjectPicker;
auto sphere = new Qt3DExtras::QSphereMesh;
entity->addComponent(picker);
entity->addComponent(sphere);
connect(picker, &Qt3DRender::QObjectPicker::clicked, []
(Qt3DRender::QPickEvent* e) {
auto p = dynamic_cast<Qt3DRender::QPickTriangleEvent*>(e);
auto idx = p->triangleIndex();
});
但是,当我切换到点拾取或线拾取时,永远不会触发 clicked 事件。知道如何进行这项工作吗?提前致谢。
解决方案
推荐阅读
- eclipse - Eclipse Tricks and Tips 插件扩展点
- javascript - npm 错误!错误:EPERM:不允许操作,取消链接
- angular - 错误:您必须传入 NgModule 或 NgModuleFactory 才能被引导(使用服务器端渲染)
- python - tensorflow-hub:文件位于特定文件夹中时的 Python 导入错误
- c - 通过 MATLAB mex 从 C 获取预处理器输出
- php - 为同一个请求生成不同的hmac
- python - 构建一个接受创建的特征向量的神经网络
- android - 如何修复滚动不顺畅的 Recyclerview?
- node.js - 如何更改节点js中url的路径名
- mongodb - 如果一个条件为真,Mongo 匹配返回所有数据