У меня есть несколько моделей (до 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(), но это только сохраняет вид. Он не очищает модели от зрителя.