Как Autodesk Forge Viewer управляет несколькими сценами, чтобы выбрать несколько элементов

Я хочу понять, как программа просмотра Autodesk Forge хранит элементы узлов в нескольких объектах THREE.Scene. Есть несколько сцен:

viewer.impl.scene // The main scene
viewer.impl.overlayScenes // Three overlay scenes: selection, pivot and roll

Каждый раз, когда элемент выбирается в средстве просмотра Forge, его объект THREE.Mesh добавляется в viewer.impl.overlayScenes.selection.scene.children. Однако его граничная геометрия всегда равна нулю, в отличие от примитивных объектов THREE.Mesh будут иметь границы после выполнения geometry.computeBoundaryBox ()

Из-за нулевой границы элементов Forge я не могу использовать THREE.Raycaster для проецирования через оверлейные элементы, чтобы получить их dbIds при выборе мыши. Как я могу выбрать внутренний dbId, потому что он получит внешний dbId? Просмотрщик Forge не позволяет выделять внутренний объект при нажатии на внешний объект. Как выбрать элемент внутри другого элемента?

На главной сцене также есть пустые дети. Где все элементы и как они могут отображаться на экране?

Было бы лучше документировать документацию для понимания структуры данных в Forge Viewer, чтобы иметь полный контроль над API. Я должен учиться сам с помощью viewer3D.js и wgs.js программы просмотра Autodesk Forge.

Ответы на вопрос(1)

Ваш ответ на вопрос