[英]Autodesk Forge Viewer - Click Events on models created through SceneBuilder
我正在使用新的 SceneBuilder 扩展(使用本指南)向查看器添加几何图形。 我已经能够在查看器中显示几何图形,还能够将 TextGeometry 添加到与某些模型相同的 dbId 中。
查看器允许我单击并隔离几何图形,但是当我使用 viewer.getSelection() 时,它返回一个空数组。 我什至为几何本身添加了一个单击事件侦听器,但也没有运气。
任何人都知道向这个新创建的片段或几何图形添加侦听器的方法吗?
您是否将dbid
设置为附加到场景的网格? 否则,选择器将无法像文档(原始模型)的气泡那样获取他们的 dbid:
sceneBuilder.addNewModel({conserveMemory: false,
modelNameOverride: 'My Model Name233'})
.then(modelBuilder => {
//...
mesh = new THREE.Mesh(geom, phongMaterial);
mesh.dbId=23333;
modelBuilder.addMesh(mesh);
})
然后您可以调用自定义 model 上的选择器来获取当前选择 - 因为我们从自定义 model 获取选择状态,而不是查看器加载的选择状态(通过viewer.model
):
modelBuilder.model.selector.getSelection() //[23333]
编辑
忘了说你也可以订阅AGGREGATE_SELECTION_CHANGED_EVEN
因为我们在这里处理多个模型:
NOP_VIEWER.addEventListener(Autodesk.Viewing.AGGREGATE_SELECTION_CHANGED_EVENT,e=>{
//...
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.