From 29a6dd0fffe45cba64b2b0227e3ab6c321dbd14f Mon Sep 17 00:00:00 2001 From: ChenX Date: Wed, 6 Jun 2018 17:23:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BC=96=E8=AF=91=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E4=B8=BAes5=E6=94=AF=E6=8C=81=E8=80=81=E6=97=A7?= =?UTF-8?q?=E7=9A=84=E6=B5=8F=E8=A7=88=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/CameraControls.js | 138 +++++++++++++------------- dist/CameraControls.js.map | 2 +- dist/CameraUpdate.js | 99 +++++++++++-------- dist/CameraUpdate.js.map | 2 +- dist/ColorPalette.js | 26 ++--- dist/ColorPalette.js.map | 2 +- dist/Dimension.js | 54 ++++++---- dist/Dimension.js.map | 2 +- dist/DrawDimension.js | 18 ++-- dist/DrawDimension.js.map | 2 +- dist/GeUtils.js | 94 +++++++++--------- dist/GeUtils.js.map | 2 +- dist/Material.js | 2 +- dist/Material.js.map | 2 +- dist/Matrix2.js | 29 +++--- dist/Matrix2.js.map | 2 +- dist/Orbit.js | 45 +++++---- dist/Orbit.js.map | 2 +- dist/PlaneExt.js | 44 ++++++--- dist/PlaneExt.js.map | 2 +- dist/PointPick.js | 15 +-- dist/PointPick.js.map | 2 +- dist/RotateUV.js | 17 ++-- dist/RotateUV.js.map | 2 +- dist/Text.js | 54 ++++++---- dist/Text.js.map | 2 +- dist/ThreeCSG.d.ts | 4 +- dist/ThreeCSG.js | 198 +++++++++++++++++++------------------ dist/ThreeCSG.js.map | 2 +- dist/Utils.js | 17 ++-- dist/Utils.js.map | 2 +- dist/Viewer.js | 120 +++++++++++----------- dist/Viewer.js.map | 2 +- dist/createBoard.js | 135 +++++++++++++------------ dist/createBoard.js.map | 2 +- package.json | 2 +- tsconfig.json | 2 +- umd/cad.js | 2 +- 38 files changed, 616 insertions(+), 533 deletions(-) diff --git a/dist/CameraControls.js b/dist/CameraControls.js index a281b13..b1d46b1 100644 --- a/dist/CameraControls.js +++ b/dist/CameraControls.js @@ -1,8 +1,8 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const KeyEnum_1 = require("./KeyEnum"); -const three_1 = require("three"); +var THREE = require("three"); +var KeyEnum_1 = require("./KeyEnum"); +var three_1 = require("three"); //控制类型 var CameraControlsEnabled; (function (CameraControlsEnabled) { @@ -18,8 +18,9 @@ var CameraControlState; CameraControlState[CameraControlState["Rotate"] = 2] = "Rotate"; CameraControlState[CameraControlState["Scale"] = 3] = "Scale"; })(CameraControlState = exports.CameraControlState || (exports.CameraControlState = {})); -class CameraControls { - constructor(viewer) { +var CameraControls = /** @class */ (function () { + function CameraControls(viewer) { + var _this = this; this.m_TouthTypeList = [CameraControlState.Rotate, CameraControlState.Scale, CameraControlState.Pan]; //起始点击 this.m_StartClickPoint = new THREE.Vector3(); @@ -37,36 +38,36 @@ class CameraControls { * * @memberof CameraControls */ - this.onBlur = () => { - this.m_KeyDown.clear(); - this.m_MouseDown.clear(); + this.onBlur = function () { + _this.m_KeyDown.clear(); + _this.m_MouseDown.clear(); }; //触屏开始事件 - this.onTouchStart = (event) => { - this.m_Viewer.UpdateLockTarget(); - this.m_StartClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); + this.onTouchStart = function (event) { + _this.m_Viewer.UpdateLockTarget(); + _this.m_StartClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); if (event.touches.length < 4) { if (event.touches.length == 2) { var dx = event.touches[0].pageX - event.touches[1].pageX; var dy = event.touches[0].pageY - event.touches[1].pageY; var distance = Math.sqrt(dx * dx + dy * dy); - this.m_DollyStart.set(0, distance); + _this.m_DollyStart.set(0, distance); } - this.m_State = this.m_TouthTypeList[event.touches.length - 1]; + _this.m_State = _this.m_TouthTypeList[event.touches.length - 1]; } }; - this.onTouchEnd = (event) => { - this.m_State = CameraControlState.Null; + this.onTouchEnd = function (event) { + _this.m_State = CameraControlState.Null; }; - this.onTouchMove = (event) => { + this.onTouchMove = function (event) { event.preventDefault(); event.stopPropagation(); - this.m_EndClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); - let vec = this.m_EndClickPoint.clone().sub(this.m_StartClickPoint); - switch (this.m_State) { + _this.m_EndClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); + var vec = _this.m_EndClickPoint.clone().sub(_this.m_StartClickPoint); + switch (_this.m_State) { case CameraControlState.Pan: { - this.m_Viewer.Pan(vec); + _this.m_Viewer.Pan(vec); break; } case CameraControlState.Scale: @@ -74,55 +75,55 @@ class CameraControls { var dx = event.touches[0].pageX - event.touches[1].pageX; var dy = event.touches[0].pageY - event.touches[1].pageY; var distance = Math.sqrt(dx * dx + dy * dy); - this.m_DollyEnd.set(0, distance); - if (distance > this.m_DollyStart.y) { - this.m_Viewer.Zoom(0.95); + _this.m_DollyEnd.set(0, distance); + if (distance > _this.m_DollyStart.y) { + _this.m_Viewer.Zoom(0.95); } else { - this.m_Viewer.Zoom(1.05); + _this.m_Viewer.Zoom(1.05); } - this.m_DollyStart.copy(this.m_DollyEnd); + _this.m_DollyStart.copy(_this.m_DollyEnd); break; } case CameraControlState.Rotate: { - this.m_Viewer.Rotate(vec.multiplyScalar(2)); + _this.m_Viewer.Rotate(vec.multiplyScalar(2)); break; } } - this.m_StartClickPoint.copy(this.m_EndClickPoint); - this.m_Viewer.m_bNeedUpdate = true; + _this.m_StartClickPoint.copy(_this.m_EndClickPoint); + _this.m_Viewer.m_bNeedUpdate = true; }; //最后一次按中键的时间 this.lastMiddleClickTime = 0; //鼠标 - this.onMouseDown = (event) => { + this.onMouseDown = function (event) { event.preventDefault(); - let key = event.button; - this.m_MouseDown.set(key, true); - this.m_StartClickPoint.set(event.offsetX, event.offsetY, 0); + var key = event.button; + _this.m_MouseDown.set(key, true); + _this.m_StartClickPoint.set(event.offsetX, event.offsetY, 0); switch (key) { case KeyEnum_1.MouseKey.Left: { - if (this.m_LeftUseRotate) { - this.beginRotate(); + if (_this.m_LeftUseRotate) { + _this.beginRotate(); } break; } case KeyEnum_1.MouseKey.Middle: { - let curTime = Date.now(); - let t = curTime - this.lastMiddleClickTime; - this.lastMiddleClickTime = curTime; + var curTime = Date.now(); + var t = curTime - _this.lastMiddleClickTime; + _this.lastMiddleClickTime = curTime; if (t < 350) { - this.m_Viewer.ZoomAll(); + _this.m_Viewer.ZoomAll(); return; } - if (this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control)) { - this.beginRotate(); + if (_this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control)) { + _this.beginRotate(); } else { - this.m_State = CameraControlState.Pan; + _this.m_State = CameraControlState.Pan; } break; } @@ -132,25 +133,25 @@ class CameraControls { } } }; - this.onMouseUp = (event) => { + this.onMouseUp = function (event) { event.preventDefault(); - this.m_State = CameraControlState.Null; - this.m_MouseDown.set(event.button, false); + _this.m_State = CameraControlState.Null; + _this.m_MouseDown.set(event.button, false); }; - this.onMouseMove = (event) => { + this.onMouseMove = function (event) { event.preventDefault(); - this.m_EndClickPoint.set(event.offsetX, event.offsetY, 0); - let changeVec = this.m_EndClickPoint.clone().sub(this.m_StartClickPoint); - this.m_StartClickPoint.copy(this.m_EndClickPoint); - if ((this.m_LeftUseRotate || - (this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control))) - && this.m_State == CameraControlState.Rotate) { - this.m_Viewer.Rotate(changeVec); + _this.m_EndClickPoint.set(event.offsetX, event.offsetY, 0); + var changeVec = _this.m_EndClickPoint.clone().sub(_this.m_StartClickPoint); + _this.m_StartClickPoint.copy(_this.m_EndClickPoint); + if ((_this.m_LeftUseRotate || + (_this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control))) + && _this.m_State == CameraControlState.Rotate) { + _this.m_Viewer.Rotate(changeVec); } - switch (this.m_State) { + switch (_this.m_State) { case CameraControlState.Pan: { - this.m_Viewer.Pan(changeVec); + _this.m_Viewer.Pan(changeVec); break; } case CameraControlState.Rotate: @@ -168,30 +169,30 @@ class CameraControls { * * @memberof CameraControls */ - this.onMouseWheel = (event) => { + this.onMouseWheel = function (event) { event.preventDefault(); event.stopPropagation(); - let pt = new THREE.Vector3(event.offsetX, event.offsetY, 0); - this.m_Viewer.ScreenToWorld(pt, new three_1.Vector3().setFromMatrixColumn(this.m_Viewer.m_Camera.Camera.matrixWorld, 2)); + var pt = new THREE.Vector3(event.offsetX, event.offsetY, 0); + _this.m_Viewer.ScreenToWorld(pt, new three_1.Vector3().setFromMatrixColumn(_this.m_Viewer.m_Camera.Camera.matrixWorld, 2)); if (event.deltaY < 0) { - this.m_Viewer.Zoom(0.6, pt); + _this.m_Viewer.Zoom(0.6, pt); } else if (event.deltaY > 0) { - this.m_Viewer.Zoom(1.4, pt); + _this.m_Viewer.Zoom(1.4, pt); } }; //按键 - this.onKeyDown = (event) => { - this.m_KeyDown.set(event.keyCode, true); + this.onKeyDown = function (event) { + _this.m_KeyDown.set(event.keyCode, true); }; - this.onKeyUp = (event) => { - this.m_KeyDown.set(event.keyCode, false); + this.onKeyUp = function (event) { + _this.m_KeyDown.set(event.keyCode, false); }; this.m_Viewer = viewer; this.m_domElement = viewer.m_Render.domElement.parentElement; this.RegisterEvent(); } - RegisterEvent() { + CameraControls.prototype.RegisterEvent = function () { if (this.m_domElement) { this.m_domElement.addEventListener("mousedown", this.onMouseDown, false); this.m_domElement.addEventListener("mousemove", this.onMouseMove, false); @@ -204,11 +205,12 @@ class CameraControls { this.m_domElement.addEventListener('touchmove', this.onTouchMove, false); window.addEventListener("blur", this.onBlur, false); } - } - beginRotate() { + }; + CameraControls.prototype.beginRotate = function () { this.m_State = CameraControlState.Rotate; this.m_Viewer.UpdateLockTarget(); - } -} + }; + return CameraControls; +}()); exports.CameraControls = CameraControls; //# sourceMappingURL=CameraControls.js.map \ No newline at end of file diff --git a/dist/CameraControls.js.map b/dist/CameraControls.js.map index e568524..31a96cb 100644 --- a/dist/CameraControls.js.map +++ b/dist/CameraControls.js.map @@ -1 +1 @@ -{"version":3,"file":"CameraControls.js","sourceRoot":"","sources":["../src/CameraControls.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"CameraControls.js","sourceRoot":"","sources":["../src/CameraControls.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/CameraUpdate.js b/dist/CameraUpdate.js index 0442d06..8681105 100644 --- a/dist/CameraUpdate.js +++ b/dist/CameraUpdate.js @@ -1,8 +1,8 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const three_1 = require("three"); -const Orbit_1 = require("./Orbit"); +var THREE = require("three"); +var three_1 = require("three"); +var Orbit_1 = require("./Orbit"); /** * * 相机的控制. @@ -13,8 +13,8 @@ const Orbit_1 = require("./Orbit"); * @export * @class ViewCameraManage */ -class CameraUpdate { - constructor() { +var CameraUpdate = /** @class */ (function () { + function CameraUpdate() { this.m_CameraArray = new Map(); //视口显示的高度 this.m_ViewHeight = 10; @@ -33,46 +33,58 @@ class CameraUpdate { this.UpdateUp(); this.Update(); } - get Aspect() { - return this.m_Width / this.m_Height; - } - get Camera() { - return this.m_CurCamera; - } - get ViewHeight() { - return this.m_ViewHeight; - } - set ViewHeight(height) { - this.m_ViewHeight = THREE.Math.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight); - } - SetSize(width, height) { + Object.defineProperty(CameraUpdate.prototype, "Aspect", { + get: function () { + return this.m_Width / this.m_Height; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CameraUpdate.prototype, "Camera", { + get: function () { + return this.m_CurCamera; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CameraUpdate.prototype, "ViewHeight", { + get: function () { + return this.m_ViewHeight; + }, + set: function (height) { + this.m_ViewHeight = THREE.Math.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight); + }, + enumerable: true, + configurable: true + }); + CameraUpdate.prototype.SetSize = function (width, height) { this.m_Width = width; this.m_Height = height; - } + }; /** * 平移相机. * * @param {THREE.Vector3} mouseMove * @memberof CameraControl */ - Pan(mouseMove) { + CameraUpdate.prototype.Pan = function (mouseMove) { mouseMove.y *= -1; mouseMove.multiplyScalar(-this.m_ViewHeight / this.m_Height); mouseMove.applyQuaternion(this.Camera.quaternion); this.m_Target.add(mouseMove); this.Update(); - } - Rotate(mouseMove, target) { + }; + CameraUpdate.prototype.Rotate = function (mouseMove, target) { this.m_Orbit.RoX -= mouseMove.y * 0.003; this.m_Orbit.RoZ -= mouseMove.x * 0.003; //缓存观察点 - let oldTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); + var oldTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); this.m_Orbit.UpdateDirection(this.m_Direction); this.UpdateUp(); this.Update(); //-----还原观察点 //得到新的观察点相对于相机的位置 - let newTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); + var newTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); //减去原先的位置. 得到观测点在相机内移动的向量 newTargetFormCameraSpace.sub(oldTargetFormCameraSpace); //乘以相机的矩阵. 得到向量在世界坐标系的位置 @@ -82,8 +94,8 @@ class CameraUpdate { //加上移动的向量. 使得观察点时钟在相机的某个位置 this.m_Target.add(newTargetFormCameraSpace); this.Update(); - } - Zoom(scale, scaleCenter) { + }; + CameraUpdate.prototype.Zoom = function (scale, scaleCenter) { if (this.Camera instanceof THREE.OrthographicCamera) { this.ViewHeight *= scale; if (scaleCenter && this.m_ViewHeight < this.m_MaxViewHeight) { @@ -93,13 +105,13 @@ class CameraUpdate { } } else if (this.Camera instanceof THREE.PerspectiveCamera) { - let add = scale > 1 ? 1 : -1; + var add = scale > 1 ? 1 : -1; add *= this.Camera.position.distanceTo(this.m_Target) / 10; this.m_Target.add(this.m_Direction.clone().multiplyScalar(-add)); } this.Update(); - } - ZoomExtensBox3(box3) { + }; + CameraUpdate.prototype.ZoomExtensBox3 = function (box3) { if (!box3) return; this.Camera.updateMatrixWorld(false); @@ -110,10 +122,10 @@ class CameraUpdate { //世界坐标系 this.m_Target.applyMatrix4(this.Camera.matrix); //size - let size = box3.getSize(new three_1.Vector3()); + var size = box3.getSize(new three_1.Vector3()); //宽高比 - let aspectRatio = size.x / size.y; - let viewAspectRatio = this.Aspect; + var aspectRatio = size.x / size.y; + var viewAspectRatio = this.Aspect; // if (aspectRatio > viewAspectRatio) { this.m_ViewHeight = size.x / viewAspectRatio; @@ -122,23 +134,23 @@ class CameraUpdate { this.m_ViewHeight = size.y; } this.Update(); - } - LookAt(dir) { + }; + CameraUpdate.prototype.LookAt = function (dir) { this.m_Orbit.UpdateRoValue(dir); this.m_Direction.copy(dir); this.UpdateUp(); this.Update(); - } - UpdateUp() { + }; + CameraUpdate.prototype.UpdateUp = function () { Orbit_1.Orbit.ComputUpDirection(this.m_Direction, this.Camera.up); - } + }; /** * 根据视口大小,设置相机视口范围. * * @returns * @memberof CameraControl */ - Update() { + CameraUpdate.prototype.Update = function () { this.Camera.position.copy(this.m_Target); if (this.Camera instanceof THREE.OrthographicCamera) { this.Camera.left = this.Aspect * this.m_ViewHeight / -2; @@ -149,7 +161,7 @@ class CameraUpdate { } else if (this.Camera instanceof THREE.PerspectiveCamera) { this.Camera.aspect = this.Aspect; - let distens = (this.m_ViewHeight / 2) / (Math.tan(THREE.Math.degToRad(this.Camera.fov) / 2)); + var distens = (this.m_ViewHeight / 2) / (Math.tan(THREE.Math.degToRad(this.Camera.fov) / 2)); this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(distens)); } else { @@ -158,8 +170,8 @@ class CameraUpdate { this.Camera.lookAt(this.m_Target); this.Camera.updateProjectionMatrix(); this.Camera.updateMatrixWorld(false); - } - SwitchCamera() { + }; + CameraUpdate.prototype.SwitchCamera = function () { if (this.Camera instanceof THREE.OrthographicCamera) { this.m_CurCamera = this.m_CameraArray.get(THREE.PerspectiveCamera); } @@ -168,7 +180,8 @@ class CameraUpdate { } this.UpdateUp(); this.Update(); - } -} + }; + return CameraUpdate; +}()); exports.CameraUpdate = CameraUpdate; //# sourceMappingURL=CameraUpdate.js.map \ No newline at end of file diff --git a/dist/CameraUpdate.js.map b/dist/CameraUpdate.js.map index a0c4e5e..2fe06fe 100644 --- a/dist/CameraUpdate.js.map +++ b/dist/CameraUpdate.js.map @@ -1 +1 @@ -{"version":3,"file":"CameraUpdate.js","sourceRoot":"","sources":["../src/CameraUpdate.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"CameraUpdate.js","sourceRoot":"","sources":["../src/CameraUpdate.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ColorPalette.js b/dist/ColorPalette.js index 66e474f..929fa62 100644 --- a/dist/ColorPalette.js +++ b/dist/ColorPalette.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const ColorPalette = [ +var THREE = require("three"); +var ColorPalette = [ [255, 0, 0, 255], //[255, 255, 255, 255],//----- 0 - ByBlock - White [255, 0, 0, 255], @@ -13,21 +13,23 @@ const ColorPalette = [ [255, 0, 255, 255], ]; //颜色材质,对于二维图像来说可能有用,应该不对三维对象使用该材质 -class ColorMaterial { - constructor() { } - static GetLineMaterial(index) { +var ColorMaterial = /** @class */ (function () { + function ColorMaterial() { + } + ColorMaterial.GetLineMaterial = function (index) { if (this.m_LineMaterialMap.has(index)) return this.m_LineMaterialMap.get(index); - let mat = new THREE.LineBasicMaterial({ color: this.GetColor(index) }); + var mat = new THREE.LineBasicMaterial({ color: this.GetColor(index) }); this.m_LineMaterialMap.set(index, mat); return mat; - } - static GetColor(index) { - let rgb = ColorPalette[index]; + }; + ColorMaterial.GetColor = function (index) { + var rgb = ColorPalette[index]; if (rgb) return new THREE.Color(rgb[0] / 255, rgb[1] / 255, rgb[2] / 255); - } -} -ColorMaterial.m_LineMaterialMap = new Map(); + }; + ColorMaterial.m_LineMaterialMap = new Map(); + return ColorMaterial; +}()); exports.ColorMaterial = ColorMaterial; //# sourceMappingURL=ColorPalette.js.map \ No newline at end of file diff --git a/dist/ColorPalette.js.map b/dist/ColorPalette.js.map index c30c732..f0db785 100644 --- a/dist/ColorPalette.js.map +++ b/dist/ColorPalette.js.map @@ -1 +1 @@ -{"version":3,"file":"ColorPalette.js","sourceRoot":"","sources":["../src/ColorPalette.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,MAAM,YAAY,GAAG;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,kDAAkD;IAClD,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,uCAAuC;IACvC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;CA8PrB,CAAC;AAGF,iCAAiC;AACjC;IAEI,gBAAwB,CAAC;IAEzB,MAAM,CAAC,eAAe,CAAC,KAAK;QAExB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAa;QAEzB,IAAI,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG;YACH,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACzE,CAAC;;AAfc,+BAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;AAHlF,sCAmBC"} \ No newline at end of file +{"version":3,"file":"ColorPalette.js","sourceRoot":"","sources":["../src/ColorPalette.ts"],"names":[],"mappings":";;AAAA,6BAA+B;AAC/B,IAAM,YAAY,GAAG;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,kDAAkD;IAClD,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,uCAAuC;IACvC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;CA8PrB,CAAC;AAGF,iCAAiC;AACjC;IAEI;IAAwB,CAAC;IAElB,6BAAe,GAAtB,UAAuB,KAAK;QAExB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,sBAAQ,GAAf,UAAgB,KAAa;QAEzB,IAAI,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG;YACH,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACzE,CAAC;IAfc,+BAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAgBlF,oBAAC;CAAA,AAnBD,IAmBC;AAnBY,sCAAa"} \ No newline at end of file diff --git a/dist/Dimension.js b/dist/Dimension.js index 6c9703c..725d39d 100644 --- a/dist/Dimension.js +++ b/dist/Dimension.js @@ -1,9 +1,19 @@ "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", { value: true }); -const three_1 = require("three"); -const ColorPalette_1 = require("./ColorPalette"); -const Text_1 = require("./Text"); -const GeUtils_1 = require("./GeUtils"); +var three_1 = require("three"); +var ColorPalette_1 = require("./ColorPalette"); +var Text_1 = require("./Text"); +var GeUtils_1 = require("./GeUtils"); /** * 标注实体 * @@ -11,36 +21,42 @@ const GeUtils_1 = require("./GeUtils"); * @class Dimension * @extends {Group} */ -class Dimension extends three_1.Group { - constructor(length, textHeight = 25, mirror = false, mirrorFoot = false) { - super(); - let footLength = 60; +var Dimension = /** @class */ (function (_super) { + __extends(Dimension, _super); + function Dimension(length, textHeight, mirror, mirrorFoot) { + if (textHeight === void 0) { textHeight = 25; } + if (mirror === void 0) { mirror = false; } + if (mirrorFoot === void 0) { mirrorFoot = false; } + var _this = _super.call(this) || this; + var footLength = 60; if (mirrorFoot) { footLength = -footLength; } //针脚几何体 - let lineGeo = new three_1.Geometry(); + var lineGeo = new three_1.Geometry(); lineGeo.vertices.push(new three_1.Vector3(), new three_1.Vector3(0, footLength, 0)); //托盘几何体 - let lineGeo2 = new three_1.Geometry(); + var lineGeo2 = new three_1.Geometry(); lineGeo2.vertices.push(new three_1.Vector3(0, footLength), new three_1.Vector3(length, footLength, 0)); - let material = ColorPalette_1.ColorMaterial.GetLineMaterial(5); - let line1 = new three_1.Line(lineGeo, material); - let line2 = new three_1.Line(lineGeo, material); + var material = ColorPalette_1.ColorMaterial.GetLineMaterial(5); + var line1 = new three_1.Line(lineGeo, material); + var line2 = new three_1.Line(lineGeo, material); line2.position.x = length; - let line3 = new three_1.Line(lineGeo2, material); - let text = new Text_1.DbText(parseFloat(length.toFixed(2)).toString(), textHeight); + var line3 = new three_1.Line(lineGeo2, material); + var text = new Text_1.DbText(parseFloat(length.toFixed(2)).toString(), textHeight); if (mirror) { - let roMat = new three_1.Matrix4().makeRotationZ(Math.PI); + var roMat = new three_1.Matrix4().makeRotationZ(Math.PI); text.applyMatrix(roMat); text.applyMatrix(GeUtils_1.MoveMatrix(new three_1.Vector3(length * 0.5, footLength - textHeight * 0.1))); } else { text.applyMatrix(GeUtils_1.MoveMatrix(new three_1.Vector3(length * 0.5, footLength * 1.1))); } - this.add(text); - this.add(line1, line2, line3); + _this.add(text); + _this.add(line1, line2, line3); + return _this; } -} + return Dimension; +}(three_1.Group)); exports.Dimension = Dimension; //# sourceMappingURL=Dimension.js.map \ No newline at end of file diff --git a/dist/Dimension.js.map b/dist/Dimension.js.map index 56ba2e9..e36d55e 100644 --- a/dist/Dimension.js.map +++ b/dist/Dimension.js.map @@ -1 +1 @@ -{"version":3,"file":"Dimension.js","sourceRoot":"","sources":["../src/Dimension.ts"],"names":[],"mappings":";;AAAA,iCAAgE;AAChE,iDAA+C;AAC/C,iCAAgC;AAChC,uCAAuC;AAEvC;;;;;;GAMG;AACH,eAAuB,SAAQ,aAAK;IAGhC,YAAY,MAAc,EAAE,aAAqB,EAAE,EAAE,SAAkB,KAAK,EAAE,aAAsB,KAAK;QAErG,KAAK,EAAE,CAAC;QACR,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,EACd;YACI,UAAU,GAAG,CAAC,UAAU,CAAC;SAC5B;QAED,OAAO;QACP,IAAI,OAAO,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,EAAE,EAAE,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO;QACP,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,eAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAQ,GAAG,4BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAE/C,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAE1B,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEzC,IAAI,IAAI,GAAG,IAAI,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,MAAM,EACV;YACI,IAAI,KAAK,GAAG,IAAI,eAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1F;aAED;YACI,IAAI,CAAC,WAAW,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7E;QAGD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ;AA7CD,8BA6CC"} \ No newline at end of file +{"version":3,"file":"Dimension.js","sourceRoot":"","sources":["../src/Dimension.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAgE;AAChE,+CAA+C;AAC/C,+BAAgC;AAChC,qCAAuC;AAEvC;;;;;;GAMG;AACH;IAA+B,6BAAK;IAGhC,mBAAY,MAAc,EAAE,UAAuB,EAAE,MAAuB,EAAE,UAA2B;QAA7E,2BAAA,EAAA,eAAuB;QAAE,uBAAA,EAAA,cAAuB;QAAE,2BAAA,EAAA,kBAA2B;QAAzG,YAEI,iBAAO,SAuCV;QAtCG,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,EACd;YACI,UAAU,GAAG,CAAC,UAAU,CAAC;SAC5B;QAED,OAAO;QACP,IAAI,OAAO,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,EAAE,EAAE,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO;QACP,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,eAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAQ,GAAG,4BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAE/C,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAE1B,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEzC,IAAI,IAAI,GAAG,IAAI,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,MAAM,EACV;YACI,IAAI,KAAK,GAAG,IAAI,eAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1F;aAED;YACI,IAAI,CAAC,WAAW,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7E;QAGD,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEf,KAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;IAClC,CAAC;IACL,gBAAC;AAAD,CAAC,AA7CD,CAA+B,aAAK,GA6CnC;AA7CY,8BAAS"} \ No newline at end of file diff --git a/dist/DrawDimension.js b/dist/DrawDimension.js index dd79adc..40bc624 100644 --- a/dist/DrawDimension.js +++ b/dist/DrawDimension.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const three_1 = require("three"); -const _1 = require("."); +var three_1 = require("three"); +var _1 = require("."); /** * 绘制标注实体 * @@ -10,19 +10,19 @@ const _1 = require("."); * @returns 标注实体列表 */ function DrawDimension(brList) { - let box = _1.GetBoxArr(brList); - let size = box.getSize(new three_1.Vector3()); - let mat4 = new three_1.Matrix4(); + var box = _1.GetBoxArr(brList); + var size = box.getSize(new three_1.Vector3()); + var mat4 = new three_1.Matrix4(); mat4.makeBasis(new three_1.Vector3(-1, 0, 0), new three_1.Vector3(0, -1, 0), new three_1.Vector3(0, 0, 1)); mat4.setPosition(box.min.clone().add(new three_1.Vector3(size.x, -30))); - let textHeight = 45; - let dimx = new _1.Dimension(size.x, textHeight, true); + var textHeight = 45; + var dimx = new _1.Dimension(size.x, textHeight, true); dimx.applyMatrix(mat4); - let dimz = new _1.Dimension(size.z, textHeight); + var dimz = new _1.Dimension(size.z, textHeight); mat4.makeBasis(new three_1.Vector3(0, 0, -1), new three_1.Vector3(1, 0, 0), new three_1.Vector3(0, -1, 0)); mat4.setPosition(box.max.clone().add(new three_1.Vector3(30, -size.y))); dimz.applyMatrix(mat4); - let dimy = new _1.Dimension(size.y, textHeight, true, true); + var dimy = new _1.Dimension(size.y, textHeight, true, true); mat4.makeBasis(new three_1.Vector3(0, 1, 0), new three_1.Vector3(-1, 0, 0), new three_1.Vector3(0, 0, 1)); mat4.setPosition(box.max.clone().add(new three_1.Vector3(30, -size.y))); dimy.applyMatrix(mat4); diff --git a/dist/DrawDimension.js.map b/dist/DrawDimension.js.map index 51769a1..3aac962 100644 --- a/dist/DrawDimension.js.map +++ b/dist/DrawDimension.js.map @@ -1 +1 @@ -{"version":3,"file":"DrawDimension.js","sourceRoot":"","sources":["../src/DrawDimension.ts"],"names":[],"mappings":";;AAAA,iCAAqD;AACrD,wBAAyC;AAGzC;;;;;;GAMG;AACH,uBAA8B,MAAc;IAExC,IAAI,GAAG,GAAG,YAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;IAEtC,IAAI,IAAI,GAAG,IAAI,eAAO,EAAE,CAAC;IACzB,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACxB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAGvB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AArCD,sCAqCC"} \ No newline at end of file +{"version":3,"file":"DrawDimension.js","sourceRoot":"","sources":["../src/DrawDimension.ts"],"names":[],"mappings":";;AAAA,+BAAqD;AACrD,sBAAyC;AAGzC;;;;;;GAMG;AACH,uBAA8B,MAAc;IAExC,IAAI,GAAG,GAAG,YAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;IAEtC,IAAI,IAAI,GAAG,IAAI,eAAO,EAAE,CAAC;IACzB,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACxB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAGvB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AArCD,sCAqCC"} \ No newline at end of file diff --git a/dist/GeUtils.js b/dist/GeUtils.js index 0d27784..82028ae 100644 --- a/dist/GeUtils.js +++ b/dist/GeUtils.js @@ -1,8 +1,8 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const three_1 = require("three"); -const Matrix2_1 = require("./Matrix2"); +var THREE = require("three"); +var three_1 = require("three"); +var Matrix2_1 = require("./Matrix2"); exports.cZeroVec = new THREE.Vector3(); exports.cXAxis = new THREE.Vector3(1, 0, 0); exports.cYAxis = new THREE.Vector3(0, 1, 0); @@ -20,7 +20,8 @@ function rotatePoint(pt, ang) { return pt; } exports.rotatePoint = rotatePoint; -function equaln(v1, v2, fuzz = 1e-3) { +function equaln(v1, v2, fuzz) { + if (fuzz === void 0) { fuzz = 1e-3; } return Math.abs(v1 - v2) < fuzz; } exports.equaln = equaln; @@ -28,11 +29,12 @@ function equal(v1, v2) { return v1.distanceToSquared(v2) < 1e-8; } exports.equal = equal; -function fixAngle(an, fixAngle, fuzz = 0.1) { +function fixAngle(an, fixAngle, fuzz) { + if (fuzz === void 0) { fuzz = 0.1; } if (an < 0) an += Math.PI * 2; an += fuzz; - let rem = an % fixAngle; + var rem = an % fixAngle; if (rem < fuzz * 2) { an -= rem; } @@ -61,7 +63,7 @@ exports.polar = polar; function angle(v) { if (equaln(v.y, 0) && v.x > 0) return 0; - let angle = Math.atan2(v.y, v.x); + var angle = Math.atan2(v.y, v.x); if (angle < 0) angle += Math.PI * 2; return angle; @@ -75,14 +77,15 @@ exports.angle = angle; * @param {THREE.Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 * @returns */ -function angleTo(v1, v2, ref = new THREE.Vector3(0, 0, 1)) { +function angleTo(v1, v2, ref) { + if (ref === void 0) { ref = new THREE.Vector3(0, 0, 1); } if (!ref.equals(new three_1.Vector3(0, 0, 1))) { //任意轴坐标系. 使用相机的构造矩阵. ref.multiplyScalar(-1); - let up = getLoocAtUpVec(ref); - let refOcs = new THREE.Matrix4(); + var up = getLoocAtUpVec(ref); + var refOcs = new THREE.Matrix4(); refOcs.lookAt(exports.cZeroVec, ref, up); - let refOcsInv = new THREE.Matrix4().getInverse(refOcs); + var refOcsInv = new THREE.Matrix4().getInverse(refOcs); v1.applyMatrix4(refOcsInv); v2.applyMatrix4(refOcsInv); v1.z = 0; @@ -90,7 +93,7 @@ function angleTo(v1, v2, ref = new THREE.Vector3(0, 0, 1)) { } if (v1.equals(exports.cZeroVec) || v2.equals(exports.cZeroVec)) return 0; - let cv = new three_1.Vector3().crossVectors(v1, v2).normalize(); + var cv = new three_1.Vector3().crossVectors(v1, v2).normalize(); return cv.z === 0 ? v1.angleTo(v2) : v1.angleTo(v2) * cv.z; } exports.angleTo = angleTo; @@ -98,7 +101,7 @@ function getLoocAtUpVec(dir) { if (dir.equals(exports.cZeroVec)) { throw ("zero vector"); } - let norm = dir.clone().normalize(); + var norm = dir.clone().normalize(); if (norm.equals(exports.cZAxis)) { return new THREE.Vector3(0, 1, 0); } @@ -106,17 +109,17 @@ function getLoocAtUpVec(dir) { return new THREE.Vector3(0, -1, 0); } else { - let xv = new THREE.Vector3(); + var xv = new THREE.Vector3(); xv.crossVectors(exports.cZAxis, norm); - let up = new THREE.Vector3(); + var up = new THREE.Vector3(); up.crossVectors(norm, xv); return up; } } exports.getLoocAtUpVec = getLoocAtUpVec; function createLookAtMat4(dir) { - let up = getLoocAtUpVec(dir); - let mat = new THREE.Matrix4(); + var up = getLoocAtUpVec(dir); + var mat = new THREE.Matrix4(); mat.lookAt(exports.cZeroVec, dir, up); return mat; } @@ -125,8 +128,9 @@ function isParallelTo(v1, v2) { return v1.clone().cross(v2).lengthSq() < 1e-9; } exports.isParallelTo = isParallelTo; -function ptToString(v, fractionDigits = 3) { - return v.toArray().map(o => { +function ptToString(v, fractionDigits) { + if (fractionDigits === void 0) { fractionDigits = 3; } + return v.toArray().map(function (o) { return o.toFixed(fractionDigits); }).join(","); } @@ -140,10 +144,10 @@ function midPoint2(v1, v2) { } exports.midPoint2 = midPoint2; function midPtCir(v1, v2) { - let baseline = new three_1.Vector3(1, 0, 0); - let outLine = v2.clone().sub(v1); - let ang = angleTo(baseline, outLine) / 2; - let midLine = rotatePoint(outLine, -ang); + var baseline = new three_1.Vector3(1, 0, 0); + var outLine = v2.clone().sub(v1); + var ang = angleTo(baseline, outLine) / 2; + var midLine = rotatePoint(outLine, -ang); return v1.clone().add(midLine); } exports.midPtCir = midPtCir; @@ -151,7 +155,7 @@ function GetBox(obj, updateMatrix) { if (updateMatrix) obj.updateMatrixWorld(false); if (obj.hasOwnProperty("geometry")) { - let geo = obj["geometry"]; + var geo = obj["geometry"]; if (geo instanceof THREE.Geometry || geo instanceof THREE.BufferGeometry) { if (!geo.boundingBox) geo.computeBoundingBox(); @@ -159,8 +163,8 @@ function GetBox(obj, updateMatrix) { } } else if (obj.children.length > 0) { - let box = obj.children.reduce((sumBox, itemObj) => { - let itemBox = GetBox(itemObj); + var box = obj.children.reduce(function (sumBox, itemObj) { + var itemBox = GetBox(itemObj); if (itemBox) sumBox.union(itemBox); return sumBox; @@ -176,24 +180,24 @@ function GetBoxArr(arr) { if (arr.length == 0) { return null; } - return arr.map(o => { + return arr.map(function (o) { return GetBox(o); - }).filter(o => { + }).filter(function (o) { return o; - }).reduce((sumBox, objBox) => { + }).reduce(function (sumBox, objBox) { return sumBox.union(objBox); }, new THREE.Box3()); } exports.GetBoxArr = GetBoxArr; function MoveMatrix(v) { - let mat = new THREE.Matrix4(); + var mat = new THREE.Matrix4(); mat.makeTranslation(v.x, v.y, v.z); return mat; } exports.MoveMatrix = MoveMatrix; function getProjectDist(v1, v2) { - let ang = v1.angleTo(v2); - let dist = v1.length(); + var ang = v1.angleTo(v2); + var dist = v1.length(); return { h: dist * Math.cos(ang), v: dist * Math.sin(ang) @@ -202,31 +206,31 @@ function getProjectDist(v1, v2) { exports.getProjectDist = getProjectDist; //获得输入点在2线组成的4个区间的位置 function getPtPostion(sp, ep, c, inPt) { - let l1 = sp.clone().sub(c); - let l2 = ep.clone().sub(c); - let l3 = l1.clone().negate(); - let l4 = l2.clone().negate(); - let inputLine = inPt.clone().sub(c); - let ang1 = angleTo(l1, l2); - let ang2 = Math.PI; - let ang3 = ang2 + Math.abs(ang1); - let inputAng = angleTo(l1, inputLine); + var l1 = sp.clone().sub(c); + var l2 = ep.clone().sub(c); + var l3 = l1.clone().negate(); + var l4 = l2.clone().negate(); + var inputLine = inPt.clone().sub(c); + var ang1 = angleTo(l1, l2); + var ang2 = Math.PI; + var ang3 = ang2 + Math.abs(ang1); + var inputAng = angleTo(l1, inputLine); if (ang1 * inputAng < 0) { inputAng = (Math.PI * 2 - Math.abs(inputAng)); } ang1 = Math.abs(ang1); inputAng = Math.abs(inputAng); if (inputAng <= ang1) { - return { sp, ep }; + return { sp: sp, ep: ep }; } else if (inputAng > ang1 && inputAng <= ang2) { - return { sp: c.clone().add(l3), ep }; + return { sp: c.clone().add(l3), ep: ep }; } else if (inputAng > ang2 && inputAng <= ang3) { return { sp: c.clone().add(l3), ep: c.clone().add(l4) }; } else { - return { sp, ep: c.clone().add(l4) }; + return { sp: sp, ep: c.clone().add(l4) }; } } exports.getPtPostion = getPtPostion; @@ -248,7 +252,7 @@ function angleTo2Pi(an) { } exports.angleTo2Pi = angleTo2Pi; function updateGeometry(l, geometry) { - let geo = l.geometry; + var geo = l.geometry; geo.dispose(); l.geometry = geometry; geometry.verticesNeedUpdate = true; diff --git a/dist/GeUtils.js.map b/dist/GeUtils.js.map index 44492f9..91c58f2 100644 --- a/dist/GeUtils.js.map +++ b/dist/GeUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"GeUtils.js","sourceRoot":"","sources":["../src/GeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GeUtils.js","sourceRoot":"","sources":["../src/GeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Material.js b/dist/Material.js index c3d7ebb..f661ce8 100644 --- a/dist/Material.js +++ b/dist/Material.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const three_1 = require("three"); +var three_1 = require("three"); //板件的材质,使用这个材质避免板件将线覆盖. exports.boardMaterial = new three_1.MeshBasicMaterial({ color: new three_1.Color(0.8, 0.8, 0.8), diff --git a/dist/Material.js.map b/dist/Material.js.map index dde979c..3a861a7 100644 --- a/dist/Material.js.map +++ b/dist/Material.js.map @@ -1 +1 @@ -{"version":3,"file":"Material.js","sourceRoot":"","sources":["../src/Material.ts"],"names":[],"mappings":";;AAAA,iCAAoE;AAEpE,uBAAuB;AACZ,QAAA,aAAa,GAAG,IAAI,yBAAiB,CAAC;IAC7C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEQ,QAAA,cAAc,GAAG,IAAI,yBAAiB,CAAC;IAC9C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,OAAO;AACI,QAAA,YAAY,GAAG,IAAI,yBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"Material.js","sourceRoot":"","sources":["../src/Material.ts"],"names":[],"mappings":";;AAAA,+BAAoE;AAEpE,uBAAuB;AACZ,QAAA,aAAa,GAAG,IAAI,yBAAiB,CAAC;IAC7C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEQ,QAAA,cAAc,GAAG,IAAI,yBAAiB,CAAC;IAC9C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,OAAO;AACI,QAAA,YAAY,GAAG,IAAI,yBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/Matrix2.js b/dist/Matrix2.js index 477b10c..939e8a2 100644 --- a/dist/Matrix2.js +++ b/dist/Matrix2.js @@ -1,30 +1,31 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -class Matrix2 { - constructor() { +var Matrix2 = /** @class */ (function () { + function Matrix2() { this.el = [1, 0, 0, 1]; } - set(n11, n12, n21, n22) { - let te = this.el; + Matrix2.prototype.set = function (n11, n12, n21, n22) { + var te = this.el; te[0] = n11; te[1] = n21; te[2] = n12; te[3] = n22; return this; - } - applyVector(vec) { - let x = vec.x, y = vec.y; - let e = this.el; + }; + Matrix2.prototype.applyVector = function (vec) { + var x = vec.x, y = vec.y; + var e = this.el; vec.x = e[0] * x + e[2] * y; vec.y = e[1] * x + e[3] * y; return this; - } - setRotate(theta) { - let el = this.el; - let c = Math.cos(theta), s = Math.sin(theta); + }; + Matrix2.prototype.setRotate = function (theta) { + var el = this.el; + var c = Math.cos(theta), s = Math.sin(theta); this.set(c, -s, s, c); return this; - } -} + }; + return Matrix2; +}()); exports.Matrix2 = Matrix2; //# sourceMappingURL=Matrix2.js.map \ No newline at end of file diff --git a/dist/Matrix2.js.map b/dist/Matrix2.js.map index a413d14..3dff33b 100644 --- a/dist/Matrix2.js.map +++ b/dist/Matrix2.js.map @@ -1 +1 @@ -{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../src/Matrix2.ts"],"names":[],"mappings":";;AAEA;IAAA;QAEY,OAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA4B9B,CAAC;IA3BG,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;QAElD,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEjB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,GAAsB;QAE9B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,KAAa;QAEnB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9BD,0BA8BC"} \ No newline at end of file +{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../src/Matrix2.ts"],"names":[],"mappings":";;AAEA;IAAA;QAEY,OAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA4B9B,CAAC;IA3BG,qBAAG,GAAH,UAAI,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;QAElD,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEjB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,6BAAW,GAAX,UAAY,GAAsB;QAE9B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAS,GAAT,UAAU,KAAa;QAEnB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,cAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,0BAAO"} \ No newline at end of file diff --git a/dist/Orbit.js b/dist/Orbit.js index 63ae560..fc5522f 100644 --- a/dist/Orbit.js +++ b/dist/Orbit.js @@ -1,25 +1,29 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); +var THREE = require("three"); /** * 轨道控制的数学类,观察向量和角度的互相转换 * 当x当抬头或者低头到90度时,触发万向锁. * * @class Orbit */ -class Orbit { - constructor() { +var Orbit = /** @class */ (function () { + function Orbit() { //抬头低头 正数抬头 负数低头 this.m_RoX = 0; //身体旋转 0为正右边 逆时针旋转 this.RoZ = 0; } - get RoX() { - return this.m_RoX; - } - set RoX(v) { - this.m_RoX = THREE.Math.clamp(v, Math.PI * -0.5, Math.PI * 0.5); - } + Object.defineProperty(Orbit.prototype, "RoX", { + get: function () { + return this.m_RoX; + }, + set: function (v) { + this.m_RoX = THREE.Math.clamp(v, Math.PI * -0.5, Math.PI * 0.5); + }, + enumerable: true, + configurable: true + }); /** * 使用旋转角度 计算观察向量 * @@ -27,29 +31,29 @@ class Orbit { * @returns {THREE.Vector3} 返回观察向量 * @memberof Orbit */ - UpdateDirection(dir) { - let rtDir = dir ? dir : new THREE.Vector3(); + Orbit.prototype.UpdateDirection = function (dir) { + var rtDir = dir ? dir : new THREE.Vector3(); rtDir.z = Math.sin(this.m_RoX); //归一化专用. - let d = Math.abs(Math.cos(this.m_RoX)); + var d = Math.abs(Math.cos(this.m_RoX)); rtDir.x = Math.cos(this.RoZ) * d; rtDir.y = Math.sin(this.RoZ) * d; return rtDir; - } + }; /** * 使用观察向量,计算旋转角度 * * @param {THREE.Vector3} dir * @memberof Orbit */ - UpdateRoValue(dir) { + Orbit.prototype.UpdateRoValue = function (dir) { dir.normalize(); this.m_RoX = Math.asin(dir.z); if (dir.x < 1e-4 && dir.y < 1e-4) this.RoZ = Math.PI * 0.5; else this.RoZ = Math.atan2(dir.y, dir.x); - } + }; /** * * 根据观察向量 求头部的向量. @@ -60,8 +64,8 @@ class Orbit { * @returns {THREE.Vector3} * @memberof Orbit */ - static ComputUpDirection(dir, up) { - let upRes = up ? up : new THREE.Vector3(); + Orbit.ComputUpDirection = function (dir, up) { + var upRes = up ? up : new THREE.Vector3(); if (dir.equals(new THREE.Vector3(0, 0, -1))) { upRes.set(0, 1, 0); } @@ -69,13 +73,14 @@ class Orbit { upRes.set(0, -1, 0); } else { - let xv = new THREE.Vector3(); + var xv = new THREE.Vector3(); xv.crossVectors(new THREE.Vector3(0, 0, 1), dir); upRes.crossVectors(dir, xv); upRes.normalize(); } return upRes; - } -} + }; + return Orbit; +}()); exports.Orbit = Orbit; //# sourceMappingURL=Orbit.js.map \ No newline at end of file diff --git a/dist/Orbit.js.map b/dist/Orbit.js.map index 6dcfebc..844bf0f 100644 --- a/dist/Orbit.js.map +++ b/dist/Orbit.js.map @@ -1 +1 @@ -{"version":3,"file":"Orbit.js","sourceRoot":"","sources":["../src/Orbit.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAE/B;;;;;GAKG;AACH;IAAA;QAEI,gBAAgB;QACR,UAAK,GAAW,CAAC,CAAC;QAE1B,kBAAkB;QAClB,QAAG,GAAW,CAAC,CAAC;IA+EpB,CAAC;IA7EG,IAAI,GAAG;QAEH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,CAAC;QAEL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,GAAmB;QAE/B,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAE5C,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,QAAQ;QACR,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,GAAkB;QAE5B,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI;YAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;;YAEzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAkB,EAAE,EAAkB;QAE3D,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC3C;YACI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;aACI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAC/C;YACI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB;aAED;YACI,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,CAAC,SAAS,EAAE,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AArFD,sBAqFC"} \ No newline at end of file +{"version":3,"file":"Orbit.js","sourceRoot":"","sources":["../src/Orbit.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/PlaneExt.js b/dist/PlaneExt.js index 83ba6ae..2b78bb4 100644 --- a/dist/PlaneExt.js +++ b/dist/PlaneExt.js @@ -1,16 +1,27 @@ "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const three_1 = require("three"); -class PlaneExt extends THREE.Plane { - constructor(normal, constant) { - super(normal, constant); +var THREE = require("three"); +var three_1 = require("three"); +var PlaneExt = /** @class */ (function (_super) { + __extends(PlaneExt, _super); + function PlaneExt(normal, constant) { + return _super.call(this, normal, constant) || this; } - intersectLine(line, optionalTarget, extendLine) { - let v1 = new three_1.Vector3(); - let result = optionalTarget || new three_1.Vector3(); - let direction = line.delta(v1); - let denominator = this.normal.dot(direction); + PlaneExt.prototype.intersectLine = function (line, optionalTarget, extendLine) { + var v1 = new three_1.Vector3(); + var result = optionalTarget || new three_1.Vector3(); + var direction = line.delta(v1); + var denominator = this.normal.dot(direction); if (denominator === 0) { // line is coplanar, return origin if (this.distanceToPoint(line.start) === 0) { @@ -19,18 +30,19 @@ class PlaneExt extends THREE.Plane { // Unsure if this is the correct method to handle this case. return undefined; } - let t = -(line.start.dot(this.normal) + this.constant) / denominator; + var t = -(line.start.dot(this.normal) + this.constant) / denominator; //If you not extendLine,check intersect point in Line if (!extendLine && (t < 0 || t > 1)) { return undefined; } return result.copy(direction).multiplyScalar(t).add(line.start); - } - intersectRay(ray, optionalTarget, extendLine) { + }; + PlaneExt.prototype.intersectRay = function (ray, optionalTarget, extendLine) { // 从射线初始位置 - let line = new THREE.Line3(ray.origin.clone(), ray.origin.clone().add(ray.direction)); + var line = new THREE.Line3(ray.origin.clone(), ray.origin.clone().add(ray.direction)); return this.intersectLine(line, optionalTarget, extendLine); - } -} + }; + return PlaneExt; +}(THREE.Plane)); exports.PlaneExt = PlaneExt; //# sourceMappingURL=PlaneExt.js.map \ No newline at end of file diff --git a/dist/PlaneExt.js.map b/dist/PlaneExt.js.map index 38d9d2a..1a1ea0b 100644 --- a/dist/PlaneExt.js.map +++ b/dist/PlaneExt.js.map @@ -1 +1 @@ -{"version":3,"file":"PlaneExt.js","sourceRoot":"","sources":["../src/PlaneExt.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,iCAAuC;AAEvC,cAAsB,SAAQ,KAAK,CAAC,KAAK;IAErC,YAAY,MAAsB,EAAE,QAAiB;QAEjD,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,aAAa,CAAC,IAAW,EAAE,cAAwB,EAAE,UAAoB;QAErE,IAAI,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;QAEvB,IAAI,MAAM,GAAG,cAAc,IAAI,IAAI,eAAO,EAAE,CAAC;QAE7C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE/B,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,WAAW,KAAK,CAAC,EACrB;YACI,kCAAkC;YAClC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1C;gBACI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;YACD,4DAA4D;YAC5D,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACtE,qDAAqD;QACrD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACnC;YACI,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IACD,YAAY,CAAC,GAAc,EAAE,cAAwB,EAAE,UAAoB;QAEvE,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;CACJ;AA1CD,4BA0CC"} \ No newline at end of file +{"version":3,"file":"PlaneExt.js","sourceRoot":"","sources":["../src/PlaneExt.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAA+B;AAC/B,+BAAuC;AAEvC;IAA8B,4BAAW;IAErC,kBAAY,MAAsB,EAAE,QAAiB;eAEjD,kBAAM,MAAM,EAAE,QAAQ,CAAC;IAC3B,CAAC;IACD,gCAAa,GAAb,UAAc,IAAW,EAAE,cAAwB,EAAE,UAAoB;QAErE,IAAI,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;QAEvB,IAAI,MAAM,GAAG,cAAc,IAAI,IAAI,eAAO,EAAE,CAAC;QAE7C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE/B,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,WAAW,KAAK,CAAC,EACrB;YACI,kCAAkC;YAClC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1C;gBACI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;YACD,4DAA4D;YAC5D,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACtE,qDAAqD;QACrD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACnC;YACI,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IACD,+BAAY,GAAZ,UAAa,GAAc,EAAE,cAAwB,EAAE,UAAoB;QAEvE,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IACL,eAAC;AAAD,CAAC,AA1CD,CAA8B,KAAK,CAAC,KAAK,GA0CxC;AA1CY,4BAAQ"} \ No newline at end of file diff --git a/dist/PointPick.js b/dist/PointPick.js index 96171df..55afc42 100644 --- a/dist/PointPick.js +++ b/dist/PointPick.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const three_1 = require("three"); +var three_1 = require("three"); /** * 点选 * @@ -11,20 +11,21 @@ const three_1 = require("three"); * @returns {(Mesh | undefined)} */ function PointPick(view, ptx, pty) { - let raycaster = new three_1.Raycaster(); + var raycaster = new three_1.Raycaster(); raycaster.setFromCamera({ x: (ptx / view._Width) * 2 - 1, y: -(pty / view._Height) * 2 + 1 //y轴相反 }, view.m_Camera.Camera); //https://github.com/mrdoob/three.js/issues/14128 raycaster.ray.origin.set((ptx / view._Width) * 2 - 1, -(pty / view._Height) * 2 + 1, -1).unproject(view.m_Camera.Camera); - let minDis = Infinity; - let minObj = undefined; - view.m_Scene.children.forEach(obj => { + var minDis = Infinity; + var minObj = undefined; + view.m_Scene.children.forEach(function (obj) { if (obj instanceof three_1.Mesh) { - let intersects = []; + var intersects = []; obj.raycast(raycaster, intersects); - for (let i of intersects) { + for (var _i = 0, intersects_1 = intersects; _i < intersects_1.length; _i++) { + var i = intersects_1[_i]; if (i.distance < minDis) { minObj = obj; minDis = i.distance; diff --git a/dist/PointPick.js.map b/dist/PointPick.js.map index ef33f6e..2c3a977 100644 --- a/dist/PointPick.js.map +++ b/dist/PointPick.js.map @@ -1 +1 @@ -{"version":3,"file":"PointPick.js","sourceRoot":"","sources":["../src/PointPick.ts"],"names":[],"mappings":";;AAAA,iCAA2E;AAc3E;;;;;;;;GAQG;AACH,mBAA0B,IAAY,EAAE,GAAW,EAAE,GAAW;IAE5D,IAAI,SAAS,GAAG,IAAI,iBAAS,EAAE,CAAC;IAChC,SAAS,CAAC,aAAa,CAAC;QACpB,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM;KAC3C,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzB,iDAAiD;IACjD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAG1H,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAEhC,IAAI,GAAG,YAAY,YAAI,EACvB;YACI,IAAI,UAAU,GAAgB,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnC,KAAK,IAAI,CAAC,IAAI,UAAU,EACxB;gBACI,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,EACvB;oBACI,MAAM,GAAG,GAAG,CAAC;oBACb,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;iBACvB;aACJ;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAlCD,8BAkCC"} \ No newline at end of file +{"version":3,"file":"PointPick.js","sourceRoot":"","sources":["../src/PointPick.ts"],"names":[],"mappings":";;AAAA,+BAA2E;AAc3E;;;;;;;;GAQG;AACH,mBAA0B,IAAY,EAAE,GAAW,EAAE,GAAW;IAE5D,IAAI,SAAS,GAAG,IAAI,iBAAS,EAAE,CAAC;IAChC,SAAS,CAAC,aAAa,CAAC;QACpB,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM;KAC3C,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzB,iDAAiD;IACjD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAG1H,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,GAAG;QAE7B,IAAI,GAAG,YAAY,YAAI,EACvB;YACI,IAAI,UAAU,GAAgB,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnC,KAAc,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;gBAAnB,IAAI,CAAC,mBAAA;gBAEN,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,EACvB;oBACI,MAAM,GAAG,GAAG,CAAC;oBACb,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;iBACvB;aACJ;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAlCD,8BAkCC"} \ No newline at end of file diff --git a/dist/RotateUV.js b/dist/RotateUV.js index 0c7c996..fcdef39 100644 --- a/dist/RotateUV.js +++ b/dist/RotateUV.js @@ -1,14 +1,17 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const Matrix2_1 = require("./Matrix2"); -const three_1 = require("three"); +var Matrix2_1 = require("./Matrix2"); +var three_1 = require("three"); function RotateUVs(geo) { - let roMat = new Matrix2_1.Matrix2(); + var roMat = new Matrix2_1.Matrix2(); roMat.set(0, -1, 1, 0); - let addV = new three_1.Vector2(1, 0); - for (let uvs of geo.faceVertexUvs) { - for (let uv of uvs) { - for (let v of uv) { + var addV = new three_1.Vector2(1, 0); + for (var _i = 0, _a = geo.faceVertexUvs; _i < _a.length; _i++) { + var uvs = _a[_i]; + for (var _b = 0, uvs_1 = uvs; _b < uvs_1.length; _b++) { + var uv = uvs_1[_b]; + for (var _c = 0, uv_1 = uv; _c < uv_1.length; _c++) { + var v = uv_1[_c]; roMat.applyVector(v); v.add(addV); } diff --git a/dist/RotateUV.js.map b/dist/RotateUV.js.map index 8e331ff..65b71aa 100644 --- a/dist/RotateUV.js.map +++ b/dist/RotateUV.js.map @@ -1 +1 @@ -{"version":3,"file":"RotateUV.js","sourceRoot":"","sources":["../src/RotateUV.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AACpC,iCAA0C;AAG1C,mBAA0B,GAAa;IAEnC,IAAI,KAAK,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACX,CAAC,EAAE,CAAC,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7B,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,EACjC;QACI,KAAK,IAAI,EAAE,IAAI,GAAG,EAClB;YACI,KAAK,IAAI,CAAC,IAAI,EAAE,EAChB;gBACI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACf;SACJ;KACJ;IACD,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,CAAC;AApBD,8BAoBC"} \ No newline at end of file +{"version":3,"file":"RotateUV.js","sourceRoot":"","sources":["../src/RotateUV.ts"],"names":[],"mappings":";;AAAA,qCAAoC;AACpC,+BAA0C;AAG1C,mBAA0B,GAAa;IAEnC,IAAI,KAAK,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACX,CAAC,EAAE,CAAC,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7B,KAAgB,UAAiB,EAAjB,KAAA,GAAG,CAAC,aAAa,EAAjB,cAAiB,EAAjB,IAAiB;QAA5B,IAAI,GAAG,SAAA;QAER,KAAe,UAAG,EAAH,WAAG,EAAH,iBAAG,EAAH,IAAG;YAAb,IAAI,EAAE,YAAA;YAEP,KAAc,UAAE,EAAF,SAAE,EAAF,gBAAE,EAAF,IAAE;gBAAX,IAAI,CAAC,WAAA;gBAEN,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACf;SACJ;KACJ;IACD,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,CAAC;AApBD,8BAoBC"} \ No newline at end of file diff --git a/dist/Text.js b/dist/Text.js index 0f82559..752844e 100644 --- a/dist/Text.js +++ b/dist/Text.js @@ -1,19 +1,33 @@ "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", { value: true }); -const three_1 = require("three"); -const ColorPalette_1 = require("./ColorPalette"); -const GeUtils_1 = require("./GeUtils"); -class FontLoaderUtil { - static Load() { +var three_1 = require("three"); +var ColorPalette_1 = require("./ColorPalette"); +var GeUtils_1 = require("./GeUtils"); +var FontLoaderUtil = /** @class */ (function () { + function FontLoaderUtil() { + } + FontLoaderUtil.Load = function () { if (!this.defFont) { - const f = require("../resources/fonts/helvetiker_regular.typeface.json"); - let loader = new three_1.FontLoader(); + var f = require("../resources/fonts/helvetiker_regular.typeface.json"); + var loader = new three_1.FontLoader(); this.defFont = loader.parse(f); } return this.defFont; - } -} -class DbText extends three_1.Mesh { + }; + return FontLoaderUtil; +}()); +var DbText = /** @class */ (function (_super) { + __extends(DbText, _super); /** * * 构造一个文本对象,8位点(中心点下面)在0点 @@ -21,15 +35,19 @@ class DbText extends three_1.Mesh { * @param {number} height 文本高度 * @memberof DbText */ - constructor(str, height = 5) { - let font = FontLoaderUtil.Load(); - let shapes = font.generateShapes(str, height, 0.1); - let geometry = new three_1.ShapeGeometry(shapes); + function DbText(str, height) { + if (height === void 0) { height = 5; } + var _this = this; + var font = FontLoaderUtil.Load(); + var shapes = font.generateShapes(str, height, 0.1); + var geometry = new three_1.ShapeGeometry(shapes); geometry.computeBoundingBox(); - super(geometry, ColorPalette_1.ColorMaterial.GetLineMaterial(5)); - let center = geometry.boundingBox.getCenter(new three_1.Vector3()); - this.applyMatrix(GeUtils_1.MoveMatrix(new three_1.Vector3(-center.x, 0, 0))); + _this = _super.call(this, geometry, ColorPalette_1.ColorMaterial.GetLineMaterial(5)) || this; + var center = geometry.boundingBox.getCenter(new three_1.Vector3()); + _this.applyMatrix(GeUtils_1.MoveMatrix(new three_1.Vector3(-center.x, 0, 0))); + return _this; } -} + return DbText; +}(three_1.Mesh)); exports.DbText = DbText; //# sourceMappingURL=Text.js.map \ No newline at end of file diff --git a/dist/Text.js.map b/dist/Text.js.map index fafae58..405ec57 100644 --- a/dist/Text.js.map +++ b/dist/Text.js.map @@ -1 +1 @@ -{"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.ts"],"names":[],"mappings":";;AAAA,iCAAuE;AACvE,iDAA+C;AAC/C,uCAAuC;AAEvC;IAGE,MAAM,CAAC,IAAI;QAET,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB;YACE,MAAM,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;YACzE,IAAI,MAAM,GAAG,IAAI,kBAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,YAAoB,SAAQ,YAAI;IAE9B;;;;;;OAMG;IACH,YAAY,GAAW,EAAE,SAAiB,CAAC;QAEzC,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAkB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,QAAQ,GAAG,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;QAEzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE9B,KAAK,CAAC,QAAQ,EAAE,4BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,IAAI,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF;AAvBD,wBAuBC"} \ No newline at end of file +{"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAuE;AACvE,+CAA+C;AAC/C,qCAAuC;AAEvC;IAAA;IAaA,CAAC;IAVQ,mBAAI,GAAX;QAEE,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB;YACE,IAAM,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;YACzE,IAAI,MAAM,GAAG,IAAI,kBAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AAbD,IAaC;AAED;IAA4B,0BAAI;IAE9B;;;;;;OAMG;IACH,gBAAY,GAAW,EAAE,MAAkB;QAAlB,uBAAA,EAAA,UAAkB;QAA3C,iBAaC;QAXC,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAkB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,QAAQ,GAAG,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;QAEzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE9B,QAAA,kBAAM,QAAQ,EAAE,4BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAC;QAElD,IAAI,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;QAC3D,KAAI,CAAC,WAAW,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;IAC7D,CAAC;IACH,aAAC;AAAD,CAAC,AAvBD,CAA4B,YAAI,GAuB/B;AAvBY,wBAAM"} \ No newline at end of file diff --git a/dist/ThreeCSG.d.ts b/dist/ThreeCSG.d.ts index d6691bf..7e0383d 100644 --- a/dist/ThreeCSG.d.ts +++ b/dist/ThreeCSG.d.ts @@ -20,8 +20,8 @@ export declare class Polygon { calculateProperties(): this; clone(): Polygon; flip(): this; - classifyVertex(vertex: any): 1 | 0 | 2; - classifySide(polygon: any): 1 | 0 | 2 | 3; + classifyVertex(vertex: any): 0 | 2 | 1; + classifySide(polygon: any): 0 | 2 | 1 | 3; splitPolygon(polygon: any, coplanar_front: any, coplanar_back: any, front: any, back: any): void; } export declare class Vertex { diff --git a/dist/ThreeCSG.js b/dist/ThreeCSG.js index f31ec7e..b0fe206 100644 --- a/dist/ThreeCSG.js +++ b/dist/ThreeCSG.js @@ -1,14 +1,14 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); +var THREE = require("three"); /*jshint esversion: 6 */ -const EPSILON = 1e-5, COPLANAR = 0, //共面 +var EPSILON = 1e-5, COPLANAR = 0, //共面 FRONT = 1, //前 BACK = 2, SPANNING = 3; -class ThreeBSP { - constructor(geometry) { +var ThreeBSP = /** @class */ (function () { + function ThreeBSP(geometry) { // Convert THREE.Geometry to ThreeBSP - let i, _length_i, face, vertex, faceVertexUvs, uvs, polygon, polygons = [], tree; + var i, _length_i, face, vertex, faceVertexUvs, uvs, polygon, polygons = [], tree; this.Polygon = Polygon; this.Vertex = Vertex; this.Node = Node; @@ -81,8 +81,8 @@ class ThreeBSP { this.tree = new Node(polygons); } //减 - subtract(other_tree) { - let a = this.tree.clone(), b = other_tree.tree.clone(); + ThreeBSP.prototype.subtract = function (other_tree) { + var a = this.tree.clone(), b = other_tree.tree.clone(); a.invert(); a.clipTo(b); b.clipTo(a); @@ -91,26 +91,26 @@ class ThreeBSP { b.invert(); a.build(b.allPolygons()); a.invert(); - let bsp = new ThreeBSP(a); + var bsp = new ThreeBSP(a); bsp.matrix = this.matrix; return bsp; - } + }; //结合 - union(other_tree) { - let a = this.tree.clone(), b = other_tree.tree.clone(); + ThreeBSP.prototype.union = function (other_tree) { + var a = this.tree.clone(), b = other_tree.tree.clone(); a.clipTo(b); b.clipTo(a); b.invert(); b.clipTo(a); b.invert(); a.build(b.allPolygons()); - let bsp = new ThreeBSP(a); + var bsp = new ThreeBSP(a); bsp.matrix = this.matrix; return bsp; - } + }; //相交 - intersect(other_tree) { - let a = this.tree.clone(), b = other_tree.tree.clone(); + ThreeBSP.prototype.intersect = function (other_tree) { + var a = this.tree.clone(), b = other_tree.tree.clone(); a.invert(); b.clipTo(a); b.invert(); @@ -118,12 +118,12 @@ class ThreeBSP { b.clipTo(a); a.build(b.allPolygons()); a.invert(); - let bsp = new ThreeBSP(a); + var bsp = new ThreeBSP(a); bsp.matrix = this.matrix; return bsp; - } - toGeometry() { - let i, j, matrix = new THREE.Matrix4().getInverse(this.matrix), geometry = new THREE.Geometry(), polygons = this.tree.allPolygons(), polygon_count = polygons.length, polygon, polygon_vertice_count, vertice_dict = {}, vertex_idx_a, vertex_idx_b, vertex_idx_c, vertex, face, verticeUvs; + }; + ThreeBSP.prototype.toGeometry = function () { + var i, j, matrix = new THREE.Matrix4().getInverse(this.matrix), geometry = new THREE.Geometry(), polygons = this.tree.allPolygons(), polygon_count = polygons.length, polygon, polygon_vertice_count, vertice_dict = {}, vertex_idx_a, vertex_idx_b, vertex_idx_c, vertex, face, verticeUvs; for (i = 0; i < polygon_count; i++) { polygon = polygons[i]; polygon_vertice_count = polygon.vertices.length; @@ -168,18 +168,19 @@ class ThreeBSP { } } return geometry; - } - toMesh(material) { - let geometry = this.toGeometry(), mesh = new THREE.Mesh(geometry, material); + }; + ThreeBSP.prototype.toMesh = function (material) { + var geometry = this.toGeometry(), mesh = new THREE.Mesh(geometry, material); mesh.position.setFromMatrixPosition(this.matrix); mesh.rotation.setFromRotationMatrix(this.matrix); return mesh; - } -} + }; + return ThreeBSP; +}()); exports.ThreeBSP = ThreeBSP; //多边形 -class Polygon { - constructor(vertices, normal, w) { +var Polygon = /** @class */ (function () { + function Polygon(vertices, normal, w) { if (!(vertices instanceof Array)) { vertices = []; } @@ -191,22 +192,22 @@ class Polygon { this.normal = this.w = undefined; } } - calculateProperties() { - let a = this.vertices[0], b = this.vertices[1], c = this.vertices[2]; + Polygon.prototype.calculateProperties = function () { + var a = this.vertices[0], b = this.vertices[1], c = this.vertices[2]; this.normal = b.clone().subtract(a).cross(c.clone().subtract(a)).normalize(); this.w = this.normal.clone().dot(a); return this; - } - clone() { - let i, vertice_count, polygon = new Polygon(); + }; + Polygon.prototype.clone = function () { + var i, vertice_count, polygon = new Polygon(); for (i = 0, vertice_count = this.vertices.length; i < vertice_count; i++) { polygon.vertices.push(this.vertices[i].clone()); } polygon.calculateProperties(); return polygon; - } - flip() { - let i, vertices = []; + }; + Polygon.prototype.flip = function () { + var i, vertices = []; this.normal.multiplyScalar(-1); this.w *= -1; for (i = this.vertices.length - 1; i >= 0; i--) { @@ -214,10 +215,10 @@ class Polygon { } this.vertices = vertices; return this; - } + }; //划分? - classifyVertex(vertex) { - let side_value = this.normal.dot(vertex) - this.w; + Polygon.prototype.classifyVertex = function (vertex) { + var side_value = this.normal.dot(vertex) - this.w; if (side_value < -EPSILON) { return BACK; } @@ -227,10 +228,10 @@ class Polygon { else { return COPLANAR; } - } + }; //划分边? - classifySide(polygon) { - let i, vertex, classification, num_positive = 0, num_negative = 0, vertice_count = polygon.vertices.length; + Polygon.prototype.classifySide = function (polygon) { + var i, vertex, classification, num_positive = 0, num_negative = 0, vertice_count = polygon.vertices.length; for (i = 0; i < vertice_count; i++) { vertex = polygon.vertices[i]; classification = this.classifyVertex(vertex); @@ -253,10 +254,10 @@ class Polygon { else { return SPANNING; } - } + }; //分解 分离 区域? - splitPolygon(polygon, coplanar_front, coplanar_back, front, back) { - let classification = this.classifySide(polygon); + Polygon.prototype.splitPolygon = function (polygon, coplanar_front, coplanar_back, front, back) { + var classification = this.classifySide(polygon); if (classification === COPLANAR) { (this.normal.dot(polygon.normal) > 0 ? coplanar_front : coplanar_back).push(polygon); } @@ -267,7 +268,7 @@ class Polygon { back.push(polygon); } else { - let vertice_count, i, j, ti, tj, vi, vj, t, v, f = [], b = []; + var vertice_count = void 0, i = void 0, j = void 0, ti = void 0, tj = void 0, vi = void 0, vj = void 0, t = void 0, v = void 0, f = [], b = []; for (i = 0, vertice_count = polygon.vertices.length; i < vertice_count; i++) { j = (i + 1) % vertice_count; vi = polygon.vertices[i]; @@ -290,82 +291,84 @@ class Polygon { if (b.length >= 3) back.push(new Polygon(b).calculateProperties()); } - } -} + }; + return Polygon; +}()); exports.Polygon = Polygon; -class Vertex { - constructor(x, y, z, normal, uv) { +var Vertex = /** @class */ (function () { + function Vertex(x, y, z, normal, uv) { this.x = x; this.y = y; this.z = z; this.normal = normal || new THREE.Vector3(); this.uv = uv || new THREE.Vector2(); } - clone() { + Vertex.prototype.clone = function () { return new Vertex(this.x, this.y, this.z, this.normal.clone(), this.uv.clone()); - } - add(vertex) { + }; + Vertex.prototype.add = function (vertex) { this.x += vertex.x; this.y += vertex.y; this.z += vertex.z; return this; - } - subtract(vertex) { + }; + Vertex.prototype.subtract = function (vertex) { this.x -= vertex.x; this.y -= vertex.y; this.z -= vertex.z; return this; - } - multiplyScalar(scalar) { + }; + Vertex.prototype.multiplyScalar = function (scalar) { this.x *= scalar; this.y *= scalar; this.z *= scalar; return this; - } + }; //×乘 - cross(vertex) { - let x = this.x, y = this.y, z = this.z; + Vertex.prototype.cross = function (vertex) { + var x = this.x, y = this.y, z = this.z; this.x = y * vertex.z - z * vertex.y; this.y = z * vertex.x - x * vertex.z; this.z = x * vertex.y - y * vertex.x; return this; - } - normalize() { - let length = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + }; + Vertex.prototype.normalize = function () { + var length = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); this.x /= length; this.y /= length; this.z /= length; return this; - } + }; //点乘 - dot(vertex) { + Vertex.prototype.dot = function (vertex) { return this.x * vertex.x + this.y * vertex.y + this.z * vertex.z; - } + }; //线性插值 - lerp(a, t) { + Vertex.prototype.lerp = function (a, t) { this.add(a.clone().subtract(this).multiplyScalar(t)); this.normal.add(a.normal.clone().sub(this.normal).multiplyScalar(t)); this.uv.add(a.uv.clone().sub(this.uv).multiplyScalar(t)); return this; - } + }; //插值 - interpolate(other, t) { + Vertex.prototype.interpolate = function (other, t) { return this.clone().lerp(other, t); - } - applyMatrix4(m) { + }; + Vertex.prototype.applyMatrix4 = function (m) { // input: THREE.Matrix4 affine matrix - let x = this.x, y = this.y, z = this.z; - let e = m.elements; + var x = this.x, y = this.y, z = this.z; + var e = m.elements; this.x = e[0] * x + e[4] * y + e[8] * z + e[12]; this.y = e[1] * x + e[5] * y + e[9] * z + e[13]; this.z = e[2] * x + e[6] * y + e[10] * z + e[14]; return this; - } -} + }; + return Vertex; +}()); exports.Vertex = Vertex; -class Node { - constructor(polygons) { - let i, polygon_count, front = [], back = []; +var Node = /** @class */ (function () { + function Node(polygons) { + var i, polygon_count, front = [], back = []; this.polygons = []; this.front = this.back = undefined; if (!(polygons instanceof Array) || polygons.length === 0) @@ -382,8 +385,8 @@ class Node { } } //是凸的? 凸包? - isConvex(polygons) { - let i, j; + Node.prototype.isConvex = function (polygons) { + var i, j; for (i = 0; i < polygons.length; i++) { for (j = 0; j < polygons.length; j++) { if (i !== j && polygons[i].classifySide(polygons[j]) !== BACK) { @@ -392,9 +395,9 @@ class Node { } } return true; - } - build(polygons) { - let i, polygon_count, front = [], back = []; + }; + Node.prototype.build = function (polygons) { + var i, polygon_count, front = [], back = []; if (!this.divider) { this.divider = polygons[0].clone(); } @@ -411,17 +414,17 @@ class Node { this.back = new Node(); this.back.build(back); } - } - allPolygons() { - let polygons = this.polygons.slice(); + }; + Node.prototype.allPolygons = function () { + var polygons = this.polygons.slice(); if (this.front) polygons = polygons.concat(this.front.allPolygons()); if (this.back) polygons = polygons.concat(this.back.allPolygons()); return polygons; - } - clone() { - let node = new Node(); + }; + Node.prototype.clone = function () { + var node = new Node(); node.divider = this.divider.clone(); node.polygons = this.polygons.map(function (polygon) { return polygon.clone(); @@ -429,10 +432,10 @@ class Node { node.front = this.front && this.front.clone(); node.back = this.back && this.back.clone(); return node; - } + }; //反转 - invert() { - let i, polygon_count, temp; + Node.prototype.invert = function () { + var i, polygon_count, temp; for (i = 0, polygon_count = this.polygons.length; i < polygon_count; i++) { this.polygons[i].flip(); } @@ -445,10 +448,10 @@ class Node { this.front = this.back; this.back = temp; return this; - } + }; // - clipPolygons(polygons) { - let i, polygon_count, front, back; + Node.prototype.clipPolygons = function (polygons) { + var i, polygon_count, front, back; if (!this.divider) return polygons.slice(); front = []; @@ -463,14 +466,15 @@ class Node { else back = []; return front.concat(back); - } - clipTo(node) { + }; + Node.prototype.clipTo = function (node) { this.polygons = node.clipPolygons(this.polygons); if (this.front) this.front.clipTo(node); if (this.back) this.back.clipTo(node); - } -} + }; + return Node; +}()); exports.Node = Node; //# sourceMappingURL=ThreeCSG.js.map \ No newline at end of file diff --git a/dist/ThreeCSG.js.map b/dist/ThreeCSG.js.map index b5806a4..cbbfb86 100644 --- a/dist/ThreeCSG.js.map +++ b/dist/ThreeCSG.js.map @@ -1 +1 @@ -{"version":3,"file":"ThreeCSG.js","sourceRoot":"","sources":["../src/ThreeCSG.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ThreeCSG.js","sourceRoot":"","sources":["../src/ThreeCSG.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Utils.js b/dist/Utils.js index db21b58..9879f13 100644 --- a/dist/Utils.js +++ b/dist/Utils.js @@ -1,23 +1,24 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const _1 = require("."); +var _1 = require("."); function LoadBoard(view, data) { - view.m_Scene.children.forEach(obj => { - let geo = obj["geometry"]; + view.m_Scene.children.forEach(function (obj) { + var geo = obj["geometry"]; if (geo) geo.dispose(); }); view.m_Scene.children.length = 0; //加板 - let { meshs, edgesa } = _1.createTemplateBoard(data); + var _a = _1.createTemplateBoard(data), meshs = _a.meshs, edgesa = _a.edgesa; //加标注 - let dims = _1.DrawDimension(meshs); - view.m_Scene.add(...meshs); - view.m_Scene.add(...edgesa); - view.m_Scene.add(...dims); + var dims = _1.DrawDimension(meshs); + (_b = view.m_Scene).add.apply(_b, meshs); + (_c = view.m_Scene).add.apply(_c, edgesa); + (_d = view.m_Scene).add.apply(_d, dims); view.ViewToSwiso(); view.ZoomAll(); view.Zoom(1.1); + var _b, _c, _d; } exports.LoadBoard = LoadBoard; //# sourceMappingURL=Utils.js.map \ No newline at end of file diff --git a/dist/Utils.js.map b/dist/Utils.js.map index 27ea0c2..22601c3 100644 --- a/dist/Utils.js.map +++ b/dist/Utils.js.map @@ -1 +1 @@ -{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;AAAA,wBAA2E;AAG3E,mBAA0B,IAAY,EAAE,IAAW;IAE/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAEhC,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,CAAa,CAAC;QACtC,IAAI,GAAG;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,sBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK;IACL,IAAI,IAAI,GAAG,gBAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AArBD,8BAqBC"} \ No newline at end of file +{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;AAAA,sBAA2E;AAG3E,mBAA0B,IAAY,EAAE,IAAW;IAE/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,GAAG;QAE7B,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,CAAa,CAAC;QACtC,IAAI,GAAG;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,IAAI;IACA,IAAA,iCAA6C,EAA3C,gBAAK,EAAE,kBAAM,CAA+B;IAClD,KAAK;IACL,IAAI,IAAI,GAAG,gBAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,KAAK,EAAE;IAC3B,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,MAAM,EAAE;IAC5B,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,IAAI,EAAE;IAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;AACnB,CAAC;AArBD,8BAqBC"} \ No newline at end of file diff --git a/dist/Viewer.js b/dist/Viewer.js index e537f9b..1378438 100644 --- a/dist/Viewer.js +++ b/dist/Viewer.js @@ -1,33 +1,34 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const _1 = require("."); -const CameraUpdate_1 = require("./CameraUpdate"); -const ColorPalette_1 = require("./ColorPalette"); -const GeUtils_1 = require("./GeUtils"); -const PlaneExt_1 = require("./PlaneExt"); -class Viewer { +var THREE = require("three"); +var _1 = require("."); +var CameraUpdate_1 = require("./CameraUpdate"); +var ColorPalette_1 = require("./ColorPalette"); +var GeUtils_1 = require("./GeUtils"); +var PlaneExt_1 = require("./PlaneExt"); +var Viewer = /** @class */ (function () { //构造 - constructor(canvasContainer) { + function Viewer(canvasContainer) { + var _this = this; this.m_Camera = new CameraUpdate_1.CameraUpdate(); this.m_bNeedUpdate = true; this.m_Scene = new THREE.Scene(); - this.OnSize = (width, height) => { - this._Width = width ? width : this.m_DomEl.clientWidth; - this._Height = height ? height : this.m_DomEl.clientHeight; + this.OnSize = function (width, height) { + _this._Width = width ? width : _this.m_DomEl.clientWidth; + _this._Height = height ? height : _this.m_DomEl.clientHeight; //校验.成为2的倍数 避免外轮廓错误. - if (this._Width % 2 == 1) - this._Width -= 1; - if (this._Height % 2 == 1) - this._Height -= 1; - this.m_Render.setSize(this._Width, this._Height); - this.m_Camera.SetSize(this._Width, this._Height); + if (_this._Width % 2 == 1) + _this._Width -= 1; + if (_this._Height % 2 == 1) + _this._Height -= 1; + _this.m_Render.setSize(_this._Width, _this._Height); + _this.m_Camera.SetSize(_this._Width, _this._Height); }; - this.StartRender = () => { - requestAnimationFrame(this.StartRender); - if (this.m_Scene != null && this.m_bNeedUpdate) { - this.Render(); - this.m_bNeedUpdate = false; + this.StartRender = function () { + requestAnimationFrame(_this.StartRender); + if (_this.m_Scene != null && _this.m_bNeedUpdate) { + _this.Render(); + _this.m_bNeedUpdate = false; } }; this.m_DomEl = canvasContainer; @@ -35,23 +36,23 @@ class Viewer { this.OnSize(); this.StartRender(); new _1.CameraControls(this); - window.addEventListener("resize", () => { - this.OnSize(); + window.addEventListener("resize", function () { + _this.OnSize(); }); - let oldMesh; - this.m_Render.domElement.addEventListener("mousemove", (e) => { - let mesh = _1.PointPick(this, e.offsetX, e.offsetY); + var oldMesh; + this.m_Render.domElement.addEventListener("mousemove", function (e) { + var mesh = _1.PointPick(_this, e.offsetX, e.offsetY); if (oldMesh) oldMesh.material = _1.boardMaterial; if (mesh && mesh.material !== ColorPalette_1.ColorMaterial.GetLineMaterial(1)) { oldMesh = mesh; mesh.material = _1.selectMaterial; } - this.m_bNeedUpdate = true; + _this.m_bNeedUpdate = true; }); } //初始化render - initRender(canvasContainer) { + Viewer.prototype.initRender = function (canvasContainer) { this.m_Render = new THREE.WebGLRenderer({ antialias: true, precision: "highp", @@ -72,69 +73,70 @@ class Viewer { //设置它的背景色为黑色 this.m_Render.setClearColor(0xffffff, 1); this.OnSize(); - } - Render() { + }; + Viewer.prototype.Render = function () { this.m_Render.render(this.m_Scene, this.m_Camera.Camera); - } - ScreenToWorld(pt, planVec) { + }; + Viewer.prototype.ScreenToWorld = function (pt, planVec) { //变换和求交点 - let plan = new PlaneExt_1.PlaneExt(planVec || new THREE.Vector3(0, 0, 1)); - let raycaster = new THREE.Raycaster(); + var plan = new PlaneExt_1.PlaneExt(planVec || new THREE.Vector3(0, 0, 1)); + var raycaster = new THREE.Raycaster(); // 射线从相机射线向屏幕点位置 raycaster.setFromCamera({ x: (pt.x / this._Width) * 2 - 1, y: -(pt.y / this._Height) * 2 + 1 }, this.m_Camera.Camera); plan.intersectRay(raycaster.ray, pt, true); - } - WorldToScreen(pt) { - let widthHalf = this._Width * 0.5; - let heightHalf = this._Height * 0.5; + }; + Viewer.prototype.WorldToScreen = function (pt) { + var widthHalf = this._Width * 0.5; + var heightHalf = this._Height * 0.5; pt.project(this.m_Camera.Camera); pt.x = (pt.x * widthHalf) + widthHalf; pt.y = -(pt.y * heightHalf) + heightHalf; - } + }; /** * 更新视角观测目标(物体中心) * * @memberof Viewer */ - UpdateLockTarget() { - let renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera); - let box = GeUtils_1.GetBoxArr(renderList.opaque.map(o => o.object)); + Viewer.prototype.UpdateLockTarget = function () { + var renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera); + var box = GeUtils_1.GetBoxArr(renderList.opaque.map(function (o) { return o.object; })); if (box) this.m_LookTarget = box.getCenter(new THREE.Vector3()); else this.m_LookTarget = GeUtils_1.cZeroVec; - } - Rotate(mouseMove) { + }; + Viewer.prototype.Rotate = function (mouseMove) { this.m_Camera.Rotate(mouseMove, this.m_LookTarget); this.m_bNeedUpdate = true; - } - Pan(mouseMove) { + }; + Viewer.prototype.Pan = function (mouseMove) { this.m_Camera.Pan(mouseMove); this.m_bNeedUpdate = true; - } - Zoom(scale, center) { + }; + Viewer.prototype.Zoom = function (scale, center) { this.m_Camera.Zoom(scale, center); this.m_bNeedUpdate = true; - } - ZoomAll() { + }; + Viewer.prototype.ZoomAll = function () { this.m_Camera.ZoomExtensBox3(GeUtils_1.GetBox(this.m_Scene, true)); this.m_bNeedUpdate = true; - } - ViewToTop() { + }; + Viewer.prototype.ViewToTop = function () { this.m_Camera.LookAt(new THREE.Vector3(0, 0, -1)); this.m_bNeedUpdate = true; - } - ViewToFront() { + }; + Viewer.prototype.ViewToFront = function () { this.m_Camera.LookAt(new THREE.Vector3(0, 1, 0)); this.m_bNeedUpdate = true; - } - ViewToSwiso() { + }; + Viewer.prototype.ViewToSwiso = function () { this.m_Camera.LookAt(new THREE.Vector3(1, 1, -1)); this.m_bNeedUpdate = true; - } -} + }; + return Viewer; +}()); exports.Viewer = Viewer; //# sourceMappingURL=Viewer.js.map \ No newline at end of file diff --git a/dist/Viewer.js.map b/dist/Viewer.js.map index 2470dd5..bf3a4dc 100644 --- a/dist/Viewer.js.map +++ b/dist/Viewer.js.map @@ -1 +1 @@ -{"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../src/Viewer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../src/Viewer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/createBoard.js b/dist/createBoard.js index e8cadfd..8e487ee 100644 --- a/dist/createBoard.js +++ b/dist/createBoard.js @@ -1,24 +1,24 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const THREE = require("three"); -const three_1 = require("three"); -const ColorPalette_1 = require("./ColorPalette"); -const GeUtils_1 = require("./GeUtils"); -const Material_1 = require("./Material"); -const RotateUV_1 = require("./RotateUV"); -const ThreeCSG_1 = require("./ThreeCSG"); +var THREE = require("three"); +var three_1 = require("three"); +var ColorPalette_1 = require("./ColorPalette"); +var GeUtils_1 = require("./GeUtils"); +var Material_1 = require("./Material"); +var RotateUV_1 = require("./RotateUV"); +var ThreeCSG_1 = require("./ThreeCSG"); //解析二维圆弧类. -class Arc2d { - constructor(p1, p2, bul) { +var Arc2d = /** @class */ (function () { + function Arc2d(p1, p2, bul) { this.m_StartPoint = p1.clone(); this.m_EndPoint = p2.clone(); - let vec = p2.clone().sub(p1); - let len = vec.length(); - let an = vec.angle(); + var vec = p2.clone().sub(p1); + var len = vec.length(); + var an = vec.angle(); this.m_Radius = len / Math.sin(2 * Math.atan(bul)) / 2; - let allAngle = Math.atan(bul) * 4; - let delDis = bul * len / 2; - let toDis = this.m_Radius - delDis; + var allAngle = Math.atan(bul) * 4; + var delDis = bul * len / 2; + var toDis = this.m_Radius - delDis; an += Math.PI * 0.5; this.m_Center = p1.clone().add(p2); this.m_Center.multiplyScalar(0.5); @@ -31,27 +31,28 @@ class Arc2d { this.m_EndAn -= Math.PI; } } -} + return Arc2d; +}()); exports.Arc2d = Arc2d; //创建轮廓 通过点表和凸度 function createPath(pts, buls, shapeOut) { - let shape = shapeOut || new three_1.Shape(); + var shape = shapeOut || new three_1.Shape(); if (pts.length === 0) return shape; - let firstPt = pts[0]; + var firstPt = pts[0]; shape.moveTo(firstPt.x, firstPt.y); - for (let i = 0; i < pts.length - 1; i++) { - let nextPt = pts[i + 1]; + for (var i = 0; i < pts.length - 1; i++) { + var nextPt = pts[i + 1]; if (buls[i] == 0) { shape.lineTo(nextPt.x, nextPt.y); } else { - let pt = pts[i]; + var pt = pts[i]; //参考 //http://www.dorodnic.com/blog/tag/three-js/ 绘制一个齿轮 //https://www.kirupa.com/html5/drawing_circles_canvas.htm //html5 - let arc2 = new Arc2d(pt, nextPt, buls[i]); - let cen = arc2.m_Center; + var arc2 = new Arc2d(pt, nextPt, buls[i]); + var cen = arc2.m_Center; shape.absarc(cen.x, cen.y, arc2.m_Radius, arc2.m_StartAn, arc2.m_EndAn, buls[i] < 0); } } @@ -64,106 +65,104 @@ function getVec(data) { exports.getVec = getVec; //创建板件 暂时这么写 function createBoard(boardData) { - let pts = new Array(); - let buls = new Array(); - let boardPts = boardData["Pts"]; - let boardBuls = boardData["Buls"]; - let boardHeight = boardData["H"]; - let boardMat = new THREE.Matrix4(); - let matInv = new THREE.Matrix4(); + var pts = new Array(); + var buls = new Array(); + var boardPts = boardData["Pts"]; + var boardBuls = boardData["Buls"]; + var boardHeight = boardData["H"]; + var boardMat = new THREE.Matrix4(); + var matInv = new THREE.Matrix4(); //InitBoardMat { - let xD = getVec(boardData["XVec"]); - let yD = getVec(boardData["YVec"]); - let ZD = getVec(boardData["ZVec"]); - let pBase = getVec(boardData["BasePoint"]); + var xD = getVec(boardData["XVec"]); + var yD = getVec(boardData["YVec"]); + var ZD = getVec(boardData["ZVec"]); + var pBase = getVec(boardData["BasePoint"]); boardMat.makeBasis(xD, yD, ZD); boardMat.setPosition(pBase); matInv.getInverse(boardMat, true); } if (boardPts && boardPts.length !== 0) - for (let i = 0; i < boardPts.length; i++) { - let pt = getVec(boardPts[i]); + for (var i = 0; i < boardPts.length; i++) { + var pt = getVec(boardPts[i]); if (boardPts[i].z !== undefined) pt.applyMatrix4(matInv); pts.push(new THREE.Vector2(pt.x, pt.y)); buls.push(boardBuls[i]); } else { - let length = boardData["L"]; - let width = boardData["W"]; - let height = boardData["H"]; - pts.push(new three_1.Vector2(0, 0), new three_1.Vector2(width, 0), new three_1.Vector2(width, length), new three_1.Vector2(0, length), new three_1.Vector2(0, 0)); + var length_1 = boardData["L"]; + var width = boardData["W"]; + var height = boardData["H"]; + pts.push(new three_1.Vector2(0, 0), new three_1.Vector2(width, 0), new three_1.Vector2(width, length_1), new three_1.Vector2(0, length_1), new three_1.Vector2(0, 0)); buls.push(0, 0, 0, 0, 0); } - let sp = createPath(pts, buls); - let extrudeSettings = { + var sp = createPath(pts, buls); + var extrudeSettings = { steps: 1, bevelEnabled: false, amount: boardHeight }; - let ext = new THREE.ExtrudeGeometry(sp, extrudeSettings); + var ext = new THREE.ExtrudeGeometry(sp, extrudeSettings); ext.computeBoundingSphere(); ext.computeBoundingBox(); ext.translate(0, 0, -boardHeight); ext.applyMatrix(boardMat); //外边. - let edges = [createEdge(ext)]; + var edges = [createEdge(ext)]; //差集 if (checkObjectArray(boardData, "SubBoardLocal") || checkObjectArray(boardData, "Drillings")) { - let thisCsg = new ThreeCSG_1.ThreeBSP(ext); + var thisCsg = new ThreeCSG_1.ThreeBSP(ext); if (boardData["SubBoardLocal"]) { - let subBoardList = boardData["SubBoardLocal"].map(d => createBoard(d)); - for (let br of subBoardList) { - edges.push(...br.edges); - let subCsg = new ThreeCSG_1.ThreeBSP(br.mesh); + var subBoardList = boardData["SubBoardLocal"].map(function (d) { return createBoard(d); }); + for (var _i = 0, subBoardList_1 = subBoardList; _i < subBoardList_1.length; _i++) { + var br = subBoardList_1[_i]; + edges.push.apply(edges, br.edges); + var subCsg = new ThreeCSG_1.ThreeBSP(br.mesh); thisCsg = thisCsg.subtract(subCsg); } } if (boardData["Drillings"]) { - let dris = boardData["Drillings"]; - for (let dri of dris) { - let geo = new three_1.CylinderGeometry(dri.r, dri.r, dri.h, 8); + var dris = boardData["Drillings"]; + for (var _a = 0, dris_1 = dris; _a < dris_1.length; _a++) { + var dri = dris_1[_a]; + var geo = new three_1.CylinderGeometry(dri.r, dri.r, dri.h, 8); geo.rotateX(Math.PI * 0.5); if (dri.f === 0) //0正 geo.translate(dri.x, dri.y, -dri.h * 0.5); else //1反 geo.translate(dri.x, dri.y, dri.h * 0.5 - boardData["H"]); geo.applyMatrix(boardMat); - let mesh = new three_1.Mesh(geo, ColorPalette_1.ColorMaterial.GetLineMaterial(1)); - edges.push(mesh); - // let edge = createEdge(geo); - // edge.material = new LineBasicMaterial({ color: new Color(1, 0, 0) }); - // edges.push(edge); - // let subCsg = new ThreeBSP(geo); - // thisCsg = thisCsg.subtract(subCsg); + var mesh_1 = new three_1.Mesh(geo, ColorPalette_1.ColorMaterial.GetLineMaterial(1)); + edges.push(mesh_1); } } ext = thisCsg.toGeometry(); } if (boardData["BoardName"] === "地脚线") RotateUV_1.RotateUVs(ext); - let mesh = new THREE.Mesh(ext, Material_1.boardMaterial); - return { mesh, edges }; + var mesh = new THREE.Mesh(ext, Material_1.boardMaterial); + return { mesh: mesh, edges: edges }; } exports.createBoard = createBoard; function checkObjectArray(obj, key) { return obj[key] && obj[key].length > 0; } function createTemplateBoard(brDataList) { - let meshs = []; - let edgesa = []; - for (let d of brDataList) { - let { mesh, edges } = createBoard(d); + var meshs = []; + var edgesa = []; + for (var _i = 0, brDataList_1 = brDataList; _i < brDataList_1.length; _i++) { + var d = brDataList_1[_i]; + var _a = createBoard(d), mesh = _a.mesh, edges = _a.edges; meshs.push(mesh); - edgesa.push(...edges); + edgesa.push.apply(edgesa, edges); } - return { meshs, edgesa }; + return { meshs: meshs, edgesa: edgesa }; } exports.createTemplateBoard = createTemplateBoard; function createEdge(geo) { - let edge = new THREE.EdgesGeometry(geo, 1); + var edge = new THREE.EdgesGeometry(geo, 1); return new three_1.LineSegments(edge, Material_1.edgeMaterial); } exports.createEdge = createEdge; diff --git a/dist/createBoard.js.map b/dist/createBoard.js.map index d2689c1..03d1332 100644 --- a/dist/createBoard.js.map +++ b/dist/createBoard.js.map @@ -1 +1 @@ -{"version":3,"file":"createBoard.js","sourceRoot":"","sources":["../src/createBoard.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createBoard.js","sourceRoot":"","sources":["../src/createBoard.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 309f227..d008c5c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cadview", - "version": "1.1.5", + "version": "1.1.6", "description": "", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/tsconfig.json b/tsconfig.json index c0cd936..00447b8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "sourceMap": true, "declaration": true, "outDir": "./dist", - "target": "esnext", + "target": "es5", "lib": [ "es2017", "dom" diff --git a/umd/cad.js b/umd/cad.js index fbcd54b..8cb5450 100644 --- a/umd/cad.js +++ b/umd/cad.js @@ -1 +1 @@ -!function(l,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("three")):"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.cad=e(require("three")):l.cad=e(l.THREE)}("undefined"!=typeof self?self:this,function(l){return function(l){var e={};function t(q){if(e[q])return e[q].exports;var i=e[q]={i:q,l:!1,exports:{}};return l[q].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=l,t.c=e,t.d=function(l,e,q){t.o(l,e)||Object.defineProperty(l,e,{configurable:!1,enumerable:!0,get:q})},t.n=function(l){var e=l&&l.__esModule?function(){return l.default}:function(){return l};return t.d(e,"a",e),e},t.o=function(l,e){return Object.prototype.hasOwnProperty.call(l,e)},t.p="",t(t.s=2)}([function(e,t){e.exports=l},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(0),a=t(4);function o(l,e){return(new a.Matrix2).setRotate(e).applyVector(l),l}function n(l,e,t=.001){return Math.abs(l-e)0){return l.children.reduce((l,e)=>{let t=s(e);return t&&l.union(t),l},new q.Box3)}return null}{let e=l.geometry;if(e instanceof q.Geometry||e instanceof q.BufferGeometry)return e.boundingBox||e.computeBoundingBox(),e.boundingBox.clone().applyMatrix4(l.matrixWorld)}}e.cZeroVec=new q.Vector3,e.cXAxis=new q.Vector3(1,0,0),e.cYAxis=new q.Vector3(0,1,0),e.cZAxis=new q.Vector3(0,0,1),e.rotatePoint=o,e.equaln=n,e.equal=function(l,e){return l.distanceToSquared(e)<1e-8},e.fixAngle=function(l,e,t=.1){l<0&&(l+=2*Math.PI);let q=(l+=t)%e;return l-=q<2*t?q:t},e.polar=function(l,e,t){return l.x+=Math.cos(e)*t,l.y+=Math.sin(e)*t,l},e.angle=function(l){if(n(l.y,0)&&l.x>0)return 0;let e=Math.atan2(l.y,l.x);return e<0&&(e+=2*Math.PI),e},e.angleTo=m,e.getLoocAtUpVec=r,e.createLookAtMat4=function(l){let t=r(l),i=new q.Matrix4;return i.lookAt(e.cZeroVec,l,t),i},e.isParallelTo=function(l,e){return l.clone().cross(e).lengthSq()<1e-9},e.ptToString=function(l,e=3){return l.toArray().map(l=>l.toFixed(e)).join(",")},e.midPoint=function(l,e){return l.clone().add(e).multiplyScalar(.5)},e.midPoint2=function(l,e){return l.clone().add(e).multiplyScalar(.5)},e.midPtCir=function(l,e){let t=new i.Vector3(1,0,0),q=e.clone().sub(l),a=o(q,-m(t,q)/2);return l.clone().add(a)},e.GetBox=s,e.GetBoxArr=function(l){return 0==l.length?null:l.map(l=>s(l)).filter(l=>l).reduce((l,e)=>l.union(e),new q.Box3)},e.MoveMatrix=function(l){let e=new q.Matrix4;return e.makeTranslation(l.x,l.y,l.z),e},e.getProjectDist=function(l,e){let t=l.angleTo(e),q=l.length();return{h:q*Math.cos(t),v:q*Math.sin(t)}},e.getPtPostion=function(l,e,t,q){let i=l.clone().sub(t),a=e.clone().sub(t),o=i.clone().negate(),n=a.clone().negate(),r=q.clone().sub(t),s=m(i,a),h=Math.PI,x=h+Math.abs(s),c=m(i,r);return s*c<0&&(c=2*Math.PI-Math.abs(c)),s=Math.abs(s),(c=Math.abs(c))<=s?{sp:l,ep:e}:c>s&&c<=h?{sp:t.clone().add(o),ep:e}:c>h&&c<=x?{sp:t.clone().add(o),ep:t.clone().add(n)}:{sp:l,ep:t.clone().add(n)}},e.angleAndX=function(l){return l.x?Math.atan(l.y/l.x):Math.PI/2},e.angleTo2Pi=function(l){return(l%=2*Math.PI)<0&&(l+=2*Math.PI),l},e.updateGeometry=function(l,e){l.geometry.dispose(),l.geometry=e,e.verticesNeedUpdate=!0,e.computeBoundingSphere()}},function(l,e,t){"use strict";function q(l){for(var t in l)e.hasOwnProperty(t)||(e[t]=l[t])}Object.defineProperty(e,"__esModule",{value:!0}),q(t(6)),q(t(10)),q(t(1)),q(t(12)),q(t(15)),q(t(18)),q(t(5)),q(t(19)),q(t(20))},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=[[255,0,0,255],[255,0,0,255],[255,255,0,255],[0,255,0,255],[0,255,255,255],[0,0,255,255],[255,0,255,255]];class a{constructor(){}static GetLineMaterial(l){if(this.m_LineMaterialMap.has(l))return this.m_LineMaterialMap.get(l);let e=new q.LineBasicMaterial({color:this.GetColor(l)});return this.m_LineMaterialMap.set(l,e),e}static GetColor(l){let e=i[l];if(e)return new q.Color(e[0]/255,e[1]/255,e[2]/255)}}a.m_LineMaterialMap=new Map,e.ColorMaterial=a},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.Matrix2=class{constructor(){this.el=[1,0,0,1]}set(l,e,t,q){let i=this.el;return i[0]=l,i[1]=t,i[2]=e,i[3]=q,this}applyVector(l){let e=l.x,t=l.y,q=this.el;return l.x=q[0]*e+q[2]*t,l.y=q[1]*e+q[3]*t,this}setRotate(l){this.el;let e=Math.cos(l),t=Math.sin(l);return this.set(e,-t,t,e),this}}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0);e.boardMaterial=new q.MeshBasicMaterial({color:new q.Color(.8,.8,.8),polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),e.selectMaterial=new q.MeshBasicMaterial({color:new q.Color(.1,.5,.5),polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),e.edgeMaterial=new q.LineBasicMaterial({linewidth:2,color:new q.Color(0,0,0)})},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(2),a=t(7),o=t(3),n=t(1),m=t(9);e.Viewer=class{constructor(l){let e;this.m_Camera=new a.CameraUpdate,this.m_bNeedUpdate=!0,this.m_Scene=new q.Scene,this.OnSize=((l,e)=>{this._Width=l||this.m_DomEl.clientWidth,this._Height=e||this.m_DomEl.clientHeight,this._Width%2==1&&(this._Width-=1),this._Height%2==1&&(this._Height-=1),this.m_Render.setSize(this._Width,this._Height),this.m_Camera.SetSize(this._Width,this._Height)}),this.StartRender=(()=>{requestAnimationFrame(this.StartRender),null!=this.m_Scene&&this.m_bNeedUpdate&&(this.Render(),this.m_bNeedUpdate=!1)}),this.m_DomEl=l,this.initRender(l),this.OnSize(),this.StartRender(),new i.CameraControls(this),window.addEventListener("resize",()=>{this.OnSize()}),this.m_Render.domElement.addEventListener("mousemove",l=>{let t=i.PointPick(this,l.offsetX,l.offsetY);e&&(e.material=i.boardMaterial),t&&t.material!==o.ColorMaterial.GetLineMaterial(1)&&(e=t,t.material=i.selectMaterial),this.m_bNeedUpdate=!0})}initRender(l){this.m_Render=new q.WebGLRenderer({antialias:!0,precision:"highp",alpha:!0}),l.appendChild(this.m_Render.domElement),this.m_Render.autoClear=!0,this.m_Render.setPixelRatio(window.devicePixelRatio),this.m_Render.physicallyCorrectLights=!0,this.m_Render.setClearColor(16777215,1),this.OnSize()}Render(){this.m_Render.render(this.m_Scene,this.m_Camera.Camera)}ScreenToWorld(l,e){let t=new m.PlaneExt(e||new q.Vector3(0,0,1)),i=new q.Raycaster;i.setFromCamera({x:l.x/this._Width*2-1,y:-l.y/this._Height*2+1},this.m_Camera.Camera),t.intersectRay(i.ray,l,!0)}WorldToScreen(l){let e=.5*this._Width,t=.5*this._Height;l.project(this.m_Camera.Camera),l.x=l.x*e+e,l.y=-l.y*t+t}UpdateLockTarget(){let l=this.m_Render.renderLists.get(this.m_Scene,this.m_Camera.Camera),e=n.GetBoxArr(l.opaque.map(l=>l.object));this.m_LookTarget=e?e.getCenter(new q.Vector3):n.cZeroVec}Rotate(l){this.m_Camera.Rotate(l,this.m_LookTarget),this.m_bNeedUpdate=!0}Pan(l){this.m_Camera.Pan(l),this.m_bNeedUpdate=!0}Zoom(l,e){this.m_Camera.Zoom(l,e),this.m_bNeedUpdate=!0}ZoomAll(){this.m_Camera.ZoomExtensBox3(n.GetBox(this.m_Scene,!0)),this.m_bNeedUpdate=!0}ViewToTop(){this.m_Camera.LookAt(new q.Vector3(0,0,-1)),this.m_bNeedUpdate=!0}ViewToFront(){this.m_Camera.LookAt(new q.Vector3(0,1,0)),this.m_bNeedUpdate=!0}ViewToSwiso(){this.m_Camera.LookAt(new q.Vector3(1,1,-1)),this.m_bNeedUpdate=!0}}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(0),a=t(8);e.CameraUpdate=class{constructor(){this.m_CameraArray=new Map,this.m_ViewHeight=10,this.m_Target=new q.Vector3,this.m_Direction=new q.Vector3(0,0,-1),this.m_Orbit=new a.Orbit,this.m_MinViewHeight=10,this.m_MaxViewHeight=3e4,this.m_CameraArray.set(q.OrthographicCamera,new q.OrthographicCamera(-2,2,2,-2,-1e6,1e6)),this.m_CameraArray.set(q.PerspectiveCamera,new q.PerspectiveCamera(50,1,.01,1e4)),this.m_CurCamera=this.m_CameraArray.get(q.OrthographicCamera),this.m_Orbit.UpdateRoValue(this.m_Direction),this.UpdateUp(),this.Update()}get Aspect(){return this.m_Width/this.m_Height}get Camera(){return this.m_CurCamera}get ViewHeight(){return this.m_ViewHeight}set ViewHeight(l){this.m_ViewHeight=q.Math.clamp(l,this.m_MinViewHeight,this.m_MaxViewHeight)}SetSize(l,e){this.m_Width=l,this.m_Height=e}Pan(l){l.y*=-1,l.multiplyScalar(-this.m_ViewHeight/this.m_Height),l.applyQuaternion(this.Camera.quaternion),this.m_Target.add(l),this.Update()}Rotate(l,e){this.m_Orbit.RoX-=.003*l.y,this.m_Orbit.RoZ-=.003*l.x;let t=e.clone().applyMatrix4(this.Camera.matrixWorldInverse);this.m_Orbit.UpdateDirection(this.m_Direction),this.UpdateUp(),this.Update();let q=e.clone().applyMatrix4(this.Camera.matrixWorldInverse);q.sub(t),q.applyMatrix4(this.Camera.matrix),q.sub(this.Camera.position),this.m_Target.add(q),this.Update()}Zoom(l,e){if(this.Camera instanceof q.OrthographicCamera)this.ViewHeight*=l,e&&this.m_ViewHeight1?1:-1;e*=this.Camera.position.distanceTo(this.m_Target)/10,this.m_Target.add(this.m_Direction.clone().multiplyScalar(-e))}this.Update()}ZoomExtensBox3(l){if(!l)return;this.Camera.updateMatrixWorld(!1),l.applyMatrix4(this.Camera.matrixWorldInverse),l.getCenter(this.m_Target),this.m_Target.applyMatrix4(this.Camera.matrix);let e=l.getSize(new i.Vector3),t=e.x/e.y,q=this.Aspect;this.m_ViewHeight=t>q?e.x/q:e.y,this.Update()}LookAt(l){this.m_Orbit.UpdateRoValue(l),this.m_Direction.copy(l),this.UpdateUp(),this.Update()}UpdateUp(){a.Orbit.ComputUpDirection(this.m_Direction,this.Camera.up)}Update(){if(this.Camera.position.copy(this.m_Target),this.Camera instanceof q.OrthographicCamera)this.Camera.left=this.Aspect*this.m_ViewHeight/-2,this.Camera.right=this.Aspect*this.m_ViewHeight/2,this.Camera.bottom=this.m_ViewHeight/-2,this.Camera.top=this.m_ViewHeight/2,this.Camera.position.sub(this.m_Direction);else{if(!(this.Camera instanceof q.PerspectiveCamera))return;{this.Camera.aspect=this.Aspect;let l=this.m_ViewHeight/2/Math.tan(q.Math.degToRad(this.Camera.fov)/2);this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(l))}}this.Camera.lookAt(this.m_Target),this.Camera.updateProjectionMatrix(),this.Camera.updateMatrixWorld(!1)}SwitchCamera(){this.Camera instanceof q.OrthographicCamera?this.m_CurCamera=this.m_CameraArray.get(q.PerspectiveCamera):this.m_CurCamera=this.m_CameraArray.get(q.OrthographicCamera),this.UpdateUp(),this.Update()}}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0);e.Orbit=class{constructor(){this.m_RoX=0,this.RoZ=0}get RoX(){return this.m_RoX}set RoX(l){this.m_RoX=q.Math.clamp(l,-.5*Math.PI,.5*Math.PI)}UpdateDirection(l){let e=l||new q.Vector3;e.z=Math.sin(this.m_RoX);let t=Math.abs(Math.cos(this.m_RoX));return e.x=Math.cos(this.RoZ)*t,e.y=Math.sin(this.RoZ)*t,e}UpdateRoValue(l){l.normalize(),this.m_RoX=Math.asin(l.z),l.x<1e-4&&l.y<1e-4?this.RoZ=.5*Math.PI:this.RoZ=Math.atan2(l.y,l.x)}static ComputUpDirection(l,e){let t=e||new q.Vector3;if(l.equals(new q.Vector3(0,0,-1)))t.set(0,1,0);else if(l.equals(new q.Vector3(0,0,1)))t.set(0,-1,0);else{let e=new q.Vector3;e.crossVectors(new q.Vector3(0,0,1),l),t.crossVectors(l,e),t.normalize()}return t}}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(0);e.PlaneExt=class extends q.Plane{constructor(l,e){super(l,e)}intersectLine(l,e,t){let q=new i.Vector3,a=e||new i.Vector3,o=l.delta(q),n=this.normal.dot(o);if(0===n)return 0===this.distanceToPoint(l.start)?a.copy(l.start):void 0;let m=-(l.start.dot(this.normal)+this.constant)/n;return t||!(m<0||m>1)?a.copy(o).multiplyScalar(m).add(l.start):void 0}intersectRay(l,e,t){let i=new q.Line3(l.origin.clone(),l.origin.clone().add(l.direction));return this.intersectLine(i,e,t)}}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(11),a=t(0);var o,n;!function(l){l[l.Rotate=1]="Rotate",l[l.Zoom=2]="Zoom",l[l.Pan=4]="Pan"}(o||(o={})),function(l){l[l.Null=0]="Null",l[l.Pan=1]="Pan",l[l.Rotate=2]="Rotate",l[l.Scale=3]="Scale"}(n=e.CameraControlState||(e.CameraControlState={}));e.CameraControls=class{constructor(l){this.m_TouthTypeList=[n.Rotate,n.Scale,n.Pan],this.m_StartClickPoint=new q.Vector3,this.m_EndClickPoint=new q.Vector3,this.m_DollyStart=new q.Vector2,this.m_DollyEnd=new q.Vector2,this.m_KeyDown=new Map,this.m_MouseDown=new Map,this.m_State=n.Null,this.m_LeftUseRotate=!0,this.onBlur=(()=>{this.m_KeyDown.clear(),this.m_MouseDown.clear()}),this.onTouchStart=(l=>{if(this.m_Viewer.UpdateLockTarget(),this.m_StartClickPoint.set(l.touches[0].pageX,l.touches[0].pageY,0),l.touches.length<4){if(2==l.touches.length){var e=l.touches[0].pageX-l.touches[1].pageX,t=l.touches[0].pageY-l.touches[1].pageY,q=Math.sqrt(e*e+t*t);this.m_DollyStart.set(0,q)}this.m_State=this.m_TouthTypeList[l.touches.length-1]}}),this.onTouchEnd=(l=>{this.m_State=n.Null}),this.onTouchMove=(l=>{l.preventDefault(),l.stopPropagation(),this.m_EndClickPoint.set(l.touches[0].pageX,l.touches[0].pageY,0);let e=this.m_EndClickPoint.clone().sub(this.m_StartClickPoint);switch(this.m_State){case n.Pan:this.m_Viewer.Pan(e);break;case n.Scale:var t=l.touches[0].pageX-l.touches[1].pageX,q=l.touches[0].pageY-l.touches[1].pageY,i=Math.sqrt(t*t+q*q);this.m_DollyEnd.set(0,i),i>this.m_DollyStart.y?this.m_Viewer.Zoom(.95):this.m_Viewer.Zoom(1.05),this.m_DollyStart.copy(this.m_DollyEnd);break;case n.Rotate:this.m_Viewer.Rotate(e.multiplyScalar(2))}this.m_StartClickPoint.copy(this.m_EndClickPoint),this.m_Viewer.m_bNeedUpdate=!0}),this.lastMiddleClickTime=0,this.onMouseDown=(l=>{l.preventDefault();let e=l.button;switch(this.m_MouseDown.set(e,!0),this.m_StartClickPoint.set(l.offsetX,l.offsetY,0),e){case i.MouseKey.Left:this.m_LeftUseRotate&&this.beginRotate();break;case i.MouseKey.Middle:{let l=Date.now(),e=l-this.lastMiddleClickTime;if(this.lastMiddleClickTime=l,e<350)return void this.m_Viewer.ZoomAll();this.m_KeyDown.get(i.KeyBoard.Control)?this.beginRotate():this.m_State=n.Pan;break}case i.MouseKey.Right:}}),this.onMouseUp=(l=>{l.preventDefault(),this.m_State=n.Null,this.m_MouseDown.set(l.button,!1)}),this.onMouseMove=(l=>{l.preventDefault(),this.m_EndClickPoint.set(l.offsetX,l.offsetY,0);let e=this.m_EndClickPoint.clone().sub(this.m_StartClickPoint);switch(this.m_StartClickPoint.copy(this.m_EndClickPoint),(this.m_LeftUseRotate||this.m_KeyDown.get(i.KeyBoard.Control))&&this.m_State==n.Rotate&&this.m_Viewer.Rotate(e),this.m_State){case n.Pan:this.m_Viewer.Pan(e);break;case n.Rotate:case n.Scale:}}),this.onMouseWheel=(l=>{l.preventDefault(),l.stopPropagation();let e=new q.Vector3(l.offsetX,l.offsetY,0);this.m_Viewer.ScreenToWorld(e,(new a.Vector3).setFromMatrixColumn(this.m_Viewer.m_Camera.Camera.matrixWorld,2)),l.deltaY<0?this.m_Viewer.Zoom(.6,e):l.deltaY>0&&this.m_Viewer.Zoom(1.4,e)}),this.onKeyDown=(l=>{this.m_KeyDown.set(l.keyCode,!0)}),this.onKeyUp=(l=>{this.m_KeyDown.set(l.keyCode,!1)}),this.m_Viewer=l,this.m_domElement=l.m_Render.domElement.parentElement,this.RegisterEvent()}RegisterEvent(){this.m_domElement&&(this.m_domElement.addEventListener("mousedown",this.onMouseDown,!1),this.m_domElement.addEventListener("mousemove",this.onMouseMove,!1),this.m_domElement.addEventListener("mouseup",this.onMouseUp,!1),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keyup",this.onKeyUp,!1),this.m_domElement.addEventListener("wheel",this.onMouseWheel,!1),this.m_domElement.addEventListener("touchstart",this.onTouchStart,!1),this.m_domElement.addEventListener("touchend",this.onTouchEnd,!1),this.m_domElement.addEventListener("touchmove",this.onTouchMove,!1),window.addEventListener("blur",this.onBlur,!1))}beginRotate(){this.m_State=n.Rotate,this.m_Viewer.UpdateLockTarget()}}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(l){l[l.Left=0]="Left",l[l.Middle=1]="Middle",l[l.Right=2]="Right"}(e.MouseKey||(e.MouseKey={})),function(l){l[l.Digit1=49]="Digit1",l[l.Digit2=50]="Digit2",l[l.Digit3=51]="Digit3",l[l.Digit4=52]="Digit4",l[l.Digit5=53]="Digit5",l[l.Digit6=54]="Digit6",l[l.Digit7=55]="Digit7",l[l.Digit8=56]="Digit8",l[l.Digit9=57]="Digit9",l[l.Digit0=58]="Digit0",l[l.KeyA=65]="KeyA",l[l.KeyB=66]="KeyB",l[l.KeyC=67]="KeyC",l[l.KeyD=68]="KeyD",l[l.KeyE=69]="KeyE",l[l.KeyF=70]="KeyF",l[l.KeyG=71]="KeyG",l[l.KeyH=72]="KeyH",l[l.KeyI=73]="KeyI",l[l.KeyJ=74]="KeyJ",l[l.KeyK=75]="KeyK",l[l.KeyL=76]="KeyL",l[l.KeyM=77]="KeyM",l[l.KeyN=78]="KeyN",l[l.KeyO=79]="KeyO",l[l.KeyP=80]="KeyP",l[l.KeyQ=81]="KeyQ",l[l.KeyR=82]="KeyR",l[l.KeyS=83]="KeyS",l[l.KeyT=84]="KeyT",l[l.KeyU=85]="KeyU",l[l.KeyV=86]="KeyV",l[l.KeyW=87]="KeyW",l[l.KeyX=88]="KeyX",l[l.KeyY=89]="KeyY",l[l.KeyZ=90]="KeyZ",l[l.Comma=188]="Comma",l[l.CommaChrome=229]="CommaChrome",l[l.Period=190]="Period",l[l.Semicolon=186]="Semicolon",l[l.Quote=222]="Quote",l[l.BracketLeft=219]="BracketLeft",l[l.BracketRight=220]="BracketRight",l[l.Backquote=192]="Backquote",l[l.Backslash=220]="Backslash",l[l.Minus=189]="Minus",l[l.Equal=187]="Equal",l[l.IntlRo=193]="IntlRo",l[l.IntlYen=255]="IntlYen",l[l.Alt=18]="Alt",l[l.CapsLock=20]="CapsLock",l[l.Control=17]="Control",l[l.OSLeft=91]="OSLeft",l[l.OSRight=92]="OSRight",l[l.Shift=16]="Shift",l[l.ContextMenu=93]="ContextMenu",l[l.Enter=13]="Enter",l[l.Space=32]="Space",l[l.Backspace=8]="Backspace",l[l.Tab=9]="Tab",l[l.Delete=46]="Delete",l[l.End=35]="End",l[l.Home=36]="Home",l[l.Insert=45]="Insert",l[l.PageDown=34]="PageDown",l[l.PageUp=33]="PageUp",l[l.ArrowDown=40]="ArrowDown",l[l.ArrowLeft=37]="ArrowLeft",l[l.ArrowRight=39]="ArrowRight",l[l.ArrowUp=38]="ArrowUp",l[l.Escape=27]="Escape",l[l.PrintScreen=44]="PrintScreen",l[l.ScrollLock=145]="ScrollLock",l[l.Pause=19]="Pause",l[l.F1=112]="F1",l[l.F2=113]="F2",l[l.F3=114]="F3",l[l.F5=116]="F5",l[l.F6=117]="F6",l[l.F7=118]="F7",l[l.F8=119]="F8",l[l.F9=120]="F9",l[l.F10=121]="F10",l[l.F11=122]="F11",l[l.F12=123]="F12",l[l.NumLock=114]="NumLock",l[l.Numpad0=96]="Numpad0",l[l.Numpad1=97]="Numpad1",l[l.Numpad2=98]="Numpad2",l[l.Numpad3=99]="Numpad3",l[l.Numpad4=100]="Numpad4",l[l.Numpad5=101]="Numpad5",l[l.Numpad6=102]="Numpad6",l[l.Numpad7=103]="Numpad7",l[l.Numpad8=104]="Numpad8",l[l.Numpad9=105]="Numpad9",l[l.NumpadAdd=107]="NumpadAdd",l[l.NumpadDivide=111]="NumpadDivide",l[l.NumpadEqual=12]="NumpadEqual",l[l.NumpadMultiply=106]="NumpadMultiply",l[l.NumpadSubtract=109]="NumpadSubtract",l[l.NumpadDot=110]="NumpadDot",l[l.NumpadDot1=190]="NumpadDot1"}(e.KeyBoard||(e.KeyBoard={}))},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(0),a=t(3),o=t(1),n=t(5),m=t(13),r=t(14);class s{constructor(l,e,t){this.m_StartPoint=l.clone(),this.m_EndPoint=e.clone();let q=e.clone().sub(l),i=q.length(),a=q.angle();this.m_Radius=i/Math.sin(2*Math.atan(t))/2;Math.atan(t);let n=t*i/2,m=this.m_Radius-n;a+=.5*Math.PI,this.m_Center=l.clone().add(e),this.m_Center.multiplyScalar(.5),o.polar(this.m_Center,a,m),this.m_StartAn=l.clone().sub(this.m_Center).angle(),this.m_EndAn=e.clone().sub(this.m_Center).angle(),t<0&&(this.m_StartAn-=Math.PI,this.m_EndAn-=Math.PI)}}function h(l,e,t){let q=t||new i.Shape;if(0===l.length)return q;let a=l[0];q.moveTo(a.x,a.y);for(let t=0;tc(l));for(let l of t){M.push(...l.edges);let t=new r.ThreeBSP(l.mesh);e=e.subtract(t)}}if(l.Drillings){let e=l.Drillings;for(let t of e){let e=new i.CylinderGeometry(t.r,t.r,t.h,8);e.rotateX(.5*Math.PI),0===t.f?e.translate(t.x,t.y,.5*-t.h):e.translate(t.x,t.y,.5*t.h-l.H),e.applyMatrix(p);let q=new i.Mesh(e,a.ColorMaterial.GetLineMaterial(1));M.push(q)}}w=e.toGeometry()}return"地脚线"===l.BoardName&&m.RotateUVs(w),{mesh:new q.Mesh(w,n.boardMaterial),edges:M}}function _(l,e){return l[e]&&l[e].length>0}function u(l){let e=new q.EdgesGeometry(l,1);return new i.LineSegments(e,n.edgeMaterial)}e.Arc2d=s,e.createPath=h,e.getVec=x,e.createBoard=c,e.createTemplateBoard=function(l){let e=[],t=[];for(let q of l){let{mesh:l,edges:i}=c(q);e.push(l),t.push(...i)}return{meshs:e,edgesa:t}},e.createEdge=u},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(4),i=t(0);e.RotateUVs=function(l){let e=new q.Matrix2;e.set(0,-1,1,0);let t=new i.Vector2(1,0);for(let q of l.faceVertexUvs)for(let l of q)for(let q of l)e.applyVector(q),q.add(t);l.uvsNeedUpdate=!0}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=1e-5,a=0,o=1,n=2,m=3;class r{constructor(l){let e,t,i,a,o,n,m,r=[];if(this.Polygon=s,this.Vertex=h,this.Node=x,l instanceof q.Geometry)this.matrix=new q.Matrix4;else{if(!(l instanceof q.Mesh)){if(l instanceof x)return this.tree=l,this.matrix=new q.Matrix4,this;throw"ThreeBSP: Given geometry is unsupported"}l.updateMatrix(),this.matrix=l.matrix.clone(),l=l.geometry}for(e=0,t=l.faces.length;e0?this.calculateProperties():this.normal=this.w=void 0}calculateProperties(){let l=this.vertices[0],e=this.vertices[1],t=this.vertices[2];return this.normal=e.clone().subtract(l).cross(t.clone().subtract(l)).normalize(),this.w=this.normal.clone().dot(l),this}clone(){let l,e,t=new s;for(l=0,e=this.vertices.length;l=0;l--)e.push(this.vertices[l]);return this.vertices=e,this}classifyVertex(l){let e=this.normal.dot(l)-this.w;return e<-i?n:e>i?o:a}classifySide(l){let e,t,q,i=0,r=0,s=l.vertices.length;for(e=0;e0&&0===r?o:0===i&&r>0?n:0===i&&0===r?a:m}splitPolygon(l,e,t,q,i){let r=this.classifySide(l);if(r===a)(this.normal.dot(l.normal)>0?e:t).push(l);else if(r===o)q.push(l);else if(r===n)i.push(l);else{let e,t,a,r,h,x,c,_,u,d=[],p=[];for(t=0,e=l.vertices.length;t=3&&q.push(new s(d).calculateProperties()),p.length>=3&&i.push(new s(p).calculateProperties())}}}e.Polygon=s;class h{constructor(l,e,t,i,a){this.x=l,this.y=e,this.z=t,this.normal=i||new q.Vector3,this.uv=a||new q.Vector2}clone(){return new h(this.x,this.y,this.z,this.normal.clone(),this.uv.clone())}add(l){return this.x+=l.x,this.y+=l.y,this.z+=l.z,this}subtract(l){return this.x-=l.x,this.y-=l.y,this.z-=l.z,this}multiplyScalar(l){return this.x*=l,this.y*=l,this.z*=l,this}cross(l){let e=this.x,t=this.y,q=this.z;return this.x=t*l.z-q*l.y,this.y=q*l.x-e*l.z,this.z=e*l.y-t*l.x,this}normalize(){let l=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);return this.x/=l,this.y/=l,this.z/=l,this}dot(l){return this.x*l.x+this.y*l.y+this.z*l.z}lerp(l,e){return this.add(l.clone().subtract(this).multiplyScalar(e)),this.normal.add(l.normal.clone().sub(this.normal).multiplyScalar(e)),this.uv.add(l.uv.clone().sub(this.uv).multiplyScalar(e)),this}interpolate(l,e){return this.clone().lerp(l,e)}applyMatrix4(l){let e=this.x,t=this.y,q=this.z,i=l.elements;return this.x=i[0]*e+i[4]*t+i[8]*q+i[12],this.y=i[1]*e+i[5]*t+i[9]*q+i[13],this.z=i[2]*e+i[6]*t+i[10]*q+i[14],this}}e.Vertex=h;class x{constructor(l){let e,t,q=[],i=[];if(this.polygons=[],this.front=this.back=void 0,l instanceof Array&&0!==l.length){for(this.divider=l[0].clone(),e=0,t=l.length;e0&&(this.front=new x(q)),i.length>0&&(this.back=new x(i))}}isConvex(l){let e,t;for(e=0;e0&&(this.front||(this.front=new x),this.front.build(q)),i.length>0&&(this.back||(this.back=new x),this.back.build(i))}allPolygons(){let l=this.polygons.slice();return this.front&&(l=l.concat(this.front.allPolygons())),this.back&&(l=l.concat(this.back.allPolygons())),l}clone(){let l=new x;return l.divider=this.divider.clone(),l.polygons=this.polygons.map(function(l){return l.clone()}),l.front=this.front&&this.front.clone(),l.back=this.back&&this.back.clone(),l}invert(){let l,e,t;for(l=0,e=this.polygons.length;l":{x_min:18.0625,x_max:774,ha:792,o:"m 774 376 l 18 40 l 18 149 l 631 421 l 18 692 l 18 799 l 774 465 l 774 376 "},v:{x_min:0,x_max:675.15625,ha:761,o:"m 675 738 l 404 0 l 272 0 l 0 738 l 133 737 l 340 147 l 541 737 l 675 738 "},"τ":{x_min:.28125,x_max:644.5,ha:703,o:"m 644 628 l 382 628 l 382 179 q 388 120 382 137 q 436 91 401 91 q 474 94 447 91 q 504 97 501 97 l 504 0 q 454 -9 482 -5 q 401 -14 426 -14 q 278 67 308 -14 q 260 233 260 118 l 260 628 l 0 628 l 0 739 l 644 739 l 644 628 "},"ξ":{x_min:0,x_max:624.9375,ha:699,o:"m 624 -37 q 608 -153 624 -96 q 563 -278 593 -211 l 454 -278 q 491 -183 486 -200 q 511 -83 511 -126 q 484 -23 511 -44 q 370 1 452 1 q 323 0 354 1 q 283 -1 293 -1 q 84 76 169 -1 q 0 266 0 154 q 56 431 0 358 q 197 538 108 498 q 94 613 134 562 q 54 730 54 665 q 77 823 54 780 q 143 901 101 867 l 27 901 l 27 1012 l 576 1012 l 576 901 l 380 901 q 244 863 303 901 q 178 745 178 820 q 312 600 178 636 q 532 582 380 582 l 532 479 q 276 455 361 479 q 118 281 118 410 q 165 173 118 217 q 274 120 208 133 q 494 101 384 110 q 624 -37 624 76 "},"&":{x_min:-3,x_max:894.25,ha:992,o:"m 894 0 l 725 0 l 624 123 q 471 0 553 40 q 306 -41 390 -41 q 168 -7 231 -41 q 62 92 105 26 q 14 187 31 139 q -3 276 -3 235 q 55 433 -3 358 q 248 581 114 508 q 170 689 196 640 q 137 817 137 751 q 214 985 137 922 q 384 1041 284 1041 q 548 988 483 1041 q 622 824 622 928 q 563 666 622 739 q 431 556 516 608 l 621 326 q 649 407 639 361 q 663 493 653 426 l 781 493 q 703 229 781 352 l 894 0 m 504 818 q 468 908 504 877 q 384 940 433 940 q 293 907 331 940 q 255 818 255 875 q 289 714 255 767 q 363 628 313 678 q 477 729 446 682 q 504 818 504 771 m 556 209 l 314 499 q 179 395 223 449 q 135 283 135 341 q 146 222 135 253 q 183 158 158 192 q 333 80 241 80 q 556 209 448 80 "},"Λ":{x_min:0,x_max:862.5,ha:942,o:"m 862 0 l 719 0 l 426 847 l 143 0 l 0 0 l 356 1013 l 501 1013 l 862 0 "},I:{x_min:41,x_max:180,ha:293,o:"m 180 0 l 41 0 l 41 1013 l 180 1013 l 180 0 "},G:{x_min:0,x_max:921,ha:1011,o:"m 921 0 l 832 0 l 801 136 q 655 15 741 58 q 470 -28 568 -28 q 126 133 259 -28 q 0 499 0 284 q 125 881 0 731 q 486 1043 259 1043 q 763 957 647 1043 q 905 709 890 864 l 772 709 q 668 866 747 807 q 486 926 589 926 q 228 795 322 926 q 142 507 142 677 q 228 224 142 342 q 483 94 323 94 q 712 195 625 94 q 796 435 796 291 l 477 435 l 477 549 l 921 549 l 921 0 "},"ΰ":{x_min:0,x_max:617,ha:725,o:"m 524 800 l 414 800 l 414 925 l 524 925 l 524 800 m 183 800 l 73 800 l 73 925 l 183 925 l 183 800 m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 m 489 1040 l 300 819 l 216 819 l 351 1040 l 489 1040 "},"`":{x_min:0,x_max:138.890625,ha:236,o:"m 138 699 l 0 699 l 0 861 q 36 974 0 929 q 138 1041 72 1020 l 138 977 q 82 931 95 969 q 69 839 69 893 l 138 839 l 138 699 "},"·":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 "},"Υ":{x_min:.328125,x_max:819.515625,ha:889,o:"m 819 1013 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1013 l 140 1013 l 411 533 l 679 1013 l 819 1013 "},r:{x_min:0,x_max:355.5625,ha:432,o:"m 355 621 l 343 621 q 179 569 236 621 q 122 411 122 518 l 122 0 l 0 0 l 0 737 l 117 737 l 117 604 q 204 719 146 686 q 355 753 262 753 l 355 621 "},x:{x_min:0,x_max:675,ha:764,o:"m 675 0 l 525 0 l 331 286 l 144 0 l 0 0 l 256 379 l 12 738 l 157 737 l 336 473 l 516 738 l 661 738 l 412 380 l 675 0 "},"μ":{x_min:0,x_max:696.609375,ha:747,o:"m 696 -4 q 628 -14 657 -14 q 498 97 513 -14 q 422 8 470 41 q 313 -24 374 -24 q 207 3 258 -24 q 120 80 157 31 l 120 -278 l 0 -278 l 0 738 l 124 738 l 124 343 q 165 172 124 246 q 308 82 216 82 q 451 177 402 82 q 492 358 492 254 l 492 738 l 616 738 l 616 214 q 623 136 616 160 q 673 92 636 92 q 696 95 684 92 l 696 -4 "},h:{x_min:0,x_max:615,ha:724,o:"m 615 472 l 615 0 l 490 0 l 490 454 q 456 590 490 535 q 338 654 416 654 q 186 588 251 654 q 122 436 122 522 l 122 0 l 0 0 l 0 1013 l 122 1013 l 122 633 q 218 727 149 694 q 362 760 287 760 q 552 676 484 760 q 615 472 615 600 "},".":{x_min:0,x_max:142,ha:239,o:"m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 "},"φ":{x_min:-2,x_max:878,ha:974,o:"m 496 -279 l 378 -279 l 378 -17 q 101 88 204 -17 q -2 367 -2 194 q 68 626 -2 510 q 283 758 151 758 l 283 646 q 167 537 209 626 q 133 373 133 462 q 192 177 133 254 q 378 93 259 93 l 378 758 q 445 764 426 763 q 476 765 464 765 q 765 659 653 765 q 878 377 878 553 q 771 96 878 209 q 496 -17 665 -17 l 496 -279 m 496 93 l 514 93 q 687 183 623 93 q 746 380 746 265 q 691 569 746 491 q 522 658 629 658 l 496 656 l 496 93 "},";":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 m 142 -12 q 105 -132 142 -82 q 0 -206 68 -182 l 0 -138 q 58 -82 43 -123 q 68 0 68 -56 l 0 0 l 0 151 l 142 151 l 142 -12 "},f:{x_min:0,x_max:378,ha:472,o:"m 378 638 l 246 638 l 246 0 l 121 0 l 121 638 l 0 638 l 0 738 l 121 738 q 137 935 121 887 q 290 1028 171 1028 q 320 1027 305 1028 q 378 1021 334 1026 l 378 908 q 323 918 346 918 q 257 870 273 918 q 246 780 246 840 l 246 738 l 378 738 l 378 638 "},"“":{x_min:1,x_max:348.21875,ha:454,o:"m 140 670 l 1 670 l 1 830 q 37 943 1 897 q 140 1011 74 990 l 140 947 q 82 900 97 940 q 68 810 68 861 l 140 810 l 140 670 m 348 670 l 209 670 l 209 830 q 245 943 209 897 q 348 1011 282 990 l 348 947 q 290 900 305 940 q 276 810 276 861 l 348 810 l 348 670 "},A:{x_min:.03125,x_max:906.953125,ha:1008,o:"m 906 0 l 756 0 l 648 303 l 251 303 l 142 0 l 0 0 l 376 1013 l 529 1013 l 906 0 m 610 421 l 452 867 l 293 421 l 610 421 "},"‘":{x_min:1,x_max:139.890625,ha:236,o:"m 139 670 l 1 670 l 1 830 q 37 943 1 897 q 139 1011 74 990 l 139 947 q 82 900 97 940 q 68 810 68 861 l 139 810 l 139 670 "},"ϊ":{x_min:-70,x_max:283,ha:361,o:"m 283 800 l 173 800 l 173 925 l 283 925 l 283 800 m 40 800 l -70 800 l -70 925 l 40 925 l 40 800 m 283 3 q 232 -10 257 -5 q 181 -15 206 -15 q 84 26 118 -15 q 41 200 41 79 l 41 737 l 166 737 l 167 215 q 171 141 167 157 q 225 101 182 101 q 247 103 238 101 q 283 112 256 104 l 283 3 "},"π":{x_min:-.21875,x_max:773.21875,ha:857,o:"m 773 -7 l 707 -11 q 575 40 607 -11 q 552 174 552 77 l 552 226 l 552 626 l 222 626 l 222 0 l 97 0 l 97 626 l 0 626 l 0 737 l 773 737 l 773 626 l 676 626 l 676 171 q 695 103 676 117 q 773 90 714 90 l 773 -7 "},"ά":{x_min:0,x_max:765.5625,ha:809,o:"m 765 -4 q 698 -14 726 -14 q 564 97 586 -14 q 466 7 525 40 q 337 -26 407 -26 q 88 98 186 -26 q 0 369 0 212 q 88 637 0 525 q 337 760 184 760 q 465 727 407 760 q 563 637 524 695 l 563 738 l 685 738 l 685 222 q 693 141 685 168 q 748 94 708 94 q 765 95 760 94 l 765 -4 m 584 371 q 531 562 584 485 q 360 653 470 653 q 192 566 254 653 q 135 379 135 489 q 186 181 135 261 q 358 84 247 84 q 528 176 465 84 q 584 371 584 260 m 604 1040 l 415 819 l 332 819 l 466 1040 l 604 1040 "},O:{x_min:0,x_max:958,ha:1057,o:"m 485 1041 q 834 882 702 1041 q 958 512 958 734 q 834 136 958 287 q 481 -26 702 -26 q 126 130 261 -26 q 0 504 0 279 q 127 880 0 728 q 485 1041 263 1041 m 480 98 q 731 225 638 98 q 815 504 815 340 q 733 783 815 669 q 480 912 640 912 q 226 784 321 912 q 142 504 142 670 q 226 224 142 339 q 480 98 319 98 "},n:{x_min:0,x_max:615,ha:724,o:"m 615 463 l 615 0 l 490 0 l 490 454 q 453 592 490 537 q 331 656 410 656 q 178 585 240 656 q 117 421 117 514 l 117 0 l 0 0 l 0 738 l 117 738 l 117 630 q 218 728 150 693 q 359 764 286 764 q 552 675 484 764 q 615 463 615 593 "},l:{x_min:41,x_max:166,ha:279,o:"m 166 0 l 41 0 l 41 1013 l 166 1013 l 166 0 "},"¤":{x_min:40.09375,x_max:728.796875,ha:825,o:"m 728 304 l 649 224 l 512 363 q 383 331 458 331 q 256 363 310 331 l 119 224 l 40 304 l 177 441 q 150 553 150 493 q 184 673 150 621 l 40 818 l 119 898 l 267 749 q 321 766 291 759 q 384 773 351 773 q 447 766 417 773 q 501 749 477 759 l 649 898 l 728 818 l 585 675 q 612 618 604 648 q 621 553 621 587 q 591 441 621 491 l 728 304 m 384 682 q 280 643 318 682 q 243 551 243 604 q 279 461 243 499 q 383 423 316 423 q 487 461 449 423 q 525 553 525 500 q 490 641 525 605 q 384 682 451 682 "},"κ":{x_min:0,x_max:632.328125,ha:679,o:"m 632 0 l 482 0 l 225 384 l 124 288 l 124 0 l 0 0 l 0 738 l 124 738 l 124 446 l 433 738 l 596 738 l 312 466 l 632 0 "},p:{x_min:0,x_max:685,ha:786,o:"m 685 364 q 598 96 685 205 q 350 -23 504 -23 q 121 89 205 -23 l 121 -278 l 0 -278 l 0 738 l 121 738 l 121 633 q 220 726 159 691 q 351 761 280 761 q 598 636 504 761 q 685 364 685 522 m 557 371 q 501 560 557 481 q 330 651 437 651 q 162 559 223 651 q 108 366 108 479 q 162 177 108 254 q 333 87 224 87 q 502 178 441 87 q 557 371 557 258 "},"‡":{x_min:0,x_max:777,ha:835,o:"m 458 238 l 458 0 l 319 0 l 319 238 l 0 238 l 0 360 l 319 360 l 319 681 l 0 683 l 0 804 l 319 804 l 319 1015 l 458 1013 l 458 804 l 777 804 l 777 683 l 458 683 l 458 360 l 777 360 l 777 238 l 458 238 "},"ψ":{x_min:0,x_max:808,ha:907,o:"m 465 -278 l 341 -278 l 341 -15 q 87 102 180 -15 q 0 378 0 210 l 0 739 l 133 739 l 133 379 q 182 195 133 275 q 341 98 242 98 l 341 922 l 465 922 l 465 98 q 623 195 563 98 q 675 382 675 278 l 675 742 l 808 742 l 808 381 q 720 104 808 213 q 466 -13 627 -13 l 465 -278 "},"η":{x_min:.78125,x_max:697,ha:810,o:"m 697 -278 l 572 -278 l 572 454 q 540 587 572 536 q 425 650 501 650 q 271 579 337 650 q 206 420 206 509 l 206 0 l 81 0 l 81 489 q 73 588 81 562 q 0 644 56 644 l 0 741 q 68 755 38 755 q 158 720 124 755 q 200 630 193 686 q 297 726 234 692 q 434 761 359 761 q 620 692 544 761 q 697 516 697 624 l 697 -278 "}},cssFontWeight:"normal",ascender:1189,underlinePosition:-100,cssFontStyle:"normal",boundingBox:{yMin:-334,xMin:-111,yMax:1189,xMax:1672},resolution:1e3,original_font_information:{postscript_name:"Helvetiker-Regular",version_string:"Version 1.00 2004 initial release",vendor_url:"http://www.magenta.gr/",full_font_name:"Helvetiker",font_family_name:"Helvetiker",copyright:"Copyright (c) Μagenta ltd, 2004",description:"",trademark:"",designer:"",designer_url:"",unique_font_identifier:"Μagenta ltd:Helvetiker:22-10-104",license_url:"http://www.ellak.gr/fonts/MgOpen/license.html",license_description:'Copyright (c) 2004 by MAGENTA Ltd. All Rights Reserved.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: \r\n\r\nThe above copyright and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r\n\r\nThe Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing the word "MgOpen", or if the modifications are accepted for inclusion in the Font Software itself by the each appointed Administrator.\r\n\r\nThis License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "MgOpen" name.\r\n\r\nThe Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. \r\n\r\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL MAGENTA OR PERSONS OR BODIES IN CHARGE OF ADMINISTRATION AND MAINTENANCE OF THE FONT SOFTWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.',manufacturer_name:"Μagenta ltd",font_sub_family_name:"Regular"},descender:-334,familyName:"Helvetiker",lineHeight:1522,underlineThickness:50}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0),i=t(2);e.DrawDimension=function(l){let e=i.GetBoxArr(l),t=e.getSize(new q.Vector3),a=new q.Matrix4;a.makeBasis(new q.Vector3(-1,0,0),new q.Vector3(0,-1,0),new q.Vector3(0,0,1)),a.setPosition(e.min.clone().add(new q.Vector3(t.x,-30)));let o=new i.Dimension(t.x,45,!0);o.applyMatrix(a);let n=new i.Dimension(t.z,45);a.makeBasis(new q.Vector3(0,0,-1),new q.Vector3(1,0,0),new q.Vector3(0,-1,0)),a.setPosition(e.max.clone().add(new q.Vector3(30,-t.y))),n.applyMatrix(a);let m=new i.Dimension(t.y,45,!0,!0);return a.makeBasis(new q.Vector3(0,1,0),new q.Vector3(-1,0,0),new q.Vector3(0,0,1)),a.setPosition(e.max.clone().add(new q.Vector3(30,-t.y))),m.applyMatrix(a),[o,m,n]}},function(l,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const q=t(0);e.PointPick=function(l,e,t){let i=new q.Raycaster;i.setFromCamera({x:e/l._Width*2-1,y:-t/l._Height*2+1},l.m_Camera.Camera),i.ray.origin.set(e/l._Width*2-1,-t/l._Height*2+1,-1).unproject(l.m_Camera.Camera);let a=1/0,o=void 0;return l.m_Scene.children.forEach(l=>{if(l instanceof q.Mesh){let e=[];l.raycast(i,e);for(let t of e)t.distance{let e=l.geometry;e&&e.dispose()}),l.m_Scene.children.length=0;let{meshs:t,edgesa:i}=q.createTemplateBoard(e),a=q.DrawDimension(t);l.m_Scene.add(...t),l.m_Scene.add(...i),l.m_Scene.add(...a),l.ViewToSwiso(),l.ZoomAll(),l.Zoom(1.1)}}])}); \ No newline at end of file +!function(e,l){"object"==typeof exports&&"object"==typeof module?module.exports=l(require("three")):"function"==typeof define&&define.amd?define([],l):"object"==typeof exports?exports.cad=l(require("three")):e.cad=l(e.THREE)}("undefined"!=typeof self?self:this,function(e){return function(e){var l={};function t(q){if(l[q])return l[q].exports;var i=l[q]={i:q,l:!1,exports:{}};return e[q].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=l,t.d=function(e,l,q){t.o(e,l)||Object.defineProperty(e,l,{configurable:!1,enumerable:!0,get:q})},t.n=function(e){var l=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(l,"a",l),l},t.o=function(e,l){return Object.prototype.hasOwnProperty.call(e,l)},t.p="",t(t.s=2)}([function(l,t){l.exports=e},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=t(0),o=t(4);function n(e,l){return(new o.Matrix2).setRotate(l).applyVector(e),e}function a(e,l,t){return void 0===t&&(t=.001),Math.abs(e-l)0?e.children.reduce(function(e,l){var t=s(l);return t&&e.union(t),e},new q.Box3):null;var t=e.geometry;return t instanceof q.Geometry||t instanceof q.BufferGeometry?(t.boundingBox||t.computeBoundingBox(),t.boundingBox.clone().applyMatrix4(e.matrixWorld)):void 0}l.cZeroVec=new q.Vector3,l.cXAxis=new q.Vector3(1,0,0),l.cYAxis=new q.Vector3(0,1,0),l.cZAxis=new q.Vector3(0,0,1),l.rotatePoint=n,l.equaln=a,l.equal=function(e,l){return e.distanceToSquared(l)<1e-8},l.fixAngle=function(e,l,t){void 0===t&&(t=.1),e<0&&(e+=2*Math.PI);var q=(e+=t)%l;return e-=q<2*t?q:t},l.polar=function(e,l,t){return e.x+=Math.cos(l)*t,e.y+=Math.sin(l)*t,e},l.angle=function(e){if(a(e.y,0)&&e.x>0)return 0;var l=Math.atan2(e.y,e.x);return l<0&&(l+=2*Math.PI),l},l.angleTo=r,l.getLoocAtUpVec=m,l.createLookAtMat4=function(e){var t=m(e),i=new q.Matrix4;return i.lookAt(l.cZeroVec,e,t),i},l.isParallelTo=function(e,l){return e.clone().cross(l).lengthSq()<1e-9},l.ptToString=function(e,l){return void 0===l&&(l=3),e.toArray().map(function(e){return e.toFixed(l)}).join(",")},l.midPoint=function(e,l){return e.clone().add(l).multiplyScalar(.5)},l.midPoint2=function(e,l){return e.clone().add(l).multiplyScalar(.5)},l.midPtCir=function(e,l){var t=new i.Vector3(1,0,0),q=l.clone().sub(e),o=n(q,-r(t,q)/2);return e.clone().add(o)},l.GetBox=s,l.GetBoxArr=function(e){return 0==e.length?null:e.map(function(e){return s(e)}).filter(function(e){return e}).reduce(function(e,l){return e.union(l)},new q.Box3)},l.MoveMatrix=function(e){var l=new q.Matrix4;return l.makeTranslation(e.x,e.y,e.z),l},l.getProjectDist=function(e,l){var t=e.angleTo(l),q=e.length();return{h:q*Math.cos(t),v:q*Math.sin(t)}},l.getPtPostion=function(e,l,t,q){var i=e.clone().sub(t),o=l.clone().sub(t),n=i.clone().negate(),a=o.clone().negate(),m=q.clone().sub(t),s=r(i,o),h=Math.PI,c=h+Math.abs(s),x=r(i,m);return s*x<0&&(x=2*Math.PI-Math.abs(x)),s=Math.abs(s),(x=Math.abs(x))<=s?{sp:e,ep:l}:x>s&&x<=h?{sp:t.clone().add(n),ep:l}:x>h&&x<=c?{sp:t.clone().add(n),ep:t.clone().add(a)}:{sp:e,ep:t.clone().add(a)}},l.angleAndX=function(e){return e.x?Math.atan(e.y/e.x):Math.PI/2},l.angleTo2Pi=function(e){return(e%=2*Math.PI)<0&&(e+=2*Math.PI),e},l.updateGeometry=function(e,l){e.geometry.dispose(),e.geometry=l,l.verticesNeedUpdate=!0,l.computeBoundingSphere()}},function(e,l,t){"use strict";function q(e){for(var t in e)l.hasOwnProperty(t)||(l[t]=e[t])}Object.defineProperty(l,"__esModule",{value:!0}),q(t(6)),q(t(10)),q(t(1)),q(t(12)),q(t(15)),q(t(18)),q(t(5)),q(t(19)),q(t(20))},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=[[255,0,0,255],[255,0,0,255],[255,255,0,255],[0,255,0,255],[0,255,255,255],[0,0,255,255],[255,0,255,255]],o=function(){function e(){}return e.GetLineMaterial=function(e){if(this.m_LineMaterialMap.has(e))return this.m_LineMaterialMap.get(e);var l=new q.LineBasicMaterial({color:this.GetColor(e)});return this.m_LineMaterialMap.set(e,l),l},e.GetColor=function(e){var l=i[e];if(l)return new q.Color(l[0]/255,l[1]/255,l[2]/255)},e.m_LineMaterialMap=new Map,e}();l.ColorMaterial=o},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=function(){function e(){this.el=[1,0,0,1]}return e.prototype.set=function(e,l,t,q){var i=this.el;return i[0]=e,i[1]=t,i[2]=l,i[3]=q,this},e.prototype.applyVector=function(e){var l=e.x,t=e.y,q=this.el;return e.x=q[0]*l+q[2]*t,e.y=q[1]*l+q[3]*t,this},e.prototype.setRotate=function(e){this.el;var l=Math.cos(e),t=Math.sin(e);return this.set(l,-t,t,l),this},e}();l.Matrix2=q},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0);l.boardMaterial=new q.MeshBasicMaterial({color:new q.Color(.8,.8,.8),polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),l.selectMaterial=new q.MeshBasicMaterial({color:new q.Color(.1,.5,.5),polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),l.edgeMaterial=new q.LineBasicMaterial({linewidth:2,color:new q.Color(0,0,0)})},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=t(2),o=t(7),n=t(3),a=t(1),r=t(9),m=function(){function e(e){var l,t=this;this.m_Camera=new o.CameraUpdate,this.m_bNeedUpdate=!0,this.m_Scene=new q.Scene,this.OnSize=function(e,l){t._Width=e||t.m_DomEl.clientWidth,t._Height=l||t.m_DomEl.clientHeight,t._Width%2==1&&(t._Width-=1),t._Height%2==1&&(t._Height-=1),t.m_Render.setSize(t._Width,t._Height),t.m_Camera.SetSize(t._Width,t._Height)},this.StartRender=function(){requestAnimationFrame(t.StartRender),null!=t.m_Scene&&t.m_bNeedUpdate&&(t.Render(),t.m_bNeedUpdate=!1)},this.m_DomEl=e,this.initRender(e),this.OnSize(),this.StartRender(),new i.CameraControls(this),window.addEventListener("resize",function(){t.OnSize()}),this.m_Render.domElement.addEventListener("mousemove",function(e){var q=i.PointPick(t,e.offsetX,e.offsetY);l&&(l.material=i.boardMaterial),q&&q.material!==n.ColorMaterial.GetLineMaterial(1)&&(l=q,q.material=i.selectMaterial),t.m_bNeedUpdate=!0})}return e.prototype.initRender=function(e){this.m_Render=new q.WebGLRenderer({antialias:!0,precision:"highp",alpha:!0}),e.appendChild(this.m_Render.domElement),this.m_Render.autoClear=!0,this.m_Render.setPixelRatio(window.devicePixelRatio),this.m_Render.physicallyCorrectLights=!0,this.m_Render.setClearColor(16777215,1),this.OnSize()},e.prototype.Render=function(){this.m_Render.render(this.m_Scene,this.m_Camera.Camera)},e.prototype.ScreenToWorld=function(e,l){var t=new r.PlaneExt(l||new q.Vector3(0,0,1)),i=new q.Raycaster;i.setFromCamera({x:e.x/this._Width*2-1,y:-e.y/this._Height*2+1},this.m_Camera.Camera),t.intersectRay(i.ray,e,!0)},e.prototype.WorldToScreen=function(e){var l=.5*this._Width,t=.5*this._Height;e.project(this.m_Camera.Camera),e.x=e.x*l+l,e.y=-e.y*t+t},e.prototype.UpdateLockTarget=function(){var e=this.m_Render.renderLists.get(this.m_Scene,this.m_Camera.Camera),l=a.GetBoxArr(e.opaque.map(function(e){return e.object}));this.m_LookTarget=l?l.getCenter(new q.Vector3):a.cZeroVec},e.prototype.Rotate=function(e){this.m_Camera.Rotate(e,this.m_LookTarget),this.m_bNeedUpdate=!0},e.prototype.Pan=function(e){this.m_Camera.Pan(e),this.m_bNeedUpdate=!0},e.prototype.Zoom=function(e,l){this.m_Camera.Zoom(e,l),this.m_bNeedUpdate=!0},e.prototype.ZoomAll=function(){this.m_Camera.ZoomExtensBox3(a.GetBox(this.m_Scene,!0)),this.m_bNeedUpdate=!0},e.prototype.ViewToTop=function(){this.m_Camera.LookAt(new q.Vector3(0,0,-1)),this.m_bNeedUpdate=!0},e.prototype.ViewToFront=function(){this.m_Camera.LookAt(new q.Vector3(0,1,0)),this.m_bNeedUpdate=!0},e.prototype.ViewToSwiso=function(){this.m_Camera.LookAt(new q.Vector3(1,1,-1)),this.m_bNeedUpdate=!0},e}();l.Viewer=m},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=t(0),o=t(8),n=function(){function e(){this.m_CameraArray=new Map,this.m_ViewHeight=10,this.m_Target=new q.Vector3,this.m_Direction=new q.Vector3(0,0,-1),this.m_Orbit=new o.Orbit,this.m_MinViewHeight=10,this.m_MaxViewHeight=3e4,this.m_CameraArray.set(q.OrthographicCamera,new q.OrthographicCamera(-2,2,2,-2,-1e6,1e6)),this.m_CameraArray.set(q.PerspectiveCamera,new q.PerspectiveCamera(50,1,.01,1e4)),this.m_CurCamera=this.m_CameraArray.get(q.OrthographicCamera),this.m_Orbit.UpdateRoValue(this.m_Direction),this.UpdateUp(),this.Update()}return Object.defineProperty(e.prototype,"Aspect",{get:function(){return this.m_Width/this.m_Height},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Camera",{get:function(){return this.m_CurCamera},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ViewHeight",{get:function(){return this.m_ViewHeight},set:function(e){this.m_ViewHeight=q.Math.clamp(e,this.m_MinViewHeight,this.m_MaxViewHeight)},enumerable:!0,configurable:!0}),e.prototype.SetSize=function(e,l){this.m_Width=e,this.m_Height=l},e.prototype.Pan=function(e){e.y*=-1,e.multiplyScalar(-this.m_ViewHeight/this.m_Height),e.applyQuaternion(this.Camera.quaternion),this.m_Target.add(e),this.Update()},e.prototype.Rotate=function(e,l){this.m_Orbit.RoX-=.003*e.y,this.m_Orbit.RoZ-=.003*e.x;var t=l.clone().applyMatrix4(this.Camera.matrixWorldInverse);this.m_Orbit.UpdateDirection(this.m_Direction),this.UpdateUp(),this.Update();var q=l.clone().applyMatrix4(this.Camera.matrixWorldInverse);q.sub(t),q.applyMatrix4(this.Camera.matrix),q.sub(this.Camera.position),this.m_Target.add(q),this.Update()},e.prototype.Zoom=function(e,l){if(this.Camera instanceof q.OrthographicCamera)this.ViewHeight*=e,l&&this.m_ViewHeight1?1:-1;t*=this.Camera.position.distanceTo(this.m_Target)/10,this.m_Target.add(this.m_Direction.clone().multiplyScalar(-t))}this.Update()},e.prototype.ZoomExtensBox3=function(e){if(e){this.Camera.updateMatrixWorld(!1),e.applyMatrix4(this.Camera.matrixWorldInverse),e.getCenter(this.m_Target),this.m_Target.applyMatrix4(this.Camera.matrix);var l=e.getSize(new i.Vector3),t=l.x/l.y,q=this.Aspect;this.m_ViewHeight=t>q?l.x/q:l.y,this.Update()}},e.prototype.LookAt=function(e){this.m_Orbit.UpdateRoValue(e),this.m_Direction.copy(e),this.UpdateUp(),this.Update()},e.prototype.UpdateUp=function(){o.Orbit.ComputUpDirection(this.m_Direction,this.Camera.up)},e.prototype.Update=function(){if(this.Camera.position.copy(this.m_Target),this.Camera instanceof q.OrthographicCamera)this.Camera.left=this.Aspect*this.m_ViewHeight/-2,this.Camera.right=this.Aspect*this.m_ViewHeight/2,this.Camera.bottom=this.m_ViewHeight/-2,this.Camera.top=this.m_ViewHeight/2,this.Camera.position.sub(this.m_Direction);else{if(!(this.Camera instanceof q.PerspectiveCamera))return;this.Camera.aspect=this.Aspect;var e=this.m_ViewHeight/2/Math.tan(q.Math.degToRad(this.Camera.fov)/2);this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(e))}this.Camera.lookAt(this.m_Target),this.Camera.updateProjectionMatrix(),this.Camera.updateMatrixWorld(!1)},e.prototype.SwitchCamera=function(){this.Camera instanceof q.OrthographicCamera?this.m_CurCamera=this.m_CameraArray.get(q.PerspectiveCamera):this.m_CurCamera=this.m_CameraArray.get(q.OrthographicCamera),this.UpdateUp(),this.Update()},e}();l.CameraUpdate=n},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=function(){function e(){this.m_RoX=0,this.RoZ=0}return Object.defineProperty(e.prototype,"RoX",{get:function(){return this.m_RoX},set:function(e){this.m_RoX=q.Math.clamp(e,-.5*Math.PI,.5*Math.PI)},enumerable:!0,configurable:!0}),e.prototype.UpdateDirection=function(e){var l=e||new q.Vector3;l.z=Math.sin(this.m_RoX);var t=Math.abs(Math.cos(this.m_RoX));return l.x=Math.cos(this.RoZ)*t,l.y=Math.sin(this.RoZ)*t,l},e.prototype.UpdateRoValue=function(e){e.normalize(),this.m_RoX=Math.asin(e.z),e.x<1e-4&&e.y<1e-4?this.RoZ=.5*Math.PI:this.RoZ=Math.atan2(e.y,e.x)},e.ComputUpDirection=function(e,l){var t=l||new q.Vector3;if(e.equals(new q.Vector3(0,0,-1)))t.set(0,1,0);else if(e.equals(new q.Vector3(0,0,1)))t.set(0,-1,0);else{var i=new q.Vector3;i.crossVectors(new q.Vector3(0,0,1),e),t.crossVectors(e,i),t.normalize()}return t},e}();l.Orbit=i},function(e,l,t){"use strict";var q,i=this&&this.__extends||(q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,l){e.__proto__=l}||function(e,l){for(var t in l)l.hasOwnProperty(t)&&(e[t]=l[t])},function(e,l){function t(){this.constructor=e}q(e,l),e.prototype=null===l?Object.create(l):(t.prototype=l.prototype,new t)});Object.defineProperty(l,"__esModule",{value:!0});var o=t(0),n=t(0),a=function(e){function l(l,t){return e.call(this,l,t)||this}return i(l,e),l.prototype.intersectLine=function(e,l,t){var q=new n.Vector3,i=l||new n.Vector3,o=e.delta(q),a=this.normal.dot(o);if(0===a)return 0===this.distanceToPoint(e.start)?i.copy(e.start):void 0;var r=-(e.start.dot(this.normal)+this.constant)/a;return t||!(r<0||r>1)?i.copy(o).multiplyScalar(r).add(e.start):void 0},l.prototype.intersectRay=function(e,l,t){var q=new o.Line3(e.origin.clone(),e.origin.clone().add(e.direction));return this.intersectLine(q,l,t)},l}(o.Plane);l.PlaneExt=a},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q,i,o=t(0),n=t(11),a=t(0);!function(e){e[e.Rotate=1]="Rotate",e[e.Zoom=2]="Zoom",e[e.Pan=4]="Pan"}(q||(q={})),function(e){e[e.Null=0]="Null",e[e.Pan=1]="Pan",e[e.Rotate=2]="Rotate",e[e.Scale=3]="Scale"}(i=l.CameraControlState||(l.CameraControlState={}));var r=function(){function e(e){var l=this;this.m_TouthTypeList=[i.Rotate,i.Scale,i.Pan],this.m_StartClickPoint=new o.Vector3,this.m_EndClickPoint=new o.Vector3,this.m_DollyStart=new o.Vector2,this.m_DollyEnd=new o.Vector2,this.m_KeyDown=new Map,this.m_MouseDown=new Map,this.m_State=i.Null,this.m_LeftUseRotate=!0,this.onBlur=function(){l.m_KeyDown.clear(),l.m_MouseDown.clear()},this.onTouchStart=function(e){if(l.m_Viewer.UpdateLockTarget(),l.m_StartClickPoint.set(e.touches[0].pageX,e.touches[0].pageY,0),e.touches.length<4){if(2==e.touches.length){var t=e.touches[0].pageX-e.touches[1].pageX,q=e.touches[0].pageY-e.touches[1].pageY,i=Math.sqrt(t*t+q*q);l.m_DollyStart.set(0,i)}l.m_State=l.m_TouthTypeList[e.touches.length-1]}},this.onTouchEnd=function(e){l.m_State=i.Null},this.onTouchMove=function(e){e.preventDefault(),e.stopPropagation(),l.m_EndClickPoint.set(e.touches[0].pageX,e.touches[0].pageY,0);var t=l.m_EndClickPoint.clone().sub(l.m_StartClickPoint);switch(l.m_State){case i.Pan:l.m_Viewer.Pan(t);break;case i.Scale:var q=e.touches[0].pageX-e.touches[1].pageX,o=e.touches[0].pageY-e.touches[1].pageY,n=Math.sqrt(q*q+o*o);l.m_DollyEnd.set(0,n),n>l.m_DollyStart.y?l.m_Viewer.Zoom(.95):l.m_Viewer.Zoom(1.05),l.m_DollyStart.copy(l.m_DollyEnd);break;case i.Rotate:l.m_Viewer.Rotate(t.multiplyScalar(2))}l.m_StartClickPoint.copy(l.m_EndClickPoint),l.m_Viewer.m_bNeedUpdate=!0},this.lastMiddleClickTime=0,this.onMouseDown=function(e){e.preventDefault();var t=e.button;switch(l.m_MouseDown.set(t,!0),l.m_StartClickPoint.set(e.offsetX,e.offsetY,0),t){case n.MouseKey.Left:l.m_LeftUseRotate&&l.beginRotate();break;case n.MouseKey.Middle:var q=Date.now(),o=q-l.lastMiddleClickTime;if(l.lastMiddleClickTime=q,o<350)return void l.m_Viewer.ZoomAll();l.m_KeyDown.get(n.KeyBoard.Control)?l.beginRotate():l.m_State=i.Pan;break;case n.MouseKey.Right:}},this.onMouseUp=function(e){e.preventDefault(),l.m_State=i.Null,l.m_MouseDown.set(e.button,!1)},this.onMouseMove=function(e){e.preventDefault(),l.m_EndClickPoint.set(e.offsetX,e.offsetY,0);var t=l.m_EndClickPoint.clone().sub(l.m_StartClickPoint);switch(l.m_StartClickPoint.copy(l.m_EndClickPoint),(l.m_LeftUseRotate||l.m_KeyDown.get(n.KeyBoard.Control))&&l.m_State==i.Rotate&&l.m_Viewer.Rotate(t),l.m_State){case i.Pan:l.m_Viewer.Pan(t);break;case i.Rotate:case i.Scale:}},this.onMouseWheel=function(e){e.preventDefault(),e.stopPropagation();var t=new o.Vector3(e.offsetX,e.offsetY,0);l.m_Viewer.ScreenToWorld(t,(new a.Vector3).setFromMatrixColumn(l.m_Viewer.m_Camera.Camera.matrixWorld,2)),e.deltaY<0?l.m_Viewer.Zoom(.6,t):e.deltaY>0&&l.m_Viewer.Zoom(1.4,t)},this.onKeyDown=function(e){l.m_KeyDown.set(e.keyCode,!0)},this.onKeyUp=function(e){l.m_KeyDown.set(e.keyCode,!1)},this.m_Viewer=e,this.m_domElement=e.m_Render.domElement.parentElement,this.RegisterEvent()}return e.prototype.RegisterEvent=function(){this.m_domElement&&(this.m_domElement.addEventListener("mousedown",this.onMouseDown,!1),this.m_domElement.addEventListener("mousemove",this.onMouseMove,!1),this.m_domElement.addEventListener("mouseup",this.onMouseUp,!1),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keyup",this.onKeyUp,!1),this.m_domElement.addEventListener("wheel",this.onMouseWheel,!1),this.m_domElement.addEventListener("touchstart",this.onTouchStart,!1),this.m_domElement.addEventListener("touchend",this.onTouchEnd,!1),this.m_domElement.addEventListener("touchmove",this.onTouchMove,!1),window.addEventListener("blur",this.onBlur,!1))},e.prototype.beginRotate=function(){this.m_State=i.Rotate,this.m_Viewer.UpdateLockTarget()},e}();l.CameraControls=r},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(e){e[e.Left=0]="Left",e[e.Middle=1]="Middle",e[e.Right=2]="Right"}(l.MouseKey||(l.MouseKey={})),function(e){e[e.Digit1=49]="Digit1",e[e.Digit2=50]="Digit2",e[e.Digit3=51]="Digit3",e[e.Digit4=52]="Digit4",e[e.Digit5=53]="Digit5",e[e.Digit6=54]="Digit6",e[e.Digit7=55]="Digit7",e[e.Digit8=56]="Digit8",e[e.Digit9=57]="Digit9",e[e.Digit0=58]="Digit0",e[e.KeyA=65]="KeyA",e[e.KeyB=66]="KeyB",e[e.KeyC=67]="KeyC",e[e.KeyD=68]="KeyD",e[e.KeyE=69]="KeyE",e[e.KeyF=70]="KeyF",e[e.KeyG=71]="KeyG",e[e.KeyH=72]="KeyH",e[e.KeyI=73]="KeyI",e[e.KeyJ=74]="KeyJ",e[e.KeyK=75]="KeyK",e[e.KeyL=76]="KeyL",e[e.KeyM=77]="KeyM",e[e.KeyN=78]="KeyN",e[e.KeyO=79]="KeyO",e[e.KeyP=80]="KeyP",e[e.KeyQ=81]="KeyQ",e[e.KeyR=82]="KeyR",e[e.KeyS=83]="KeyS",e[e.KeyT=84]="KeyT",e[e.KeyU=85]="KeyU",e[e.KeyV=86]="KeyV",e[e.KeyW=87]="KeyW",e[e.KeyX=88]="KeyX",e[e.KeyY=89]="KeyY",e[e.KeyZ=90]="KeyZ",e[e.Comma=188]="Comma",e[e.CommaChrome=229]="CommaChrome",e[e.Period=190]="Period",e[e.Semicolon=186]="Semicolon",e[e.Quote=222]="Quote",e[e.BracketLeft=219]="BracketLeft",e[e.BracketRight=220]="BracketRight",e[e.Backquote=192]="Backquote",e[e.Backslash=220]="Backslash",e[e.Minus=189]="Minus",e[e.Equal=187]="Equal",e[e.IntlRo=193]="IntlRo",e[e.IntlYen=255]="IntlYen",e[e.Alt=18]="Alt",e[e.CapsLock=20]="CapsLock",e[e.Control=17]="Control",e[e.OSLeft=91]="OSLeft",e[e.OSRight=92]="OSRight",e[e.Shift=16]="Shift",e[e.ContextMenu=93]="ContextMenu",e[e.Enter=13]="Enter",e[e.Space=32]="Space",e[e.Backspace=8]="Backspace",e[e.Tab=9]="Tab",e[e.Delete=46]="Delete",e[e.End=35]="End",e[e.Home=36]="Home",e[e.Insert=45]="Insert",e[e.PageDown=34]="PageDown",e[e.PageUp=33]="PageUp",e[e.ArrowDown=40]="ArrowDown",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowUp=38]="ArrowUp",e[e.Escape=27]="Escape",e[e.PrintScreen=44]="PrintScreen",e[e.ScrollLock=145]="ScrollLock",e[e.Pause=19]="Pause",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NumLock=114]="NumLock",e[e.Numpad0=96]="Numpad0",e[e.Numpad1=97]="Numpad1",e[e.Numpad2=98]="Numpad2",e[e.Numpad3=99]="Numpad3",e[e.Numpad4=100]="Numpad4",e[e.Numpad5=101]="Numpad5",e[e.Numpad6=102]="Numpad6",e[e.Numpad7=103]="Numpad7",e[e.Numpad8=104]="Numpad8",e[e.Numpad9=105]="Numpad9",e[e.NumpadAdd=107]="NumpadAdd",e[e.NumpadDivide=111]="NumpadDivide",e[e.NumpadEqual=12]="NumpadEqual",e[e.NumpadMultiply=106]="NumpadMultiply",e[e.NumpadSubtract=109]="NumpadSubtract",e[e.NumpadDot=110]="NumpadDot",e[e.NumpadDot1=190]="NumpadDot1"}(l.KeyBoard||(l.KeyBoard={}))},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=t(0),o=t(3),n=t(1),a=t(5),r=t(13),m=t(14),s=function(){return function(e,l,t){this.m_StartPoint=e.clone(),this.m_EndPoint=l.clone();var q=l.clone().sub(e),i=q.length(),o=q.angle();this.m_Radius=i/Math.sin(2*Math.atan(t))/2,Math.atan(t);var a=t*i/2,r=this.m_Radius-a;o+=.5*Math.PI,this.m_Center=e.clone().add(l),this.m_Center.multiplyScalar(.5),n.polar(this.m_Center,o,r),this.m_StartAn=e.clone().sub(this.m_Center).angle(),this.m_EndAn=l.clone().sub(this.m_Center).angle(),t<0&&(this.m_StartAn-=Math.PI,this.m_EndAn-=Math.PI)}}();function h(e,l,t){var q=t||new i.Shape;if(0===e.length)return q;var o=e[0];q.moveTo(o.x,o.y);for(var n=0;n0}function u(e){var l=new q.EdgesGeometry(e,1);return new i.LineSegments(l,a.edgeMaterial)}l.Arc2d=s,l.createPath=h,l.getVec=c,l.createBoard=x,l.createTemplateBoard=function(e){for(var l=[],t=[],q=0,i=e;q0?this.calculateProperties():this.normal=this.w=void 0}return e.prototype.calculateProperties=function(){var e=this.vertices[0],l=this.vertices[1],t=this.vertices[2];return this.normal=l.clone().subtract(e).cross(t.clone().subtract(e)).normalize(),this.w=this.normal.clone().dot(e),this},e.prototype.clone=function(){var l,t,q=new e;for(l=0,t=this.vertices.length;l=0;e--)l.push(this.vertices[e]);return this.vertices=l,this},e.prototype.classifyVertex=function(e){var l=this.normal.dot(e)-this.w;return l<-1e-5?2:l>1e-5?1:0},e.prototype.classifySide=function(e){var l,t,q,i=0,o=0,n=e.vertices.length;for(l=0;l0&&0===o?1:0===i&&o>0?2:0===i&&0===o?0:3},e.prototype.splitPolygon=function(l,t,q,i,o){var n=this.classifySide(l);if(0===n)(this.normal.dot(l.normal)>0?t:q).push(l);else if(1===n)i.push(l);else if(2===n)o.push(l);else{var a,r=void 0,m=void 0,s=void 0,h=void 0,c=void 0,x=void 0,_=void 0,u=void 0,p=[],d=[];for(r=0,a=l.vertices.length;r=3&&i.push(new e(p).calculateProperties()),d.length>=3&&o.push(new e(d).calculateProperties())}},e}();l.Polygon=o;var n=function(){function e(e,l,t,i,o){this.x=e,this.y=l,this.z=t,this.normal=i||new q.Vector3,this.uv=o||new q.Vector2}return e.prototype.clone=function(){return new e(this.x,this.y,this.z,this.normal.clone(),this.uv.clone())},e.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},e.prototype.subtract=function(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this},e.prototype.multiplyScalar=function(e){return this.x*=e,this.y*=e,this.z*=e,this},e.prototype.cross=function(e){var l=this.x,t=this.y,q=this.z;return this.x=t*e.z-q*e.y,this.y=q*e.x-l*e.z,this.z=l*e.y-t*e.x,this},e.prototype.normalize=function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);return this.x/=e,this.y/=e,this.z/=e,this},e.prototype.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z},e.prototype.lerp=function(e,l){return this.add(e.clone().subtract(this).multiplyScalar(l)),this.normal.add(e.normal.clone().sub(this.normal).multiplyScalar(l)),this.uv.add(e.uv.clone().sub(this.uv).multiplyScalar(l)),this},e.prototype.interpolate=function(e,l){return this.clone().lerp(e,l)},e.prototype.applyMatrix4=function(e){var l=this.x,t=this.y,q=this.z,i=e.elements;return this.x=i[0]*l+i[4]*t+i[8]*q+i[12],this.y=i[1]*l+i[5]*t+i[9]*q+i[13],this.z=i[2]*l+i[6]*t+i[10]*q+i[14],this},e}();l.Vertex=n;var a=function(){function e(l){var t,q,i=[],o=[];if(this.polygons=[],this.front=this.back=void 0,l instanceof Array&&0!==l.length){for(this.divider=l[0].clone(),t=0,q=l.length;t0&&(this.front=new e(i)),o.length>0&&(this.back=new e(o))}}return e.prototype.isConvex=function(e){var l,t;for(l=0;l0&&(this.front||(this.front=new e),this.front.build(i)),o.length>0&&(this.back||(this.back=new e),this.back.build(o))},e.prototype.allPolygons=function(){var e=this.polygons.slice();return this.front&&(e=e.concat(this.front.allPolygons())),this.back&&(e=e.concat(this.back.allPolygons())),e},e.prototype.clone=function(){var l=new e;return l.divider=this.divider.clone(),l.polygons=this.polygons.map(function(e){return e.clone()}),l.front=this.front&&this.front.clone(),l.back=this.back&&this.back.clone(),l},e.prototype.invert=function(){var e,l,t;for(e=0,l=this.polygons.length;e":{x_min:18.0625,x_max:774,ha:792,o:"m 774 376 l 18 40 l 18 149 l 631 421 l 18 692 l 18 799 l 774 465 l 774 376 "},v:{x_min:0,x_max:675.15625,ha:761,o:"m 675 738 l 404 0 l 272 0 l 0 738 l 133 737 l 340 147 l 541 737 l 675 738 "},"τ":{x_min:.28125,x_max:644.5,ha:703,o:"m 644 628 l 382 628 l 382 179 q 388 120 382 137 q 436 91 401 91 q 474 94 447 91 q 504 97 501 97 l 504 0 q 454 -9 482 -5 q 401 -14 426 -14 q 278 67 308 -14 q 260 233 260 118 l 260 628 l 0 628 l 0 739 l 644 739 l 644 628 "},"ξ":{x_min:0,x_max:624.9375,ha:699,o:"m 624 -37 q 608 -153 624 -96 q 563 -278 593 -211 l 454 -278 q 491 -183 486 -200 q 511 -83 511 -126 q 484 -23 511 -44 q 370 1 452 1 q 323 0 354 1 q 283 -1 293 -1 q 84 76 169 -1 q 0 266 0 154 q 56 431 0 358 q 197 538 108 498 q 94 613 134 562 q 54 730 54 665 q 77 823 54 780 q 143 901 101 867 l 27 901 l 27 1012 l 576 1012 l 576 901 l 380 901 q 244 863 303 901 q 178 745 178 820 q 312 600 178 636 q 532 582 380 582 l 532 479 q 276 455 361 479 q 118 281 118 410 q 165 173 118 217 q 274 120 208 133 q 494 101 384 110 q 624 -37 624 76 "},"&":{x_min:-3,x_max:894.25,ha:992,o:"m 894 0 l 725 0 l 624 123 q 471 0 553 40 q 306 -41 390 -41 q 168 -7 231 -41 q 62 92 105 26 q 14 187 31 139 q -3 276 -3 235 q 55 433 -3 358 q 248 581 114 508 q 170 689 196 640 q 137 817 137 751 q 214 985 137 922 q 384 1041 284 1041 q 548 988 483 1041 q 622 824 622 928 q 563 666 622 739 q 431 556 516 608 l 621 326 q 649 407 639 361 q 663 493 653 426 l 781 493 q 703 229 781 352 l 894 0 m 504 818 q 468 908 504 877 q 384 940 433 940 q 293 907 331 940 q 255 818 255 875 q 289 714 255 767 q 363 628 313 678 q 477 729 446 682 q 504 818 504 771 m 556 209 l 314 499 q 179 395 223 449 q 135 283 135 341 q 146 222 135 253 q 183 158 158 192 q 333 80 241 80 q 556 209 448 80 "},"Λ":{x_min:0,x_max:862.5,ha:942,o:"m 862 0 l 719 0 l 426 847 l 143 0 l 0 0 l 356 1013 l 501 1013 l 862 0 "},I:{x_min:41,x_max:180,ha:293,o:"m 180 0 l 41 0 l 41 1013 l 180 1013 l 180 0 "},G:{x_min:0,x_max:921,ha:1011,o:"m 921 0 l 832 0 l 801 136 q 655 15 741 58 q 470 -28 568 -28 q 126 133 259 -28 q 0 499 0 284 q 125 881 0 731 q 486 1043 259 1043 q 763 957 647 1043 q 905 709 890 864 l 772 709 q 668 866 747 807 q 486 926 589 926 q 228 795 322 926 q 142 507 142 677 q 228 224 142 342 q 483 94 323 94 q 712 195 625 94 q 796 435 796 291 l 477 435 l 477 549 l 921 549 l 921 0 "},"ΰ":{x_min:0,x_max:617,ha:725,o:"m 524 800 l 414 800 l 414 925 l 524 925 l 524 800 m 183 800 l 73 800 l 73 925 l 183 925 l 183 800 m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 m 489 1040 l 300 819 l 216 819 l 351 1040 l 489 1040 "},"`":{x_min:0,x_max:138.890625,ha:236,o:"m 138 699 l 0 699 l 0 861 q 36 974 0 929 q 138 1041 72 1020 l 138 977 q 82 931 95 969 q 69 839 69 893 l 138 839 l 138 699 "},"·":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 "},"Υ":{x_min:.328125,x_max:819.515625,ha:889,o:"m 819 1013 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1013 l 140 1013 l 411 533 l 679 1013 l 819 1013 "},r:{x_min:0,x_max:355.5625,ha:432,o:"m 355 621 l 343 621 q 179 569 236 621 q 122 411 122 518 l 122 0 l 0 0 l 0 737 l 117 737 l 117 604 q 204 719 146 686 q 355 753 262 753 l 355 621 "},x:{x_min:0,x_max:675,ha:764,o:"m 675 0 l 525 0 l 331 286 l 144 0 l 0 0 l 256 379 l 12 738 l 157 737 l 336 473 l 516 738 l 661 738 l 412 380 l 675 0 "},"μ":{x_min:0,x_max:696.609375,ha:747,o:"m 696 -4 q 628 -14 657 -14 q 498 97 513 -14 q 422 8 470 41 q 313 -24 374 -24 q 207 3 258 -24 q 120 80 157 31 l 120 -278 l 0 -278 l 0 738 l 124 738 l 124 343 q 165 172 124 246 q 308 82 216 82 q 451 177 402 82 q 492 358 492 254 l 492 738 l 616 738 l 616 214 q 623 136 616 160 q 673 92 636 92 q 696 95 684 92 l 696 -4 "},h:{x_min:0,x_max:615,ha:724,o:"m 615 472 l 615 0 l 490 0 l 490 454 q 456 590 490 535 q 338 654 416 654 q 186 588 251 654 q 122 436 122 522 l 122 0 l 0 0 l 0 1013 l 122 1013 l 122 633 q 218 727 149 694 q 362 760 287 760 q 552 676 484 760 q 615 472 615 600 "},".":{x_min:0,x_max:142,ha:239,o:"m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 "},"φ":{x_min:-2,x_max:878,ha:974,o:"m 496 -279 l 378 -279 l 378 -17 q 101 88 204 -17 q -2 367 -2 194 q 68 626 -2 510 q 283 758 151 758 l 283 646 q 167 537 209 626 q 133 373 133 462 q 192 177 133 254 q 378 93 259 93 l 378 758 q 445 764 426 763 q 476 765 464 765 q 765 659 653 765 q 878 377 878 553 q 771 96 878 209 q 496 -17 665 -17 l 496 -279 m 496 93 l 514 93 q 687 183 623 93 q 746 380 746 265 q 691 569 746 491 q 522 658 629 658 l 496 656 l 496 93 "},";":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 m 142 -12 q 105 -132 142 -82 q 0 -206 68 -182 l 0 -138 q 58 -82 43 -123 q 68 0 68 -56 l 0 0 l 0 151 l 142 151 l 142 -12 "},f:{x_min:0,x_max:378,ha:472,o:"m 378 638 l 246 638 l 246 0 l 121 0 l 121 638 l 0 638 l 0 738 l 121 738 q 137 935 121 887 q 290 1028 171 1028 q 320 1027 305 1028 q 378 1021 334 1026 l 378 908 q 323 918 346 918 q 257 870 273 918 q 246 780 246 840 l 246 738 l 378 738 l 378 638 "},"“":{x_min:1,x_max:348.21875,ha:454,o:"m 140 670 l 1 670 l 1 830 q 37 943 1 897 q 140 1011 74 990 l 140 947 q 82 900 97 940 q 68 810 68 861 l 140 810 l 140 670 m 348 670 l 209 670 l 209 830 q 245 943 209 897 q 348 1011 282 990 l 348 947 q 290 900 305 940 q 276 810 276 861 l 348 810 l 348 670 "},A:{x_min:.03125,x_max:906.953125,ha:1008,o:"m 906 0 l 756 0 l 648 303 l 251 303 l 142 0 l 0 0 l 376 1013 l 529 1013 l 906 0 m 610 421 l 452 867 l 293 421 l 610 421 "},"‘":{x_min:1,x_max:139.890625,ha:236,o:"m 139 670 l 1 670 l 1 830 q 37 943 1 897 q 139 1011 74 990 l 139 947 q 82 900 97 940 q 68 810 68 861 l 139 810 l 139 670 "},"ϊ":{x_min:-70,x_max:283,ha:361,o:"m 283 800 l 173 800 l 173 925 l 283 925 l 283 800 m 40 800 l -70 800 l -70 925 l 40 925 l 40 800 m 283 3 q 232 -10 257 -5 q 181 -15 206 -15 q 84 26 118 -15 q 41 200 41 79 l 41 737 l 166 737 l 167 215 q 171 141 167 157 q 225 101 182 101 q 247 103 238 101 q 283 112 256 104 l 283 3 "},"π":{x_min:-.21875,x_max:773.21875,ha:857,o:"m 773 -7 l 707 -11 q 575 40 607 -11 q 552 174 552 77 l 552 226 l 552 626 l 222 626 l 222 0 l 97 0 l 97 626 l 0 626 l 0 737 l 773 737 l 773 626 l 676 626 l 676 171 q 695 103 676 117 q 773 90 714 90 l 773 -7 "},"ά":{x_min:0,x_max:765.5625,ha:809,o:"m 765 -4 q 698 -14 726 -14 q 564 97 586 -14 q 466 7 525 40 q 337 -26 407 -26 q 88 98 186 -26 q 0 369 0 212 q 88 637 0 525 q 337 760 184 760 q 465 727 407 760 q 563 637 524 695 l 563 738 l 685 738 l 685 222 q 693 141 685 168 q 748 94 708 94 q 765 95 760 94 l 765 -4 m 584 371 q 531 562 584 485 q 360 653 470 653 q 192 566 254 653 q 135 379 135 489 q 186 181 135 261 q 358 84 247 84 q 528 176 465 84 q 584 371 584 260 m 604 1040 l 415 819 l 332 819 l 466 1040 l 604 1040 "},O:{x_min:0,x_max:958,ha:1057,o:"m 485 1041 q 834 882 702 1041 q 958 512 958 734 q 834 136 958 287 q 481 -26 702 -26 q 126 130 261 -26 q 0 504 0 279 q 127 880 0 728 q 485 1041 263 1041 m 480 98 q 731 225 638 98 q 815 504 815 340 q 733 783 815 669 q 480 912 640 912 q 226 784 321 912 q 142 504 142 670 q 226 224 142 339 q 480 98 319 98 "},n:{x_min:0,x_max:615,ha:724,o:"m 615 463 l 615 0 l 490 0 l 490 454 q 453 592 490 537 q 331 656 410 656 q 178 585 240 656 q 117 421 117 514 l 117 0 l 0 0 l 0 738 l 117 738 l 117 630 q 218 728 150 693 q 359 764 286 764 q 552 675 484 764 q 615 463 615 593 "},l:{x_min:41,x_max:166,ha:279,o:"m 166 0 l 41 0 l 41 1013 l 166 1013 l 166 0 "},"¤":{x_min:40.09375,x_max:728.796875,ha:825,o:"m 728 304 l 649 224 l 512 363 q 383 331 458 331 q 256 363 310 331 l 119 224 l 40 304 l 177 441 q 150 553 150 493 q 184 673 150 621 l 40 818 l 119 898 l 267 749 q 321 766 291 759 q 384 773 351 773 q 447 766 417 773 q 501 749 477 759 l 649 898 l 728 818 l 585 675 q 612 618 604 648 q 621 553 621 587 q 591 441 621 491 l 728 304 m 384 682 q 280 643 318 682 q 243 551 243 604 q 279 461 243 499 q 383 423 316 423 q 487 461 449 423 q 525 553 525 500 q 490 641 525 605 q 384 682 451 682 "},"κ":{x_min:0,x_max:632.328125,ha:679,o:"m 632 0 l 482 0 l 225 384 l 124 288 l 124 0 l 0 0 l 0 738 l 124 738 l 124 446 l 433 738 l 596 738 l 312 466 l 632 0 "},p:{x_min:0,x_max:685,ha:786,o:"m 685 364 q 598 96 685 205 q 350 -23 504 -23 q 121 89 205 -23 l 121 -278 l 0 -278 l 0 738 l 121 738 l 121 633 q 220 726 159 691 q 351 761 280 761 q 598 636 504 761 q 685 364 685 522 m 557 371 q 501 560 557 481 q 330 651 437 651 q 162 559 223 651 q 108 366 108 479 q 162 177 108 254 q 333 87 224 87 q 502 178 441 87 q 557 371 557 258 "},"‡":{x_min:0,x_max:777,ha:835,o:"m 458 238 l 458 0 l 319 0 l 319 238 l 0 238 l 0 360 l 319 360 l 319 681 l 0 683 l 0 804 l 319 804 l 319 1015 l 458 1013 l 458 804 l 777 804 l 777 683 l 458 683 l 458 360 l 777 360 l 777 238 l 458 238 "},"ψ":{x_min:0,x_max:808,ha:907,o:"m 465 -278 l 341 -278 l 341 -15 q 87 102 180 -15 q 0 378 0 210 l 0 739 l 133 739 l 133 379 q 182 195 133 275 q 341 98 242 98 l 341 922 l 465 922 l 465 98 q 623 195 563 98 q 675 382 675 278 l 675 742 l 808 742 l 808 381 q 720 104 808 213 q 466 -13 627 -13 l 465 -278 "},"η":{x_min:.78125,x_max:697,ha:810,o:"m 697 -278 l 572 -278 l 572 454 q 540 587 572 536 q 425 650 501 650 q 271 579 337 650 q 206 420 206 509 l 206 0 l 81 0 l 81 489 q 73 588 81 562 q 0 644 56 644 l 0 741 q 68 755 38 755 q 158 720 124 755 q 200 630 193 686 q 297 726 234 692 q 434 761 359 761 q 620 692 544 761 q 697 516 697 624 l 697 -278 "}},cssFontWeight:"normal",ascender:1189,underlinePosition:-100,cssFontStyle:"normal",boundingBox:{yMin:-334,xMin:-111,yMax:1189,xMax:1672},resolution:1e3,original_font_information:{postscript_name:"Helvetiker-Regular",version_string:"Version 1.00 2004 initial release",vendor_url:"http://www.magenta.gr/",full_font_name:"Helvetiker",font_family_name:"Helvetiker",copyright:"Copyright (c) Μagenta ltd, 2004",description:"",trademark:"",designer:"",designer_url:"",unique_font_identifier:"Μagenta ltd:Helvetiker:22-10-104",license_url:"http://www.ellak.gr/fonts/MgOpen/license.html",license_description:'Copyright (c) 2004 by MAGENTA Ltd. All Rights Reserved.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: \r\n\r\nThe above copyright and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r\n\r\nThe Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing the word "MgOpen", or if the modifications are accepted for inclusion in the Font Software itself by the each appointed Administrator.\r\n\r\nThis License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "MgOpen" name.\r\n\r\nThe Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. \r\n\r\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL MAGENTA OR PERSONS OR BODIES IN CHARGE OF ADMINISTRATION AND MAINTENANCE OF THE FONT SOFTWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.',manufacturer_name:"Μagenta ltd",font_sub_family_name:"Regular"},descender:-334,familyName:"Helvetiker",lineHeight:1522,underlineThickness:50}},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0),i=t(2);l.DrawDimension=function(e){var l=i.GetBoxArr(e),t=l.getSize(new q.Vector3),o=new q.Matrix4;o.makeBasis(new q.Vector3(-1,0,0),new q.Vector3(0,-1,0),new q.Vector3(0,0,1)),o.setPosition(l.min.clone().add(new q.Vector3(t.x,-30)));var n=new i.Dimension(t.x,45,!0);n.applyMatrix(o);var a=new i.Dimension(t.z,45);o.makeBasis(new q.Vector3(0,0,-1),new q.Vector3(1,0,0),new q.Vector3(0,-1,0)),o.setPosition(l.max.clone().add(new q.Vector3(30,-t.y))),a.applyMatrix(o);var r=new i.Dimension(t.y,45,!0,!0);return o.makeBasis(new q.Vector3(0,1,0),new q.Vector3(-1,0,0),new q.Vector3(0,0,1)),o.setPosition(l.max.clone().add(new q.Vector3(30,-t.y))),r.applyMatrix(o),[n,r,a]}},function(e,l,t){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var q=t(0);l.PointPick=function(e,l,t){var i=new q.Raycaster;i.setFromCamera({x:l/e._Width*2-1,y:-t/e._Height*2+1},e.m_Camera.Camera),i.ray.origin.set(l/e._Width*2-1,-t/e._Height*2+1,-1).unproject(e.m_Camera.Camera);var o=1/0,n=void 0;return e.m_Scene.children.forEach(function(e){if(e instanceof q.Mesh){var l=[];e.raycast(i,l);for(var t=0,a=l;t