CADViewComponent/dist/ViewSrc/index.js
2020-04-30 17:21:10 +08:00

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