Autodesk forge 如何知道fitToView()已完全完成
我想知道fitToView()完全完成了。Autodesk forge 如何知道fitToView()已完全完成,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我想知道fitToView()完全完成了。 如果没有setTimeout(),某些程序过程在fitoView()之后无法运行。 例如,以下代码不起作用 const dbid = [1141] this.viewer.select(dbid) this.viewer.fitToView(dbid, viewer.model) zoom() //This will not work //code from: function zoom (){ var nav = viewer.navig
如果没有setTimeout(),某些程序过程在fitoView()之后无法运行。 例如,以下代码不起作用
const dbid = [1141]
this.viewer.select(dbid)
this.viewer.fitToView(dbid, viewer.model)
zoom() //This will not work
//code from:
function zoom (){
var nav = viewer.navigation
var pos = nav.getPosition()
var target = nav.getTarget()
var viewdir = new THREE.Vector3()
viewdir.subVectors (pos, target).normalize()
// zooms out by 100 along the view direction
viewdir.multiplyScalar (1000)
pos.add(viewdir)
nav.setPosition(pos)
}
下面的代码运行良好
this.viewer.fitToView(dbid, viewer.model)
setTimeout(function(){
zoom() //This will work fine
}, 2000)
但是,我不想尽可能多地使用setTimeout。有没有办法知道FitView()已完全完成?如果使用3.2.1版的查看器,Autodesk.Viewing.CAMERA\u TRANSITION\u COMPLETED将启动一个新事件
,它将在以下转换完成时启动:
回家过渡
焦点/适合视图转换
恢复状态转换
命名视图转换
任何其他摄影机转换
//勾引事件
viewer.addEventListener(Autodesk.Viewing.CAMERA_TRANSITION_COMPLETED, function(){
console.log('camera is no longer moving');
viewer.fitToView();
}))
//触发将移动相机并触发事件的操作
viewer.addEventListener(Autodesk.Viewing.CAMERA_TRANSITION_COMPLETED, function(){
console.log('camera is no longer moving');
viewer.fitToView();
您可以在此处查看有关查看器版本更改的更多信息。
您好,我正在与我们的工程师核实是否有活动在fittoView结束时启动。