Autodesk Forge Viewer - получение различных значений dbId из "viewer.model.search" и "viewer.getSelection ()" - PullRequest
1 голос
/ 09 марта 2019

Я пытаюсь выделить некоторые элементы, которые я ищу, методом viewer.model.search, но когда я использую метод viewer.isolate, я получаю все, что нужно скрыть.

Я уже использую getSelection для изоляции элементов и замечаю, что они дают мне разные значения dbId для одного и того же элемента. С getSelection dbId работает, но с search не

У кого-нибудь есть такая же ошибка?

ОБНОВЛЕНИЕ 3/11/2019:
Пока я пытался выяснить, что произошло, я понял, что метод search дает вам число минус один, например: если вы получите с getSelection число 2302, search даст вам 2301.

Это ошибка?

1 Ответ

1 голос
/ 11 марта 2019

Разница может быть вызвана тем, что dbId представляют один и тот же элемент на другом уровне в иерархии.Когда вы выбираете что-то в UI , щелкая по нему, тогда выбирается лист (самый низкий элемент в дереве иерархии, обычно тело или тело ).

На панели Иерархия Браузер можно выбрать, какой именно узел выбирается: enter image description here

ТакжеГоворя об этом явлении, вот статья о переопределении, на каком уровне выбран элемент: Переопределение выбора

Редактировать: число dbId родителей сущностей Body и Solid leaf имеет тенденцию бытьна единицу меньше, чем dbId самого листа, как показано на этом рисунке: enter image description here

...