Я создал расширение, которое вращает камеру вокруг модели Revit, которая была загружена в изготовленном ведре, но как сделать так, чтобы камера постоянно вращалась вокруг модели после нажатия кнопки на панели инструментов. Кроме того, как мне снова нажать эту же кнопку, чтобы остановить вращение? Приведенный ниже код используется для поворота камеры после нажатия кнопки.
var _this = this;
var _viewer = _this.viewer;
var turnTableToolbarButton = new Autodesk.Viewing.UI.Button('turnTableButton');
turnTableToolbarButton.onClick = function (e) {
const nav = _viewer.navigation;
const up = nav.getCameraUpVector();
var pos = nav.getPosition();
const axis = new THREE.Vector3(0, 0, 1);
const speed = 10.0 * Math.PI / 180;
const matrix = new THREE.Matrix4().makeRotationAxis(axis, speed * 0.1);
pos.applyMatrix4(matrix);
up.applyMatrix4(matrix);
nav.setView(pos, new THREE.Vector3(0, 0, 0));
nav.setCameraUpVector(up);
var viewState = _viewer.getState();
_viewer.restoreState(viewState);
};