70 lines
2.6 KiB
JavaScript
70 lines
2.6 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
// import { Color, Face3, MeshBasicMaterial, Object3D, Vector2, Vector3 } from "three";
|
|
// import "./style.css";
|
|
var three_1 = require("three");
|
|
var CameraControls_1 = require("../CameraControls");
|
|
var data_1 = require("../data");
|
|
var GeUtils_1 = require("../GeUtils");
|
|
var Utils_1 = require("../Utils");
|
|
var Viewer_1 = require("../Viewer");
|
|
var btn = document.createElement("button");
|
|
btn.innerHTML = "载入";
|
|
document.body.appendChild(btn);
|
|
var btn2 = document.createElement("button");
|
|
btn2.innerHTML = "清理";
|
|
document.body.appendChild(btn2);
|
|
var btn3 = document.createElement("button");
|
|
btn3.innerHTML = "爆炸图";
|
|
document.body.appendChild(btn3);
|
|
var el = document.createElement("canvas");
|
|
el.style.width = "80%";
|
|
el.style.height = "80%";
|
|
document.body.appendChild(el);
|
|
var view = new Viewer_1.Viewer(el);
|
|
//修改这个顺序 改变1 2 3 个触摸点时的触发状态.
|
|
view.m_CameraCtrl.m_TouthTypeList = [CameraControls_1.CameraControlState.Rotate, CameraControls_1.CameraControlState.Scale, CameraControls_1.CameraControlState.Pan];
|
|
//例如,修改单指滑动为平移.
|
|
view.m_CameraCtrl.m_TouthTypeList = [CameraControls_1.CameraControlState.Pan, CameraControls_1.CameraControlState.Scale, CameraControls_1.CameraControlState.Rotate];
|
|
//加载
|
|
btn.onclick = function () {
|
|
console.time();
|
|
for (var i = 0; i < 1; i++)
|
|
Utils_1.LoadBoard(view, data_1.data);
|
|
console.timeEnd();
|
|
};
|
|
btn2.onclick = function () {
|
|
// LoadBoard(view, []);
|
|
};
|
|
btn3.onclick = function () {
|
|
var box = GeUtils_1.GetBox(view.m_Scene);
|
|
var cen = box.getCenter(new three_1.Vector3());
|
|
var m = [];
|
|
for (var _i = 0, _a = view.m_Scene.children; _i < _a.length; _i++) {
|
|
var obj = _a[_i];
|
|
if (obj.userData && obj.userData instanceof three_1.Vector3) {
|
|
var objCen = GeUtils_1.GetBox(obj).getCenter(new three_1.Vector3());
|
|
var v = objCen.clone().sub(cen);
|
|
var zv = obj.userData;
|
|
if (zv instanceof three_1.Vector3) {
|
|
var d = zv.dot(v);
|
|
// m.set(obj, zv.clone().multiplyScalar(d));
|
|
m.push([obj, zv.clone().multiplyScalar(d)]);
|
|
}
|
|
}
|
|
}
|
|
var count = 0;
|
|
var t = setInterval(function () {
|
|
for (var _i = 0, m_1 = m; _i < m_1.length; _i++) {
|
|
var _a = m_1[_i], o = _a[0], v = _a[1];
|
|
o.position.add(v.clone().multiplyScalar(1.5 / 120));
|
|
o.updateMatrix();
|
|
}
|
|
view.ZoomAll();
|
|
view.m_bNeedUpdate = true;
|
|
count++;
|
|
if (count === 60)
|
|
clearInterval(t);
|
|
}, 16);
|
|
};
|
|
//# sourceMappingURL=index.js.map
|