我有一个基本的查看器,其中设置了一个我要添加一些球体的模型。实际添加球体效果很好。
var geometry = new THREE.SphereGeometry( 50, 50, 50 );
viewer.impl.createOverlayScene('TestOverlay' , material)
var cube = new THREE.Mesh(geometry, material)
viewer.impl.addOverlay('TestOverlay', cube);
我想通过设置比例尺来使添加的球体更改由查看器外部的按钮触发的大小。
scale.set(2, 2, 2)
从技术上讲,这是可行的,但是只有当用户下次以某种方式与查看器进行交互时,球体才会改变比例,例如,只要用户鼠标进入查看器,就会使它更新。
我试过在三个js几何对象上设置需求更新字段,但这并没有改变任何内容,我也无法在伪造文档中找到有关手动更新它的任何内容。
有没有办法强制从Javascript更新
当场景需要更新以立即反映更改时,请尝试触发重新渲染,方法是:
viewer.impl.invalidate(needsClear, needsRender, overlayDirty) // e.g. viewer.impl.invalidate(true)
这项工作有效,我之前尝试过此方法,但是我没有意识到invalidate方法有3个参数,因此viewer.impl.invalidate(true)不起作用,但是viewer.impl.invalidate(true,true,true)可以