0
我有多個模型(最多20個模型),我只想從中加載兩個模型。有沒有辦法在加載新模型之前清除查看器或刪除加載的模型。刪除不必要的模型
當前我首先隱藏所有模型。
function hideAllModels() {
for (var i = 0; i < loadedModels.length; i++) {
var instanceTree = loadedModels[i].getData().instanceTree;
var rootId = instanceTree.getRootId();
var vm = new Autodesk.Viewing.Private.VisibilityManager(viewer.impl, loadedModels[i]);
vm.hide(rootId);
vm.setNodeOff(rootId, true);
}
}
然後顯示我想要的。
var vm = new Autodesk.Viewing.Private.VisibilityManager(viewer.impl, viewer.model);
vm.setNodeOff(rootId, false);
vm.show(rootId);
這種隱藏和顯示是很慢的多個模型。此外,搜索單個對象的加載模型非常緩慢。在加載/顯示兩個模型之前,唯一的方法是始終啓動整個觀察者?我嘗試使用getState()和restoreState(),但這隻保存視圖。它沒有從觀衆中清除模型。