我创建了一个扩展程序,该扩展程序使相机围绕Revit模型旋转,该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);
};
答案 0 :(得分:0)
我认为您需要在这里使用requestAnimation,并且您的按钮将停止或启动对新框架的请求:
#include <iostream>
const int L = 30;
int main()
{
int K[L];
// int br =0; // unused
int i;
for (i = 0; i < L; i++) {
std::cout << "Enter a number: ";
std::cin >> K[i];
}
}
根据您的代码段和现场插图检查my repo of extensions的完整代码。