问题描述
我想在模型中隐藏特定的节点集(dbId数组)。
我尝试使用this示例,但是它隐藏了所有节点。
完成此任务的最佳方法是什么。
查看器版本-6。*
谢谢。
解决方法
链接文章中介绍的方法使用内部实现(viewer.impl
),因此我们不能保证该方法将在更高版本的查看器中可用。一种更干净的方法是使用官方的hide方法简单地隐藏元素,然后禁用“ Ghost隐藏对象”查看器选项:
如果仍然需要完全禁用场景中的元素,请尝试以下方法:
function disableElement(viewer,model,dbid) {
const frags = model.getFragmentList();
const tree = model.getInstanceTree();
tree.enumNodeFragments(dbid,function (fragid) {
frags.setFragOff(fragid,true);
});
viewer.invalidate(true,true,true);
}