0

使用该isolate()方法,我可以隔离一些元素并隐藏其他所有内容,如下所示: viewer.isolate([65, 80, 83, 92]); 在此处输入图像描述

但是是否可以像孤立视图的隐藏元素一样隐藏所有元素?

我试着做viewer.isolate([]);

但这将显示所有元素。

相反,我需要的是能够隐藏所有元素并仅显示半透明视图,就像在隔离状态下一样。

有没有办法做到这一点?

谢谢

4

3 回答 3

4

另一种解决方案可能如下...

var instanceTree = viewer.model.getData().instanceTree
var rootId = instanceTree.getRootId()
viewer.hide(rootId) // hidding root node will hide whole model ...
于 2016-12-13T06:13:27.473 回答
3

对于 dbId 列表,您可以调用以下命令(针对每个 dbId):

var n = viewer.model.getData().instanceTree.nodeAccess.nodes[dbId];
viewer.impl.visibilityManager.setNodeOff(n, true);

要再次显示,只需将setNodeOff true替换为false

于 2016-12-12T15:03:49.117 回答
2

找到了一个简单的重影全局设置:Viewer3d.setGhosting(bool)

var viewer = NOP_VIEWER;
viewer.setGhosting(false);

这将完全关闭非隔离元素的可见性

于 2019-09-09T04:05:50.800 回答