【问题标题】:Forge viewer isLayerVisible is always false伪造查看器 isLayerVisible 始终为 false
【发布时间】:2021-01-11 16:15:50
【问题描述】:

由于某种原因,我在 viewer.isLayerVisible(layerNode) 上总是出错。 我跟着这个教程https://forge.autodesk.com/blog/toggle-sheet-layer-visibility 我在 LAYER_VISIBILITY_CHANGED_EVENT 上有事件处理程序,这是我在打字稿中的代码 sn-p:

viewer.addEventListener(Autodesk.Viewing.LAYER_VISIBILITY_CHANGED_EVENT, (e) => {
var root = viewer.model["myData"].layersRoot; //getLayersRoot() is not a function for some reason
var overlayLayer = viewer["getSelectedLayer"]();
if (viewer["layerRoot"] != undefined) {
    var layerNode = root.children.filter((e) => { return e.name === overlayLayer })
    var isLayerVisible = viewer.isLayerVisible(layerNode);
    //show layer
    if (isLayerVisible) {
        viewer.impl.addOverlay("Edit2D", viewer["savedPoints"].overlayLayer)
    }
    //hide layer
    else {
        viewer.impl.removeOverlayScene("Edit2D")
    }
}

});

从图层管理器​​关闭一些图层后,我也将 viewer.areAllVisible() 设为 true。

Forge 查看器版本为 7.*

你有什么建议吗?谢谢!

【问题讨论】:

    标签: viewer forge


    【解决方案1】:

    我发现您可以从 indexToLayer 查看器属性中访问可见和可见图层

       var visibleLayers = Array.from(viewer.impl.layers.indexToLayer.filter(e => e != null && e.visible));
    

    【讨论】:

      猜你喜欢
      • 2018-06-28
      • 2018-10-22
      • 2019-05-15
      • 2020-11-09
      • 2018-08-22
      • 2019-11-28
      • 2019-08-30
      • 2021-12-31
      • 2019-06-27
      相关资源
      最近更新 更多