Autodesk forge 线框扩展在每次更新时卸载线

Autodesk forge 线框扩展在每次更新时卸载线,autodesk-forge,autodesk,autodesk-viewer,Autodesk Forge,Autodesk,Autodesk Viewer,我正在使用这个线框扩展 我稍微修改了它的颜色 如果我稍微移动一下相机,所有的线条都会消失,因为我们的应用程序不断地从传感器获取输入,我们最终的线条总是不显示 我找不到是什么让这些线消失了。我怎样才能使它们始终可见 在本例中也会发生这种情况,您可以重现: 在我的研究之后,另一种避免这个问题的方法。您可以将这些线框几何图形添加到查看器覆盖中,而不是使用impl.scene和impl.sceneAfter。以下是解决方法的片段: //!-- 1. Add this two line in the `

我正在使用这个线框扩展 我稍微修改了它的颜色

如果我稍微移动一下相机,所有的线条都会消失,因为我们的应用程序不断地从传感器获取输入,我们最终的线条总是不显示

我找不到是什么让这些线消失了。我怎样才能使它们始终可见

在本例中也会发生这种情况,您可以重现:


在我的研究之后,另一种避免这个问题的方法。您可以将这些线框几何图形添加到查看器覆盖中,而不是使用
impl.scene
impl.sceneAfter
。以下是解决方法的片段:

//!-- 1. Add this two line in the `load` function.
if( this.viewer.impl.overlayScenes[this.overlayName] === undefined )
    this.viewer.impl.createOverlayScene( this.overlayName );

//!-- 2. Modified `addWireframes` with overlay functions
function addWireframes(viewer, overlayName, groups) {
    var groupsCount = groups.length;
    for (var i = 0; i < groupsCount; ++i) {
        viewer.impl.addOverlay( overlayName, groups[i] );
    }
    viewer.impl.invalidate(false, true, true);
}

//!-- 3. Modified `revertWireframes` with overlay functions
function revertWireframes(viewer, overlayName, groups) {
    var groupsCount = groups.length;
    for (var i = 0; i < groupsCount; ++i) {
        viewer.impl.removeOverlay( overlayName, groups[i] );
    }
    viewer.impl.invalidate(false, true, true);
}

//!-- 4 Update `impl.invalidate` function calls
viewer.impl.invalidate(false, true, true);

//!-- 5. Update function calls of both `addWireframes` and `revertWireframes`, for example:
addWireframes(this.viewer, this.overlayName, this.groups);
revertWireframes(this.viewer, this.overlayName, this.groups);
/!--1.在'load'函数中添加这两行。
if(this.viewer.impl.overlyscenes[this.overlyname]==未定义)
this.viewer.impl.CreateOverlyScene(this.OverlyName);
//!-- 2.使用叠加功能修改了“addWireframes”
函数addWireframes(查看器、套印格式、组){
var groupscont=groups.length;
对于(变量i=0;i
p.S.,因为这只是一个解决方案,而不是正式的解决方案。您必须自行承担使用风险。

==旧答案

这可能是渐进式渲染造成的,您可以通过
viewer.setProgressiveRendering(false)
将其关闭。但在Forge Viewer中查看大型模型时会影响性能

渐进式渲染是查看器渲染大型模型的方式。不幸的是,现在无法预防和修复

以下是我这边的情况:


我注意到,如果我将这些行添加到
场景中,而不是之后的
场景中,那么当我移动模型时,它们会保留下来。但是现在还有另一个问题,它们在模型的网格后面:关于如何使它们在网格前面有什么想法?就像Phillipe的旧线框示例一样。更新的答案中提供了解决此问题的方法。希望能有帮助。