我们已经在我们的网络应用程序中构建了自定义状态保存功能,主要基于Philippe创建的“屏幕截图管理器”扩展。我们遇到了选择问题,其中在加载状态时会显示保存状态时隐藏的某些组件。我已经使用vanilla状态管理器代码在viewer.autodesk.io上复制了它。
准确地说,在查看器中已经可见的组件(通过CTRL单击它们在模型浏览器上隐藏)最初会在查看器中消失。但是,当您保存此状态然后稍后调用状态时,以这种方式隐藏的组件将重新出现。
请你调查一下 - 这是状态管理器代码中的一个错误(我们看过但是找不到它 - 隐藏的组件是在状态中记录的)还是在查看器本身?
谢谢, 克里斯
答案 0 :(得分:0)
我检查选择组件时会发生什么,这两个状态不兼容:子项被隐藏但父项被隔离,因此它显示其所有子项并隐藏模型中的其余组件。
为了获得你的行为,你会"期望,您需要隐藏所有组件而不必隔离父子组件,然后创建您的第一个状态,然后隐藏子组件,创建您的第二个状态。您可以通过在单击浏览器节点时编写处理程序来实现此目的。为此,您需要实现自己的ModelStructurePanel。
我有一个基本的例子可以帮助你入门:
我将看一下click处理程序并在那里添加一个示例。目前,您可以检查viewer3D.js的来源,您需要覆盖哪些方法。
希望有所帮助