Обновление Autodesk Forge Viewer с 3 js масштабами геометрии - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть базовая программа просмотра c с моделью, к которой я добавляю некоторые сферы. Фактическое добавление сфер работает нормально.

var geometry = new THREE.SphereGeometry( 50, 50, 50 );
viewer.impl.createOverlayScene('TestOverlay' , material)
var cube = new THREE.Mesh(geometry, material)
viewer.impl.addOverlay('TestOverlay', cube);

Я пытаюсь заставить добавленные сферы изменять размер, вызываемый кнопкой вне окна просмотра, устанавливая масштаб.

scale.set(2, 2, 2)

технически это работает, но сфера будет только измените масштаб в следующий раз, когда пользователь каким-либо образом взаимодействует со зрителем, например, что-то такое простое, что пользовательская мышь, входящая в зритель, вызовет его обновление.

Я попытался установить поля обновления потребностей на трех js объект геометрии, но это ничего не изменило, и я не смог найти ничего в документации по кузнице о его ручном обновлении.

есть ли способ заставить обновление с Javascript

1 Ответ

2 голосов
/ 18 февраля 2020

Попробуйте запустить повторный рендеринг, когда сцена нуждается в обновлении, чтобы немедленно отразить изменения с помощью:

viewer.impl.invalidate(needsClear, needsRender, overlayDirty) // e.g. viewer.impl.invalidate(true)

...