【发布时间】:2019-04-17 09:01:30
【问题描述】:
我创建了一个扩展程序,可以围绕上传到制作的存储桶中的 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);
};
【问题讨论】:
标签: javascript autodesk-forge autodesk-viewer