@realsee/dnalogel 3.50.4 → 3.50.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/Sculpt/Meshes/Point.d.ts +6 -0
- package/dist/Sculpt/utils/Meshes/getLengthHTML.d.ts +3 -1
- package/dist/index.cjs.js +24 -24
- package/dist/index.js +919 -903
- package/dist/index.umd.js +14 -14
- package/libs/PanoMeasurePlugin/Controller/index.js +1 -1
- package/libs/Sculpt/Meshes/Line.js +33 -30
- package/libs/Sculpt/Meshes/Point.d.ts +6 -0
- package/libs/Sculpt/Meshes/Point.js +49 -38
- package/libs/Sculpt/Meshes/Polygon.js +46 -36
- package/libs/Sculpt/utils/Meshes/getLengthHTML.d.ts +3 -1
- package/libs/Sculpt/utils/Meshes/getLengthHTML.js +3 -3
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -37,7 +37,7 @@ var ee = (e, n, t) => new Promise((i, r) => {
|
|
|
37
37
|
a((t = t.apply(e, n)).next());
|
|
38
38
|
});
|
|
39
39
|
import { Camera as fE, Five as Dn, Subscribe as Na } from "@realsee/five";
|
|
40
|
-
import * as
|
|
40
|
+
import * as E from "three";
|
|
41
41
|
import { Vector3 as Se, Matrix4 as Dl, Object3D as pE, LineSegments as mE, Group as Jo, Raycaster as Fa, MeshBasicMaterial as Yl, CanvasTexture as gE, AnimationMixer as vE, Color as Va, TextureLoader as W1, Vector2 as Fn, PlaneGeometry as yE, sRGBEncoding as bE, LinearFilter as _p, Mesh as Ll, CurvePath as AE, LineCurve3 as wE, TubeGeometry as xE, ShaderMaterial as Q1, SphereGeometry as ME, DoubleSide as Y1, RingGeometry as EE, Quaternion as qm, Euler as mv, VideoTexture as CE, Vector4 as PE, SphereBufferGeometry as _E } from "three";
|
|
42
42
|
import { CSS3DSprite as IE, CSS3DObject as Ip } from "three/examples/jsm/renderers/CSS3DRenderer";
|
|
43
43
|
import Km from "hammerjs";
|
|
@@ -48,7 +48,7 @@ import LE from "earcut";
|
|
|
48
48
|
import { GLTFLoader as kE } from "@realsee/five/gltf-loader";
|
|
49
49
|
function RE() {
|
|
50
50
|
console.debug(
|
|
51
|
-
"%c %c@realsee/dnalogel %cv3.50.
|
|
51
|
+
"%c %c@realsee/dnalogel %cv3.50.6",
|
|
52
52
|
[
|
|
53
53
|
"background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
|
|
54
54
|
"background-repeat: no-repeat",
|
|
@@ -1072,48 +1072,48 @@ const T6 = (e, n) => {
|
|
|
1072
1072
|
lockedPanoIndex: null,
|
|
1073
1073
|
lockedLatitude: null,
|
|
1074
1074
|
lockedLongitude: null
|
|
1075
|
-
}), n == null ? void 0 : n.config), l = new
|
|
1076
|
-
let h = new
|
|
1075
|
+
}), n == null ? void 0 : n.config), l = new E.Scene(), c = new fE(60);
|
|
1076
|
+
let h = new E.Object3D(), u, d;
|
|
1077
1077
|
{
|
|
1078
|
-
const G = new
|
|
1079
|
-
G.position.copy(new
|
|
1078
|
+
const G = new E.DirectionalLight(16777215, 0.5);
|
|
1079
|
+
G.position.copy(new E.Vector3(1, 1, 1)), l.add(G);
|
|
1080
1080
|
}
|
|
1081
1081
|
{
|
|
1082
|
-
const G = new
|
|
1082
|
+
const G = new E.DirectionalLight(16777215, 0.3);
|
|
1083
1083
|
l.add(G);
|
|
1084
1084
|
}
|
|
1085
1085
|
{
|
|
1086
|
-
const G = new
|
|
1086
|
+
const G = new E.AmbientLight(16777215, 0.3);
|
|
1087
1087
|
l.add(G);
|
|
1088
1088
|
}
|
|
1089
1089
|
l.add(h);
|
|
1090
1090
|
const f = () => {
|
|
1091
1091
|
if (i)
|
|
1092
1092
|
return;
|
|
1093
|
-
u = x(e.model, c.fov, c.aspect), d = e.model.bounding.getCenter(new
|
|
1093
|
+
u = x(e.model, c.fov, c.aspect), d = e.model.bounding.getCenter(new E.Vector3()), l.remove(h), h = S(e.model), l.add(h), i = !0, P();
|
|
1094
1094
|
function G(U) {
|
|
1095
1095
|
const q = U.clone();
|
|
1096
1096
|
return q.uniforms.modelAlpha.value = 1, q.uniforms.map.value && (q.uniforms.map.value.needsUpdate = !0), q;
|
|
1097
1097
|
}
|
|
1098
1098
|
function S(U) {
|
|
1099
|
-
if (U instanceof
|
|
1099
|
+
if (U instanceof E.Mesh) {
|
|
1100
1100
|
const q = U.geometry, K = Array.isArray(U.material) ? U.material.map(G) : G(U.material);
|
|
1101
|
-
return new
|
|
1102
|
-
} else if (U instanceof
|
|
1103
|
-
const q = new
|
|
1101
|
+
return new E.Mesh(q, K);
|
|
1102
|
+
} else if (U instanceof E.Group) {
|
|
1103
|
+
const q = new E.Group();
|
|
1104
1104
|
return U.children.forEach((K) => q.add(S(K))), q;
|
|
1105
1105
|
} else {
|
|
1106
|
-
const q = new
|
|
1106
|
+
const q = new E.Object3D();
|
|
1107
1107
|
return U.children.forEach((K) => q.add(S(K))), q;
|
|
1108
1108
|
}
|
|
1109
1109
|
}
|
|
1110
1110
|
}, m = () => {
|
|
1111
1111
|
if (e.renderer)
|
|
1112
|
-
return s || (s = new
|
|
1112
|
+
return s || (s = new E.WebGLRenderer({ antialias: !1, alpha: !0 }), s.setPixelRatio(e.renderer.getPixelRatio()), s.outputEncoding = E.sRGBEncoding, s.setClearColor(1579548, 0), s.autoClear = !0), s;
|
|
1113
1113
|
}, p = () => {
|
|
1114
1114
|
h.traverse((G) => {
|
|
1115
|
-
G instanceof
|
|
1116
|
-
}), l.remove(h), h = new
|
|
1115
|
+
G instanceof E.Mesh && [].concat(G.material).forEach((U) => U.dispose());
|
|
1116
|
+
}), l.remove(h), h = new E.Object3D(), l.add(h), i = !1, P();
|
|
1117
1117
|
}, g = () => {
|
|
1118
1118
|
t && (i || f());
|
|
1119
1119
|
}, y = () => {
|
|
@@ -1383,9 +1383,9 @@ class En {
|
|
|
1383
1383
|
return i;
|
|
1384
1384
|
}
|
|
1385
1385
|
}
|
|
1386
|
-
class iC extends
|
|
1386
|
+
class iC extends E.Mesh {
|
|
1387
1387
|
constructor(t, i) {
|
|
1388
|
-
const r = new
|
|
1388
|
+
const r = new E.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: E.DoubleSide }), s = new E.PlaneGeometry(t, i);
|
|
1389
1389
|
super(s, r);
|
|
1390
1390
|
v(this, "name", "opacity-mesh");
|
|
1391
1391
|
}
|
|
@@ -1481,7 +1481,7 @@ class tg {
|
|
|
1481
1481
|
v(this, "scale");
|
|
1482
1482
|
v(this, "offset", { x: 0, y: 0 });
|
|
1483
1483
|
v(this, "context");
|
|
1484
|
-
v(this, "renderCenter", new
|
|
1484
|
+
v(this, "renderCenter", new E.Vector3());
|
|
1485
1485
|
v(this, "hammer");
|
|
1486
1486
|
v(this, "offsetRange");
|
|
1487
1487
|
v(this, "isPanning", !1);
|
|
@@ -1551,8 +1551,8 @@ class tg {
|
|
|
1551
1551
|
render() {
|
|
1552
1552
|
if (!this.five.renderer || !this.containerDom)
|
|
1553
1553
|
return;
|
|
1554
|
-
const { scale: n, context: t, width: i, height: r } = this, s = this.five.renderer.getSize(new
|
|
1555
|
-
if (this.renderCenter instanceof
|
|
1554
|
+
const { scale: n, context: t, width: i, height: r } = this, s = this.five.renderer.getSize(new E.Vector2()), [o, a] = (() => {
|
|
1555
|
+
if (this.renderCenter instanceof E.Vector3) {
|
|
1556
1556
|
const p = this.renderCenter.clone().project(this.five.camera);
|
|
1557
1557
|
return [(p.x + 1) / 2 * s.x, (p.y + 1) / 2 * s.y];
|
|
1558
1558
|
} else
|
|
@@ -1576,7 +1576,7 @@ class tg {
|
|
|
1576
1576
|
if (!this.containerDom)
|
|
1577
1577
|
return;
|
|
1578
1578
|
const { width: n, height: t } = this, { clientWidth: i, clientHeight: r } = this.containerDom, [s, o, a] = (() => {
|
|
1579
|
-
if (this.renderCenter instanceof
|
|
1579
|
+
if (this.renderCenter instanceof E.Vector3) {
|
|
1580
1580
|
const l = this.renderCenter.clone().project(this.five.camera);
|
|
1581
1581
|
return [
|
|
1582
1582
|
//
|
|
@@ -1619,11 +1619,11 @@ function aC(e, n, t) {
|
|
|
1619
1619
|
}
|
|
1620
1620
|
function lC(e, n) {
|
|
1621
1621
|
const { offsetWidth: t, offsetHeight: i } = n, { top: r, left: s } = n.getBoundingClientRect();
|
|
1622
|
-
return new
|
|
1622
|
+
return new E.Vector2().set((e.x - s) / t * 2 - 1, -(e.y - r) / i * 2 + 1);
|
|
1623
1623
|
}
|
|
1624
1624
|
function cC(e, n) {
|
|
1625
1625
|
const { offsetWidth: t, offsetHeight: i } = n;
|
|
1626
|
-
return new
|
|
1626
|
+
return new E.Vector2().set(e.x / t * 2 - 1, -e.y / i * 2 + 1);
|
|
1627
1627
|
}
|
|
1628
1628
|
const hC = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbYAAAGwCAYAAADFUEBtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABtqADAAQAAAABAAABsAAAAABTZ8U6AAAtiklEQVR4Ae2dAXJbSbJdp+d7AfYSHOGVeAPek5fkNXgLjviLmRkZl+CRbtc8UBKRRalZpyIesiorMx/eIcjb+QCh//Y3hwQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkMEbgj7FKFpLA4QS+fPnyx23czJc//V498h2Oy8uXwDYCf/oF3HYWC0vgAAI3QfuP22V+uR35vYplrOsX/03w/kWAVgISmCPwX+ZKWUkCErgR+PvtiKjF9uj/iMx+C1/HOZeABJ4koLA9CdB0CRQBxKxFrLa/Tung7Ni+InEigTkCCtscSytJIATo2BC3dGYIWfvs2Hy9SGATAYVtE1jLHkkgohbxQsACgTkWn8IWEg4JbCCgsG2AasljCXArMgB6DpAWs3/i1EpAArMEFLZZnlY7m0C6snwyMuPqFiT+2Cvhi98hAQk8SUBhexKg6RIoAtyKjItbj1jCWGPxayUggSECCtsQSMtI4EYgYhVx624tYOK/8mXPIQEJDBNQ2IaBWu5oAnRh3GZkHSiIG8J3NCgvXgI7CShsO+la+zQCEa0ciBgWDlnji3VIQAIbCChsG6Ba8mgCdGSxjCsRu/IRr5WABJ4goLA9Ac9UCSwE6Nj6Y/0RsBxXviXdpQQkMEFAYZugaA0J3AnQhdG1xYsPccPKTAIS2ERAYdsE1rJHEohocQsy8xwZdGuse+8e4aMEJDBGQGEbQ2khCXz94AgCxkf8gwZf5u3P2iEBCQwSUNgGYVpKAjcC+eYRRKw7NeaBpLCFgkMCmwgobJvAWvZIAhE1bkUGAAK3zq/W8TkkIIEBAgrbAERLSOCVQISsPzgSd3x0a8xjczgkIIENBBS2DVAteSwBBGsVrV4zxx4LywuXwC4CCtsustY9kUDEio4t8/W9tO7cTuTjNUvgQwgobB+C2ZMcQoD317BX4kanhj0EjZcpgY8joLB9HGvP9PkJRKwiai1odm2f/+fuFf5mBBS23+wH4tP5yxPgViRdWy6I7iwihx/fX/6CvQAJ/G4EFLbf7Sfi8/krE+DfsEW0umvrOdensEFCK4FhAgrbMFDLHU0AQUO0sHRq3JaMdUhAApsIKGybwFr2SAIRsr7ViLAFRsSsha33su+QgASGCChsQyAtI4EbgYhabkdmRLi6M1uFbF2/JPkgAQk8T0Bhe56hFSQAgYgVHVt8iBsWX2zHZe2QgASGCChsQyAtI4EbgQhYjh6s23Yn17HOJSCBAQIK2wBES0jglUC6sBy8l9Zg8MUmBqHrGOcSkMAAAYVtAKIlJPBKIGLFsULBT7emsK2EXEtgiIDCNgTSMhK4EUC8EK0WsZ6zLzQJSGADAYVtA1RLHksggtUfCmkB63kAretjoXnhEpgmoLBNE7XeyQQQNrqzlUX22VPYVjquJTBEQGEbAmkZCdwI8KGQt0SLPazgJCCBYQIK2zBQyx1PgE9FAiICli4NG7+iFgoOCWwioLBtAmvZIwnw/hpfhsxtxxUGQrf6XUtAAgMEFLYBiJaQwCuBCBu/UxEvhG4F9NbeGutaAhL4SQL8Ev5kmuESkMAFgdxi5Fbko9uNj/wX5XRJQALvIaCwvYeaORK4JhBRQ7hi37rlSNx1Jb0SkMC7CShs70ZnogT+jUDEiiObLV6ZR+gYvYdPKwEJDBBQ2AYgWkICrwQQNUSsxWt9X633BCgBCQwSUNgGYVrqeAIRKz4wsgrX99bHwxOABKYIKGxTJK0jgfutx/XDI7zPxm1IBA4rNwlIYJiAwjYM1HJHE+DDIy1azLFHA/LiJfARBBS2j6DsOU4hEPFaOzauvTu3xCl0kNFKYJiAwjYM1HJHE0CwEC3W3IZE3AKJmKOBefES2EFAYdtB1ZqnEki3lq/TYiBkLWL4iNFKQALDBBS2YaCWO5oAHRoQ1tuSLWrZc0hAAhsIKGwboFryWAIRKwQLEYvYPZofC8oLl8BOAgrbTrrWPo1Ad2x0a2FwNe/bk6dx8nolsJWAwrYVr8UPIxCxomPj0hGw2O7c2NdKQALDBBS2YaCWO5pAxGsVsgbSe8x737kEJDBAQGEbgGgJCbwSSLdGx5bujPkKiM5t9buWgAQGCChsAxAtIYFXAmvH9gjMI8F7FK9fAhL4CQIK20/AMlQC3yEQYYto0ZHFZvRtR/bad4/yUQISGCGgsI1gtIgEXgjQsSFa2MaDD9t7ziUggQECCtsAREtI4JVAurUIFscVmKsu7ipOnwQk8E4CCts7wZkmgQcE8jvF7cYrEbvyPSilWwISeA8Bhe091MyRwDWBfE9kd2tXtxvxYa8r6ZWABN5NQGF7NzoTJfBvBBC1WDozgvC1ZU8rAQkMElDYBmFa6ngCES0+Fbl+pD9Chy9xORwSkMAGAgrbBqiWPJYAgoW4NQj24lu7uY5zLgEJPElAYXsSoOkSKAIRtO7KEDC6M9aJwVfpTiUggQkCCtsERWtI4E6gu7J4unPLHsKWPYUtFBwS2EBAYdsA1ZLHEohY0bFFxBC6R/NjQXnhEthJQGHbSdfapxFAyHLd3a09mp/Gx+uVwIcQUNg+BLMnOYRABIyOjUtmna6NW5HxeSsSQloJDBNQ2IaBWu54AnRtCFeLGbck/3WjxP7xwAQggWkCCts0UeudTCDfPJKjRwsYc76hpOOcS0ACQwQUtiGQlpHAjUCEK7cZ6cwChTmdG+KGTYxDAhIYJKCwDcK01PEEIlYcwEDAsKuftVYCEhgioLANgbSMBG4EHolad22JYS00CUhgAwGFbQNUSx5LILch+RRkQ6Bba8u845xLQAIDBBS2AYiWkMArgYhVv8fW76vRpeETmgQksImAwrYJrGWPJBBh4wiAtSt7a+9IYF60BHYQUNh2ULXmqQQQrti1M0Pk2GN9KiuvWwLbCChs29Ba+EACvMcWUVvfa+NWZLBE1BS2kHBIYAMBhW0DVEseTQDRamFrUcs8h0MCEthEQGHbBNayRxKImPGtIi1e3Z1l3kJ3JCgvWgI7CShsO+la+zQCb92KbBYKW9NwLoFhAgrbMFDLHU2A25DdoV0ByX7fqryK0ScBCbyTgML2TnCmSeCCAILVHRlzbNIyd0hAApsIKGybwFr2SALpwujaAED3ho1/jSFWKwEJDBBQ2AYgWkICrwRasBCytTvDLzQJSGATAYVtE1jLHkkgorW+d/ZIyNa4I4F50RLYQUBh20HVmqcSQNjo0rJmDpNHQse+VgISeJKAwvYkQNMlUATW99giao86MwWuwDmVwCQBhW2SprUk8OevyqKD+9cNDN1bW3lJQAIbCChsG6Ba8lgC6c440q0hYvk2Egb+7DkkIIENBBS2DVAteSyBiFVEbL0F2SKWPYcEJLCRgMK2Ea6ljyPQ3RoXH1HLgaAhco/eeyNPKwEJvJOAwvZOcKZJ4IIAYhW7Chni1vaihC4JSOBZAgrbswTNl8A3AhEtxI3ODCFLVPu+ZTmTgARGCShsozgtdjiBCBdHUKRruxKz9ifOIQEJDBJQ2AZhWup4AhGxdGyxLV6IG4CyXn3saSUggScJKGxPAjRdAkUgYsX7a9ySbIEjND6HBCSwiYDCtgmsZY8kQLfW3VjPgRLflZ99rQQk8AQBhe0JeKZK4IIAHRvCRceGTUrPL0rokoAEniGgsD1Dz1wJ/JnA2rGtnVm+Witj9d+9PkpAAiMEFLYRjBaRwAsBhC2W0d0Z++0jTisBCQwRUNiGQFpGAq8E8pVa6cgQLyyAWHOrEr9WAhIYIqCwDYG0jARuBNKR5Yh4ddeGiLUf3y3UIQEJTBJQ2CZpWut0AtxqjGjl6O6MOYwUNkhoJTBMQGEbBmq5owkgaIgWlk4NccMeDcuLl8AuAgrbLrLWPZEAtyK59ghbixjC1z5itRKQwBABhW0IpGUk8EqA99jo1uLuuaLmS0UCmwkobJsBW/4oAnRsES9Gd2nxIXJY4rQSkMAQAYVtCKRlJHAjgFjRtQVKfBE6fKyz55CABDYQUNg2QLXksQQiWhGwDESuhax9zO/RPkpAAmMEFLYxlBaSwIuYRbA4rpCke/N9tisy+iQwREBhGwJpGQncCETQeJ8tQHivLf51Hp9DAhLYQEBh2wDVkscSiFjlK7UYLV49Z18rAQlsIKCwbYBqyWMJRNT4kMgVhIhbd25XMfokIIEnCShsTwI0XQJFIMJFZ4Zlm/fV8PMhE/a1EpDAEAGFbQikZSRwIxDRWju2+CJq7Y8PgbtNHRKQwCQBhW2SprVOJ0AXhg0PRA02CBoWv1YCEhgioLANgbSMBG4EIlYRtVhuPcZm4LuvfJSABLYRUNi2obXwoQS45dhdG6IWmyMDe1/5KAEJjBFQ2MZQWkgCLx/1R7xi6dqYNyKFrWk4l8AgAYVtEKaljifQohYY3bVF5BA6bk8eD0wAEthBQGHbQdWaJxNAzBC5sEDQ6NxYn8zJa5fANgIK2za0Fj6QQIQrwhbbo9eZ/+t2tK9jnUtAAk8SUNieBGi6BIpARC3fPtIdGfPYDAQNe/f6KAEJjBFQ2MZQWkgCL6IVwWrRYo4Npv4+SbFJQALDBBS2YaCWO5rA+l2RLWbducXfe0dD8+IlME1AYZsmar2TCSBYV6KFD8uHTE7m5bVLYAsBhW0LVoseSmAVtn5fjXnQIG6HYvKyJbCXgMK2l6/VzyPQnVgLWM9DpePOo+QVS2AjAYVtI1xLH0cgYpWju7OGEHFjbxW6jnMuAQk8QUBhewKeqRJYCETUECwsIRG0+HIgbuxpJSCBQQIK2yBMS0ngRqA7NoQMMPmH2Rmr/+71UQISGCGgsI1gtIgEXghE1DJiW+BenLcH/vE2a60EJLCBgMK2AaoljyWQTqxFDaFrIN21td+5BCQwREBhGwJpGQncCCBsb91qpGtLjEMCEthAQGHbANWSxxJIh4aoxfIhkRaxK9+xwLxwCewgoLDtoGrNkwn090C2oMEkPm5H4tNKQAKDBBS2QZiWOp5Ad2x8vD9Q6NIyj7ARl7VDAhIYJqCwDQO13NEEEK1AoFuLqK0fImnROxqYFy+BHQQUth1UrXkqAYQN4cLGn3kGc4Tv7vVRAhIYI6CwjaG0kARe/p1aBKtFizk2mHouNglIYJiAwjYM1HLHE8htR7qzfi+tPzASYVPcjn+pCGAXAYVtF1nrnkiA99KwLV78+zW49B4+rQQkMEBAYRuAaAkJvBKIoHWXBhhEjK4ta3zEaCUggSECCtsQSMtI4JVAhC23IhE4bksiZr0WmgQksIGAwrYBqiWPJRDxQtgQstiIGevu2o4F5YVLYCcBhW0nXWufRgDxynX3e2qIXfzME+uQgAQ2EFDYNkC15LEEIlqrcCFgsd6GPPal4YV/JAGF7SNpe65TCETEELi+ZsWtaTiXwCYCCtsmsJY9kgCChqhh42f4HhsktBLYREBh2wTWskcSQNhyyzGiltGiljX+zB0SkMAGAscI25cvX/IHhj8y+ePCmj807QvqK3/7EkMNbO8zZ++RTdy6l9rk9/6Vb41lfRW7nidr6pPXMfERs+53feKI7Rr4Oqb3OX/73po/E881XFmeZyz7PA+ulfVqEx/ff3+1mSen31Pjk5F0bP/r9pr8H68x2SM2+6yxN9fX/9UN+T9iiaHO9+zVuR/l/ExsarwVv14fzxvLc2Dddt1jvdrkxIddz5l175PPua7W1GLvkU3tf77WJyY+ancd5uwnnnnb+FMzg5rYl7p//PEH9e9RBz3mF/CIUcLWfxjzyTXWWP4oscYmlr237Fs11zxi8zPIeTjXapPHf4QkJ4P42AxyqMm58K9xWa+xySEPS17Oj6/j2E8t/Fd1E7fmX8URs8ZTf/Wva/K7Nr63bNd/VLPzmV/FZi9HRvb5gxObwR8c/ohhs88c2778IYu/97LffzTZw2b/H7ej6/Temk9s/OQQv1rOu/rJw2afA99b9lHd9TzUbD/ztT6x+L8X92h/zU8cz5e9tsw7rmtnP/kZ8ffRudknjvNhqYcl78tN3DI/buSX7tTRf3xggC82Lwj+OF3tx3e1T+yP2h954fHHkfPFMu98fFfn5nrIJbbzH+Vx/t7vfObZT2zWnC++jPU8iem8xLSv89e4xDK6buJy/hw/Ovqcb51nrbcKZ+dSExZXNvU6Z62/ruGxXh/X/1YtePC8sDkHdcnnua7nz5o8LHWJpQZrLPGssWt8r3lexLYlLpbrz37W7K35+BOXwfpR/j3q22PHrfl93m8Z386Bjzhs/OvzJLZt4juO/B/l37WOmK9gPvtF8wLJdeaFwos1/gzWvIiIaU74Ov6t/MSxj8XH+fCzXm3iGZwfG3/nM8dSa81nPzYHce0nJxY/cdj2r/PEXMVR79Fe7yeGutjsM+Jb/dSNfZTfeeR3Xup3fmLyOiCPvcSR3zEdmzlHxxLfIpl6/Zx5TvFnsE5u1+rnc5Wf82cQh717v/m7bmIyOE/m5GGv4snDJi+j62TNPv5ex5d1DvaxxMXC+Tb9Wi/zq/yOoUbi1rqPfJ2feY/Uy0GtWHyJw48Pm72MrDPIyxxf5gzysPF37ayzhy/r4wYv9k9/4a8tef/A84Pnhx//jwziyMPiTw3q9rmofRXHXudSF9sxV3HU/dGf51r36rlyzr4ezt2245ivNjV4jn1u5uyteVn3Na1xa37WHMntedbkU3PNT8w6Eksce6yx1GUfm33yiY3lIK7zE5+jfcTFdp2sE8ugLjH4Y1MP/2qzT27mGTzv++r+yHMiljr4OzZz9vE/Wnc+tcnBJqbj4qfe6ienY/CRg43/rXzyiOm8dd5r8rDkZ524PvDFZvAzfVRvzb2q3b571YMeAfjpL/n1Pba+zrw4+OH3PDH9guo5+eRhOx9fYpljyWfvkZ+43ud5cK7ssc8eddtSizwsfmpc2fiI73N0/TUvex17lc8+ucRQt9f4YtfR+WvNxLKPJZ81ltzVEo9NfD+3zo8fMcDGx4Gva2VOjbbUwpe4+HqwF9t77WeePGJi8WOzz7xtzxOTQX722Mf3EvAakzn7+B+t33pu1CaGWmt9aseusexd5RLfMZyz49eanJ+/oeSvljxqYhPHQa2265w19ThP/PioHd/fTn1/LdfODyXzTz0e/JB5QeTae86Lpn0dgx+77nV+Yoh7ZJPfo/Px44td6xATyx4+1uRhiWW/4zlX7+HrOOarJfYqfz3/mpucNYY6jyznoxbrjseXmPaT05bYxBGb/cyzhw+bPQYxWWfOQU0sudi38rNHHpa678knB8u5Y+N7dA72yMOSx3rNz34G+6u97357TH5iOo6aiWp/1j2yR2zH4cNmjwMfdXpNjfYRxx7r2PgSu+7hwxIb26PzMl/XV8+j8zN/ibn4j/k17tOujxG2+lQkP8x8goixvlh4MeHHrvHxc/Re56/7iVvrxUdOz78Xl1gG+Vc5xMQmjueExR8bH7WyZsTX/vU87LW/5+THwj77HFf5OTf7mTPwYePPnLHWyh7nJ2a12adG5+MjvuPwJSZHrquvjXUsMV375r48Z/xdJ2tG51Mztv3MyYmND3/i19F7PeccxLPHOpZ6WGLIxU9O+5l3nc7HH9/qp17s1R7njWUfy3mJaT/ztX77yefnxB7noi412Mfix+LvPM7RPuLIi+39rK9i4j9mHCNsrz9RXihZXv3wr3zJwc8LiHUs80c128/51xz8if3e4DkQl1rk9x7naB9x2euDWm2pm1/crtX1Et97VzWJ59ysySW/1+27On+fp2NT42oQc/UcEo+fuK7B3vfisr/m57nnWGskltE5mRPLnDhs9nsQv/qpiz+Wj4uzlzqchzhq95r4+NpPPjnEscbih0XWfaxxrGNzPvI5P+uOy/yqJn5ief5Xsfg6h3jOzZrY2Az899WfnzP71CAmlvz2vVVr3eu8P80f3KX6U8xnXZwmbPk58kLqF8jqYy/+HPmFzFjj7t5/93c+MdjUyD4xsWtd9vAnt+dZM9b8R3Hx9x5/ZDgXlpi1LudjnzV5WfOHE1+fkzwsTK/Oc5XP+ZLPfizz7HfNrDlX5gzyk0c8cdTC4k9ufBzkxZ9BXPyJiSWG9ZVdfc0ve9S9Tb/O8WU/R0b77p5ve71+FNf+zHnu+FMj817Hl5HnjJ/ng8WfOOax7MefwR7+Pv8av66JTS75WOq+nOT1AR/xxGabeWoyf037+hy/l8/+Vd66lxjOg01Mz7vOVX728ZP3Yr0VCbozLD98XgyPrjpxxK4x5LKPTVz2Hu3jX+utecRR961fNGr1eeMjl3mv4+McmWes67v3/sgfj6yos8ZzfvZjmd+r3B/xJT5zbMdk3vmcfz1n4lZf53Eu7NW5spf62buqdXN/vY7OJy+5OThH4vGtlpyOTXwG58fevffHxJPDudbnSt7qT4Xk9CD2ytexnLPPT05qJPbqfPg6n1h8qdPzrMlj72q/fT3v3DU/cVwXOcRjk3M12CcPi5+crNtHHPucn3XHxtfrnmcvtdZ6iemaWZOHvbnOHEcBuP0XTDpUXgBYutZ13X7y2kf8lU3cz8RSI69C8mLxY/FdxcXXcdTBh1391GT/LftWLM+J/D7P1RzfWzUf1cLfdj0/e12fmCvb8ez3c4yPmNWy9z9vk/+WxW2Qmz9Iicfyx+g/b77/9+rnD9dqb9tf/3iRF9txicn60X7HMu9Y8qlBzCOb+OSvz+Mqntiuje+RvapDfnJ6/3vPoc+RzjK5Gev1v1Vnje3zrx127/U85/zR8/dzuXquXZfzr8+R9bHfPMLXNAXgpx+3e878wD/9tXqBH0/g9h9O//d21v96O/LHpwfr2LwGI3T/5/Z6/N8d5FwCEpghcJSwzSCzigQeEmjhajFLAl1b/BwPC7khAQm8n4DC9n52ZkpgJYBgxUbIesSXQcx95aMEJDBOQGEbR2rBwwlwu/vqPbagQfQQusNxefkSmCegsM0zteK5BOjGrsQLISPmXEpeuQQ2E1DYNgO2/FEE0q3RsWEDIPN+jy0+hC5zhwQkMEhAYRuEaanjCXQ31mIWMAjZao+HJgAJTBNQ2KaJWu9kAhEtOrV0aHRpfJCkhQ+BO5mX1y6BLQQUti1YLXoogVW4ELTg6D3Wh2LysiWwl4DCtpev1c8ikG5tvQWZT0ciarF0cZk7JCCBDQQUtg1QLXk0gQgW4hYQfO1Ri9rRgLx4CewmoLDtJmz9kwhExBC12Aw6tPvq/hiRs2NrIs4lMEhAYRuEaanjCSBYLVrrPOsrsTsengAkMEVAYZsiaR0J/Pt7aWGCkPU83VwLXvYcEpDAEAGFbQikZSRwIxCx4hZkC9c677XgJCCBYQIK2zBQyx1NIKKW99lyqzFHRkSMW4/47Nhe0PgggT0EFLY9XK16JoGIGN0YNiSYt2V+JimvWgIbCShsG+Fa+jgCEat0Y2vHFhB0bYlhHr9DAhIYJqCwDQO13NEEIlociFvWDPZ4Hw6/VgISGCSgsA3CtNTxBHjvDDHjW0cicuxlnkHMfeWjBCQwRkBhG0NpIQm8EOhu7B83D0IGHgQNi18rAQkMEVDYhkBaRgI3AhG1FjagRMQicG0VNuhoJTBMQGEbBmq5owlErFbBYr3ao0F58RLYSUBh20nX2qcRQNhi6dDCgDk2vqvOLn6HBCTwJAGF7UmApkugCETQECw6tGwzx1aKUwlIYJqAwjZN1HonE+A9tu7M4IEPiwCyr5WABIYIKGxDIC0jgRuBiFW6sqvODB9WYBKQwCYCCtsmsJY9kkBEK+JGVxYIzGMZCCBrrQQkMEhAYRuEaanjCUTY8iXI/3E76MxWG0jx4c/aIQEJDBJQ2AZhWup4AnRi+YfZ+daRq5GYDIXtzsFHCYwTUNjGkVrwcAII1ipu+GP7tuThuLx8CcwTUNjmmVrxXALpxujIIl65LZnB+2zM6exeNn2QgARmCShsszytdjaBdGPdmdGdtY9uDd/ZxLx6CWwgoLBtgGrJYwlErLpjy3oVsKy7gzsWlhcugV0EFLZdZK17IoEWslXQmgfi1z7nEpDAEAGFbQikZSRwI8B7Z4jaVWfmrUhfKhLYTEBh2wzY8kcRiKB1N5Y5QgYIRA+LXysBCQwRUNiGQFpGAjcCq7ABJX66N2wLIHFaCUhggIDCNgDREhJ4JcCtyAZCZ7bajnEuAQkMElDYBmFa6ngCEbb827V0ZXRmgZI5IwLHgU8rAQkMElDYBmFa6ngCCFYErr9Si24tgJhjj4cmAAlME1DYpola72QCESveO+NbRx7xUNgekdEvgScJKGxPAjRdAkUgYsXRtx8TEv/qi98hAQkME1DYhoFa7mgCES86tsyvBn7sVYw+CUjgCQIK2xPwTJXAQgBhozNDvFgjelmzt5RwKQEJPEtAYXuWoPkS+EYgwhXBQrQQsKyZJ7pjsnZIQAKDBBS2QZiWOp5ACxZiFiiP5scDE4AEdhBQ2HZQteapBCJgfbvxrXliHRKQwAYCCtsGqJY8lkDECsFi3rcgA6b3jwXlhUtgJwGFbSdda59GIP92rbs0xG3lsIrduu9aAhJ4goDC9gQ8UyWwEIiQRdzyrSN0ZkvIyzIxb+1f5eiTgAR+kIDC9oOgDJPADxCgQ+NbR1aBazHr+Q+UNkQCEvhRAgrbj5IyTgLfJ4CwxeZ24z9eU7j1iI1bYXuFo5HANAGFbZqo9U4mELHiPbYWLubYMOr5ycy8dgmME1DYxpFa8GACEasIG51ZbEaLGL77jo8SkMA4AYVtHKkFDyYQUYuIIWTYRoIP23vOJSCBAQIK2wBES0jglUDEahWsrOngEkbHtsZlzyEBCQwQUNgGIFpCAq8EIlZ9KxIwq4hlvfqI1UpAAk8SUNieBGi6BIoAgoW41daLkHXn1nvOJSCBQQIK2yBMSx1PIIKWI+OtjgwBvEf6KAEJjBJQ2EZxWuxwAqtgIW68r4boZc38cGRevgTmCShs80yteC6BfONIDoSMW48RuJ6fS8grl8AHEFDYPgCypziGAB1bd2P5Wi3WiFuA0M0dA8cLlcBHEVDYPoq05zmFACLG9fK9kVm3mPWcWK0EJDBAQGEbgGgJCbwSiKjRtdGdxTIQM/bwayUggUECCtsgTEsdTyDCxXtsiBg2cDJX1ELCIYGNBBS2jXAtfRwBRCy2Ray7Nm5VEnscJC9YArsJKGy7CVv/JAIRK4Qr1414YWFh1wYJrQQ2EFDYNkC15LEEImAcLV7dsWW/946F5YVLYBcBhW0XWeueSCDdGh1bd2k9DxfE70RGXrMEthNQ2LYj9gQHEYhgRdjoyK46tYNweKkS+DUEFLZfw92zfk4C+UQk3VhEje6Nq6Vz686OPa0EJDBEQGEbAmkZCdwI0LHF5htHMjLvDg6xQ+RegnyQgATmCChscyytJIEQ4N+x0b1d3Y5U1HytSGAjAYVtI1xLH0eAbgxLpxYQiFl3cMcB8oIl8BEEFLaPoOw5TiEQ0aJjyzUjZuv1x/9ob411LQEJ/CQBhe0ngRkugTcIrIKFeHXnlvR1/UZJtyQggZ8loLD9LDHjJfCYQG5BruKWaASOzHWNXysBCQwQUNgGIFpCAq8EELVHwtWd2qMYYUpAAk8SUNieBGi6BIpAxIoPjpT767TFrOdfA5xIQALPE1DYnmdoBQlAIGLFQXcWy0DM2MOvlYAEBgkobIMwLXU8gQhXd2yI3ArmkX+Ncy0BCbyDgML2DmimSOABgXzUP0e+dSQCR2e2dm0K2w2OQwK7CChsu8ha90QCCNY/bhePmCFudHL4E+uQgAQ2EFDYNkC15NEEELBAQLwQt/YdDcmLl8BOAgrbTrrWPo1ARK1vQXL97UPkED1itBKQwBABhW0IpGUkcCPArUhECxELHHzMex2fQwISGCKgsA2BtIwEbgTSmSFuiFrWmTPYV9ggopXAMAGFbRio5Y4msIpWi1fPj4bkxUtgNwGFbTdh659EIOKVri0DkaNzu3u/PSp031g4k8AoAYVtFKfFDieAmCFaLWr4gqj9hyPz8iUwT0Bhm2dqxXMJRLzo2EKhxaypxP9or+OcS0AC7yCgsL0DmikSeEAg3zrCR/sTgnitHdq6flBOtwQk8B4CCtt7qJkjgWsCETI+GZmv1WIgcFlnzsG+VgISGCSgsA3CtNTxBBC2gEj35pCABH4BAYXtF0D3lJ+WAN1aBC63GzOYY/H1e3EvgT5IQAIzBBS2GY5WkQAEImAc7cs8fkbP8WklIIEBAgrbAERLSOCVQMSKW5DdsWWbD4ys/tdUjQQkMEVAYZsiaR0JfPvgSFhE5BAz2MRnpwYNrQQ2EVDYNoG17JEE1vfYELIIHO+p2bEd+dLwoj+SgML2kbQ91wkEELBca3dnzLEnsPAaJfBLCChsvwS7J/2kBCJaEbb1FmT72FPgPumLwMv69QQUtl//M/AZfB4CESsEKxYRyxXiZ97r+BwSkMAQAYVtCKRlJHAjkE9ERrAQLea8rxZI+PqWZfwOCUhgiIDCNgTSMhK4EYho8XH/ALkStPgdEpDARgIK20a4lj6OQLqwfj+tAXBbEktX1zHOJSCBAQIK2wBES0igCHCrsVwvU4RstWucawlI4EkCCtuTAE2XQBG46tjo0LwtWaCcSmAnAYVtJ11rn0agu7W1M2N9GhOvVwIfTkBh+3DknvATE0DYeJ/t0aUmLjEOCUhgAwGFbQNUSx5LoAXLDu3Yl4EX/qsJKGy/+ifg+T8TgXRhdG28p5b1+j4bMZ/p2r0WCfw2BBS23+ZH4RP5BAQQLGwuKaLGrcm+/ZgYhwQksIGAwrYBqiWPJRCxyj/QplsLCEQNseu97DskIIFhAgrbMFDLHU0gIpbj77cjQsYtSOY318s+cVk7JCCBYQIK2zBQyx1NIIIVEfvHKwWEraHQsSXOIQEJbCCgsG2AasmjCUTcGJkjZPgUNEhoJbCJgMK2CaxljySw3mKkY+NWZFsF7siXiBf9EQQUto+g7DlOIRCxasG6muPDnsLG65TAhxFQ2D4MtSc6gEDEioNuLZfdtyMRNOwBWLxECXwsAYXtY3l7ts9NIGLFe2wtXD3/3AS8Ogn8BgQUtt/gh+BT+DQEELa1W4sfH1ax+zQ/di/kdyOgsP1uPxGfz1+ZQLq1CNYqWu1jD/tXvl6fuwR+SwIK22/5Y/FJ/UUJRKz6I/5Z06HFMuJX2KChlcAwAYVtGKjljieAYD2yAGKftVYCEhgioLANgbSMBG4E8o0j/E7la7XWwQdL4lfYVjquJTBEgF/CoXKWkcDxBBCsiBy3H+Nb58QdD0wAEpgmoLBNE7XeyQTSkdGV8d4aotZ+5iez8tolsI2AwrYNrYUPJBARoxPDBsPVvH0HovKSJbCPgMK2j62VzyMQsaIbo2O7ovDW3lW8PglI4CcIKGw/ActQCXyHQISNTgx7ldJxV/v6JCCBJwgobE/AM1UCC4F0ay1adGbYhGee8Zbw3SN8lIAE3kVAYXsXNpMkcEkgYsWtyAQgXtj2Ze6QgAQ2EFDYNkC15LEEEDY6tO7O2pe4FrtjgXnhEthBQGHbQdWapxJAsFq0mGPDhrhTOXndEthKQGHbitfihxH45+168zsV4UqHxm1JOreb68WnsIWEQwKbCChsm8Ba9lgCEbceiFxsBiLH+u71UQISGCOgsI2htJAEXrqxdGm8nwaSVcSyXn3EaiUggScJKGxPAjRdAkUAwULcauvr7UkEDdsxziUggQECCtsAREtI4JVAxIr31d4Sruy9tS9QCUjgCQIK2xPwTJXAQmAVLMSL99UQPdZLuksJSGCCgMI2QdEaErgTWG9B8l5bBI55IlcBvGf7KAEJjBBQ2EYwWkQCLwRasBCzbFzN43NIQAIbCChsG6Ba8lgCCBtCxjrdWt+GZH4sKC9cAjsJKGw76Vr7NAIRMkQrc8bVvH3EaSUggQECCtsAREtI4JVAC1u/p7YCemtvjXUtAQn8JAGF7SeBGS6BNwjkW0f+/rof8boaVx3dVZw+CUjgnQQUtneCM00CFwS6Y7vY/uqyY/uKwokE5gkobPNMrXguAd43i23x6u5t3TuXllcugU0EFLZNYC17JIGIVosbEPD1evWxp5WABJ4koLA9CdB0CRQBhI1u7apTq3CnEpDADgIK2w6q1jyVQH8wJKLGunnYqTUN5xLYQEBh2wDVkscSaNF6mf/xxx9fbuNm7vZYMl64BCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQn8NQn8fyHnyuSABiy2AAAAAElFTkSuQmCC", K1 = "data:image/png;base64,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", uC = "data:image/png;base64,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", dC = `
|
|
1629
1629
|
<style>
|
|
@@ -1716,48 +1716,48 @@ void main() {
|
|
|
1716
1716
|
}
|
|
1717
1717
|
`;
|
|
1718
1718
|
function mC() {
|
|
1719
|
-
const e = new
|
|
1720
|
-
t.encoding =
|
|
1721
|
-
const i = new
|
|
1719
|
+
const e = new E.PlaneGeometry(0.4, 0.4), n = hC, t = new E.TextureLoader().load(n);
|
|
1720
|
+
t.encoding = E.sRGBEncoding, t.minFilter = E.LinearFilter;
|
|
1721
|
+
const i = new E.MeshBasicMaterial({
|
|
1722
1722
|
map: t,
|
|
1723
1723
|
transparent: !0,
|
|
1724
1724
|
depthTest: !1
|
|
1725
1725
|
});
|
|
1726
|
-
return new
|
|
1726
|
+
return new E.Mesh(e, i);
|
|
1727
1727
|
}
|
|
1728
1728
|
function gC() {
|
|
1729
|
-
const e = new
|
|
1730
|
-
e.add(new
|
|
1731
|
-
const n = new
|
|
1729
|
+
const e = new E.CurvePath();
|
|
1730
|
+
e.add(new E.LineCurve3(new E.Vector3(0, 0, 0), new E.Vector3(0, 0, 0.1)));
|
|
1731
|
+
const n = new E.TubeGeometry(e, 8, 3e-3), t = new E.ShaderMaterial({
|
|
1732
1732
|
vertexShader: fC,
|
|
1733
1733
|
fragmentShader: pC,
|
|
1734
1734
|
depthTest: !1,
|
|
1735
1735
|
transparent: !0
|
|
1736
1736
|
});
|
|
1737
|
-
return new
|
|
1737
|
+
return new E.Mesh(n, t);
|
|
1738
1738
|
}
|
|
1739
1739
|
function vC() {
|
|
1740
|
-
const e = new
|
|
1740
|
+
const e = new E.SphereGeometry(0.01, 20, 20), n = new E.MeshBasicMaterial({
|
|
1741
1741
|
color: 10349931,
|
|
1742
1742
|
depthTest: !1,
|
|
1743
1743
|
transparent: !0,
|
|
1744
|
-
side:
|
|
1745
|
-
}), t = new
|
|
1744
|
+
side: E.DoubleSide
|
|
1745
|
+
}), t = new E.Mesh(e, n);
|
|
1746
1746
|
return t.position.set(0, 0, 0.1), t;
|
|
1747
1747
|
}
|
|
1748
1748
|
function yC() {
|
|
1749
1749
|
const n = new lx({
|
|
1750
1750
|
pointerEvents: "none",
|
|
1751
1751
|
cornerPoints: [
|
|
1752
|
-
new
|
|
1753
|
-
new
|
|
1754
|
-
new
|
|
1755
|
-
new
|
|
1752
|
+
new E.Vector3(-0.2, 0.2, 0),
|
|
1753
|
+
new E.Vector3(-0.2, -0.2, 0),
|
|
1754
|
+
new E.Vector3(0.2, -0.2, 0),
|
|
1755
|
+
new E.Vector3(0.2, 0.2, 0)
|
|
1756
1756
|
]
|
|
1757
1757
|
}), t = document.createElement("div");
|
|
1758
1758
|
return t.style.width = "100%", t.style.height = "100%", t.style.backgroundImage = `url(${K1})`, t.style.backgroundSize = "100%", t.style.backgroundRepeat = "no-repeat", n.container.appendChild(t), n;
|
|
1759
1759
|
}
|
|
1760
|
-
class ew extends
|
|
1760
|
+
class ew extends E.Object3D {
|
|
1761
1761
|
constructor(t) {
|
|
1762
1762
|
super();
|
|
1763
1763
|
v(this, "planeMesh");
|
|
@@ -1769,7 +1769,7 @@ class ew extends C.Object3D {
|
|
|
1769
1769
|
updateWithIntersect(t) {
|
|
1770
1770
|
if (!t.face)
|
|
1771
1771
|
return;
|
|
1772
|
-
const i = new
|
|
1772
|
+
const i = new E.Vector3().addVectors(t.point, t.face.normal);
|
|
1773
1773
|
this.position.copy(t.point), this.lookAt(i);
|
|
1774
1774
|
}
|
|
1775
1775
|
show() {
|
|
@@ -21284,7 +21284,7 @@ class Kw extends En {
|
|
|
21284
21284
|
const Sc = (e, n) => {
|
|
21285
21285
|
if (!n)
|
|
21286
21286
|
return e;
|
|
21287
|
-
const t = new
|
|
21287
|
+
const t = new E.Vector3(), i = new E.Quaternion(), r = new E.Vector3();
|
|
21288
21288
|
return n.decompose(t, i, r), e.clone().multiply(r).applyQuaternion(i).add(t);
|
|
21289
21289
|
}, qf = /* @__PURE__ */ new Map();
|
|
21290
21290
|
class oT extends Kw {
|
|
@@ -21327,7 +21327,7 @@ class oT extends Kw {
|
|
|
21327
21327
|
get transform() {
|
|
21328
21328
|
var i, r, s, o;
|
|
21329
21329
|
const t = (o = (i = this.work) == null ? void 0 : i.transform) != null ? o : (s = (r = this.work) == null ? void 0 : r.options) == null ? void 0 : s.transform;
|
|
21330
|
-
return t ? t.clone() : new
|
|
21330
|
+
return t ? t.clone() : new E.Matrix4();
|
|
21331
21331
|
}
|
|
21332
21332
|
/**
|
|
21333
21333
|
* @description 获取全景点坐标
|
|
@@ -21377,7 +21377,7 @@ class Td extends Kw {
|
|
|
21377
21377
|
return this.five.moveToPano(r, i);
|
|
21378
21378
|
}
|
|
21379
21379
|
}
|
|
21380
|
-
const ss = new
|
|
21380
|
+
const ss = new E.Raycaster();
|
|
21381
21381
|
ss.params.Points.threshold = 0.02;
|
|
21382
21382
|
function nd(e, n) {
|
|
21383
21383
|
if (!n || typeof ResizeObserver == "undefined" || !ResizeObserver)
|
|
@@ -21393,7 +21393,7 @@ function nd(e, n) {
|
|
|
21393
21393
|
};
|
|
21394
21394
|
}
|
|
21395
21395
|
}
|
|
21396
|
-
const ny = "LightTagContainer_shgjakdhwakjdhsja", aT = new
|
|
21396
|
+
const ny = "LightTagContainer_shgjakdhwakjdhsja", aT = new E.Vector2();
|
|
21397
21397
|
class Gs {
|
|
21398
21398
|
constructor(n, t, i) {
|
|
21399
21399
|
v(this, "container");
|
|
@@ -21521,10 +21521,10 @@ function iy(e) {
|
|
|
21521
21521
|
const t = e;
|
|
21522
21522
|
t.dom && t.dom instanceof Gs && t.dom.destroy(), e.areaDom instanceof Gs && e.areaDom.destroy();
|
|
21523
21523
|
}
|
|
21524
|
-
function vg(e) {
|
|
21524
|
+
function vg(e, n) {
|
|
21525
21525
|
if (!document.getElementById("LineLengthTagStyle")) {
|
|
21526
|
-
const
|
|
21527
|
-
|
|
21526
|
+
const i = document.createElement("style");
|
|
21527
|
+
i.id = "LineLengthTagStyle", document.head.appendChild(i), i.innerHTML = `
|
|
21528
21528
|
.LineLengthTag {
|
|
21529
21529
|
position: absolute;
|
|
21530
21530
|
pointer-events: none;
|
|
@@ -21547,7 +21547,7 @@ function vg(e) {
|
|
|
21547
21547
|
`;
|
|
21548
21548
|
}
|
|
21549
21549
|
return `
|
|
21550
|
-
<div class="LineLengthTag">
|
|
21550
|
+
<div class="LineLengthTag" style="${n.style}">
|
|
21551
21551
|
<div>${e}</div>
|
|
21552
21552
|
<div>${e}</div>
|
|
21553
21553
|
</div>
|
|
@@ -21565,7 +21565,7 @@ class ry extends xC {
|
|
|
21565
21565
|
var i, r;
|
|
21566
21566
|
super(t);
|
|
21567
21567
|
v(this, "_three_color");
|
|
21568
|
-
|
|
21568
|
+
bt(t == null ? void 0 : t.color) && (this.three_color = (i = t == null ? void 0 : t.color) != null ? i : 16777215), Object.keys(t).forEach((s) => {
|
|
21569
21569
|
["color", "dashed", "dashScale", "dashSize", "gapSize", "resolution"].includes(s) || s in this && (this[s] = t[s]);
|
|
21570
21570
|
}), this.setDashed((r = t == null ? void 0 : t.dashed) != null ? r : !1);
|
|
21571
21571
|
}
|
|
@@ -21601,14 +21601,14 @@ class Oi extends ti {
|
|
|
21601
21601
|
v(this, "_visible", !0);
|
|
21602
21602
|
this.paramsStyle = t != null ? t : {};
|
|
21603
21603
|
const i = new Gl(), r = new ry({
|
|
21604
|
-
color: new
|
|
21604
|
+
color: new E.Color((o = t == null ? void 0 : t.lineColor) != null ? o : xv),
|
|
21605
21605
|
linewidth: (a = t == null ? void 0 : t.lineWidth) != null ? a : AC,
|
|
21606
21606
|
dashScale: 40,
|
|
21607
21607
|
opacity: (l = t == null ? void 0 : t.opacity) != null ? l : 1,
|
|
21608
21608
|
transparent: !0,
|
|
21609
21609
|
dashed: (c = t == null ? void 0 : t.dashed) != null ? c : !1
|
|
21610
21610
|
}), s = new ry({
|
|
21611
|
-
color: new
|
|
21611
|
+
color: new E.Color((h = t == null ? void 0 : t.lineColor) != null ? h : xv),
|
|
21612
21612
|
linewidth: r.linewidth * 0.9,
|
|
21613
21613
|
dashScale: r.dashScale,
|
|
21614
21614
|
opacity: r.opacity * 0.7,
|
|
@@ -21648,7 +21648,7 @@ class Oi extends ti {
|
|
|
21648
21648
|
}
|
|
21649
21649
|
get color() {
|
|
21650
21650
|
var t;
|
|
21651
|
-
return new
|
|
21651
|
+
return new E.Color((t = this.line.material.three_color) != null ? t : this.paramsStyle.lineColor);
|
|
21652
21652
|
}
|
|
21653
21653
|
get dashed() {
|
|
21654
21654
|
var t;
|
|
@@ -21672,7 +21672,7 @@ class Oi extends ti {
|
|
|
21672
21672
|
}
|
|
21673
21673
|
}
|
|
21674
21674
|
setPoints(t) {
|
|
21675
|
-
const i = t.map(Ft).filter(
|
|
21675
|
+
const i = t.map(Ft).filter(bt);
|
|
21676
21676
|
if (this.points = i, i.length < 2) {
|
|
21677
21677
|
this.line.geometry = new Gl(), this.backLine.geometry = this.line.geometry, this.updateDomItems();
|
|
21678
21678
|
return;
|
|
@@ -21689,7 +21689,7 @@ class Oi extends ti {
|
|
|
21689
21689
|
}
|
|
21690
21690
|
setStyle(t) {
|
|
21691
21691
|
var s, o, a;
|
|
21692
|
-
this.paramsStyle = R(R({}, this.paramsStyle), t),
|
|
21692
|
+
this.paramsStyle = R(R({}, this.paramsStyle), t), bt(t.lineColor) && (this.line.material.three_color = new E.Color(t.lineColor), this.backLine.material.three_color = new E.Color(t.lineColor)), bt(t.lineWidth) && (this.line.material.linewidth = t.lineWidth), bt(t.dashed) && this.line.material.setDashed(t.dashed), bt(t.opacity) && (this.line.material.opacity = t.opacity, this.backLine.material.opacity = this.line.material.opacity * 0.7), this.updateDomItems();
|
|
21693
21693
|
const i = (s = t.occlusionVisibility) != null ? s : this.paramsStyle.occlusionVisibility, r = (a = (o = t.occlusionMode) != null ? o : this.paramsStyle.occlusionMode) != null ? a : "translucence";
|
|
21694
21694
|
i ? r === "depthTest" ? (this.line.material.depthTest = !1, this.backLine.visible = !1) : r === "translucence" && (this.line.material.depthTest = !0, this.backLine.visible = !0, this.line.material.opacity === 1 ? this.backLine.material.setDashed(!0) : this.backLine.material.setDashed(this.line.material.dashed)) : (this.line.material.depthTest = !0, this.backLine.visible = !1), this.needsRender = !0;
|
|
21695
21695
|
}
|
|
@@ -21710,7 +21710,7 @@ class Oi extends ti {
|
|
|
21710
21710
|
const i = this.points.map((r, s) => {
|
|
21711
21711
|
if (s !== 0)
|
|
21712
21712
|
return [this.points[s - 1], r];
|
|
21713
|
-
}).filter(
|
|
21713
|
+
}).filter(bt).map((r) => Tc(this, r));
|
|
21714
21714
|
i.forEach(([r, s], o) => {
|
|
21715
21715
|
var c;
|
|
21716
21716
|
const a = lr(r, s);
|
|
@@ -21719,7 +21719,10 @@ class Oi extends ti {
|
|
|
21719
21719
|
return h.intersectCheck = !1, h.simulate3D = !0, h;
|
|
21720
21720
|
})(), this.doms[o].setPosition(a, [r, s]);
|
|
21721
21721
|
const l = (h) => {
|
|
21722
|
-
|
|
21722
|
+
var u;
|
|
21723
|
+
this.doms[o].__text !== h && (this.doms[o].__text = h, h ? this.doms[o].container.innerHTML = vg(h, {
|
|
21724
|
+
style: `color: #${bt((u = this.style) == null ? void 0 : u.lineColor) ? new E.Color(this.style.lineColor).getHexString() : "ffffff"}`
|
|
21725
|
+
}) : this.doms[o].container.innerHTML = "");
|
|
21723
21726
|
};
|
|
21724
21727
|
if (this.paramsStyle.tip)
|
|
21725
21728
|
l(this.paramsStyle.tip);
|
|
@@ -21778,7 +21781,7 @@ void main() {
|
|
|
21778
21781
|
`
|
|
21779
21782
|
);
|
|
21780
21783
|
function dT() {
|
|
21781
|
-
const n = new
|
|
21784
|
+
const n = new E.CircleGeometry(0.2, 64), t = new E.ShaderMaterial({
|
|
21782
21785
|
uniforms: {
|
|
21783
21786
|
borderWidth: { value: 0.01 },
|
|
21784
21787
|
radius: { value: 0.2 }
|
|
@@ -21787,16 +21790,16 @@ function dT() {
|
|
|
21787
21790
|
fragmentShader: uT,
|
|
21788
21791
|
depthTest: !1,
|
|
21789
21792
|
transparent: !0,
|
|
21790
|
-
blending:
|
|
21791
|
-
blendEquation:
|
|
21792
|
-
blendSrc:
|
|
21793
|
-
blendDst:
|
|
21794
|
-
blendDstAlpha:
|
|
21793
|
+
blending: E.CustomBlending,
|
|
21794
|
+
blendEquation: E.AddEquation,
|
|
21795
|
+
blendSrc: E.DstColorFactor,
|
|
21796
|
+
blendDst: E.SrcAlphaFactor,
|
|
21797
|
+
blendDstAlpha: E.DstAlphaFactor
|
|
21795
21798
|
});
|
|
21796
|
-
return new
|
|
21799
|
+
return new E.Mesh(n, t);
|
|
21797
21800
|
}
|
|
21798
21801
|
function fT() {
|
|
21799
|
-
const n = new
|
|
21802
|
+
const n = new E.Group(), t = {
|
|
21800
21803
|
lineWidth: 1,
|
|
21801
21804
|
lineColor: 3407837,
|
|
21802
21805
|
opacity: 0.7,
|
|
@@ -21805,33 +21808,33 @@ function fT() {
|
|
|
21805
21808
|
return n.add(i, r), n;
|
|
21806
21809
|
}
|
|
21807
21810
|
function pT(e) {
|
|
21808
|
-
const n = new
|
|
21809
|
-
n.add(new
|
|
21810
|
-
const t = new
|
|
21811
|
+
const n = new E.CurvePath();
|
|
21812
|
+
n.add(new E.LineCurve3(new E.Vector3(0, 0, 0), new E.Vector3(0, 0, e)));
|
|
21813
|
+
const t = new E.TubeGeometry(n, 32, 3e-3), i = new E.MeshBasicMaterial({
|
|
21811
21814
|
color: 10994687,
|
|
21812
21815
|
depthTest: !1,
|
|
21813
21816
|
transparent: !0
|
|
21814
21817
|
// 必须要开启透明度,要和PlaneMesh一起渲染
|
|
21815
21818
|
});
|
|
21816
|
-
return new
|
|
21819
|
+
return new E.Mesh(t, i);
|
|
21817
21820
|
}
|
|
21818
21821
|
function mT() {
|
|
21819
|
-
const e = new
|
|
21822
|
+
const e = new E.RingGeometry(0.03, 0.035, 64), n = new E.MeshBasicMaterial({
|
|
21820
21823
|
color: 16777215,
|
|
21821
21824
|
depthTest: !1,
|
|
21822
21825
|
transparent: !0
|
|
21823
21826
|
// 必须要开启透明度,要和PlaneMesh一起渲染
|
|
21824
21827
|
});
|
|
21825
|
-
return new
|
|
21828
|
+
return new E.Mesh(e, n);
|
|
21826
21829
|
}
|
|
21827
21830
|
function gT() {
|
|
21828
|
-
const e = new
|
|
21831
|
+
const e = new E.SphereGeometry(0.018, 32, 32), n = new E.MeshBasicMaterial({
|
|
21829
21832
|
color: 5085183,
|
|
21830
21833
|
depthTest: !1,
|
|
21831
21834
|
transparent: !0
|
|
21832
21835
|
// 必须要开启透明度,要和PlaneMesh一起渲染
|
|
21833
21836
|
});
|
|
21834
|
-
return new
|
|
21837
|
+
return new E.Mesh(e, n);
|
|
21835
21838
|
}
|
|
21836
21839
|
function vT() {
|
|
21837
21840
|
const e = document.createElement("img");
|
|
@@ -21839,7 +21842,7 @@ function vT() {
|
|
|
21839
21842
|
const n = new cT(e);
|
|
21840
21843
|
return e.style.pointerEvents = "none", n.scale.set(3e-3, 3e-3, 3e-3), n;
|
|
21841
21844
|
}
|
|
21842
|
-
class yT extends
|
|
21845
|
+
class yT extends E.Object3D {
|
|
21843
21846
|
constructor(t) {
|
|
21844
21847
|
super();
|
|
21845
21848
|
v(this, "planeMesh");
|
|
@@ -21856,8 +21859,8 @@ class yT extends C.Object3D {
|
|
|
21856
21859
|
return;
|
|
21857
21860
|
const i = (() => {
|
|
21858
21861
|
const s = t.face.normal.clone().normalize();
|
|
21859
|
-
return s.y > 0.99 ? new
|
|
21860
|
-
})(), r = new
|
|
21862
|
+
return s.y > 0.99 ? new E.Vector3(0, 1, 0) : s.y < -0.99 ? new E.Vector3(0, -1, 0) : s.x > 0.99 ? new E.Vector3(1, 0, 0) : s.x < -0.99 ? new E.Vector3(-1, 0, 0) : s.z > 0.99 ? new E.Vector3(0, 0, 1) : s.z < -0.99 ? new E.Vector3(0, 0, -1) : s.y < 0.01 && s.y > -0.01 ? new E.Vector3(s.x, 0, s.z) : s;
|
|
21863
|
+
})(), r = new E.Vector3().addVectors(t.point, i);
|
|
21861
21864
|
this.position.copy(t.point), this.lookAt(r);
|
|
21862
21865
|
}
|
|
21863
21866
|
show() {
|
|
@@ -21877,7 +21880,7 @@ class $w {
|
|
|
21877
21880
|
v(this, "magnifier", null);
|
|
21878
21881
|
v(this, "pointHelper", null);
|
|
21879
21882
|
v(this, "state", { enabled: !1, visible: !0 });
|
|
21880
|
-
v(this, "group", new
|
|
21883
|
+
v(this, "group", new E.Group());
|
|
21881
21884
|
v(this, "show", () => {
|
|
21882
21885
|
var n, t;
|
|
21883
21886
|
this.state.visible || (this.state.visible = !0, (n = this.pointHelper) == null || n.show(), (t = this.magnifier) == null || t.enable(), this.five.needsRender = !0);
|
|
@@ -21916,7 +21919,7 @@ class $w {
|
|
|
21916
21919
|
this.hooks.off(), this.disable(), this.magnifier = null, this.pointHelper = null;
|
|
21917
21920
|
}
|
|
21918
21921
|
}
|
|
21919
|
-
class ex extends
|
|
21922
|
+
class ex extends E.Object3D {
|
|
21920
21923
|
constructor() {
|
|
21921
21924
|
super(...arguments);
|
|
21922
21925
|
v(this, "children", []);
|
|
@@ -21936,8 +21939,8 @@ class tx extends mE {
|
|
|
21936
21939
|
super(n, t);
|
|
21937
21940
|
}
|
|
21938
21941
|
}
|
|
21939
|
-
const Kf = new
|
|
21940
|
-
class bT extends
|
|
21942
|
+
const Kf = new E.Vector3();
|
|
21943
|
+
class bT extends E.Sphere {
|
|
21941
21944
|
expandByPoint(n) {
|
|
21942
21945
|
if (this.isEmpty())
|
|
21943
21946
|
return this.center.copy(n), this.radius = 0, this;
|
|
@@ -21953,35 +21956,35 @@ class bT extends C.Sphere {
|
|
|
21953
21956
|
function AT(e) {
|
|
21954
21957
|
const { max: n, min: t } = e;
|
|
21955
21958
|
return [
|
|
21956
|
-
new
|
|
21957
|
-
new
|
|
21958
|
-
new
|
|
21959
|
-
new
|
|
21960
|
-
new
|
|
21961
|
-
new
|
|
21962
|
-
new
|
|
21963
|
-
new
|
|
21959
|
+
new E.Vector3(n.x, n.y, n.z),
|
|
21960
|
+
new E.Vector3(t.x, n.y, n.z),
|
|
21961
|
+
new E.Vector3(t.x, t.y, n.z),
|
|
21962
|
+
new E.Vector3(n.x, t.y, n.z),
|
|
21963
|
+
new E.Vector3(n.x, n.y, t.z),
|
|
21964
|
+
new E.Vector3(t.x, n.y, t.z),
|
|
21965
|
+
new E.Vector3(t.x, t.y, t.z),
|
|
21966
|
+
new E.Vector3(n.x, t.y, t.z)
|
|
21964
21967
|
];
|
|
21965
21968
|
}
|
|
21966
21969
|
function Er(e, n) {
|
|
21967
21970
|
const { max: t, min: i } = e;
|
|
21968
21971
|
switch (n) {
|
|
21969
21972
|
case 0:
|
|
21970
|
-
return new
|
|
21973
|
+
return new E.Vector3(t.x, t.y, t.z);
|
|
21971
21974
|
case 1:
|
|
21972
|
-
return new
|
|
21975
|
+
return new E.Vector3(i.x, t.y, t.z);
|
|
21973
21976
|
case 2:
|
|
21974
|
-
return new
|
|
21977
|
+
return new E.Vector3(i.x, i.y, t.z);
|
|
21975
21978
|
case 3:
|
|
21976
|
-
return new
|
|
21979
|
+
return new E.Vector3(t.x, i.y, t.z);
|
|
21977
21980
|
case 4:
|
|
21978
|
-
return new
|
|
21981
|
+
return new E.Vector3(t.x, t.y, i.z);
|
|
21979
21982
|
case 5:
|
|
21980
|
-
return new
|
|
21983
|
+
return new E.Vector3(i.x, t.y, i.z);
|
|
21981
21984
|
case 6:
|
|
21982
|
-
return new
|
|
21985
|
+
return new E.Vector3(i.x, i.y, i.z);
|
|
21983
21986
|
case 7:
|
|
21984
|
-
return new
|
|
21987
|
+
return new E.Vector3(t.x, i.y, i.z);
|
|
21985
21988
|
}
|
|
21986
21989
|
}
|
|
21987
21990
|
function Wa(e) {
|
|
@@ -21997,7 +22000,7 @@ function ix(e) {
|
|
|
21997
22000
|
return Ld(e, "sphere");
|
|
21998
22001
|
}
|
|
21999
22002
|
function Ld(e, n) {
|
|
22000
|
-
const t = n === "box3" ? new
|
|
22003
|
+
const t = n === "box3" ? new E.Box3() : new bT(), i = new E.Vector3();
|
|
22001
22004
|
if (e.updateWorldMatrix(!1, !1), e.traverse((r) => {
|
|
22002
22005
|
var o;
|
|
22003
22006
|
if (r.name === "shadow" || r.type === "Line2")
|
|
@@ -22037,7 +22040,7 @@ function MT(e) {
|
|
|
22037
22040
|
display: t.style.display,
|
|
22038
22041
|
visibility: t.style.visibility
|
|
22039
22042
|
}
|
|
22040
|
-
}) : t.isObject3D && (t.material ? t.material instanceof
|
|
22043
|
+
}) : t.isObject3D && (t.material ? t.material instanceof E.ShaderMaterial ? _i.set(t, {
|
|
22041
22044
|
opacity: (i = t.material.uniforms.opacity) == null ? void 0 : i.value,
|
|
22042
22045
|
transparent: t.material.transparent,
|
|
22043
22046
|
visible: t.visible
|
|
@@ -22053,7 +22056,7 @@ function MT(e) {
|
|
|
22053
22056
|
function oy(e) {
|
|
22054
22057
|
zr(e).forEach((t) => {
|
|
22055
22058
|
const i = _i.get(t);
|
|
22056
|
-
i && (t instanceof HTMLElement && (t.style.opacity = i.opacity === void 0 ? "" : i.opacity, t.style.display = i.visible.display, t.style.visibility = i.visible.visibility), t.isObject3D && (t.visible = i.visible, t.material && (t.material instanceof
|
|
22059
|
+
i && (t instanceof HTMLElement && (t.style.opacity = i.opacity === void 0 ? "" : i.opacity, t.style.display = i.visible.display, t.style.visibility = i.visible.visibility), t.isObject3D && (t.visible = i.visible, t.material && (t.material instanceof E.ShaderMaterial ? (t.material.uniforms.opacity && (t.material.uniforms.opacity.value = i.opacity), t.material.transparent = i.transparent) : (t.material.opacity = i.opacity, t.material.transparent = i.transparent))), _i.delete(t));
|
|
22057
22060
|
});
|
|
22058
22061
|
}
|
|
22059
22062
|
function kd(e, n) {
|
|
@@ -22081,7 +22084,7 @@ function kd(e, n) {
|
|
|
22081
22084
|
if (!_i.has(u))
|
|
22082
22085
|
return;
|
|
22083
22086
|
const f = Number((m = _i.get(u).opacity) != null ? m : 1) * (100 - l.progress) / 100;
|
|
22084
|
-
u instanceof HTMLElement ? u.style.opacity = String(f) : u.material && (u.material instanceof
|
|
22087
|
+
u instanceof HTMLElement ? u.style.opacity = String(f) : u.material && (u.material instanceof E.ShaderMaterial ? (u.material.uniforms.opacity && (u.material.uniforms.opacity.value = f), u.material.transparent = !0) : (u.material.opacity = f, u.material.transparent = !0));
|
|
22085
22088
|
}), (c = n == null ? void 0 : n.updateRender) == null || c.call(n);
|
|
22086
22089
|
}
|
|
22087
22090
|
}, n));
|
|
@@ -22108,7 +22111,7 @@ function rx(e, n) {
|
|
|
22108
22111
|
if (!_i.has(s))
|
|
22109
22112
|
return;
|
|
22110
22113
|
const o = _i.get(s), l = (Number(o == null ? void 0 : o.opacity) || Number(n == null ? void 0 : n.maxOpacity) || 1) * (t.progress / 100);
|
|
22111
|
-
s instanceof HTMLElement ? (s.style.opacity = String(l), s.style.visibility = "visible") : s.isObject3D && (zr(e).includes(s) && (s.visible = !0), s.material && (s.material instanceof
|
|
22114
|
+
s instanceof HTMLElement ? (s.style.opacity = String(l), s.style.visibility = "visible") : s.isObject3D && (zr(e).includes(s) && (s.visible = !0), s.material && (s.material instanceof E.ShaderMaterial ? (s.material.uniforms.opacity && (s.material.uniforms.opacity.value = l), s.material.transparent = !0) : (s.material.opacity = l, s.material.transparent = !0)));
|
|
22112
22115
|
}), (i = n == null ? void 0 : n.updateRender) == null || i.call(n);
|
|
22113
22116
|
}
|
|
22114
22117
|
}, n));
|
|
@@ -22124,9 +22127,9 @@ function Uc(e) {
|
|
|
22124
22127
|
};
|
|
22125
22128
|
}
|
|
22126
22129
|
function kr(e) {
|
|
22127
|
-
return !
|
|
22130
|
+
return !bt(e);
|
|
22128
22131
|
}
|
|
22129
|
-
function
|
|
22132
|
+
function bt(e) {
|
|
22130
22133
|
return e != null;
|
|
22131
22134
|
}
|
|
22132
22135
|
function CT(e, n, t) {
|
|
@@ -22137,20 +22140,20 @@ function CT(e, n, t) {
|
|
|
22137
22140
|
const i = ix(n);
|
|
22138
22141
|
if (!i)
|
|
22139
22142
|
return;
|
|
22140
|
-
const r = new Td(e), s = (b = t == null ? void 0 : t.scale) != null ? b : 1.4, o = i.center, a = e.camera.position.clone().sub(o).setY(0).normalize(), l = e.state.mode === "Mapview" ? e.state.fov : 60, h = Math.max(1.5, i.radius * s), u = h * (1 / Math.tan(
|
|
22143
|
+
const r = new Td(e), s = (b = t == null ? void 0 : t.scale) != null ? b : 1.4, o = i.center, a = e.camera.position.clone().sub(o).setY(0).normalize(), l = e.state.mode === "Mapview" ? e.state.fov : 60, h = Math.max(1.5, i.radius * s), u = h * (1 / Math.tan(E.MathUtils.degToRad(l / 2)));
|
|
22141
22144
|
let d = 0;
|
|
22142
22145
|
const f = [], m = (x) => {
|
|
22143
|
-
const M =
|
|
22144
|
-
return a.clone().applyAxisAngle(new
|
|
22146
|
+
const M = E.MathUtils.degToRad(x);
|
|
22147
|
+
return a.clone().applyAxisAngle(new E.Vector3(0, 1, 0), M).clone().multiplyScalar(u).add(new E.Vector3(0, h, 0)).add(o);
|
|
22145
22148
|
};
|
|
22146
22149
|
for (; d !== 360; ) {
|
|
22147
22150
|
let x = 0;
|
|
22148
22151
|
const M = m(d), P = (z) => {
|
|
22149
|
-
const D = z.distanceTo(M), k = new
|
|
22150
|
-
|
|
22151
|
-
}, I = i.clampPoint(M, new
|
|
22152
|
+
const D = z.distanceTo(M), k = new E.Raycaster(z, M.clone().sub(z).normalize()), O = r.model.intersectRaycaster(k, void 0, !0)[0], G = O == null ? void 0 : O.distance;
|
|
22153
|
+
bt(G) ? G > D && (x += 1) : x += 1;
|
|
22154
|
+
}, I = i.clampPoint(M, new E.Vector3());
|
|
22152
22155
|
P(I);
|
|
22153
|
-
const T = new
|
|
22156
|
+
const T = new E.Vector3(o.x, M.y, o.z);
|
|
22154
22157
|
if (P(T), f[x] = d, x === 2)
|
|
22155
22158
|
break;
|
|
22156
22159
|
d += 30;
|
|
@@ -22176,18 +22179,18 @@ function sx(e, n, t) {
|
|
|
22176
22179
|
var p, g;
|
|
22177
22180
|
if (!n)
|
|
22178
22181
|
return;
|
|
22179
|
-
const i = (p = t == null ? void 0 : t.distance) != null ? p : 3, r = new Td(e), s = e.camera.position.clone().sub(n).setY(0).normalize(), o = e.state.mode === "Mapview" ? e.state.fov : 60, a = i, l = a * Math.cos(
|
|
22182
|
+
const i = (p = t == null ? void 0 : t.distance) != null ? p : 3, r = new Td(e), s = e.camera.position.clone().sub(n).setY(0).normalize(), o = e.state.mode === "Mapview" ? e.state.fov : 60, a = i, l = a * Math.cos(E.MathUtils.degToRad(o / 2)), c = a * Math.sin(E.MathUtils.degToRad(o / 2));
|
|
22180
22183
|
let h = 0;
|
|
22181
22184
|
const u = [], d = (y) => {
|
|
22182
|
-
const b =
|
|
22183
|
-
return s.clone().applyAxisAngle(new
|
|
22185
|
+
const b = E.MathUtils.degToRad(y);
|
|
22186
|
+
return s.clone().applyAxisAngle(new E.Vector3(0, 1, 0), b).clone().multiplyScalar(l).add(new E.Vector3(0, c, 0)).add(n);
|
|
22184
22187
|
};
|
|
22185
22188
|
for (; h !== 360; ) {
|
|
22186
22189
|
let y = 0;
|
|
22187
22190
|
const b = d(h);
|
|
22188
22191
|
if (((w) => {
|
|
22189
|
-
const x = w.distanceTo(b), M = new
|
|
22190
|
-
|
|
22192
|
+
const x = w.distanceTo(b), M = new E.Raycaster(w, b.clone().sub(w).normalize()), P = r.model.intersectRaycaster(M, void 0, !0)[0], I = P == null ? void 0 : P.distance;
|
|
22193
|
+
bt(I) ? I > x && (y += 1) : y += 1;
|
|
22191
22194
|
})(n), u[y] = h, y === 1)
|
|
22192
22195
|
break;
|
|
22193
22196
|
h += 30;
|
|
@@ -22356,7 +22359,7 @@ const L6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
22356
22359
|
lookObject: CT,
|
|
22357
22360
|
lookPoint: sx,
|
|
22358
22361
|
nextFrame: Wc,
|
|
22359
|
-
notNil:
|
|
22362
|
+
notNil: bt,
|
|
22360
22363
|
pointInPolygon: Av,
|
|
22361
22364
|
reblink: rx,
|
|
22362
22365
|
requestAnimationFrameInterval: Qa,
|
|
@@ -22479,7 +22482,7 @@ function Ia(e) {
|
|
|
22479
22482
|
});
|
|
22480
22483
|
}), n;
|
|
22481
22484
|
}
|
|
22482
|
-
class BT extends
|
|
22485
|
+
class BT extends E.Scene {
|
|
22483
22486
|
constructor() {
|
|
22484
22487
|
super();
|
|
22485
22488
|
}
|
|
@@ -22489,7 +22492,7 @@ class BT extends C.Scene {
|
|
|
22489
22492
|
}), this;
|
|
22490
22493
|
}
|
|
22491
22494
|
}
|
|
22492
|
-
class NT extends
|
|
22495
|
+
class NT extends E.Scene {
|
|
22493
22496
|
constructor(t) {
|
|
22494
22497
|
super();
|
|
22495
22498
|
v(this, "scene");
|
|
@@ -22509,7 +22512,7 @@ class NT extends C.Scene {
|
|
|
22509
22512
|
}), super.remove(...t), this;
|
|
22510
22513
|
}
|
|
22511
22514
|
}
|
|
22512
|
-
class cx extends
|
|
22515
|
+
class cx extends E.Group {
|
|
22513
22516
|
constructor(t) {
|
|
22514
22517
|
super();
|
|
22515
22518
|
v(this, "isCSS3DGroup", !0);
|
|
@@ -27800,7 +27803,7 @@ function Og(e, n, t = Hs.BOUNDING_CENTER) {
|
|
|
27800
27803
|
return t === Hs.BOUNDING_CENTER ? (e.model.bounding.max.y + e.model.bounding.min.y) / 2 : t === Hs.CEILING ? r : i;
|
|
27801
27804
|
}
|
|
27802
27805
|
function zg(e, n, t, i) {
|
|
27803
|
-
const r = Og(e, t, i == null ? void 0 : i.attachedTo), s = new
|
|
27806
|
+
const r = Og(e, t, i == null ? void 0 : i.attachedTo), s = new E.Vector3(0, r, 0), o = new E.Vector3(1, r, 0), a = s.clone().project(e.camera), l = o.clone().project(e.camera);
|
|
27804
27807
|
return Math.abs((l.x - a.x) / 1e3) * (n.getBoundingClientRect().width / 2);
|
|
27805
27808
|
}
|
|
27806
27809
|
let ws = class {
|
|
@@ -27808,7 +27811,7 @@ let ws = class {
|
|
|
27808
27811
|
/**
|
|
27809
27812
|
* @realsee/dnalogel 版本号
|
|
27810
27813
|
*/
|
|
27811
|
-
v(this, "VERSION", "3.50.
|
|
27814
|
+
v(this, "VERSION", "3.50.6");
|
|
27812
27815
|
v(this, "NAME");
|
|
27813
27816
|
v(this, "five");
|
|
27814
27817
|
v(this, "workUtil");
|
|
@@ -28422,7 +28425,7 @@ let Ck = class extends Br {
|
|
|
28422
28425
|
});
|
|
28423
28426
|
/** modelLoaded 之后自动执行 append container 操作 */
|
|
28424
28427
|
v(this, "onFiveModelLoaded", () => {
|
|
28425
|
-
const i = this.five.model.bounding.getCenter(new
|
|
28428
|
+
const i = this.five.model.bounding.getCenter(new E.Vector3());
|
|
28426
28429
|
if (this.showState.offset = i, this.state.enabled === !1 || this.wrapper || !this.selector)
|
|
28427
28430
|
return;
|
|
28428
28431
|
const r = this.selector instanceof Element ? this.selector : document.querySelector(this.selector);
|
|
@@ -28556,7 +28559,7 @@ let Ck = class extends Br {
|
|
|
28556
28559
|
/** 更新户型图位置 */
|
|
28557
28560
|
updatePosition() {
|
|
28558
28561
|
var a;
|
|
28559
|
-
const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.fiveUtil.model) == null ? void 0 : a.bounding.getCenter(new
|
|
28562
|
+
const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.fiveUtil.model) == null ? void 0 : a.bounding.getCenter(new E.Vector3()).setY(t);
|
|
28560
28563
|
if (!i)
|
|
28561
28564
|
return;
|
|
28562
28565
|
const r = i.clone().project(this.five.camera), s = (r.x + 1) / 2, o = -(r.y - 1) / 2;
|
|
@@ -28755,7 +28758,7 @@ let Pk = class extends Br {
|
|
|
28755
28758
|
/** 更新户型图位置 */
|
|
28756
28759
|
updatePosition() {
|
|
28757
28760
|
var a;
|
|
28758
|
-
const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.five.model) == null ? void 0 : a.bounding.getCenter(new
|
|
28761
|
+
const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.five.model) == null ? void 0 : a.bounding.getCenter(new E.Vector3()).setY(t);
|
|
28759
28762
|
if (!i)
|
|
28760
28763
|
return;
|
|
28761
28764
|
const r = i.clone().project(this.five.camera), s = (r.x + 1) / 2, o = -(r.y - 1) / 2;
|
|
@@ -29903,7 +29906,7 @@ const Z6 = (e, n) => new Qk(e, n), J6 = [
|
|
|
29903
29906
|
{ roomType: "100900000015", description: "商铺" },
|
|
29904
29907
|
{ roomType: "100900000016", description: "写字楼" }
|
|
29905
29908
|
], rp = (e, n, t) => {
|
|
29906
|
-
const i = new
|
|
29909
|
+
const i = new E.Matrix4(), r = new E.Euler(e, n, t, "YXZ");
|
|
29907
29910
|
return i.makeRotationFromEuler(r), i;
|
|
29908
29911
|
}, Yk = (e, {
|
|
29909
29912
|
scale: n,
|
|
@@ -29938,8 +29941,8 @@ const $6 = (e, n) => {
|
|
|
29938
29941
|
const A = yield new X1().loadAsync(y);
|
|
29939
29942
|
return zx(A, {
|
|
29940
29943
|
transparent: !0,
|
|
29941
|
-
side:
|
|
29942
|
-
blending:
|
|
29944
|
+
side: E.DoubleSide,
|
|
29945
|
+
blending: E.AdditiveBlending
|
|
29943
29946
|
}), r.object = A, m(), !0;
|
|
29944
29947
|
}), h = ({ latitude: g }) => {
|
|
29945
29948
|
if (!r.object)
|
|
@@ -29992,7 +29995,7 @@ const Zk = ({ x: e, y: n, z: t }) => new Se(e, n, t), eG = (e, n) => {
|
|
|
29992
29995
|
if (t.rad = x, x === void 0)
|
|
29993
29996
|
return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${x}`));
|
|
29994
29997
|
const P = yield new X1().loadAsync(M);
|
|
29995
|
-
P.position.copy(w), P.rotation.z = x, P.scale.set(0.8, 0.8, 0.8), zx(P, { transparent: !0, side:
|
|
29998
|
+
P.position.copy(w), P.rotation.z = x, P.scale.set(0.8, 0.8, 0.8), zx(P, { transparent: !0, side: E.DoubleSide });
|
|
29996
29999
|
const I = (U = (S = (G = (O = P.children) == null ? void 0 : O[0]) == null ? void 0 : G.children) == null ? void 0 : S[3]) == null ? void 0 : U.clone();
|
|
29997
30000
|
if (!I)
|
|
29998
30001
|
return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${I}`));
|
|
@@ -30966,12 +30969,12 @@ function g5() {
|
|
|
30966
30969
|
}
|
|
30967
30970
|
};
|
|
30968
30971
|
}
|
|
30969
|
-
const v5 = new
|
|
30972
|
+
const v5 = new E.TextureLoader();
|
|
30970
30973
|
function Ws(e) {
|
|
30971
30974
|
return ee(this, null, function* () {
|
|
30972
30975
|
return new Promise((n, t) => {
|
|
30973
30976
|
v5.load(e, n, void 0, t);
|
|
30974
|
-
}).then((n) => (n.encoding =
|
|
30977
|
+
}).then((n) => (n.encoding = E.sRGBEncoding, n.minFilter = E.NearestFilter, n.magFilter = E.NearestFilter, n));
|
|
30975
30978
|
});
|
|
30976
30979
|
}
|
|
30977
30980
|
function Vx(e) {
|
|
@@ -31001,7 +31004,7 @@ class y5 extends Br {
|
|
|
31001
31004
|
}
|
|
31002
31005
|
});
|
|
31003
31006
|
v(this, "data");
|
|
31004
|
-
v(this, "group", new
|
|
31007
|
+
v(this, "group", new E.Group());
|
|
31005
31008
|
v(this, "roomInfoInstance");
|
|
31006
31009
|
v(this, "roomInfoWrapperInstance");
|
|
31007
31010
|
v(this, "compassMeshTween");
|
|
@@ -31073,12 +31076,12 @@ class y5 extends Br {
|
|
|
31073
31076
|
var f;
|
|
31074
31077
|
(f = this.logoMesh) == null || f.material.setValues({ opacity: d }), this.five.needsRender = !0;
|
|
31075
31078
|
}).play())), this.entryDoorMesh) {
|
|
31076
|
-
const f = new
|
|
31079
|
+
const f = new E.Vector3(
|
|
31077
31080
|
this.data.entrance.position.x,
|
|
31078
31081
|
this.data.entrance.position.y,
|
|
31079
31082
|
this.data.entrance.position.z
|
|
31080
31083
|
).clone().setY(i.y).sub(i).normalize(), m = i.clone().add(f.clone().multiplyScalar(0.7)).setY(i.y + 0.01);
|
|
31081
|
-
this.entryDoorMesh.rotation.z = new
|
|
31084
|
+
this.entryDoorMesh.rotation.z = new E.Vector3(0, 0, -1).angleTo(f), this.entryDoorMesh.position.copy(m), ((c = this.data) == null ? void 0 : c.room_observers[t].room.type) === 1 ? (h = this.entryDoorMesh) == null || h.material.setValues({ opacity: 1 }) : (u = this.entryDoorMesh) == null || u.material.setValues({ opacity: 0 });
|
|
31082
31085
|
}
|
|
31083
31086
|
this.roomInfoInstance && this.roomInfoWrapperInstance && i && (this.roomInfoWrapperInstance.css3DObject.position.copy(i.clone().setY(i.y + 0.01)), this.roomInfoInstance.setRoom(this.data.room_observers[t].room)), this.five.needsRender = !0;
|
|
31084
31087
|
});
|
|
@@ -31192,12 +31195,12 @@ class y5 extends Br {
|
|
|
31192
31195
|
}
|
|
31193
31196
|
loadCompassMesh() {
|
|
31194
31197
|
return ee(this, null, function* () {
|
|
31195
|
-
const t = this.state.config.compassImageUrl, i = yield Ws(t), r = new
|
|
31198
|
+
const t = this.state.config.compassImageUrl, i = yield Ws(t), r = new E.CircleGeometry(0.7, 32), s = new E.MeshBasicMaterial({
|
|
31196
31199
|
map: i,
|
|
31197
31200
|
transparent: !0,
|
|
31198
31201
|
opacity: 0,
|
|
31199
31202
|
depthTest: !1
|
|
31200
|
-
}), o = new
|
|
31203
|
+
}), o = new E.Mesh(r, s);
|
|
31201
31204
|
return o.name = "pano-compass-mesh", o;
|
|
31202
31205
|
});
|
|
31203
31206
|
}
|
|
@@ -31206,33 +31209,33 @@ class y5 extends Br {
|
|
|
31206
31209
|
if (!this.state.config.logoURL)
|
|
31207
31210
|
return;
|
|
31208
31211
|
const t = this.state.config.logoURL, i = yield Ws(t);
|
|
31209
|
-
i.minFilter =
|
|
31210
|
-
const r = new
|
|
31212
|
+
i.minFilter = E.NearestFilter, i.magFilter = E.NearestFilter;
|
|
31213
|
+
const r = new E.PlaneBufferGeometry(0.4, 0.4), s = new E.MeshBasicMaterial({
|
|
31211
31214
|
map: i,
|
|
31212
31215
|
opacity: 0,
|
|
31213
31216
|
transparent: !0,
|
|
31214
31217
|
depthTest: !1
|
|
31215
|
-
}), o = new
|
|
31218
|
+
}), o = new E.Mesh(r, s);
|
|
31216
31219
|
return o.name = "pano-compass-logo-mesh", o;
|
|
31217
31220
|
});
|
|
31218
31221
|
}
|
|
31219
31222
|
loadEntryDoorMesh() {
|
|
31220
31223
|
return ee(this, null, function* () {
|
|
31221
|
-
const t = this.state.config.entryDoorImageUrl, i = yield Ws(t), r = new
|
|
31224
|
+
const t = this.state.config.entryDoorImageUrl, i = yield Ws(t), r = new E.PlaneGeometry(0.2, 0.16), s = new E.MeshBasicMaterial({
|
|
31222
31225
|
map: i,
|
|
31223
31226
|
transparent: !0,
|
|
31224
31227
|
opacity: 0.8,
|
|
31225
31228
|
depthTest: !1
|
|
31226
|
-
}), o = new
|
|
31229
|
+
}), o = new E.Mesh(r, s);
|
|
31227
31230
|
return o.name = "pano-compass-entry-door", o;
|
|
31228
31231
|
});
|
|
31229
31232
|
}
|
|
31230
31233
|
loadRoomInfo() {
|
|
31231
31234
|
const t = [
|
|
31232
|
-
new
|
|
31233
|
-
new
|
|
31234
|
-
new
|
|
31235
|
-
new
|
|
31235
|
+
new E.Vector3(-0.7, 0, -0.7),
|
|
31236
|
+
new E.Vector3(0.7, 0, -0.7),
|
|
31237
|
+
new E.Vector3(0.7, 0, 0.7),
|
|
31238
|
+
new E.Vector3(-0.7, 0, 0.7)
|
|
31236
31239
|
];
|
|
31237
31240
|
return Od(this.five).create3DDomContainer(t);
|
|
31238
31241
|
}
|
|
@@ -31654,7 +31657,7 @@ function Qc(e, n) {
|
|
|
31654
31657
|
function R5(e) {
|
|
31655
31658
|
if (e.length < 3)
|
|
31656
31659
|
return [];
|
|
31657
|
-
const n = Qc([e[0].clone(), e[1].clone(), e[2].clone()]), t = new
|
|
31660
|
+
const n = Qc([e[0].clone(), e[1].clone(), e[2].clone()]), t = new E.Quaternion().setFromUnitVectors(new E.Vector3(0, 1, 0), n), r = e.map((o) => o.clone().applyQuaternion(t)).flatMap((o) => [o.x, o.z]);
|
|
31658
31661
|
return LE(r);
|
|
31659
31662
|
}
|
|
31660
31663
|
function Rm(e, n) {
|
|
@@ -31715,31 +31718,31 @@ function Wx(e, n) {
|
|
|
31715
31718
|
if (Rm(a[l], a.slice(l)))
|
|
31716
31719
|
return;
|
|
31717
31720
|
}
|
|
31718
|
-
const i = t.flatMap((a) => [a.x, a.y, a.z]), r = new
|
|
31721
|
+
const i = t.flatMap((a) => [a.x, a.y, a.z]), r = new E.Float32BufferAttribute(i, 3), s = R5(t), o = new E.BufferGeometry();
|
|
31719
31722
|
return o.setAttribute("position", r), o.setIndex(s), o.name = "PolygonGeometry", o;
|
|
31720
31723
|
}
|
|
31721
|
-
const V5 = new
|
|
31724
|
+
const V5 = new E.BufferGeometry();
|
|
31722
31725
|
let Qx = class extends ti {
|
|
31723
31726
|
constructor(t) {
|
|
31724
31727
|
super();
|
|
31725
31728
|
v(this, "isPolygonMesh", !0);
|
|
31726
|
-
v(this, "geometry", new
|
|
31729
|
+
v(this, "geometry", new E.BufferGeometry());
|
|
31727
31730
|
v(this, "isBlank", !0);
|
|
31728
31731
|
v(this, "points", []);
|
|
31729
|
-
const i = new
|
|
31732
|
+
const i = new E.MeshBasicMaterial({
|
|
31730
31733
|
color: 4090367,
|
|
31731
31734
|
transparent: !0,
|
|
31732
|
-
side:
|
|
31735
|
+
side: E.DoubleSide,
|
|
31733
31736
|
depthTest: !0,
|
|
31734
31737
|
opacity: 0.5
|
|
31735
|
-
}), r = new
|
|
31738
|
+
}), r = new E.MeshBasicMaterial({
|
|
31736
31739
|
color: 16777215,
|
|
31737
31740
|
transparent: !0,
|
|
31738
|
-
side:
|
|
31741
|
+
side: E.DoubleSide,
|
|
31739
31742
|
depthTest: !1,
|
|
31740
31743
|
depthWrite: !1,
|
|
31741
31744
|
opacity: 0.3
|
|
31742
|
-
}), s = new
|
|
31745
|
+
}), s = new E.Mesh(this.geometry, i), o = new E.Mesh(this.geometry, r);
|
|
31743
31746
|
s.renderOrder = 1, o.renderOrder = 0, t && this.updatePoints(t), this.add(s, o);
|
|
31744
31747
|
}
|
|
31745
31748
|
/**
|
|
@@ -31866,7 +31869,7 @@ class Om {
|
|
|
31866
31869
|
const s = new ka(new ui(t), new ui(i), this.polyline.model);
|
|
31867
31870
|
this.polyline.addLine(s), this.meshContainer.add(s.mesh), this.five && (s.distanceItem.setCanSelect(!1), s.distanceItem.appendTo(this.domContainer), s.distanceItem.update(this.five));
|
|
31868
31871
|
}
|
|
31869
|
-
(r = this.meshContainer) != null && r.children.includes(this.polygon) || this.meshContainer.add(this.polygon), this.polygon.updatePoints(this.points), this.areaItem.updateArea(this.five), this.points.length === 3 ? this.planeHelper = new
|
|
31872
|
+
(r = this.meshContainer) != null && r.children.includes(this.polygon) || this.meshContainer.add(this.polygon), this.polygon.updatePoints(this.points), this.areaItem.updateArea(this.five), this.points.length === 3 ? this.planeHelper = new E.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.points.length < 3 && (this.planeHelper = null);
|
|
31870
31873
|
}
|
|
31871
31874
|
/**
|
|
31872
31875
|
* @description: 移除最后一个添加的点
|
|
@@ -31892,7 +31895,7 @@ class Om {
|
|
|
31892
31895
|
* @description: 获取一个点投影在当前平面上的点
|
|
31893
31896
|
*/
|
|
31894
31897
|
projectPoint(n) {
|
|
31895
|
-
return n && (this.planeHelper ? this.planeHelper.projectPoint(n, new
|
|
31898
|
+
return n && (this.planeHelper ? this.planeHelper.projectPoint(n, new E.Vector3()) : n);
|
|
31896
31899
|
}
|
|
31897
31900
|
remove() {
|
|
31898
31901
|
this.polygon.removeFromParent(), this.areaItem.remove(), this.polyline.lines.forEach((n) => n.remove());
|
|
@@ -31913,7 +31916,7 @@ class Om {
|
|
|
31913
31916
|
}
|
|
31914
31917
|
const Rc = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
|
|
31915
31918
|
function U5(e, n) {
|
|
31916
|
-
const { x: t, y: i } = n, r = t * 2 - 1, s = i * 2 - 1, o = new
|
|
31919
|
+
const { x: t, y: i } = n, r = t * 2 - 1, s = i * 2 - 1, o = new E.Raycaster();
|
|
31917
31920
|
return o.setFromCamera({ x: r, y: s }, e.camera), o.params.Points.threshold = 0.02, o;
|
|
31918
31921
|
}
|
|
31919
31922
|
function Yc(e, n, t) {
|
|
@@ -31921,15 +31924,15 @@ function Yc(e, n, t) {
|
|
|
31921
31924
|
return t != null && t.virtualPoint ? i != null ? i : Zx(n) : i;
|
|
31922
31925
|
}
|
|
31923
31926
|
function Zx(e, n = 3) {
|
|
31924
|
-
const t = new
|
|
31927
|
+
const t = new E.Vector3().addVectors(
|
|
31925
31928
|
e.ray.origin,
|
|
31926
31929
|
e.ray.direction.clone().normalize().multiplyScalar(n)
|
|
31927
31930
|
), i = e.ray.direction.clone().negate();
|
|
31928
31931
|
return {
|
|
31929
31932
|
distance: n,
|
|
31930
31933
|
point: t,
|
|
31931
|
-
object: new
|
|
31932
|
-
face: new
|
|
31934
|
+
object: new E.Object3D(),
|
|
31935
|
+
face: new E.Face3(0, 0, 0, i),
|
|
31933
31936
|
raycaster: e,
|
|
31934
31937
|
isVirtual: !0
|
|
31935
31938
|
};
|
|
@@ -31939,7 +31942,7 @@ function W5(e, n) {
|
|
|
31939
31942
|
if (r)
|
|
31940
31943
|
return Me(R({}, r), { raycaster: n, isVirtual: !1 });
|
|
31941
31944
|
}
|
|
31942
|
-
const ob = `url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6,12 C9.3137085,12 12,9.3137085 12,6 C12,2.6862915 9.3137085,0 6,0 C2.6862915,0 0,2.6862915 0,6 C0,9.3137085 2.6862915,12 6,12 Z' fill='%23FF5959'%3E%3C/path%3E%3Cg transform='translate(2, 2)' stroke='%23FFFFFF'%3E%3Ccircle cx='4' cy='4' r='4'%3E%3C/circle%3E%3Cline x1='1.07141075' y1='1.23997894' x2='6.64700843' y2='6.81557662'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 6 6, auto`, Q5 = new
|
|
31945
|
+
const ob = `url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6,12 C9.3137085,12 12,9.3137085 12,6 C12,2.6862915 9.3137085,0 6,0 C2.6862915,0 0,2.6862915 0,6 C0,9.3137085 2.6862915,12 6,12 Z' fill='%23FF5959'%3E%3C/path%3E%3Cg transform='translate(2, 2)' stroke='%23FFFFFF'%3E%3Ccircle cx='4' cy='4' r='4'%3E%3C/circle%3E%3Cline x1='1.07141075' y1='1.23997894' x2='6.64700843' y2='6.81557662'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 6 6, auto`, Q5 = new E.Vector3(), Oo = () => !1;
|
|
31943
31946
|
class Jx extends En {
|
|
31944
31947
|
constructor(t, i) {
|
|
31945
31948
|
var o, a, l;
|
|
@@ -32048,8 +32051,8 @@ class Jx extends En {
|
|
|
32048
32051
|
const l = {
|
|
32049
32052
|
distance: this.five.camera.position.distanceTo(a),
|
|
32050
32053
|
point: a.clone(),
|
|
32051
|
-
object: new
|
|
32052
|
-
face: new
|
|
32054
|
+
object: new E.Object3D(),
|
|
32055
|
+
face: new E.Face3(0, 0, 0, this.plane.normal.clone()),
|
|
32053
32056
|
raycaster: i,
|
|
32054
32057
|
isVirtual: !0
|
|
32055
32058
|
};
|
|
@@ -32060,7 +32063,7 @@ class Jx extends En {
|
|
|
32060
32063
|
return this.updatePointSelectorHelperIntersect(this.lastIntersection), !0;
|
|
32061
32064
|
if (this.actionIfNoModelUnderMouse === "virtualPoint") {
|
|
32062
32065
|
const a = Zx(i, (s = this.lastIntersection) == null ? void 0 : s.distance);
|
|
32063
|
-
return a.face = new
|
|
32066
|
+
return a.face = new E.Face3(0, 0, 0, (o = this.lastIntersection) == null ? void 0 : o.face.normal), a.isVirtual = !0, this.lastIntersection = a, this.updatePointSelectorHelperIntersect(a), !0;
|
|
32064
32067
|
} else if (this.actionIfNoModelUnderMouse === "disable")
|
|
32065
32068
|
return this.updatePointSelectorHelperIntersect(null), !1;
|
|
32066
32069
|
});
|
|
@@ -32347,17 +32350,17 @@ class Kr extends Fd {
|
|
|
32347
32350
|
const s = (h) => {
|
|
32348
32351
|
if (!this.lastPoint)
|
|
32349
32352
|
return [];
|
|
32350
|
-
const { intersection: u, pointSelectorInstance: d } = h, f = d.pointSelectorHelper.pointHelper, m = new
|
|
32353
|
+
const { intersection: u, pointSelectorInstance: d } = h, f = d.pointSelectorHelper.pointHelper, m = new E.Vector3(0, 0, 1).applyQuaternion(f.quaternion);
|
|
32351
32354
|
if (m.x > 0.9999 || m.y > 0.9999 || m.z > 0.9999 || m.x < -0.9999 || m.y < -0.9999 || m.z < -0.9999) {
|
|
32352
32355
|
const p = u.point, g = this.lastPoint.position.clone().sub(p);
|
|
32353
32356
|
d.pointSelectorHelper.updateWithIntersect(u, { emitEvent: !1 });
|
|
32354
|
-
const y = new
|
|
32355
|
-
f.localToWorld(new
|
|
32356
|
-
f.localToWorld(new
|
|
32357
|
-
), b = new
|
|
32358
|
-
f.localToWorld(new
|
|
32359
|
-
f.localToWorld(new
|
|
32360
|
-
), A = y.closestPointToPoint(p, !1, new
|
|
32357
|
+
const y = new E.Line3(
|
|
32358
|
+
f.localToWorld(new E.Vector3(1, 0, 0)).add(g),
|
|
32359
|
+
f.localToWorld(new E.Vector3(-1, 0, 0)).add(g)
|
|
32360
|
+
), b = new E.Line3(
|
|
32361
|
+
f.localToWorld(new E.Vector3(0, 1, 0)).add(g),
|
|
32362
|
+
f.localToWorld(new E.Vector3(0, -1, 0)).add(g)
|
|
32363
|
+
), A = y.closestPointToPoint(p, !1, new E.Vector3()), w = b.closestPointToPoint(p, !1, new E.Vector3());
|
|
32361
32364
|
return [A, w];
|
|
32362
32365
|
}
|
|
32363
32366
|
return [];
|
|
@@ -32916,7 +32919,7 @@ function Kx(e) {
|
|
|
32916
32919
|
}
|
|
32917
32920
|
function $x(e, n) {
|
|
32918
32921
|
const { top: t, left: i, width: r, height: s } = n.getBoundingClientRect();
|
|
32919
|
-
return new
|
|
32922
|
+
return new E.Vector2((e.x - i) / r * 2 - 1, -(e.y - t) / s * 2 + 1);
|
|
32920
32923
|
}
|
|
32921
32924
|
class i4 {
|
|
32922
32925
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
@@ -35079,7 +35082,7 @@ class q4 extends ws {
|
|
|
35079
35082
|
this.five = t, this.hook = this.hooks, this.params = i, this.config = Da(i, ["openParams", "magnifierParams"]), this.model = new qx(this.config), this.isMobile = (a = (o = i == null ? void 0 : i.openParams) == null ? void 0 : o.isMobile) != null ? a : !1, this.magnifier = new tg(
|
|
35080
35083
|
t,
|
|
35081
35084
|
(u = (h = i.magnifierParams) != null ? h : (c = (l = i.pointSelectorConfig) == null ? void 0 : l.helper) == null ? void 0 : c.magnifierParams) != null ? u : { width: 190, height: 190, scale: 2 }
|
|
35082
|
-
), this.allowMeasureType = Array.from(new Set((f = (d = i.editParams) == null ? void 0 : d.allowMeasureType) != null ? f : ["line"])), this.currentMeasureType = (m = this.allowMeasureType[0]) != null ? m : "line", this.group = new Jo(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.visibility = "hidden", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0";
|
|
35085
|
+
), this.allowMeasureType = Array.from(new Set((f = (d = i.editParams) == null ? void 0 : d.allowMeasureType) != null ? f : ["line"])), this.currentMeasureType = (m = this.allowMeasureType[0]) != null ? m : "line", this.group = new Jo(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.visibility = "hidden", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0", this.container.style.zIndex = "1";
|
|
35083
35086
|
const r = (g = (p = i.editParams) == null ? void 0 : p.pointSelectorMode) != null ? g : Rc ? "fixed" : "cursor", s = (y = this.params.openParams) != null ? y : {};
|
|
35084
35087
|
if (this.params.useUIController !== !1) {
|
|
35085
35088
|
const b = R({
|
|
@@ -35710,8 +35713,8 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
35710
35713
|
if (p.tags.length === 0)
|
|
35711
35714
|
return;
|
|
35712
35715
|
const Be = we.longitude - e.state.longitude, oe = e.camera.clone();
|
|
35713
|
-
oe.position.copy(we.offset), oe.rotateOnWorldAxis(new
|
|
35714
|
-
const fe = new
|
|
35716
|
+
oe.position.copy(we.offset), oe.rotateOnWorldAxis(new E.Vector3(0, 1, 0), Be), oe.updateProjectionMatrix(), oe.updateMatrixWorld(!0);
|
|
35717
|
+
const fe = new E.Frustum(), Te = new E.Matrix4();
|
|
35715
35718
|
Te.multiplyMatrices(oe.projectionMatrix, oe.matrixWorldInverse), fe.setFromProjectionMatrix(Te), p.tags.forEach((He) => {
|
|
35716
35719
|
const mt = oe.position.clone().setY(i).distanceTo(He.position);
|
|
35717
35720
|
if (mt < c || mt > h || !fe.containsPoint(He.position))
|
|
@@ -35741,7 +35744,7 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
35741
35744
|
}, x = () => {
|
|
35742
35745
|
if (p.forbidden || !p.enabled)
|
|
35743
35746
|
return;
|
|
35744
|
-
const re = e.camera, we = re.getWorldDirection(new
|
|
35747
|
+
const re = e.camera, we = re.getWorldDirection(new E.Vector3());
|
|
35745
35748
|
p.origins = p.tags.map((Be) => {
|
|
35746
35749
|
const oe = Be.position.clone().project(re), fe = Be.position.clone().sub(re.position).setY(0).angleTo(we.setY(0)) < Math.PI / 2;
|
|
35747
35750
|
return {
|
|
@@ -35759,7 +35762,7 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
35759
35762
|
re.length && (p.tags = p.tags.concat(re), x());
|
|
35760
35763
|
}, r));
|
|
35761
35764
|
}, P = () => {
|
|
35762
|
-
const { clientWidth: re, clientHeight: we } = e.getElement(), Be = [], oe = e.camera, fe = new
|
|
35765
|
+
const { clientWidth: re, clientHeight: we } = e.getElement(), Be = [], oe = e.camera, fe = new E.Frustum(), Te = new E.Matrix4(), He = oe.getWorldDirection(new E.Vector3());
|
|
35763
35766
|
Te.multiplyMatrices(oe.projectionMatrix, oe.matrixWorldInverse), fe.setFromProjectionMatrix(Te);
|
|
35764
35767
|
const mt = p.tags.filter((Ne) => fe.containsPoint(Ne.position) && !Ne.destroying).length, xe = p.points.reduce((Ne, N) => {
|
|
35765
35768
|
if (p.tags.find((he) => N.id === he.id && !he.destroying))
|
|
@@ -35812,19 +35815,19 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
35812
35815
|
return Math.sqrt(Math.pow((Ce.x - he.x) / 2 * re, 2) + Math.pow((Ce.y - he.y) / 2 * we, 2)) > a;
|
|
35813
35816
|
}))
|
|
35814
35817
|
continue;
|
|
35815
|
-
const me = new
|
|
35818
|
+
const me = new E.Raycaster(
|
|
35816
35819
|
oe.position.clone().setY(i),
|
|
35817
35820
|
j.position.clone().sub(oe.position.clone().setY(i)).normalize(),
|
|
35818
35821
|
0,
|
|
35819
35822
|
j.distance + Bb
|
|
35820
35823
|
), [qe] = p.intersectObjects ? me.intersectObjects(p.intersectObjects, !0) : e.model.loaded ? e.model.intersectRaycaster(me) : me.intersectObjects(e.model.children, !0);
|
|
35821
35824
|
if (qe && j.distance - qe.distance < Bb) {
|
|
35822
|
-
const { position: Ae, normal: he, id: st, replacement: et } = j, lt = new
|
|
35825
|
+
const { position: Ae, normal: he, id: st, replacement: et } = j, lt = new E.Plane().setFromNormalAndCoplanarPoint(he, Ae), Re = Ae.clone().sub(oe.position).cross(new E.Vector3(0, 1, 0)).setLength(op), tt = [
|
|
35823
35826
|
Ae.clone(),
|
|
35824
35827
|
Ae.clone().add(Re),
|
|
35825
|
-
Ae.clone().add(new
|
|
35826
|
-
Ae.clone().add(new
|
|
35827
|
-
].map((We) => lt.projectPoint(We, new
|
|
35828
|
+
Ae.clone().add(new E.Vector3(0, op, 0)).add(Re),
|
|
35829
|
+
Ae.clone().add(new E.Vector3(0, op, 0))
|
|
35830
|
+
].map((We) => lt.projectPoint(We, new E.Vector3())), { container: Ze, dispose: Ke } = u.create3DDomContainer(tt) || {}, $ = new sR({
|
|
35828
35831
|
target: Ze,
|
|
35829
35832
|
props: {
|
|
35830
35833
|
id: st,
|
|
@@ -35853,8 +35856,8 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
35853
35856
|
var Be, oe;
|
|
35854
35857
|
return {
|
|
35855
35858
|
id: we.id,
|
|
35856
|
-
position: new
|
|
35857
|
-
normal: new
|
|
35859
|
+
position: new E.Vector3().fromArray(we.position),
|
|
35860
|
+
normal: new E.Vector3().fromArray(we.normal),
|
|
35858
35861
|
replacement: (Be = we.replacement) != null ? Be : {},
|
|
35859
35862
|
weight: (oe = we.weight) != null ? oe : -1
|
|
35860
35863
|
};
|
|
@@ -35886,7 +35889,7 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
35886
35889
|
}, U = () => {
|
|
35887
35890
|
e.once("renderFrame", x);
|
|
35888
35891
|
}, q = () => {
|
|
35889
|
-
t || (t = e.getElement().parentElement), t && t.appendChild(d), p.forbidden = !1, i = e.model.bounding.getCenter(new
|
|
35892
|
+
t || (t = e.getElement().parentElement), t && t.appendChild(d), p.forbidden = !1, i = e.model.bounding.getCenter(new E.Vector3()).y, M(), e.on("panoWillArrive", A), e.on("panoArrived", b), e.on("modeChange", w), e.on("cameraUpdate", y);
|
|
35890
35893
|
}, K = () => {
|
|
35891
35894
|
m = null, u.disposeAll(), g.$destroy(), p.tags.forEach((re) => {
|
|
35892
35895
|
re.app.$destroy(), re = null;
|
|
@@ -36166,7 +36169,7 @@ function yR(e) {
|
|
|
36166
36169
|
}
|
|
36167
36170
|
let Vb = 26, bR = 11;
|
|
36168
36171
|
function AR(e, n, t) {
|
|
36169
|
-
const { Raycaster: i, Vector3: r } =
|
|
36172
|
+
const { Raycaster: i, Vector3: r } = E;
|
|
36170
36173
|
let { five: s } = n, { modelOcclusionEnable: o } = n, { itemLabels: a } = n, { hooks: l } = n, { displayStrategyType: c } = n, h = null, u = null, d, f, m = [], p = !0;
|
|
36171
36174
|
const g = (O, G) => {
|
|
36172
36175
|
const S = new i(), U = O.camera.position.clone(), q = new r().fromArray(G.modelPosition), K = q.distanceTo(U);
|
|
@@ -36409,7 +36412,7 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
|
|
|
36409
36412
|
y.geometry.dispose(), y.material.dispose(), e.scene.remove(y), t.videoTexture && t.videoTexture.image.pause();
|
|
36410
36413
|
}), t.videoMeshes = [], e.needsRender = !0);
|
|
36411
36414
|
}, c = () => t.rectPoints.map((y, b) => {
|
|
36412
|
-
const A = new
|
|
36415
|
+
const A = new E.BufferGeometry(), w = 128, x = [];
|
|
36413
36416
|
x.push(...y[0].toArray());
|
|
36414
36417
|
for (let k = 1; k < w; k++)
|
|
36415
36418
|
x.push(
|
|
@@ -36436,11 +36439,11 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
|
|
|
36436
36439
|
const P = [];
|
|
36437
36440
|
for (let k = 0; k < w; k++)
|
|
36438
36441
|
P.push(k, k + 1, w * 2 - k, k, w * 2 - k, w * 2 + 1 - k);
|
|
36439
|
-
A.setAttribute("position", new
|
|
36440
|
-
const I = new
|
|
36442
|
+
A.setAttribute("position", new E.BufferAttribute(new Float32Array(x), 3)), A.setAttribute("uv", new E.BufferAttribute(new Float32Array(M), 2)), A.setIndex(new E.BufferAttribute(new Uint32Array(P), 1));
|
|
36443
|
+
const I = new E.MeshBasicMaterial({
|
|
36441
36444
|
map: t.videoTextureEnabled ? t.videoTexture : t.imageTexture,
|
|
36442
|
-
side:
|
|
36443
|
-
}), T = new
|
|
36445
|
+
side: E.DoubleSide
|
|
36446
|
+
}), T = new E.Mesh(A, I);
|
|
36444
36447
|
T.renderOrder = 1, T.name = `ModelTVVideoPlugin-${b}-${performance.now()}`;
|
|
36445
36448
|
const z = [y[1], y[2], y[3], y[0]], D = i.create3DDomContainer(z);
|
|
36446
36449
|
if (D != null && D.container) {
|
|
@@ -36453,8 +36456,8 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
|
|
|
36453
36456
|
}
|
|
36454
36457
|
return T;
|
|
36455
36458
|
}), h = (y) => {
|
|
36456
|
-
const b = new
|
|
36457
|
-
return b.minFilter =
|
|
36459
|
+
const b = new E.TextureLoader().load(y);
|
|
36460
|
+
return b.minFilter = E.LinearFilter, b.magFilter = E.LinearFilter, b.format = E.RGBFormat, b;
|
|
36458
36461
|
}, u = (y, b) => {
|
|
36459
36462
|
let A = b;
|
|
36460
36463
|
return new Promise((w, x) => {
|
|
@@ -36464,15 +36467,15 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
|
|
|
36464
36467
|
if (M.status === 200) {
|
|
36465
36468
|
const P = window.URL || window.webkitURL;
|
|
36466
36469
|
A = A || document.createElement("video"), A.crossOrigin = "anonymous", A.muted = !0, A.loop = !0, A.playsInline = !0, A.src = P.createObjectURL(M.response);
|
|
36467
|
-
const I = new
|
|
36468
|
-
I.minFilter =
|
|
36470
|
+
const I = new E.VideoTexture(A);
|
|
36471
|
+
I.minFilter = E.LinearFilter, I.magFilter = E.LinearFilter, I.format = E.RGBFormat, w(Object.assign(I, { videoSource: y }));
|
|
36469
36472
|
} else
|
|
36470
36473
|
x(new Error("Video download Error: " + M.status));
|
|
36471
36474
|
}, M.onerror = (P) => x(P), M.open("GET", y), M.responseType = "blob", M.send();
|
|
36472
36475
|
});
|
|
36473
36476
|
}, d = (y, b) => ee(void 0, null, function* () {
|
|
36474
36477
|
const { video_src: A, video_poster_src: w, points: x } = y;
|
|
36475
|
-
t.videoSource = A, t.rectPoints = MR(x).map((M) => M.map(({ x: P, y: I, z: T }) => new
|
|
36478
|
+
t.videoSource = A, t.rectPoints = MR(x).map((M) => M.map(({ x: P, y: I, z: T }) => new E.Vector3(P, I, T))), t.imageTexture = h(w), b && (t.videoElement = b), t.videoTexture = yield u(t.videoSource, t.videoElement), t.enabled = !!y.enable, t.enabled && a();
|
|
36476
36479
|
}), f = (y) => {
|
|
36477
36480
|
if (!t.enabled)
|
|
36478
36481
|
return;
|
|
@@ -36486,13 +36489,13 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
|
|
|
36486
36489
|
return;
|
|
36487
36490
|
const y = e.camera.position;
|
|
36488
36491
|
if (r.forEach((b, A) => {
|
|
36489
|
-
const w = b.css3DObject.position.clone(), x = w.clone().sub(y).normalize(), M = new
|
|
36492
|
+
const w = b.css3DObject.position.clone(), x = w.clone().sub(y).normalize(), M = new E.Raycaster(y, x), P = e.model.intersectRaycaster(M)[0], I = w.distanceTo(y), T = 0.01;
|
|
36490
36493
|
P && P.distance + T < I ? b.hide() : b.show();
|
|
36491
36494
|
}), !o()) {
|
|
36492
36495
|
const b = t.rectPoints.find((A) => {
|
|
36493
36496
|
const w = A[0].clone().add(A[1]).add(A[2]).add(A[3]).divideScalar(4);
|
|
36494
36497
|
return A.map((x) => x.clone().add(w).divideScalar(2)).filter((x) => {
|
|
36495
|
-
const M = x.distanceTo(y), P = new
|
|
36498
|
+
const M = x.distanceTo(y), P = new E.Raycaster(y, x.clone().sub(y).normalize()), I = e.model.intersectRaycaster(P)[0], T = 0.01;
|
|
36496
36499
|
return !(I && I.distance + T < M);
|
|
36497
36500
|
}).length >= 2;
|
|
36498
36501
|
});
|
|
@@ -36718,7 +36721,7 @@ class DR extends ke {
|
|
|
36718
36721
|
);
|
|
36719
36722
|
}
|
|
36720
36723
|
}
|
|
36721
|
-
const { Raycaster: LR, Vector3: vG } =
|
|
36724
|
+
const { Raycaster: LR, Vector3: vG } = E, jb = (e, n, t, i) => {
|
|
36722
36725
|
const r = n.clone().sub(t).normalize(), s = new LR();
|
|
36723
36726
|
s.set(t, r);
|
|
36724
36727
|
const [o] = e.model.intersectRaycaster(s);
|
|
@@ -36901,7 +36904,7 @@ function zR(e) {
|
|
|
36901
36904
|
}
|
|
36902
36905
|
let BR = 11;
|
|
36903
36906
|
function NR(e, n, t) {
|
|
36904
|
-
const { Vector3: i } =
|
|
36907
|
+
const { Vector3: i } = E;
|
|
36905
36908
|
let { five: r } = n, { modelOcclusionEnable: s } = n, { itemLabels: o } = n, { hooks: a } = n, { displayStrategyType: l } = n, { maxVisibleDistance: c } = n, h = null, u = null, d = (r == null ? void 0 : r.currentMode) === Dn.Mode.Panorama, f, m, p = [], g = !0;
|
|
36906
36909
|
const y = (G, S) => {
|
|
36907
36910
|
const U = G.camera.position.clone(), q = new i(S.modelPosition[0], S.modelPosition[1], S.modelPosition[2]), K = q.distanceTo(U);
|
|
@@ -37574,8 +37577,8 @@ const pO = 2, mO = 3, gO = 3, vO = 2;
|
|
|
37574
37577
|
function yO(e) {
|
|
37575
37578
|
const n = e.width, t = e.unitLength, i = n / 2, r = e.path;
|
|
37576
37579
|
if (r.length === 0)
|
|
37577
|
-
return { geometry: new
|
|
37578
|
-
const s = new
|
|
37580
|
+
return { geometry: new E.BufferGeometry(), maxV: 0, curvePath: null, curvePoints: null };
|
|
37581
|
+
const s = new E.CurvePath();
|
|
37579
37582
|
r.forEach((S) => {
|
|
37580
37583
|
const U = bO(S);
|
|
37581
37584
|
U && s.add(U);
|
|
@@ -37584,10 +37587,10 @@ function yO(e) {
|
|
|
37584
37587
|
s.arcLengthDivisions = o;
|
|
37585
37588
|
const a = s.getPoints(o), l = a.length;
|
|
37586
37589
|
if (l <= 2)
|
|
37587
|
-
return { geometry: new
|
|
37590
|
+
return { geometry: new E.BufferGeometry(), maxV: 0, curvePath: null, curvePoints: null };
|
|
37588
37591
|
const c = dO(a.map((S) => [S.x, S.z])), u = (l - 1) * pO * mO, d = 2 * l, f = d * gO, m = d * vO, p = new Uint32Array(u), g = new Float32Array(f), y = new Float32Array(m), b = s.getLength();
|
|
37589
37592
|
let A = 0, w = 0, x = {};
|
|
37590
|
-
const M = e.path[0].points.map((S) => new
|
|
37593
|
+
const M = e.path[0].points.map((S) => new E.Vector3().fromArray(S)), P = e.path[0].panoIndexList ? [...e.path[0].panoIndexList] : void 0, I = (() => {
|
|
37591
37594
|
const S = [];
|
|
37592
37595
|
for (let K = 0; K < M.length; K++) {
|
|
37593
37596
|
const te = M[K];
|
|
@@ -37613,7 +37616,7 @@ function yO(e) {
|
|
|
37613
37616
|
g[S * 6 + 3] = ye.x, g[S * 6 + 4] = ye.y, g[S * 6 + 5] = ye.z, A += S > 0 ? a[S - 1].clone().sub(a[S]).length() : 0;
|
|
37614
37617
|
const Je = A / t;
|
|
37615
37618
|
w = Je, y[S * 4 + 0] = 0, y[S * 4 + 1] = Je, y[S * 4 + 2] = 1, y[S * 4 + 3] = Je;
|
|
37616
|
-
const be = new
|
|
37619
|
+
const be = new E.Vector3().lerpVectors(ve, ye, 0.5);
|
|
37617
37620
|
if (e.skipPositions && e.skipPositions.some((we) => we.distanceTo(be) < 0.26))
|
|
37618
37621
|
continue;
|
|
37619
37622
|
const ae = M[0];
|
|
@@ -37655,7 +37658,7 @@ function yO(e) {
|
|
|
37655
37658
|
}, de = hM([q, K], [te, ne]);
|
|
37656
37659
|
if (de && z.push(S), !de && z.length) {
|
|
37657
37660
|
z.push(S);
|
|
37658
|
-
const ve = new
|
|
37661
|
+
const ve = new E.Vector2(q.x, q.y).distanceTo(new E.Vector2(te.x, te.y)), ye = new E.Vector2(K.x, K.y).distanceTo(new E.Vector2(ne.x, ne.y)), Je = 200, be = [], ae = [], re = Math.max(0, z[0] - t * Je), we = z[0];
|
|
37659
37662
|
for (let Te = re; Te < we; Te++)
|
|
37660
37663
|
ve < ye ? be.push({ x: g[Te * 6 + 0], y: g[Te * 6 + 2] }) : be.push({ x: g[Te * 6 + 3], y: g[Te * 6 + 5] });
|
|
37661
37664
|
const Be = z.at(-1), oe = z.at(-1) + t * Je;
|
|
@@ -37696,13 +37699,13 @@ function yO(e) {
|
|
|
37696
37699
|
for (let U = 0; U < l - 1; U++)
|
|
37697
37700
|
U >= S.start && U <= S.end ? (O[U * 2 + 0] = 1, O[U * 2 + 1] = 1) : O[U] !== 1 && (O[U * 2 + 0] = 0, O[U * 2 + 1] = 0);
|
|
37698
37701
|
});
|
|
37699
|
-
const G = new
|
|
37700
|
-
return G.setAttribute("position", new
|
|
37702
|
+
const G = new E.BufferGeometry();
|
|
37703
|
+
return G.setAttribute("position", new E.BufferAttribute(g, 3)), G.setAttribute("uv", new E.BufferAttribute(y, 2)), G.setIndex(new E.BufferAttribute(p, 1)), { geometry: G, maxV: w, animationWillError: k, curvePath: s, curvePoints: a, panoMap: x, totalLength: A };
|
|
37701
37704
|
}
|
|
37702
37705
|
function bO(e) {
|
|
37703
37706
|
if (AO(e)) {
|
|
37704
|
-
const n = [e.closed, e.curve_type, e.tension], t = e.points.map((r) => new
|
|
37705
|
-
return new
|
|
37707
|
+
const n = [e.closed, e.curve_type, e.tension], t = e.points.map((r) => new E.Vector3().fromArray(r));
|
|
37708
|
+
return new E.CatmullRomCurve3(t, ...n);
|
|
37706
37709
|
}
|
|
37707
37710
|
}
|
|
37708
37711
|
function AO(e) {
|
|
@@ -37710,23 +37713,23 @@ function AO(e) {
|
|
|
37710
37713
|
}
|
|
37711
37714
|
function wO(e, n) {
|
|
37712
37715
|
n.forEach((t) => {
|
|
37713
|
-
const i = new
|
|
37714
|
-
new
|
|
37716
|
+
const i = new E.SphereGeometry(0.02, 16, 16), r = [], s = [
|
|
37717
|
+
new E.MeshBasicMaterial({ color: 16776960 }),
|
|
37715
37718
|
// 黄
|
|
37716
|
-
new
|
|
37719
|
+
new E.MeshBasicMaterial({ color: 16711935 }),
|
|
37717
37720
|
// 粉
|
|
37718
|
-
new
|
|
37721
|
+
new E.MeshBasicMaterial({ color: 16711680 }),
|
|
37719
37722
|
// 红
|
|
37720
|
-
new
|
|
37723
|
+
new E.MeshBasicMaterial({ color: 65535 })
|
|
37721
37724
|
// 蓝
|
|
37722
37725
|
];
|
|
37723
37726
|
if (t.position.length === 4)
|
|
37724
37727
|
t.position.forEach((o, a) => {
|
|
37725
|
-
const l = s[a], c = new
|
|
37728
|
+
const l = s[a], c = new E.Mesh(i, l);
|
|
37726
37729
|
c.position.copy(os(o)), r.push(c);
|
|
37727
37730
|
});
|
|
37728
37731
|
else {
|
|
37729
|
-
const o = s[0], a = new
|
|
37732
|
+
const o = s[0], a = new E.Mesh(i, o);
|
|
37730
37733
|
a.position.copy(os(t.position)), r.push(a);
|
|
37731
37734
|
}
|
|
37732
37735
|
r.forEach((o) => {
|
|
@@ -37778,7 +37781,7 @@ function ru(e, n) {
|
|
|
37778
37781
|
return !(typeof i == "number" && i < e || typeof t == "number" && t > e);
|
|
37779
37782
|
}
|
|
37780
37783
|
function PO(e, n, t) {
|
|
37781
|
-
const r = new
|
|
37784
|
+
const r = new E.Plane().setFromNormalAndCoplanarPoint(t, n), s = n.clone().sub(e).cross(new E.Vector3(0, 1, 0)).setLength(0.01), o = new E.Vector3(0, 0.01, 0);
|
|
37782
37785
|
return [
|
|
37783
37786
|
n.clone().sub(s).sub(o),
|
|
37784
37787
|
// 左下
|
|
@@ -37788,7 +37791,7 @@ function PO(e, n, t) {
|
|
|
37788
37791
|
// 右上
|
|
37789
37792
|
n.clone().sub(s).add(o)
|
|
37790
37793
|
// 左上
|
|
37791
|
-
].map((l) => r.projectPoint(l, new
|
|
37794
|
+
].map((l) => r.projectPoint(l, new E.Vector3()));
|
|
37792
37795
|
}
|
|
37793
37796
|
const _O = (e, n = 1e3 / 60) => {
|
|
37794
37797
|
let t = null;
|
|
@@ -38518,7 +38521,7 @@ function WO(e, n, t) {
|
|
|
38518
38521
|
return I;
|
|
38519
38522
|
}();
|
|
38520
38523
|
m = yu({
|
|
38521
|
-
targets: M.slice(0, P).filter(
|
|
38524
|
+
targets: M.slice(0, P).filter(bt),
|
|
38522
38525
|
autoplay: !1,
|
|
38523
38526
|
duration: 400,
|
|
38524
38527
|
scale: [0.7, 1],
|
|
@@ -40633,131 +40636,131 @@ var ou = c9, gd = {}, h9 = {
|
|
|
40633
40636
|
var t = 200, i = "__lodash_hash_undefined__", r = 9007199254740991, s = "[object Arguments]", o = "[object Array]", a = "[object Boolean]", l = "[object Date]", c = "[object Error]", h = "[object Function]", u = "[object GeneratorFunction]", d = "[object Map]", f = "[object Number]", m = "[object Object]", p = "[object Promise]", g = "[object RegExp]", y = "[object Set]", b = "[object String]", A = "[object Symbol]", w = "[object WeakMap]", x = "[object ArrayBuffer]", M = "[object DataView]", P = "[object Float32Array]", I = "[object Float64Array]", T = "[object Int8Array]", z = "[object Int16Array]", D = "[object Int32Array]", k = "[object Uint8Array]", O = "[object Uint8ClampedArray]", G = "[object Uint16Array]", S = "[object Uint32Array]", U = /[\\^$.*+?()[\]{}|]/g, q = /\w*$/, K = /^\[object .+?Constructor\]$/, te = /^(?:0|[1-9]\d*)$/, ne = {};
|
|
40634
40637
|
ne[s] = ne[o] = ne[x] = ne[M] = ne[a] = ne[l] = ne[P] = ne[I] = ne[T] = ne[z] = ne[D] = ne[d] = ne[f] = ne[m] = ne[g] = ne[y] = ne[b] = ne[A] = ne[k] = ne[O] = ne[G] = ne[S] = !0, ne[c] = ne[h] = ne[w] = !1;
|
|
40635
40638
|
var de = typeof di == "object" && di && di.Object === Object && di, ve = typeof self == "object" && self && self.Object === Object && self, ye = de || ve || Function("return this")(), Je = n && !n.nodeType && n, be = Je && !0 && e && !e.nodeType && e, ae = be && be.exports === Je;
|
|
40636
|
-
function re(
|
|
40637
|
-
return
|
|
40639
|
+
function re(C, L) {
|
|
40640
|
+
return C.set(L[0], L[1]), C;
|
|
40638
40641
|
}
|
|
40639
|
-
function we(
|
|
40640
|
-
return
|
|
40642
|
+
function we(C, L) {
|
|
40643
|
+
return C.add(L), C;
|
|
40641
40644
|
}
|
|
40642
|
-
function Be(
|
|
40643
|
-
for (var J = -1, le =
|
|
40645
|
+
function Be(C, L) {
|
|
40646
|
+
for (var J = -1, le = C ? C.length : 0; ++J < le && L(C[J], J, C) !== !1; )
|
|
40644
40647
|
;
|
|
40645
|
-
return
|
|
40648
|
+
return C;
|
|
40646
40649
|
}
|
|
40647
|
-
function oe(
|
|
40648
|
-
for (var J = -1, le = L.length,
|
|
40649
|
-
|
|
40650
|
-
return
|
|
40650
|
+
function oe(C, L) {
|
|
40651
|
+
for (var J = -1, le = L.length, At = C.length; ++J < le; )
|
|
40652
|
+
C[At + J] = L[J];
|
|
40653
|
+
return C;
|
|
40651
40654
|
}
|
|
40652
|
-
function fe(
|
|
40653
|
-
var
|
|
40654
|
-
for (le && rt && (J =
|
|
40655
|
-
J = L(J,
|
|
40655
|
+
function fe(C, L, J, le) {
|
|
40656
|
+
var At = -1, rt = C ? C.length : 0;
|
|
40657
|
+
for (le && rt && (J = C[++At]); ++At < rt; )
|
|
40658
|
+
J = L(J, C[At], At, C);
|
|
40656
40659
|
return J;
|
|
40657
40660
|
}
|
|
40658
|
-
function Te(
|
|
40659
|
-
for (var J = -1, le = Array(
|
|
40661
|
+
function Te(C, L) {
|
|
40662
|
+
for (var J = -1, le = Array(C); ++J < C; )
|
|
40660
40663
|
le[J] = L(J);
|
|
40661
40664
|
return le;
|
|
40662
40665
|
}
|
|
40663
|
-
function He(
|
|
40664
|
-
return
|
|
40666
|
+
function He(C, L) {
|
|
40667
|
+
return C == null ? void 0 : C[L];
|
|
40665
40668
|
}
|
|
40666
|
-
function mt(
|
|
40669
|
+
function mt(C) {
|
|
40667
40670
|
var L = !1;
|
|
40668
|
-
if (
|
|
40671
|
+
if (C != null && typeof C.toString != "function")
|
|
40669
40672
|
try {
|
|
40670
|
-
L = !!(
|
|
40673
|
+
L = !!(C + "");
|
|
40671
40674
|
} catch (J) {
|
|
40672
40675
|
}
|
|
40673
40676
|
return L;
|
|
40674
40677
|
}
|
|
40675
|
-
function xe(
|
|
40676
|
-
var L = -1, J = Array(
|
|
40677
|
-
return
|
|
40678
|
-
J[++L] = [
|
|
40678
|
+
function xe(C) {
|
|
40679
|
+
var L = -1, J = Array(C.size);
|
|
40680
|
+
return C.forEach(function(le, At) {
|
|
40681
|
+
J[++L] = [At, le];
|
|
40679
40682
|
}), J;
|
|
40680
40683
|
}
|
|
40681
|
-
function Ne(
|
|
40684
|
+
function Ne(C, L) {
|
|
40682
40685
|
return function(J) {
|
|
40683
|
-
return
|
|
40686
|
+
return C(L(J));
|
|
40684
40687
|
};
|
|
40685
40688
|
}
|
|
40686
|
-
function N(
|
|
40687
|
-
var L = -1, J = Array(
|
|
40688
|
-
return
|
|
40689
|
+
function N(C) {
|
|
40690
|
+
var L = -1, J = Array(C.size);
|
|
40691
|
+
return C.forEach(function(le) {
|
|
40689
40692
|
J[++L] = le;
|
|
40690
40693
|
}), J;
|
|
40691
40694
|
}
|
|
40692
40695
|
var j = Array.prototype, Ce = Function.prototype, me = Object.prototype, qe = ye["__core-js_shared__"], Ae = function() {
|
|
40693
|
-
var
|
|
40694
|
-
return
|
|
40696
|
+
var C = /[^.]+$/.exec(qe && qe.keys && qe.keys.IE_PROTO || "");
|
|
40697
|
+
return C ? "Symbol(src)_1." + C : "";
|
|
40695
40698
|
}(), he = Ce.toString, st = me.hasOwnProperty, et = me.toString, lt = RegExp(
|
|
40696
40699
|
"^" + he.call(st).replace(U, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
40697
40700
|
), Re = ae ? ye.Buffer : void 0, tt = ye.Symbol, Ze = ye.Uint8Array, Ke = Ne(Object.getPrototypeOf, Object), $ = Object.create, We = me.propertyIsEnumerable, $e = j.splice, yt = Object.getOwnPropertySymbols, Ye = Re ? Re.isBuffer : void 0, Pt = Ne(Object.keys, Object), Ot = wi(ye, "DataView"), Ht = wi(ye, "Map"), Xt = wi(ye, "Promise"), kt = wi(ye, "Set"), on = wi(ye, "WeakMap"), an = wi(Object, "create"), _n = Hn(Ot), ci = Hn(Ht), Fi = Hn(Xt), Vi = Hn(kt), V = Hn(on), se = tt ? tt.prototype : void 0, ie = se ? se.valueOf : void 0;
|
|
40698
|
-
function ce(
|
|
40699
|
-
var L = -1, J =
|
|
40701
|
+
function ce(C) {
|
|
40702
|
+
var L = -1, J = C ? C.length : 0;
|
|
40700
40703
|
for (this.clear(); ++L < J; ) {
|
|
40701
|
-
var le =
|
|
40704
|
+
var le = C[L];
|
|
40702
40705
|
this.set(le[0], le[1]);
|
|
40703
40706
|
}
|
|
40704
40707
|
}
|
|
40705
40708
|
function Oe() {
|
|
40706
40709
|
this.__data__ = an ? an(null) : {};
|
|
40707
40710
|
}
|
|
40708
|
-
function gt(
|
|
40709
|
-
return this.has(
|
|
40711
|
+
function gt(C) {
|
|
40712
|
+
return this.has(C) && delete this.__data__[C];
|
|
40710
40713
|
}
|
|
40711
|
-
function ct(
|
|
40714
|
+
function ct(C) {
|
|
40712
40715
|
var L = this.__data__;
|
|
40713
40716
|
if (an) {
|
|
40714
|
-
var J = L[
|
|
40717
|
+
var J = L[C];
|
|
40715
40718
|
return J === i ? void 0 : J;
|
|
40716
40719
|
}
|
|
40717
|
-
return st.call(L,
|
|
40720
|
+
return st.call(L, C) ? L[C] : void 0;
|
|
40718
40721
|
}
|
|
40719
|
-
function nt(
|
|
40722
|
+
function nt(C) {
|
|
40720
40723
|
var L = this.__data__;
|
|
40721
|
-
return an ? L[
|
|
40724
|
+
return an ? L[C] !== void 0 : st.call(L, C);
|
|
40722
40725
|
}
|
|
40723
|
-
function ht(
|
|
40726
|
+
function ht(C, L) {
|
|
40724
40727
|
var J = this.__data__;
|
|
40725
|
-
return J[
|
|
40728
|
+
return J[C] = an && L === void 0 ? i : L, this;
|
|
40726
40729
|
}
|
|
40727
40730
|
ce.prototype.clear = Oe, ce.prototype.delete = gt, ce.prototype.get = ct, ce.prototype.has = nt, ce.prototype.set = ht;
|
|
40728
|
-
function it(
|
|
40729
|
-
var L = -1, J =
|
|
40731
|
+
function it(C) {
|
|
40732
|
+
var L = -1, J = C ? C.length : 0;
|
|
40730
40733
|
for (this.clear(); ++L < J; ) {
|
|
40731
|
-
var le =
|
|
40734
|
+
var le = C[L];
|
|
40732
40735
|
this.set(le[0], le[1]);
|
|
40733
40736
|
}
|
|
40734
40737
|
}
|
|
40735
40738
|
function Ut() {
|
|
40736
40739
|
this.__data__ = [];
|
|
40737
40740
|
}
|
|
40738
|
-
function Tt(
|
|
40739
|
-
var L = this.__data__, J = lo(L,
|
|
40741
|
+
function Tt(C) {
|
|
40742
|
+
var L = this.__data__, J = lo(L, C);
|
|
40740
40743
|
if (J < 0)
|
|
40741
40744
|
return !1;
|
|
40742
40745
|
var le = L.length - 1;
|
|
40743
40746
|
return J == le ? L.pop() : $e.call(L, J, 1), !0;
|
|
40744
40747
|
}
|
|
40745
|
-
function It(
|
|
40746
|
-
var L = this.__data__, J = lo(L,
|
|
40748
|
+
function It(C) {
|
|
40749
|
+
var L = this.__data__, J = lo(L, C);
|
|
40747
40750
|
return J < 0 ? void 0 : L[J][1];
|
|
40748
40751
|
}
|
|
40749
|
-
function vt(
|
|
40750
|
-
return lo(this.__data__,
|
|
40752
|
+
function vt(C) {
|
|
40753
|
+
return lo(this.__data__, C) > -1;
|
|
40751
40754
|
}
|
|
40752
|
-
function Et(
|
|
40753
|
-
var J = this.__data__, le = lo(J,
|
|
40754
|
-
return le < 0 ? J.push([
|
|
40755
|
+
function Et(C, L) {
|
|
40756
|
+
var J = this.__data__, le = lo(J, C);
|
|
40757
|
+
return le < 0 ? J.push([C, L]) : J[le][1] = L, this;
|
|
40755
40758
|
}
|
|
40756
40759
|
it.prototype.clear = Ut, it.prototype.delete = Tt, it.prototype.get = It, it.prototype.has = vt, it.prototype.set = Et;
|
|
40757
|
-
function Dt(
|
|
40758
|
-
var L = -1, J =
|
|
40760
|
+
function Dt(C) {
|
|
40761
|
+
var L = -1, J = C ? C.length : 0;
|
|
40759
40762
|
for (this.clear(); ++L < J; ) {
|
|
40760
|
-
var le =
|
|
40763
|
+
var le = C[L];
|
|
40761
40764
|
this.set(le[0], le[1]);
|
|
40762
40765
|
}
|
|
40763
40766
|
}
|
|
@@ -40768,187 +40771,187 @@ var ou = c9, gd = {}, h9 = {
|
|
|
40768
40771
|
string: new ce()
|
|
40769
40772
|
};
|
|
40770
40773
|
}
|
|
40771
|
-
function yn(
|
|
40772
|
-
return Es(this,
|
|
40774
|
+
function yn(C) {
|
|
40775
|
+
return Es(this, C).delete(C);
|
|
40773
40776
|
}
|
|
40774
|
-
function ur(
|
|
40775
|
-
return Es(this,
|
|
40777
|
+
function ur(C) {
|
|
40778
|
+
return Es(this, C).get(C);
|
|
40776
40779
|
}
|
|
40777
|
-
function Zt(
|
|
40778
|
-
return Es(this,
|
|
40780
|
+
function Zt(C) {
|
|
40781
|
+
return Es(this, C).has(C);
|
|
40779
40782
|
}
|
|
40780
|
-
function dr(
|
|
40781
|
-
return Es(this,
|
|
40783
|
+
function dr(C, L) {
|
|
40784
|
+
return Es(this, C).set(C, L), this;
|
|
40782
40785
|
}
|
|
40783
40786
|
Dt.prototype.clear = jn, Dt.prototype.delete = yn, Dt.prototype.get = ur, Dt.prototype.has = Zt, Dt.prototype.set = dr;
|
|
40784
|
-
function ln(
|
|
40785
|
-
this.__data__ = new it(
|
|
40787
|
+
function ln(C) {
|
|
40788
|
+
this.__data__ = new it(C);
|
|
40786
40789
|
}
|
|
40787
40790
|
function xs() {
|
|
40788
40791
|
this.__data__ = new it();
|
|
40789
40792
|
}
|
|
40790
|
-
function tl(
|
|
40791
|
-
return this.__data__.delete(
|
|
40793
|
+
function tl(C) {
|
|
40794
|
+
return this.__data__.delete(C);
|
|
40792
40795
|
}
|
|
40793
|
-
function Wd(
|
|
40794
|
-
return this.__data__.get(
|
|
40796
|
+
function Wd(C) {
|
|
40797
|
+
return this.__data__.get(C);
|
|
40795
40798
|
}
|
|
40796
|
-
function Qd(
|
|
40797
|
-
return this.__data__.has(
|
|
40799
|
+
function Qd(C) {
|
|
40800
|
+
return this.__data__.has(C);
|
|
40798
40801
|
}
|
|
40799
|
-
function Yd(
|
|
40802
|
+
function Yd(C, L) {
|
|
40800
40803
|
var J = this.__data__;
|
|
40801
40804
|
if (J instanceof it) {
|
|
40802
40805
|
var le = J.__data__;
|
|
40803
40806
|
if (!Ht || le.length < t - 1)
|
|
40804
|
-
return le.push([
|
|
40807
|
+
return le.push([C, L]), this;
|
|
40805
40808
|
J = this.__data__ = new Dt(le);
|
|
40806
40809
|
}
|
|
40807
|
-
return J.set(
|
|
40810
|
+
return J.set(C, L), this;
|
|
40808
40811
|
}
|
|
40809
40812
|
ln.prototype.clear = xs, ln.prototype.delete = tl, ln.prototype.get = Wd, ln.prototype.has = Qd, ln.prototype.set = Yd;
|
|
40810
|
-
function ao(
|
|
40811
|
-
var J = sl(
|
|
40812
|
-
for (var rt in
|
|
40813
|
-
(L || st.call(
|
|
40813
|
+
function ao(C, L) {
|
|
40814
|
+
var J = sl(C) || ho(C) ? Te(C.length, String) : [], le = J.length, At = !!le;
|
|
40815
|
+
for (var rt in C)
|
|
40816
|
+
(L || st.call(C, rt)) && !(At && (rt == "length" || lf(rt, le))) && J.push(rt);
|
|
40814
40817
|
return J;
|
|
40815
40818
|
}
|
|
40816
|
-
function Kc(
|
|
40817
|
-
var le =
|
|
40818
|
-
(!(st.call(
|
|
40819
|
+
function Kc(C, L, J) {
|
|
40820
|
+
var le = C[L];
|
|
40821
|
+
(!(st.call(C, L) && ih(le, J)) || J === void 0 && !(L in C)) && (C[L] = J);
|
|
40819
40822
|
}
|
|
40820
|
-
function lo(
|
|
40821
|
-
for (var J =
|
|
40822
|
-
if (ih(
|
|
40823
|
+
function lo(C, L) {
|
|
40824
|
+
for (var J = C.length; J--; )
|
|
40825
|
+
if (ih(C[J][0], L))
|
|
40823
40826
|
return J;
|
|
40824
40827
|
return -1;
|
|
40825
40828
|
}
|
|
40826
|
-
function Gi(
|
|
40827
|
-
return
|
|
40829
|
+
function Gi(C, L) {
|
|
40830
|
+
return C && rl(L, al(L), C);
|
|
40828
40831
|
}
|
|
40829
|
-
function nl(
|
|
40832
|
+
function nl(C, L, J, le, At, rt, St) {
|
|
40830
40833
|
var Lt;
|
|
40831
|
-
if (le && (Lt = rt ? le(
|
|
40834
|
+
if (le && (Lt = rt ? le(C, At, rt, St) : le(C)), Lt !== void 0)
|
|
40832
40835
|
return Lt;
|
|
40833
|
-
if (!Hi(
|
|
40834
|
-
return
|
|
40835
|
-
var dn = sl(
|
|
40836
|
+
if (!Hi(C))
|
|
40837
|
+
return C;
|
|
40838
|
+
var dn = sl(C);
|
|
40836
40839
|
if (dn) {
|
|
40837
|
-
if (Lt = of(
|
|
40838
|
-
return nf(
|
|
40840
|
+
if (Lt = of(C), !L)
|
|
40841
|
+
return nf(C, Lt);
|
|
40839
40842
|
} else {
|
|
40840
|
-
var zt = pr(
|
|
40841
|
-
if (rh(
|
|
40842
|
-
return co(
|
|
40843
|
+
var zt = pr(C), Rn = zt == h || zt == u;
|
|
40844
|
+
if (rh(C))
|
|
40845
|
+
return co(C, L);
|
|
40843
40846
|
if (zt == m || zt == s || Rn && !rt) {
|
|
40844
|
-
if (mt(
|
|
40845
|
-
return rt ?
|
|
40846
|
-
if (Lt = ji(Rn ? {} :
|
|
40847
|
-
return rf(
|
|
40847
|
+
if (mt(C))
|
|
40848
|
+
return rt ? C : {};
|
|
40849
|
+
if (Lt = ji(Rn ? {} : C), !L)
|
|
40850
|
+
return rf(C, Gi(Lt, C));
|
|
40848
40851
|
} else {
|
|
40849
40852
|
if (!ne[zt])
|
|
40850
|
-
return rt ?
|
|
40851
|
-
Lt = af(
|
|
40853
|
+
return rt ? C : {};
|
|
40854
|
+
Lt = af(C, zt, nl, L);
|
|
40852
40855
|
}
|
|
40853
40856
|
}
|
|
40854
40857
|
St || (St = new ln());
|
|
40855
|
-
var Zn = St.get(
|
|
40858
|
+
var Zn = St.get(C);
|
|
40856
40859
|
if (Zn)
|
|
40857
40860
|
return Zn;
|
|
40858
|
-
if (St.set(
|
|
40859
|
-
var bn = J ? sf(
|
|
40860
|
-
return Be(bn ||
|
|
40861
|
-
bn && (In = On, On =
|
|
40861
|
+
if (St.set(C, Lt), !dn)
|
|
40862
|
+
var bn = J ? sf(C) : al(C);
|
|
40863
|
+
return Be(bn || C, function(On, In) {
|
|
40864
|
+
bn && (In = On, On = C[In]), Kc(Lt, In, nl(On, L, J, le, In, C, St));
|
|
40862
40865
|
}), Lt;
|
|
40863
40866
|
}
|
|
40864
|
-
function Xd(
|
|
40865
|
-
return Hi(
|
|
40867
|
+
function Xd(C) {
|
|
40868
|
+
return Hi(C) ? $(C) : {};
|
|
40866
40869
|
}
|
|
40867
|
-
function Zd(
|
|
40868
|
-
var le = L(
|
|
40869
|
-
return sl(
|
|
40870
|
+
function Zd(C, L, J) {
|
|
40871
|
+
var le = L(C);
|
|
40872
|
+
return sl(C) ? le : oe(le, J(C));
|
|
40870
40873
|
}
|
|
40871
|
-
function Jd(
|
|
40872
|
-
return et.call(
|
|
40874
|
+
function Jd(C) {
|
|
40875
|
+
return et.call(C);
|
|
40873
40876
|
}
|
|
40874
|
-
function qd(
|
|
40875
|
-
if (!Hi(
|
|
40877
|
+
function qd(C) {
|
|
40878
|
+
if (!Hi(C) || hf(C))
|
|
40876
40879
|
return !1;
|
|
40877
|
-
var L = ol(
|
|
40878
|
-
return L.test(Hn(
|
|
40880
|
+
var L = ol(C) || mt(C) ? lt : K;
|
|
40881
|
+
return L.test(Hn(C));
|
|
40879
40882
|
}
|
|
40880
|
-
function Kd(
|
|
40881
|
-
if (!th(
|
|
40882
|
-
return Pt(
|
|
40883
|
+
function Kd(C) {
|
|
40884
|
+
if (!th(C))
|
|
40885
|
+
return Pt(C);
|
|
40883
40886
|
var L = [];
|
|
40884
|
-
for (var J in Object(
|
|
40885
|
-
st.call(
|
|
40887
|
+
for (var J in Object(C))
|
|
40888
|
+
st.call(C, J) && J != "constructor" && L.push(J);
|
|
40886
40889
|
return L;
|
|
40887
40890
|
}
|
|
40888
|
-
function co(
|
|
40891
|
+
function co(C, L) {
|
|
40889
40892
|
if (L)
|
|
40890
|
-
return
|
|
40891
|
-
var J = new
|
|
40892
|
-
return
|
|
40893
|
+
return C.slice();
|
|
40894
|
+
var J = new C.constructor(C.length);
|
|
40895
|
+
return C.copy(J), J;
|
|
40893
40896
|
}
|
|
40894
|
-
function il(
|
|
40895
|
-
var L = new
|
|
40896
|
-
return new Ze(L).set(new Ze(
|
|
40897
|
+
function il(C) {
|
|
40898
|
+
var L = new C.constructor(C.byteLength);
|
|
40899
|
+
return new Ze(L).set(new Ze(C)), L;
|
|
40897
40900
|
}
|
|
40898
|
-
function Ms(
|
|
40899
|
-
var J = L ? il(
|
|
40900
|
-
return new
|
|
40901
|
+
function Ms(C, L) {
|
|
40902
|
+
var J = L ? il(C.buffer) : C.buffer;
|
|
40903
|
+
return new C.constructor(J, C.byteOffset, C.byteLength);
|
|
40901
40904
|
}
|
|
40902
|
-
function $c(
|
|
40903
|
-
var le = L ? J(xe(
|
|
40904
|
-
return fe(le, re, new
|
|
40905
|
+
function $c(C, L, J) {
|
|
40906
|
+
var le = L ? J(xe(C), !0) : xe(C);
|
|
40907
|
+
return fe(le, re, new C.constructor());
|
|
40905
40908
|
}
|
|
40906
|
-
function eh(
|
|
40907
|
-
var L = new
|
|
40908
|
-
return L.lastIndex =
|
|
40909
|
+
function eh(C) {
|
|
40910
|
+
var L = new C.constructor(C.source, q.exec(C));
|
|
40911
|
+
return L.lastIndex = C.lastIndex, L;
|
|
40909
40912
|
}
|
|
40910
|
-
function $d(
|
|
40911
|
-
var le = L ? J(N(
|
|
40912
|
-
return fe(le, we, new
|
|
40913
|
+
function $d(C, L, J) {
|
|
40914
|
+
var le = L ? J(N(C), !0) : N(C);
|
|
40915
|
+
return fe(le, we, new C.constructor());
|
|
40913
40916
|
}
|
|
40914
|
-
function ef(
|
|
40915
|
-
return ie ? Object(ie.call(
|
|
40917
|
+
function ef(C) {
|
|
40918
|
+
return ie ? Object(ie.call(C)) : {};
|
|
40916
40919
|
}
|
|
40917
|
-
function tf(
|
|
40918
|
-
var J = L ? il(
|
|
40919
|
-
return new
|
|
40920
|
+
function tf(C, L) {
|
|
40921
|
+
var J = L ? il(C.buffer) : C.buffer;
|
|
40922
|
+
return new C.constructor(J, C.byteOffset, C.length);
|
|
40920
40923
|
}
|
|
40921
|
-
function nf(
|
|
40922
|
-
var J = -1, le =
|
|
40924
|
+
function nf(C, L) {
|
|
40925
|
+
var J = -1, le = C.length;
|
|
40923
40926
|
for (L || (L = Array(le)); ++J < le; )
|
|
40924
|
-
L[J] =
|
|
40927
|
+
L[J] = C[J];
|
|
40925
40928
|
return L;
|
|
40926
40929
|
}
|
|
40927
|
-
function rl(
|
|
40930
|
+
function rl(C, L, J, le) {
|
|
40928
40931
|
J || (J = {});
|
|
40929
|
-
for (var
|
|
40930
|
-
var St = L[
|
|
40931
|
-
Kc(J, St, Lt === void 0 ?
|
|
40932
|
+
for (var At = -1, rt = L.length; ++At < rt; ) {
|
|
40933
|
+
var St = L[At], Lt = le ? le(J[St], C[St], St, J, C) : void 0;
|
|
40934
|
+
Kc(J, St, Lt === void 0 ? C[St] : Lt);
|
|
40932
40935
|
}
|
|
40933
40936
|
return J;
|
|
40934
40937
|
}
|
|
40935
|
-
function rf(
|
|
40936
|
-
return rl(
|
|
40938
|
+
function rf(C, L) {
|
|
40939
|
+
return rl(C, fr(C), L);
|
|
40937
40940
|
}
|
|
40938
|
-
function sf(
|
|
40939
|
-
return Zd(
|
|
40941
|
+
function sf(C) {
|
|
40942
|
+
return Zd(C, al, fr);
|
|
40940
40943
|
}
|
|
40941
|
-
function Es(
|
|
40942
|
-
var J =
|
|
40944
|
+
function Es(C, L) {
|
|
40945
|
+
var J = C.__data__;
|
|
40943
40946
|
return cf(L) ? J[typeof L == "string" ? "string" : "hash"] : J.map;
|
|
40944
40947
|
}
|
|
40945
|
-
function wi(
|
|
40946
|
-
var J = He(
|
|
40948
|
+
function wi(C, L) {
|
|
40949
|
+
var J = He(C, L);
|
|
40947
40950
|
return qd(J) ? J : void 0;
|
|
40948
40951
|
}
|
|
40949
40952
|
var fr = yt ? Ne(yt, Object) : df, pr = Jd;
|
|
40950
|
-
(Ot && pr(new Ot(new ArrayBuffer(1))) != M || Ht && pr(new Ht()) != d || Xt && pr(Xt.resolve()) != p || kt && pr(new kt()) != y || on && pr(new on()) != w) && (pr = function(
|
|
40951
|
-
var L = et.call(
|
|
40953
|
+
(Ot && pr(new Ot(new ArrayBuffer(1))) != M || Ht && pr(new Ht()) != d || Xt && pr(Xt.resolve()) != p || kt && pr(new kt()) != y || on && pr(new on()) != w) && (pr = function(C) {
|
|
40954
|
+
var L = et.call(C), J = L == m ? C.constructor : void 0, le = J ? Hn(J) : void 0;
|
|
40952
40955
|
if (le)
|
|
40953
40956
|
switch (le) {
|
|
40954
40957
|
case _n:
|
|
@@ -40964,23 +40967,23 @@ var ou = c9, gd = {}, h9 = {
|
|
|
40964
40967
|
}
|
|
40965
40968
|
return L;
|
|
40966
40969
|
});
|
|
40967
|
-
function of(
|
|
40968
|
-
var L =
|
|
40969
|
-
return L && typeof
|
|
40970
|
+
function of(C) {
|
|
40971
|
+
var L = C.length, J = C.constructor(L);
|
|
40972
|
+
return L && typeof C[0] == "string" && st.call(C, "index") && (J.index = C.index, J.input = C.input), J;
|
|
40970
40973
|
}
|
|
40971
|
-
function ji(
|
|
40972
|
-
return typeof
|
|
40974
|
+
function ji(C) {
|
|
40975
|
+
return typeof C.constructor == "function" && !th(C) ? Xd(Ke(C)) : {};
|
|
40973
40976
|
}
|
|
40974
|
-
function af(
|
|
40975
|
-
var
|
|
40977
|
+
function af(C, L, J, le) {
|
|
40978
|
+
var At = C.constructor;
|
|
40976
40979
|
switch (L) {
|
|
40977
40980
|
case x:
|
|
40978
|
-
return il(
|
|
40981
|
+
return il(C);
|
|
40979
40982
|
case a:
|
|
40980
40983
|
case l:
|
|
40981
|
-
return new
|
|
40984
|
+
return new At(+C);
|
|
40982
40985
|
case M:
|
|
40983
|
-
return Ms(
|
|
40986
|
+
return Ms(C, le);
|
|
40984
40987
|
case P:
|
|
40985
40988
|
case I:
|
|
40986
40989
|
case T:
|
|
@@ -40990,80 +40993,80 @@ var ou = c9, gd = {}, h9 = {
|
|
|
40990
40993
|
case O:
|
|
40991
40994
|
case G:
|
|
40992
40995
|
case S:
|
|
40993
|
-
return tf(
|
|
40996
|
+
return tf(C, le);
|
|
40994
40997
|
case d:
|
|
40995
|
-
return $c(
|
|
40998
|
+
return $c(C, le, J);
|
|
40996
40999
|
case f:
|
|
40997
41000
|
case b:
|
|
40998
|
-
return new
|
|
41001
|
+
return new At(C);
|
|
40999
41002
|
case g:
|
|
41000
|
-
return eh(
|
|
41003
|
+
return eh(C);
|
|
41001
41004
|
case y:
|
|
41002
|
-
return $d(
|
|
41005
|
+
return $d(C, le, J);
|
|
41003
41006
|
case A:
|
|
41004
|
-
return ef(
|
|
41007
|
+
return ef(C);
|
|
41005
41008
|
}
|
|
41006
41009
|
}
|
|
41007
|
-
function lf(
|
|
41008
|
-
return L = L == null ? r : L, !!L && (typeof
|
|
41010
|
+
function lf(C, L) {
|
|
41011
|
+
return L = L == null ? r : L, !!L && (typeof C == "number" || te.test(C)) && C > -1 && C % 1 == 0 && C < L;
|
|
41009
41012
|
}
|
|
41010
|
-
function cf(
|
|
41011
|
-
var L = typeof
|
|
41012
|
-
return L == "string" || L == "number" || L == "symbol" || L == "boolean" ?
|
|
41013
|
+
function cf(C) {
|
|
41014
|
+
var L = typeof C;
|
|
41015
|
+
return L == "string" || L == "number" || L == "symbol" || L == "boolean" ? C !== "__proto__" : C === null;
|
|
41013
41016
|
}
|
|
41014
|
-
function hf(
|
|
41015
|
-
return !!Ae && Ae in
|
|
41017
|
+
function hf(C) {
|
|
41018
|
+
return !!Ae && Ae in C;
|
|
41016
41019
|
}
|
|
41017
|
-
function th(
|
|
41018
|
-
var L =
|
|
41019
|
-
return
|
|
41020
|
+
function th(C) {
|
|
41021
|
+
var L = C && C.constructor, J = typeof L == "function" && L.prototype || me;
|
|
41022
|
+
return C === J;
|
|
41020
41023
|
}
|
|
41021
|
-
function Hn(
|
|
41022
|
-
if (
|
|
41024
|
+
function Hn(C) {
|
|
41025
|
+
if (C != null) {
|
|
41023
41026
|
try {
|
|
41024
|
-
return he.call(
|
|
41027
|
+
return he.call(C);
|
|
41025
41028
|
} catch (L) {
|
|
41026
41029
|
}
|
|
41027
41030
|
try {
|
|
41028
|
-
return
|
|
41031
|
+
return C + "";
|
|
41029
41032
|
} catch (L) {
|
|
41030
41033
|
}
|
|
41031
41034
|
}
|
|
41032
41035
|
return "";
|
|
41033
41036
|
}
|
|
41034
|
-
function nh(
|
|
41035
|
-
return nl(
|
|
41037
|
+
function nh(C) {
|
|
41038
|
+
return nl(C, !0, !0);
|
|
41036
41039
|
}
|
|
41037
|
-
function ih(
|
|
41038
|
-
return
|
|
41040
|
+
function ih(C, L) {
|
|
41041
|
+
return C === L || C !== C && L !== L;
|
|
41039
41042
|
}
|
|
41040
|
-
function ho(
|
|
41041
|
-
return uf(
|
|
41043
|
+
function ho(C) {
|
|
41044
|
+
return uf(C) && st.call(C, "callee") && (!We.call(C, "callee") || et.call(C) == s);
|
|
41042
41045
|
}
|
|
41043
41046
|
var sl = Array.isArray;
|
|
41044
|
-
function uo(
|
|
41045
|
-
return
|
|
41047
|
+
function uo(C) {
|
|
41048
|
+
return C != null && sh(C.length) && !ol(C);
|
|
41046
41049
|
}
|
|
41047
|
-
function uf(
|
|
41048
|
-
return oh(
|
|
41050
|
+
function uf(C) {
|
|
41051
|
+
return oh(C) && uo(C);
|
|
41049
41052
|
}
|
|
41050
41053
|
var rh = Ye || ff;
|
|
41051
|
-
function ol(
|
|
41052
|
-
var L = Hi(
|
|
41054
|
+
function ol(C) {
|
|
41055
|
+
var L = Hi(C) ? et.call(C) : "";
|
|
41053
41056
|
return L == h || L == u;
|
|
41054
41057
|
}
|
|
41055
|
-
function sh(
|
|
41056
|
-
return typeof
|
|
41058
|
+
function sh(C) {
|
|
41059
|
+
return typeof C == "number" && C > -1 && C % 1 == 0 && C <= r;
|
|
41057
41060
|
}
|
|
41058
|
-
function Hi(
|
|
41059
|
-
var L = typeof
|
|
41060
|
-
return !!
|
|
41061
|
+
function Hi(C) {
|
|
41062
|
+
var L = typeof C;
|
|
41063
|
+
return !!C && (L == "object" || L == "function");
|
|
41061
41064
|
}
|
|
41062
|
-
function oh(
|
|
41063
|
-
return !!
|
|
41065
|
+
function oh(C) {
|
|
41066
|
+
return !!C && typeof C == "object";
|
|
41064
41067
|
}
|
|
41065
|
-
function al(
|
|
41066
|
-
return uo(
|
|
41068
|
+
function al(C) {
|
|
41069
|
+
return uo(C) ? ao(C) : Kd(C);
|
|
41067
41070
|
}
|
|
41068
41071
|
function df() {
|
|
41069
41072
|
return [];
|
|
@@ -41088,130 +41091,130 @@ var vd = {}, d9 = {
|
|
|
41088
41091
|
var ae = typeof di == "object" && di && di.Object === Object && di, re = typeof self == "object" && self && self.Object === Object && self, we = ae || re || Function("return this")(), Be = n && !n.nodeType && n, oe = Be && !0 && e && !e.nodeType && e, fe = oe && oe.exports === Be, Te = fe && ae.process, He = function() {
|
|
41089
41092
|
try {
|
|
41090
41093
|
return Te && Te.binding && Te.binding("util");
|
|
41091
|
-
} catch (
|
|
41094
|
+
} catch (C) {
|
|
41092
41095
|
}
|
|
41093
41096
|
}(), mt = He && He.isTypedArray;
|
|
41094
|
-
function xe(
|
|
41095
|
-
for (var J = -1, le =
|
|
41096
|
-
var St =
|
|
41097
|
-
L(St, J,
|
|
41097
|
+
function xe(C, L) {
|
|
41098
|
+
for (var J = -1, le = C == null ? 0 : C.length, At = 0, rt = []; ++J < le; ) {
|
|
41099
|
+
var St = C[J];
|
|
41100
|
+
L(St, J, C) && (rt[At++] = St);
|
|
41098
41101
|
}
|
|
41099
41102
|
return rt;
|
|
41100
41103
|
}
|
|
41101
|
-
function Ne(
|
|
41102
|
-
for (var J = -1, le = L.length,
|
|
41103
|
-
|
|
41104
|
-
return
|
|
41104
|
+
function Ne(C, L) {
|
|
41105
|
+
for (var J = -1, le = L.length, At = C.length; ++J < le; )
|
|
41106
|
+
C[At + J] = L[J];
|
|
41107
|
+
return C;
|
|
41105
41108
|
}
|
|
41106
|
-
function N(
|
|
41107
|
-
for (var J = -1, le =
|
|
41108
|
-
if (L(
|
|
41109
|
+
function N(C, L) {
|
|
41110
|
+
for (var J = -1, le = C == null ? 0 : C.length; ++J < le; )
|
|
41111
|
+
if (L(C[J], J, C))
|
|
41109
41112
|
return !0;
|
|
41110
41113
|
return !1;
|
|
41111
41114
|
}
|
|
41112
|
-
function j(
|
|
41113
|
-
for (var J = -1, le = Array(
|
|
41115
|
+
function j(C, L) {
|
|
41116
|
+
for (var J = -1, le = Array(C); ++J < C; )
|
|
41114
41117
|
le[J] = L(J);
|
|
41115
41118
|
return le;
|
|
41116
41119
|
}
|
|
41117
|
-
function Ce(
|
|
41120
|
+
function Ce(C) {
|
|
41118
41121
|
return function(L) {
|
|
41119
|
-
return
|
|
41122
|
+
return C(L);
|
|
41120
41123
|
};
|
|
41121
41124
|
}
|
|
41122
|
-
function me(
|
|
41123
|
-
return
|
|
41125
|
+
function me(C, L) {
|
|
41126
|
+
return C.has(L);
|
|
41124
41127
|
}
|
|
41125
|
-
function qe(
|
|
41126
|
-
return
|
|
41128
|
+
function qe(C, L) {
|
|
41129
|
+
return C == null ? void 0 : C[L];
|
|
41127
41130
|
}
|
|
41128
|
-
function Ae(
|
|
41129
|
-
var L = -1, J = Array(
|
|
41130
|
-
return
|
|
41131
|
-
J[++L] = [
|
|
41131
|
+
function Ae(C) {
|
|
41132
|
+
var L = -1, J = Array(C.size);
|
|
41133
|
+
return C.forEach(function(le, At) {
|
|
41134
|
+
J[++L] = [At, le];
|
|
41132
41135
|
}), J;
|
|
41133
41136
|
}
|
|
41134
|
-
function he(
|
|
41137
|
+
function he(C, L) {
|
|
41135
41138
|
return function(J) {
|
|
41136
|
-
return
|
|
41139
|
+
return C(L(J));
|
|
41137
41140
|
};
|
|
41138
41141
|
}
|
|
41139
|
-
function st(
|
|
41140
|
-
var L = -1, J = Array(
|
|
41141
|
-
return
|
|
41142
|
+
function st(C) {
|
|
41143
|
+
var L = -1, J = Array(C.size);
|
|
41144
|
+
return C.forEach(function(le) {
|
|
41142
41145
|
J[++L] = le;
|
|
41143
41146
|
}), J;
|
|
41144
41147
|
}
|
|
41145
41148
|
var et = Array.prototype, lt = Function.prototype, Re = Object.prototype, tt = we["__core-js_shared__"], Ze = lt.toString, Ke = Re.hasOwnProperty, $ = function() {
|
|
41146
|
-
var
|
|
41147
|
-
return
|
|
41149
|
+
var C = /[^.]+$/.exec(tt && tt.keys && tt.keys.IE_PROTO || "");
|
|
41150
|
+
return C ? "Symbol(src)_1." + C : "";
|
|
41148
41151
|
}(), We = Re.toString, $e = RegExp(
|
|
41149
41152
|
"^" + Ze.call(Ke).replace(ve, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
41150
41153
|
), yt = fe ? we.Buffer : void 0, Ye = we.Symbol, Pt = we.Uint8Array, Ot = Re.propertyIsEnumerable, Ht = et.splice, Xt = Ye ? Ye.toStringTag : void 0, kt = Object.getOwnPropertySymbols, on = yt ? yt.isBuffer : void 0, an = he(Object.keys, Object), _n = fr(we, "DataView"), ci = fr(we, "Map"), Fi = fr(we, "Promise"), Vi = fr(we, "Set"), V = fr(we, "WeakMap"), se = fr(Object, "create"), ie = Hn(_n), ce = Hn(ci), Oe = Hn(Fi), gt = Hn(Vi), ct = Hn(V), nt = Ye ? Ye.prototype : void 0, ht = nt ? nt.valueOf : void 0;
|
|
41151
|
-
function it(
|
|
41152
|
-
var L = -1, J =
|
|
41154
|
+
function it(C) {
|
|
41155
|
+
var L = -1, J = C == null ? 0 : C.length;
|
|
41153
41156
|
for (this.clear(); ++L < J; ) {
|
|
41154
|
-
var le =
|
|
41157
|
+
var le = C[L];
|
|
41155
41158
|
this.set(le[0], le[1]);
|
|
41156
41159
|
}
|
|
41157
41160
|
}
|
|
41158
41161
|
function Ut() {
|
|
41159
41162
|
this.__data__ = se ? se(null) : {}, this.size = 0;
|
|
41160
41163
|
}
|
|
41161
|
-
function Tt(
|
|
41162
|
-
var L = this.has(
|
|
41164
|
+
function Tt(C) {
|
|
41165
|
+
var L = this.has(C) && delete this.__data__[C];
|
|
41163
41166
|
return this.size -= L ? 1 : 0, L;
|
|
41164
41167
|
}
|
|
41165
|
-
function It(
|
|
41168
|
+
function It(C) {
|
|
41166
41169
|
var L = this.__data__;
|
|
41167
41170
|
if (se) {
|
|
41168
|
-
var J = L[
|
|
41171
|
+
var J = L[C];
|
|
41169
41172
|
return J === i ? void 0 : J;
|
|
41170
41173
|
}
|
|
41171
|
-
return Ke.call(L,
|
|
41174
|
+
return Ke.call(L, C) ? L[C] : void 0;
|
|
41172
41175
|
}
|
|
41173
|
-
function vt(
|
|
41176
|
+
function vt(C) {
|
|
41174
41177
|
var L = this.__data__;
|
|
41175
|
-
return se ? L[
|
|
41178
|
+
return se ? L[C] !== void 0 : Ke.call(L, C);
|
|
41176
41179
|
}
|
|
41177
|
-
function Et(
|
|
41180
|
+
function Et(C, L) {
|
|
41178
41181
|
var J = this.__data__;
|
|
41179
|
-
return this.size += this.has(
|
|
41182
|
+
return this.size += this.has(C) ? 0 : 1, J[C] = se && L === void 0 ? i : L, this;
|
|
41180
41183
|
}
|
|
41181
41184
|
it.prototype.clear = Ut, it.prototype.delete = Tt, it.prototype.get = It, it.prototype.has = vt, it.prototype.set = Et;
|
|
41182
|
-
function Dt(
|
|
41183
|
-
var L = -1, J =
|
|
41185
|
+
function Dt(C) {
|
|
41186
|
+
var L = -1, J = C == null ? 0 : C.length;
|
|
41184
41187
|
for (this.clear(); ++L < J; ) {
|
|
41185
|
-
var le =
|
|
41188
|
+
var le = C[L];
|
|
41186
41189
|
this.set(le[0], le[1]);
|
|
41187
41190
|
}
|
|
41188
41191
|
}
|
|
41189
41192
|
function jn() {
|
|
41190
41193
|
this.__data__ = [], this.size = 0;
|
|
41191
41194
|
}
|
|
41192
|
-
function yn(
|
|
41193
|
-
var L = this.__data__, J = co(L,
|
|
41195
|
+
function yn(C) {
|
|
41196
|
+
var L = this.__data__, J = co(L, C);
|
|
41194
41197
|
if (J < 0)
|
|
41195
41198
|
return !1;
|
|
41196
41199
|
var le = L.length - 1;
|
|
41197
41200
|
return J == le ? L.pop() : Ht.call(L, J, 1), --this.size, !0;
|
|
41198
41201
|
}
|
|
41199
|
-
function ur(
|
|
41200
|
-
var L = this.__data__, J = co(L,
|
|
41202
|
+
function ur(C) {
|
|
41203
|
+
var L = this.__data__, J = co(L, C);
|
|
41201
41204
|
return J < 0 ? void 0 : L[J][1];
|
|
41202
41205
|
}
|
|
41203
|
-
function Zt(
|
|
41204
|
-
return co(this.__data__,
|
|
41206
|
+
function Zt(C) {
|
|
41207
|
+
return co(this.__data__, C) > -1;
|
|
41205
41208
|
}
|
|
41206
|
-
function dr(
|
|
41207
|
-
var J = this.__data__, le = co(J,
|
|
41208
|
-
return le < 0 ? (++this.size, J.push([
|
|
41209
|
+
function dr(C, L) {
|
|
41210
|
+
var J = this.__data__, le = co(J, C);
|
|
41211
|
+
return le < 0 ? (++this.size, J.push([C, L])) : J[le][1] = L, this;
|
|
41209
41212
|
}
|
|
41210
41213
|
Dt.prototype.clear = jn, Dt.prototype.delete = yn, Dt.prototype.get = ur, Dt.prototype.has = Zt, Dt.prototype.set = dr;
|
|
41211
|
-
function ln(
|
|
41212
|
-
var L = -1, J =
|
|
41214
|
+
function ln(C) {
|
|
41215
|
+
var L = -1, J = C == null ? 0 : C.length;
|
|
41213
41216
|
for (this.clear(); ++L < J; ) {
|
|
41214
|
-
var le =
|
|
41217
|
+
var le = C[L];
|
|
41215
41218
|
this.set(le[0], le[1]);
|
|
41216
41219
|
}
|
|
41217
41220
|
}
|
|
@@ -41222,139 +41225,139 @@ var vd = {}, d9 = {
|
|
|
41222
41225
|
string: new it()
|
|
41223
41226
|
};
|
|
41224
41227
|
}
|
|
41225
|
-
function tl(
|
|
41226
|
-
var L = wi(this,
|
|
41228
|
+
function tl(C) {
|
|
41229
|
+
var L = wi(this, C).delete(C);
|
|
41227
41230
|
return this.size -= L ? 1 : 0, L;
|
|
41228
41231
|
}
|
|
41229
|
-
function Wd(
|
|
41230
|
-
return wi(this,
|
|
41232
|
+
function Wd(C) {
|
|
41233
|
+
return wi(this, C).get(C);
|
|
41231
41234
|
}
|
|
41232
|
-
function Qd(
|
|
41233
|
-
return wi(this,
|
|
41235
|
+
function Qd(C) {
|
|
41236
|
+
return wi(this, C).has(C);
|
|
41234
41237
|
}
|
|
41235
|
-
function Yd(
|
|
41236
|
-
var J = wi(this,
|
|
41237
|
-
return J.set(
|
|
41238
|
+
function Yd(C, L) {
|
|
41239
|
+
var J = wi(this, C), le = J.size;
|
|
41240
|
+
return J.set(C, L), this.size += J.size == le ? 0 : 1, this;
|
|
41238
41241
|
}
|
|
41239
41242
|
ln.prototype.clear = xs, ln.prototype.delete = tl, ln.prototype.get = Wd, ln.prototype.has = Qd, ln.prototype.set = Yd;
|
|
41240
|
-
function ao(
|
|
41241
|
-
var L = -1, J =
|
|
41243
|
+
function ao(C) {
|
|
41244
|
+
var L = -1, J = C == null ? 0 : C.length;
|
|
41242
41245
|
for (this.__data__ = new ln(); ++L < J; )
|
|
41243
|
-
this.add(
|
|
41246
|
+
this.add(C[L]);
|
|
41244
41247
|
}
|
|
41245
|
-
function Kc(
|
|
41246
|
-
return this.__data__.set(
|
|
41248
|
+
function Kc(C) {
|
|
41249
|
+
return this.__data__.set(C, i), this;
|
|
41247
41250
|
}
|
|
41248
|
-
function lo(
|
|
41249
|
-
return this.__data__.has(
|
|
41251
|
+
function lo(C) {
|
|
41252
|
+
return this.__data__.has(C);
|
|
41250
41253
|
}
|
|
41251
41254
|
ao.prototype.add = ao.prototype.push = Kc, ao.prototype.has = lo;
|
|
41252
|
-
function Gi(
|
|
41253
|
-
var L = this.__data__ = new Dt(
|
|
41255
|
+
function Gi(C) {
|
|
41256
|
+
var L = this.__data__ = new Dt(C);
|
|
41254
41257
|
this.size = L.size;
|
|
41255
41258
|
}
|
|
41256
41259
|
function nl() {
|
|
41257
41260
|
this.__data__ = new Dt(), this.size = 0;
|
|
41258
41261
|
}
|
|
41259
|
-
function Xd(
|
|
41260
|
-
var L = this.__data__, J = L.delete(
|
|
41262
|
+
function Xd(C) {
|
|
41263
|
+
var L = this.__data__, J = L.delete(C);
|
|
41261
41264
|
return this.size = L.size, J;
|
|
41262
41265
|
}
|
|
41263
|
-
function Zd(
|
|
41264
|
-
return this.__data__.get(
|
|
41266
|
+
function Zd(C) {
|
|
41267
|
+
return this.__data__.get(C);
|
|
41265
41268
|
}
|
|
41266
|
-
function Jd(
|
|
41267
|
-
return this.__data__.has(
|
|
41269
|
+
function Jd(C) {
|
|
41270
|
+
return this.__data__.has(C);
|
|
41268
41271
|
}
|
|
41269
|
-
function qd(
|
|
41272
|
+
function qd(C, L) {
|
|
41270
41273
|
var J = this.__data__;
|
|
41271
41274
|
if (J instanceof Dt) {
|
|
41272
41275
|
var le = J.__data__;
|
|
41273
41276
|
if (!ci || le.length < t - 1)
|
|
41274
|
-
return le.push([
|
|
41277
|
+
return le.push([C, L]), this.size = ++J.size, this;
|
|
41275
41278
|
J = this.__data__ = new ln(le);
|
|
41276
41279
|
}
|
|
41277
|
-
return J.set(
|
|
41280
|
+
return J.set(C, L), this.size = J.size, this;
|
|
41278
41281
|
}
|
|
41279
41282
|
Gi.prototype.clear = nl, Gi.prototype.delete = Xd, Gi.prototype.get = Zd, Gi.prototype.has = Jd, Gi.prototype.set = qd;
|
|
41280
|
-
function Kd(
|
|
41281
|
-
var J = ho(
|
|
41282
|
-
for (var zt in
|
|
41283
|
-
(L || Ke.call(
|
|
41283
|
+
function Kd(C, L) {
|
|
41284
|
+
var J = ho(C), le = !J && ih(C), At = !J && !le && uo(C), rt = !J && !le && !At && oh(C), St = J || le || At || rt, Lt = St ? j(C.length, String) : [], dn = Lt.length;
|
|
41285
|
+
for (var zt in C)
|
|
41286
|
+
(L || Ke.call(C, zt)) && !(St && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
41284
41287
|
(zt == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
41285
|
-
|
|
41288
|
+
At && (zt == "offset" || zt == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
41286
41289
|
rt && (zt == "buffer" || zt == "byteLength" || zt == "byteOffset") || // Skip index properties.
|
|
41287
41290
|
af(zt, dn))) && Lt.push(zt);
|
|
41288
41291
|
return Lt;
|
|
41289
41292
|
}
|
|
41290
|
-
function co(
|
|
41291
|
-
for (var J =
|
|
41292
|
-
if (nh(
|
|
41293
|
+
function co(C, L) {
|
|
41294
|
+
for (var J = C.length; J--; )
|
|
41295
|
+
if (nh(C[J][0], L))
|
|
41293
41296
|
return J;
|
|
41294
41297
|
return -1;
|
|
41295
41298
|
}
|
|
41296
|
-
function il(
|
|
41297
|
-
var le = L(
|
|
41298
|
-
return ho(
|
|
41299
|
+
function il(C, L, J) {
|
|
41300
|
+
var le = L(C);
|
|
41301
|
+
return ho(C) ? le : Ne(le, J(C));
|
|
41299
41302
|
}
|
|
41300
|
-
function Ms(
|
|
41301
|
-
return
|
|
41303
|
+
function Ms(C) {
|
|
41304
|
+
return C == null ? C === void 0 ? T : y : Xt && Xt in Object(C) ? pr(C) : th(C);
|
|
41302
41305
|
}
|
|
41303
|
-
function $c(
|
|
41304
|
-
return Hi(
|
|
41306
|
+
function $c(C) {
|
|
41307
|
+
return Hi(C) && Ms(C) == a;
|
|
41305
41308
|
}
|
|
41306
|
-
function eh(
|
|
41307
|
-
return
|
|
41309
|
+
function eh(C, L, J, le, At) {
|
|
41310
|
+
return C === L ? !0 : C == null || L == null || !Hi(C) && !Hi(L) ? C !== C && L !== L : $d(C, L, J, le, eh, At);
|
|
41308
41311
|
}
|
|
41309
|
-
function $d(
|
|
41310
|
-
var St = ho(
|
|
41312
|
+
function $d(C, L, J, le, At, rt) {
|
|
41313
|
+
var St = ho(C), Lt = ho(L), dn = St ? l : ji(C), zt = Lt ? l : ji(L);
|
|
41311
41314
|
dn = dn == a ? b : dn, zt = zt == a ? b : zt;
|
|
41312
41315
|
var Rn = dn == b, Zn = zt == b, bn = dn == zt;
|
|
41313
|
-
if (bn && uo(
|
|
41316
|
+
if (bn && uo(C)) {
|
|
41314
41317
|
if (!uo(L))
|
|
41315
41318
|
return !1;
|
|
41316
41319
|
St = !0, Rn = !1;
|
|
41317
41320
|
}
|
|
41318
41321
|
if (bn && !Rn)
|
|
41319
|
-
return rt || (rt = new Gi()), St || oh(
|
|
41322
|
+
return rt || (rt = new Gi()), St || oh(C) ? rl(C, L, J, le, At, rt) : rf(C, L, dn, J, le, At, rt);
|
|
41320
41323
|
if (!(J & r)) {
|
|
41321
|
-
var On = Rn && Ke.call(
|
|
41324
|
+
var On = Rn && Ke.call(C, "__wrapped__"), In = Zn && Ke.call(L, "__wrapped__");
|
|
41322
41325
|
if (On || In) {
|
|
41323
|
-
var Fr = On ?
|
|
41324
|
-
return rt || (rt = new Gi()),
|
|
41326
|
+
var Fr = On ? C.value() : C, mr = In ? L.value() : L;
|
|
41327
|
+
return rt || (rt = new Gi()), At(Fr, mr, J, le, rt);
|
|
41325
41328
|
}
|
|
41326
41329
|
}
|
|
41327
|
-
return bn ? (rt || (rt = new Gi()), sf(
|
|
41330
|
+
return bn ? (rt || (rt = new Gi()), sf(C, L, J, le, At, rt)) : !1;
|
|
41328
41331
|
}
|
|
41329
|
-
function ef(
|
|
41330
|
-
if (!sh(
|
|
41332
|
+
function ef(C) {
|
|
41333
|
+
if (!sh(C) || cf(C))
|
|
41331
41334
|
return !1;
|
|
41332
|
-
var L = rh(
|
|
41333
|
-
return L.test(Hn(
|
|
41335
|
+
var L = rh(C) ? $e : ye;
|
|
41336
|
+
return L.test(Hn(C));
|
|
41334
41337
|
}
|
|
41335
|
-
function tf(
|
|
41336
|
-
return Hi(
|
|
41338
|
+
function tf(C) {
|
|
41339
|
+
return Hi(C) && ol(C.length) && !!be[Ms(C)];
|
|
41337
41340
|
}
|
|
41338
|
-
function nf(
|
|
41339
|
-
if (!hf(
|
|
41340
|
-
return an(
|
|
41341
|
+
function nf(C) {
|
|
41342
|
+
if (!hf(C))
|
|
41343
|
+
return an(C);
|
|
41341
41344
|
var L = [];
|
|
41342
|
-
for (var J in Object(
|
|
41343
|
-
Ke.call(
|
|
41345
|
+
for (var J in Object(C))
|
|
41346
|
+
Ke.call(C, J) && J != "constructor" && L.push(J);
|
|
41344
41347
|
return L;
|
|
41345
41348
|
}
|
|
41346
|
-
function rl(
|
|
41347
|
-
var St = J & r, Lt =
|
|
41349
|
+
function rl(C, L, J, le, At, rt) {
|
|
41350
|
+
var St = J & r, Lt = C.length, dn = L.length;
|
|
41348
41351
|
if (Lt != dn && !(St && dn > Lt))
|
|
41349
41352
|
return !1;
|
|
41350
|
-
var zt = rt.get(
|
|
41353
|
+
var zt = rt.get(C);
|
|
41351
41354
|
if (zt && rt.get(L))
|
|
41352
41355
|
return zt == L;
|
|
41353
41356
|
var Rn = -1, Zn = !0, bn = J & s ? new ao() : void 0;
|
|
41354
|
-
for (rt.set(
|
|
41355
|
-
var On =
|
|
41357
|
+
for (rt.set(C, L), rt.set(L, C); ++Rn < Lt; ) {
|
|
41358
|
+
var On = C[Rn], In = L[Rn];
|
|
41356
41359
|
if (le)
|
|
41357
|
-
var Fr = St ? le(In, On, Rn, L,
|
|
41360
|
+
var Fr = St ? le(In, On, Rn, L, C, rt) : le(On, In, Rn, C, L, rt);
|
|
41358
41361
|
if (Fr !== void 0) {
|
|
41359
41362
|
if (Fr)
|
|
41360
41363
|
continue;
|
|
@@ -41363,56 +41366,56 @@ var vd = {}, d9 = {
|
|
|
41363
41366
|
}
|
|
41364
41367
|
if (bn) {
|
|
41365
41368
|
if (!N(L, function(mr, Cs) {
|
|
41366
|
-
if (!me(bn, Cs) && (On === mr ||
|
|
41369
|
+
if (!me(bn, Cs) && (On === mr || At(On, mr, J, le, rt)))
|
|
41367
41370
|
return bn.push(Cs);
|
|
41368
41371
|
})) {
|
|
41369
41372
|
Zn = !1;
|
|
41370
41373
|
break;
|
|
41371
41374
|
}
|
|
41372
|
-
} else if (!(On === In ||
|
|
41375
|
+
} else if (!(On === In || At(On, In, J, le, rt))) {
|
|
41373
41376
|
Zn = !1;
|
|
41374
41377
|
break;
|
|
41375
41378
|
}
|
|
41376
41379
|
}
|
|
41377
|
-
return rt.delete(
|
|
41380
|
+
return rt.delete(C), rt.delete(L), Zn;
|
|
41378
41381
|
}
|
|
41379
|
-
function rf(
|
|
41382
|
+
function rf(C, L, J, le, At, rt, St) {
|
|
41380
41383
|
switch (J) {
|
|
41381
41384
|
case k:
|
|
41382
|
-
if (
|
|
41385
|
+
if (C.byteLength != L.byteLength || C.byteOffset != L.byteOffset)
|
|
41383
41386
|
return !1;
|
|
41384
|
-
|
|
41387
|
+
C = C.buffer, L = L.buffer;
|
|
41385
41388
|
case D:
|
|
41386
|
-
return !(
|
|
41389
|
+
return !(C.byteLength != L.byteLength || !rt(new Pt(C), new Pt(L)));
|
|
41387
41390
|
case h:
|
|
41388
41391
|
case u:
|
|
41389
41392
|
case g:
|
|
41390
|
-
return nh(+
|
|
41393
|
+
return nh(+C, +L);
|
|
41391
41394
|
case d:
|
|
41392
|
-
return
|
|
41395
|
+
return C.name == L.name && C.message == L.message;
|
|
41393
41396
|
case x:
|
|
41394
41397
|
case P:
|
|
41395
|
-
return
|
|
41398
|
+
return C == L + "";
|
|
41396
41399
|
case p:
|
|
41397
41400
|
var Lt = Ae;
|
|
41398
41401
|
case M:
|
|
41399
41402
|
var dn = le & r;
|
|
41400
|
-
if (Lt || (Lt = st),
|
|
41403
|
+
if (Lt || (Lt = st), C.size != L.size && !dn)
|
|
41401
41404
|
return !1;
|
|
41402
|
-
var zt = St.get(
|
|
41405
|
+
var zt = St.get(C);
|
|
41403
41406
|
if (zt)
|
|
41404
41407
|
return zt == L;
|
|
41405
|
-
le |= s, St.set(
|
|
41406
|
-
var Rn = rl(Lt(
|
|
41407
|
-
return St.delete(
|
|
41408
|
+
le |= s, St.set(C, L);
|
|
41409
|
+
var Rn = rl(Lt(C), Lt(L), le, At, rt, St);
|
|
41410
|
+
return St.delete(C), Rn;
|
|
41408
41411
|
case I:
|
|
41409
41412
|
if (ht)
|
|
41410
|
-
return ht.call(
|
|
41413
|
+
return ht.call(C) == ht.call(L);
|
|
41411
41414
|
}
|
|
41412
41415
|
return !1;
|
|
41413
41416
|
}
|
|
41414
|
-
function sf(
|
|
41415
|
-
var St = J & r, Lt = Es(
|
|
41417
|
+
function sf(C, L, J, le, At, rt) {
|
|
41418
|
+
var St = J & r, Lt = Es(C), dn = Lt.length, zt = Es(L), Rn = zt.length;
|
|
41416
41419
|
if (dn != Rn && !St)
|
|
41417
41420
|
return !1;
|
|
41418
41421
|
for (var Zn = dn; Zn--; ) {
|
|
@@ -41420,56 +41423,56 @@ var vd = {}, d9 = {
|
|
|
41420
41423
|
if (!(St ? bn in L : Ke.call(L, bn)))
|
|
41421
41424
|
return !1;
|
|
41422
41425
|
}
|
|
41423
|
-
var On = rt.get(
|
|
41426
|
+
var On = rt.get(C);
|
|
41424
41427
|
if (On && rt.get(L))
|
|
41425
41428
|
return On == L;
|
|
41426
41429
|
var In = !0;
|
|
41427
|
-
rt.set(
|
|
41430
|
+
rt.set(C, L), rt.set(L, C);
|
|
41428
41431
|
for (var Fr = St; ++Zn < dn; ) {
|
|
41429
41432
|
bn = Lt[Zn];
|
|
41430
|
-
var mr =
|
|
41433
|
+
var mr = C[bn], Cs = L[bn];
|
|
41431
41434
|
if (le)
|
|
41432
|
-
var dv = St ? le(Cs, mr, bn, L,
|
|
41433
|
-
if (!(dv === void 0 ? mr === Cs ||
|
|
41435
|
+
var dv = St ? le(Cs, mr, bn, L, C, rt) : le(mr, Cs, bn, C, L, rt);
|
|
41436
|
+
if (!(dv === void 0 ? mr === Cs || At(mr, Cs, J, le, rt) : dv)) {
|
|
41434
41437
|
In = !1;
|
|
41435
41438
|
break;
|
|
41436
41439
|
}
|
|
41437
41440
|
Fr || (Fr = bn == "constructor");
|
|
41438
41441
|
}
|
|
41439
41442
|
if (In && !Fr) {
|
|
41440
|
-
var ah =
|
|
41441
|
-
ah != lh && "constructor" in
|
|
41443
|
+
var ah = C.constructor, lh = L.constructor;
|
|
41444
|
+
ah != lh && "constructor" in C && "constructor" in L && !(typeof ah == "function" && ah instanceof ah && typeof lh == "function" && lh instanceof lh) && (In = !1);
|
|
41442
41445
|
}
|
|
41443
|
-
return rt.delete(
|
|
41446
|
+
return rt.delete(C), rt.delete(L), In;
|
|
41444
41447
|
}
|
|
41445
|
-
function Es(
|
|
41446
|
-
return il(
|
|
41448
|
+
function Es(C) {
|
|
41449
|
+
return il(C, al, of);
|
|
41447
41450
|
}
|
|
41448
|
-
function wi(
|
|
41449
|
-
var J =
|
|
41451
|
+
function wi(C, L) {
|
|
41452
|
+
var J = C.__data__;
|
|
41450
41453
|
return lf(L) ? J[typeof L == "string" ? "string" : "hash"] : J.map;
|
|
41451
41454
|
}
|
|
41452
|
-
function fr(
|
|
41453
|
-
var J = qe(
|
|
41455
|
+
function fr(C, L) {
|
|
41456
|
+
var J = qe(C, L);
|
|
41454
41457
|
return ef(J) ? J : void 0;
|
|
41455
41458
|
}
|
|
41456
|
-
function pr(
|
|
41457
|
-
var L = Ke.call(
|
|
41459
|
+
function pr(C) {
|
|
41460
|
+
var L = Ke.call(C, Xt), J = C[Xt];
|
|
41458
41461
|
try {
|
|
41459
|
-
|
|
41462
|
+
C[Xt] = void 0;
|
|
41460
41463
|
var le = !0;
|
|
41461
41464
|
} catch (rt) {
|
|
41462
41465
|
}
|
|
41463
|
-
var
|
|
41464
|
-
return le && (L ?
|
|
41466
|
+
var At = We.call(C);
|
|
41467
|
+
return le && (L ? C[Xt] = J : delete C[Xt]), At;
|
|
41465
41468
|
}
|
|
41466
|
-
var of = kt ? function(
|
|
41467
|
-
return
|
|
41468
|
-
return Ot.call(
|
|
41469
|
+
var of = kt ? function(C) {
|
|
41470
|
+
return C == null ? [] : (C = Object(C), xe(kt(C), function(L) {
|
|
41471
|
+
return Ot.call(C, L);
|
|
41469
41472
|
}));
|
|
41470
41473
|
} : df, ji = Ms;
|
|
41471
|
-
(_n && ji(new _n(new ArrayBuffer(1))) != k || ci && ji(new ci()) != p || Fi && ji(Fi.resolve()) != A || Vi && ji(new Vi()) != M || V && ji(new V()) != z) && (ji = function(
|
|
41472
|
-
var L = Ms(
|
|
41474
|
+
(_n && ji(new _n(new ArrayBuffer(1))) != k || ci && ji(new ci()) != p || Fi && ji(Fi.resolve()) != A || Vi && ji(new Vi()) != M || V && ji(new V()) != z) && (ji = function(C) {
|
|
41475
|
+
var L = Ms(C), J = L == b ? C.constructor : void 0, le = J ? Hn(J) : "";
|
|
41473
41476
|
if (le)
|
|
41474
41477
|
switch (le) {
|
|
41475
41478
|
case ie:
|
|
@@ -41485,70 +41488,70 @@ var vd = {}, d9 = {
|
|
|
41485
41488
|
}
|
|
41486
41489
|
return L;
|
|
41487
41490
|
});
|
|
41488
|
-
function af(
|
|
41489
|
-
return L = L == null ? o : L, !!L && (typeof
|
|
41491
|
+
function af(C, L) {
|
|
41492
|
+
return L = L == null ? o : L, !!L && (typeof C == "number" || Je.test(C)) && C > -1 && C % 1 == 0 && C < L;
|
|
41490
41493
|
}
|
|
41491
|
-
function lf(
|
|
41492
|
-
var L = typeof
|
|
41493
|
-
return L == "string" || L == "number" || L == "symbol" || L == "boolean" ?
|
|
41494
|
+
function lf(C) {
|
|
41495
|
+
var L = typeof C;
|
|
41496
|
+
return L == "string" || L == "number" || L == "symbol" || L == "boolean" ? C !== "__proto__" : C === null;
|
|
41494
41497
|
}
|
|
41495
|
-
function cf(
|
|
41496
|
-
return !!$ && $ in
|
|
41498
|
+
function cf(C) {
|
|
41499
|
+
return !!$ && $ in C;
|
|
41497
41500
|
}
|
|
41498
|
-
function hf(
|
|
41499
|
-
var L =
|
|
41500
|
-
return
|
|
41501
|
+
function hf(C) {
|
|
41502
|
+
var L = C && C.constructor, J = typeof L == "function" && L.prototype || Re;
|
|
41503
|
+
return C === J;
|
|
41501
41504
|
}
|
|
41502
|
-
function th(
|
|
41503
|
-
return We.call(
|
|
41505
|
+
function th(C) {
|
|
41506
|
+
return We.call(C);
|
|
41504
41507
|
}
|
|
41505
|
-
function Hn(
|
|
41506
|
-
if (
|
|
41508
|
+
function Hn(C) {
|
|
41509
|
+
if (C != null) {
|
|
41507
41510
|
try {
|
|
41508
|
-
return Ze.call(
|
|
41511
|
+
return Ze.call(C);
|
|
41509
41512
|
} catch (L) {
|
|
41510
41513
|
}
|
|
41511
41514
|
try {
|
|
41512
|
-
return
|
|
41515
|
+
return C + "";
|
|
41513
41516
|
} catch (L) {
|
|
41514
41517
|
}
|
|
41515
41518
|
}
|
|
41516
41519
|
return "";
|
|
41517
41520
|
}
|
|
41518
|
-
function nh(
|
|
41519
|
-
return
|
|
41521
|
+
function nh(C, L) {
|
|
41522
|
+
return C === L || C !== C && L !== L;
|
|
41520
41523
|
}
|
|
41521
41524
|
var ih = $c(function() {
|
|
41522
41525
|
return arguments;
|
|
41523
|
-
}()) ? $c : function(
|
|
41524
|
-
return Hi(
|
|
41526
|
+
}()) ? $c : function(C) {
|
|
41527
|
+
return Hi(C) && Ke.call(C, "callee") && !Ot.call(C, "callee");
|
|
41525
41528
|
}, ho = Array.isArray;
|
|
41526
|
-
function sl(
|
|
41527
|
-
return
|
|
41529
|
+
function sl(C) {
|
|
41530
|
+
return C != null && ol(C.length) && !rh(C);
|
|
41528
41531
|
}
|
|
41529
41532
|
var uo = on || ff;
|
|
41530
|
-
function uf(
|
|
41531
|
-
return eh(
|
|
41533
|
+
function uf(C, L) {
|
|
41534
|
+
return eh(C, L);
|
|
41532
41535
|
}
|
|
41533
|
-
function rh(
|
|
41534
|
-
if (!sh(
|
|
41536
|
+
function rh(C) {
|
|
41537
|
+
if (!sh(C))
|
|
41535
41538
|
return !1;
|
|
41536
|
-
var L = Ms(
|
|
41539
|
+
var L = Ms(C);
|
|
41537
41540
|
return L == f || L == m || L == c || L == w;
|
|
41538
41541
|
}
|
|
41539
|
-
function ol(
|
|
41540
|
-
return typeof
|
|
41542
|
+
function ol(C) {
|
|
41543
|
+
return typeof C == "number" && C > -1 && C % 1 == 0 && C <= o;
|
|
41541
41544
|
}
|
|
41542
|
-
function sh(
|
|
41543
|
-
var L = typeof
|
|
41544
|
-
return
|
|
41545
|
+
function sh(C) {
|
|
41546
|
+
var L = typeof C;
|
|
41547
|
+
return C != null && (L == "object" || L == "function");
|
|
41545
41548
|
}
|
|
41546
|
-
function Hi(
|
|
41547
|
-
return
|
|
41549
|
+
function Hi(C) {
|
|
41550
|
+
return C != null && typeof C == "object";
|
|
41548
41551
|
}
|
|
41549
41552
|
var oh = mt ? Ce(mt) : tf;
|
|
41550
|
-
function al(
|
|
41551
|
-
return sl(
|
|
41553
|
+
function al(C) {
|
|
41554
|
+
return sl(C) ? Kd(C) : nf(C);
|
|
41552
41555
|
}
|
|
41553
41556
|
function df() {
|
|
41554
41557
|
return [];
|
|
@@ -44179,7 +44182,7 @@ function nN(e, n, t) {
|
|
|
44179
44182
|
1 && t(4, i = (g = (p = u.state) == null ? void 0 : p.unfolded) != null ? g : !1), e.$$.dirty & /*unfolded*/
|
|
44180
44183
|
16 && t(8, r = !i), e.$$.dirty & /*tag*/
|
|
44181
44184
|
1 && t(3, s = u.data), e.$$.dirty & /*data*/
|
|
44182
|
-
8 && t(7, o =
|
|
44185
|
+
8 && t(7, o = bt((y = s.price) == null ? void 0 : y.value) && ((b = s.price) == null ? void 0 : b.value) !== ""), e.$$.dirty & /*tag*/
|
|
44183
44186
|
1 && t(6, a = u.data.theme || "light"), e.$$.dirty & /*tagsOffsetHeight, maxTagsLength*/
|
|
44184
44187
|
1026 && d > 40 && t(10, l = l - 1), e.$$.dirty & /*data, maxTagsLength*/
|
|
44185
44188
|
1032 && t(2, c = ((A = s.brandTags) == null ? void 0 : A.slice(0, l).filter(Boolean)) || []), e.$$.dirty & /*data, maxTagsLength, primaryTags*/
|
|
@@ -46293,7 +46296,7 @@ function s8(e) {
|
|
|
46293
46296
|
const [n, t, i, r] = e, s = n.distanceTo(t), o = t.distanceTo(i), a = i.distanceTo(r), l = r.distanceTo(n), c = n.distanceTo(i), h = t.distanceTo(r);
|
|
46294
46297
|
return s === a && o === l && c === h;
|
|
46295
46298
|
}
|
|
46296
|
-
class dp extends
|
|
46299
|
+
class dp extends E.Mesh {
|
|
46297
46300
|
/**
|
|
46298
46301
|
* @description 生成一个四边形的Mesh
|
|
46299
46302
|
* @param {Vector3Position[]} points: 四个顶点的坐标, [左下,右下,右上,左上]
|
|
@@ -46311,7 +46314,7 @@ class dp extends C.Mesh {
|
|
|
46311
46314
|
return t !== null && t.remove(this), this;
|
|
46312
46315
|
}
|
|
46313
46316
|
}
|
|
46314
|
-
class LM extends
|
|
46317
|
+
class LM extends E.BufferGeometry {
|
|
46315
46318
|
/**
|
|
46316
46319
|
* @description 生成一个四边形的BufferGeometry,原点取 points[0],即左下角
|
|
46317
46320
|
* @param {Vector3Position[]} points: 四个顶点的坐标, [左下,右下,右上,左上]
|
|
@@ -46326,7 +46329,7 @@ class LM extends C.BufferGeometry {
|
|
|
46326
46329
|
console.error("Invalid number of points, it's not a quadrangle");
|
|
46327
46330
|
return;
|
|
46328
46331
|
}
|
|
46329
|
-
const [s, o, a, l] = t, [c, h, u, d] = [new
|
|
46332
|
+
const [s, o, a, l] = t, [c, h, u, d] = [new E.Vector2(0, 0), new E.Vector2(1, 0), new E.Vector2(1, 1), new E.Vector2(0, 1)], f = [], m = [];
|
|
46330
46333
|
f.push(...s.toArray()), m.push(...c.toArray());
|
|
46331
46334
|
for (let g = 1; g < r; g++)
|
|
46332
46335
|
f.push(
|
|
@@ -46345,7 +46348,7 @@ class LM extends C.BufferGeometry {
|
|
|
46345
46348
|
const p = [];
|
|
46346
46349
|
for (let g = 0; g < r; g++)
|
|
46347
46350
|
p.push(g, g + 1, r * 2 - g, g, r * 2 - g, r * 2 + 1 - g);
|
|
46348
|
-
this.setAttribute("position", new
|
|
46351
|
+
this.setAttribute("position", new E.BufferAttribute(new Float32Array(f), 3)), this.setAttribute("uv", new E.BufferAttribute(new Float32Array(m), 2)), this.setIndex(new E.BufferAttribute(new Uint32Array(p), 1));
|
|
46349
46352
|
}
|
|
46350
46353
|
}
|
|
46351
46354
|
const o8 = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
|
|
@@ -46355,8 +46358,8 @@ function l8(e, n) {
|
|
|
46355
46358
|
let t = !vu;
|
|
46356
46359
|
const i = n != null ? n : document.createElement("video");
|
|
46357
46360
|
i.preload = "metadata", i.crossOrigin = "anonymous", i.muted = !0, i.loop = !0, i.playsInline = !0, i.autoplay = !0;
|
|
46358
|
-
const r = new
|
|
46359
|
-
r.minFilter =
|
|
46361
|
+
const r = new E.VideoTexture(i);
|
|
46362
|
+
r.minFilter = E.LinearFilter, r.magFilter = E.LinearFilter, r.encoding = E.sRGBEncoding, r.metadataLoaded = !1, i.src = e;
|
|
46360
46363
|
const s = () => {
|
|
46361
46364
|
r.metadataLoaded || (r.dispatchEvent({ type: "videoLoaded" }), r.metadataLoaded = !0);
|
|
46362
46365
|
};
|
|
@@ -46386,25 +46389,25 @@ function Tl(e, n, t) {
|
|
|
46386
46389
|
if (e === "contain") {
|
|
46387
46390
|
const [i, r, s, o] = n, a = i.distanceTo(r), l = s.distanceTo(o), c = i.distanceTo(o), h = r.distanceTo(s), u = a, d = c, f = u / d;
|
|
46388
46391
|
if (f > t) {
|
|
46389
|
-
const p = d * t, g = new
|
|
46392
|
+
const p = d * t, g = new E.Vector3().subVectors(r, i).multiplyScalar((a - p) / 2 / a), y = new E.Vector3().subVectors(s, o).multiplyScalar((l - p) / 2 / l);
|
|
46390
46393
|
return [i.clone().add(g), r.clone().sub(g), s.clone().sub(y), o.clone().add(y)];
|
|
46391
46394
|
} else if (f < t) {
|
|
46392
|
-
const p = u / t, g = new
|
|
46395
|
+
const p = u / t, g = new E.Vector3().subVectors(o, i).multiplyScalar((c - p) / 2 / c), y = new E.Vector3().subVectors(s, r).multiplyScalar((h - p) / 2 / h);
|
|
46393
46396
|
return [i.clone().add(g), r.clone().add(y), s.clone().sub(y), o.clone().sub(g)];
|
|
46394
46397
|
} else
|
|
46395
46398
|
return n;
|
|
46396
46399
|
} else
|
|
46397
46400
|
return console.warn(`objectFit: ${e} is not supported yet`), n;
|
|
46398
46401
|
}
|
|
46399
|
-
class c8 extends
|
|
46402
|
+
class c8 extends E.ShaderMaterial {
|
|
46400
46403
|
constructor(t) {
|
|
46401
46404
|
super();
|
|
46402
46405
|
v(this, "transparent", !1);
|
|
46403
|
-
v(this, "blending",
|
|
46404
|
-
v(this, "blendSrc",
|
|
46405
|
-
v(this, "blendDst",
|
|
46406
|
-
v(this, "blendSrcAlpha",
|
|
46407
|
-
v(this, "blendDstAlpha",
|
|
46406
|
+
v(this, "blending", E.CustomBlending);
|
|
46407
|
+
v(this, "blendSrc", E.SrcAlphaFactor);
|
|
46408
|
+
v(this, "blendDst", E.OneMinusSrcAlphaFactor);
|
|
46409
|
+
v(this, "blendSrcAlpha", E.OneFactor);
|
|
46410
|
+
v(this, "blendDstAlpha", E.OneMinusSrcAlphaFactor);
|
|
46408
46411
|
v(
|
|
46409
46412
|
this,
|
|
46410
46413
|
"vertexShader",
|
|
@@ -46435,7 +46438,7 @@ class c8 extends C.ShaderMaterial {
|
|
|
46435
46438
|
};
|
|
46436
46439
|
}
|
|
46437
46440
|
}
|
|
46438
|
-
class kM extends
|
|
46441
|
+
class kM extends E.Mesh {
|
|
46439
46442
|
constructor() {
|
|
46440
46443
|
super(...arguments);
|
|
46441
46444
|
v(this, "name", "MediaPlane");
|
|
@@ -46470,7 +46473,7 @@ class RM extends kM {
|
|
|
46470
46473
|
}
|
|
46471
46474
|
Vx(t).then(({ texture: l, transparent: c }) => {
|
|
46472
46475
|
var p;
|
|
46473
|
-
const h = new
|
|
46476
|
+
const h = new E.MeshBasicMaterial({ map: l, transparent: c }), u = Tl(
|
|
46474
46477
|
(p = r == null ? void 0 : r.objectFit) != null ? p : "contain",
|
|
46475
46478
|
o,
|
|
46476
46479
|
l.image.width / l.image.height
|
|
@@ -46556,7 +46559,7 @@ class OM extends kM {
|
|
|
46556
46559
|
return this.coverMesh;
|
|
46557
46560
|
if (!this.videoCoverSrc)
|
|
46558
46561
|
return;
|
|
46559
|
-
const { texture: i, transparent: r } = yield this.getImageTexture(this.videoCoverSrc), s = new
|
|
46562
|
+
const { texture: i, transparent: r } = yield this.getImageTexture(this.videoCoverSrc), s = new E.MeshBasicMaterial({ transparent: !1, map: i }), o = Tl(this.objectFit, this.cornerPoints, i.image.width / i.image.height), a = new dp(o, s);
|
|
46560
46563
|
return a.position.copy(new Se(0, 0, 0)), a.name = "videoCoverMesh", a;
|
|
46561
46564
|
}))();
|
|
46562
46565
|
return t && (this.children.includes(this.coverMesh) || (this.add(t), this.coverMesh = t)), t;
|
|
@@ -46571,7 +46574,7 @@ class OM extends kM {
|
|
|
46571
46574
|
return this.videoMesh;
|
|
46572
46575
|
if (!this.src)
|
|
46573
46576
|
return;
|
|
46574
|
-
const r = this.getVideoTexture(this.src), s = new
|
|
46577
|
+
const r = this.getVideoTexture(this.src), s = new E.MeshBasicMaterial({ transparent: !1, map: r }), o = yield new Promise((l) => {
|
|
46575
46578
|
r.metadataLoaded ? l(Tl(this.objectFit, this.cornerPoints, r.image.videoWidth / r.image.videoHeight)) : r.addEventListener(
|
|
46576
46579
|
"videoLoaded",
|
|
46577
46580
|
() => l(Tl(this.objectFit, this.cornerPoints, r.image.videoWidth / r.image.videoHeight))
|
|
@@ -46808,7 +46811,7 @@ class $g {
|
|
|
46808
46811
|
const f = n.workUtil.transform;
|
|
46809
46812
|
return Array.isArray(d) && d.length === 4 ? d.map(Ft).map((m) => Sc(m, f).toArray()) : Sc(Ft(d), f).toArray();
|
|
46810
46813
|
})(), this.matrix = t.matrix ? (() => {
|
|
46811
|
-
const d = new
|
|
46814
|
+
const d = new E.Matrix4().fromArray(t.matrix);
|
|
46812
46815
|
return d.premultiply(n.workUtil.transform), d.elements;
|
|
46813
46816
|
})() : t.matrix, this.initialConfig = s, this.computedConfig = o, this.stickType = i, this.config = t.config, this.fiveState = t.fiveState, this.normal = t.normal, this.cache = new zc(), this.hooks = new En(), Object.keys(t).forEach((d) => {
|
|
46814
46817
|
this[d] === void 0 && t[d] !== void 0 && (this[d] = t[d]);
|
|
@@ -47144,7 +47147,7 @@ class $g {
|
|
|
47144
47147
|
if ((() => {
|
|
47145
47148
|
var o;
|
|
47146
47149
|
const s = i();
|
|
47147
|
-
if (
|
|
47150
|
+
if (bt((o = this.fiveState) == null ? void 0 : o.panoIndex) && n.entryFromModel) {
|
|
47148
47151
|
if (Ii(t) && s ? this.entryFromModel = !1 : this.entryFromModel = !0, Ii(t))
|
|
47149
47152
|
return !0;
|
|
47150
47153
|
} else
|
|
@@ -47173,7 +47176,7 @@ class $g {
|
|
|
47173
47176
|
);
|
|
47174
47177
|
let o = 0, a = 0;
|
|
47175
47178
|
for (const d of s) {
|
|
47176
|
-
const f = new
|
|
47179
|
+
const f = new E.Vector3().subVectors(d, r).normalize();
|
|
47177
47180
|
let m;
|
|
47178
47181
|
ss.set(r, f);
|
|
47179
47182
|
const [p] = this.fiveUtil.model.intersectRaycaster(ss);
|
|
@@ -47184,7 +47187,7 @@ class $g {
|
|
|
47184
47187
|
const x = this.plugin.tags.filter($i).map((P) => {
|
|
47185
47188
|
var I;
|
|
47186
47189
|
return (I = P.model) == null ? void 0 : I.object;
|
|
47187
|
-
}).filter(
|
|
47190
|
+
}).filter(bt), [M] = ss.intersectObjects(x, !0);
|
|
47188
47191
|
return M;
|
|
47189
47192
|
})(), y = r.distanceTo(d), b = (c = t.distanceAccuracy) != null ? c : 0.01;
|
|
47190
47193
|
m = Math.min(m != null ? m : 1 / 0, (h = g == null ? void 0 : g.distance) != null ? h : 1 / 0), m + b >= y ? o++ : a++;
|
|
@@ -47340,7 +47343,7 @@ class zM extends $g {
|
|
|
47340
47343
|
this.plugin.hooks.emit("click", { target: "TagModel", tag: this, event: u });
|
|
47341
47344
|
})
|
|
47342
47345
|
});
|
|
47343
|
-
return l.visible = this.currentVisible, new
|
|
47346
|
+
return l.visible = this.currentVisible, new E.Matrix4().fromArray(this.matrix).decompose(l.position, l.quaternion, l.scale), l.updateWorldMatrix(!0, !0), l.visible = yield this.getVisible(), (h = this.getConfig().modelConfig) != null && h.autoLookAtEnabled && l.lookAt(this.five.camera.position.clone().setY(l.position.y)), l;
|
|
47344
47347
|
}));
|
|
47345
47348
|
this.model = { promise: i };
|
|
47346
47349
|
const r = yield i;
|
|
@@ -47354,7 +47357,7 @@ class zM extends $g {
|
|
|
47354
47357
|
this.mediaPlane = new RM(this.data.mediaData[0].url, this.data.mediaPosition.map(os), {
|
|
47355
47358
|
objectFit: this.data.objectFit
|
|
47356
47359
|
});
|
|
47357
|
-
const l = new
|
|
47360
|
+
const l = new E.Vector3().addVectors(a[0], a[2]).divideScalar(2);
|
|
47358
47361
|
this.mediaPlane.position.copy(l), r.add(this.mediaPlane);
|
|
47359
47362
|
}
|
|
47360
47363
|
this.computeRenderType() !== "Mesh" && (r.updateTagCss3DObjectMatrix = () => this.plugin.updateTagCss3DObjectMatrix(this, r), r.updateTagCss3DObjectMatrix());
|
|
@@ -48112,7 +48115,7 @@ const I8 = {
|
|
|
48112
48115
|
}
|
|
48113
48116
|
}
|
|
48114
48117
|
};
|
|
48115
|
-
class u1 extends
|
|
48118
|
+
class u1 extends E.Raycaster {
|
|
48116
48119
|
intersectObject(n, t = !0, i = []) {
|
|
48117
48120
|
return Hm(n, this, i, t), i.sort(d1), i;
|
|
48118
48121
|
}
|
|
@@ -48692,7 +48695,7 @@ class D8 {
|
|
|
48692
48695
|
});
|
|
48693
48696
|
}
|
|
48694
48697
|
}
|
|
48695
|
-
const L8 = new
|
|
48698
|
+
const L8 = new E.Vector2();
|
|
48696
48699
|
class k8 extends $g {
|
|
48697
48700
|
constructor(t, i) {
|
|
48698
48701
|
super(t, i);
|
|
@@ -48791,7 +48794,7 @@ class k8 extends $g {
|
|
|
48791
48794
|
}
|
|
48792
48795
|
}
|
|
48793
48796
|
computeNormal() {
|
|
48794
|
-
return new
|
|
48797
|
+
return new E.Vector3().fromArray(this.normal);
|
|
48795
48798
|
}
|
|
48796
48799
|
}
|
|
48797
48800
|
const R8 = /* @__PURE__ */ new Map(), O8 = /* @__PURE__ */ new Map();
|
|
@@ -49646,7 +49649,7 @@ class Um extends T8 {
|
|
|
49646
49649
|
return (i = t.getConfig().modelConfig) == null ? void 0 : i.autoLookAtEnabled;
|
|
49647
49650
|
}).forEach((t) => {
|
|
49648
49651
|
var c;
|
|
49649
|
-
const i = new
|
|
49652
|
+
const i = new E.Mesh(new E.BoxGeometry(), new E.MeshBasicMaterial()), r = (c = t.model) == null ? void 0 : c.object;
|
|
49650
49653
|
if (!r)
|
|
49651
49654
|
return;
|
|
49652
49655
|
i.position.copy(r.position), i.quaternion.copy(r.quaternion);
|
|
@@ -50334,7 +50337,7 @@ class Wm {
|
|
|
50334
50337
|
v(this, "geometryStyle", {});
|
|
50335
50338
|
v(this, "materialStyle", {});
|
|
50336
50339
|
v(this, "meshStyle", {});
|
|
50337
|
-
v(this, "group", new
|
|
50340
|
+
v(this, "group", new E.Group());
|
|
50338
50341
|
v(this, "meshWithDepthTest");
|
|
50339
50342
|
v(this, "meshWithoutDepthTest");
|
|
50340
50343
|
v(this, "five");
|
|
@@ -50413,18 +50416,18 @@ class Wm {
|
|
|
50413
50416
|
v(this, "logError", (n) => lM("GuideLineModeItem: ", n));
|
|
50414
50417
|
var s, o;
|
|
50415
50418
|
this.five = n, this.mode = t.mode, this.plugin = t.plugin, this.parent = t.parent, this.group.name = "GuideLineModeItem";
|
|
50416
|
-
const i = new
|
|
50419
|
+
const i = new E.BufferGeometry(), r = new E.ShaderMaterial({
|
|
50417
50420
|
vertexShader: rF,
|
|
50418
50421
|
fragmentShader: sF,
|
|
50419
50422
|
transparent: !0,
|
|
50420
50423
|
uniforms: {
|
|
50421
50424
|
map: { value: null },
|
|
50422
50425
|
useMapColor: { value: 0 },
|
|
50423
|
-
mapColor: { value: new
|
|
50426
|
+
mapColor: { value: new E.Color() },
|
|
50424
50427
|
mapOpacity: { value: 1 },
|
|
50425
|
-
backgroundColor: { value: new
|
|
50428
|
+
backgroundColor: { value: new E.Color() },
|
|
50426
50429
|
backgroundOpacity: { value: 0 },
|
|
50427
|
-
borderColor: { value: new
|
|
50430
|
+
borderColor: { value: new E.Color() },
|
|
50428
50431
|
borderOpacity: { value: 0 },
|
|
50429
50432
|
backgroundClip: { value: 0 },
|
|
50430
50433
|
borderWidth: { value: 0.05 },
|
|
@@ -50438,7 +50441,7 @@ class Wm {
|
|
|
50438
50441
|
excludeMaxV: { value: -1 }
|
|
50439
50442
|
}
|
|
50440
50443
|
});
|
|
50441
|
-
this.meshWithDepthTest = new
|
|
50444
|
+
this.meshWithDepthTest = new E.Mesh(i, r), this.meshWithoutDepthTest = new E.Mesh(i, r.clone()), this.meshWithoutDepthTest.material.depthTest = !1, this.meshWithDepthTest.name = "GuideLineModeItemWithDepthTest", this.meshWithoutDepthTest.name = "GuideLineModeItemWithoutDepthTest", this.group.add(this.meshWithDepthTest), this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd), this.onFivePanoArrived(this.five.getCurrentState().panoIndex)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (s = this.five.model) == null ? void 0 : s.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("panoArrived", this.onFivePanoArrived), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange), this.five.needsRender = !0;
|
|
50442
50445
|
}
|
|
50443
50446
|
get panoGroup() {
|
|
50444
50447
|
return this._panoGroup;
|
|
@@ -50487,7 +50490,7 @@ class Wm {
|
|
|
50487
50490
|
return this.logError("setPathByPanoGroup: work is not ready");
|
|
50488
50491
|
const i = iF(n);
|
|
50489
50492
|
if (this._panoGroup = i, (t == null ? void 0 : t.skipPanoGroup) !== void 0) {
|
|
50490
|
-
const s = t.skipPanoGroup ? i.map((o) => this.plugin.workUtil.getObserverStandingPosition(o)).filter(
|
|
50493
|
+
const s = t.skipPanoGroup ? i.map((o) => this.plugin.workUtil.getObserverStandingPosition(o)).filter(bt) : null;
|
|
50491
50494
|
this.skippedPositions = s;
|
|
50492
50495
|
}
|
|
50493
50496
|
const r = this.getPathFromPanoGroup(i, this.five.work, t);
|
|
@@ -50524,7 +50527,7 @@ class Wm {
|
|
|
50524
50527
|
/** 设置模型状态 */
|
|
50525
50528
|
setMeshStyle(n) {
|
|
50526
50529
|
if (n != null && n.translate) {
|
|
50527
|
-
const r = new
|
|
50530
|
+
const r = new E.Vector3(), s = new E.Vector3().fromArray(n.translate);
|
|
50528
50531
|
s.y += this.heightOffset, r.add(s), this.group.position.copy(r), i(this.startTagContainer, s), i(this.endTagContainer, s);
|
|
50529
50532
|
}
|
|
50530
50533
|
const t = R(R({}, this.meshStyle), n);
|
|
@@ -50532,7 +50535,7 @@ class Wm {
|
|
|
50532
50535
|
function i(r, s) {
|
|
50533
50536
|
if (!(r != null && r.tag))
|
|
50534
50537
|
return;
|
|
50535
|
-
const o = new
|
|
50538
|
+
const o = new E.Vector3().fromArray(r.tag.position);
|
|
50536
50539
|
o.add(s);
|
|
50537
50540
|
const a = o.toArray();
|
|
50538
50541
|
r.plugin.changeTagById(r.tag.id, { position: a });
|
|
@@ -50540,20 +50543,20 @@ class Wm {
|
|
|
50540
50543
|
}
|
|
50541
50544
|
/** 设置 Y 轴上的偏移量,为了让多条路线在高度上错开,每个路线都需要有个额外的 offset */
|
|
50542
50545
|
setHeightOffset(n) {
|
|
50543
|
-
const t = new
|
|
50544
|
-
this.meshStyle.translate && t.add(new
|
|
50546
|
+
const t = new E.Vector3();
|
|
50547
|
+
this.meshStyle.translate && t.add(new E.Vector3().fromArray(this.meshStyle.translate)), t.setY(t.y + n), this.group.position.copy(t), this.heightOffset = n, this.five.needsRender = !0;
|
|
50545
50548
|
}
|
|
50546
50549
|
/** 设置贴图颜色 */
|
|
50547
50550
|
setColor(n) {
|
|
50548
50551
|
if (this.disposed)
|
|
50549
50552
|
return this.logError("disposed");
|
|
50550
|
-
n && (this.meshWithDepthTest.material.uniforms.mapColor.value = new
|
|
50553
|
+
n && (this.meshWithDepthTest.material.uniforms.mapColor.value = new E.Color().set(n), this.meshWithoutDepthTest.material.uniforms.mapColor.value = new E.Color().set(n)), this.meshWithDepthTest.material.uniforms.useMapColor.value = n ? 1 : 0, this.meshWithoutDepthTest.material.uniforms.useMapColor.value = n ? 1 : 0, this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
|
|
50551
50554
|
}
|
|
50552
50555
|
/** 设置边框 */
|
|
50553
50556
|
setBorderColor(n) {
|
|
50554
50557
|
if (this.disposed)
|
|
50555
50558
|
return this.logError("disposed");
|
|
50556
|
-
this.meshWithDepthTest.material.uniforms.borderColor.value = new
|
|
50559
|
+
this.meshWithDepthTest.material.uniforms.borderColor.value = new E.Color().set(n), this.meshWithoutDepthTest.material.uniforms.borderColor.value = new E.Color().set(n), this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
|
|
50557
50560
|
}
|
|
50558
50561
|
/** 设置边框透明度 */
|
|
50559
50562
|
setBorderOpacity(n) {
|
|
@@ -50578,7 +50581,7 @@ class Wm {
|
|
|
50578
50581
|
setBackgroundColor(n) {
|
|
50579
50582
|
if (this.disposed)
|
|
50580
50583
|
return this.logError("disposed");
|
|
50581
|
-
this.meshWithDepthTest.material.uniforms.backgroundColor.value = new
|
|
50584
|
+
this.meshWithDepthTest.material.uniforms.backgroundColor.value = new E.Color().set(n), this.meshWithoutDepthTest.material.uniforms.backgroundColor.value = new E.Color().set(n), this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
|
|
50582
50585
|
}
|
|
50583
50586
|
/** 设置背景透明度 */
|
|
50584
50587
|
setBackgroundOpacity(n) {
|
|
@@ -50603,7 +50606,7 @@ class Wm {
|
|
|
50603
50606
|
if (this.disposed)
|
|
50604
50607
|
return this.logError("disposed");
|
|
50605
50608
|
this.textureUrl = n, Ws(n).then((t) => {
|
|
50606
|
-
this.disposed || this.textureUrl === n && (t.wrapT =
|
|
50609
|
+
this.disposed || this.textureUrl === n && (t.wrapT = E.RepeatWrapping, this.textureHasLoaded = !0, this.meshWithDepthTest.material.uniforms.map.value = t, this.meshWithoutDepthTest.material.uniforms.map.value = t, this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.meshWithDepthTest.material.needsUpdate = !0, this.meshWithoutDepthTest.material.needsUpdate = !0, this.five.needsRender = !0, this.updateVisible());
|
|
50607
50610
|
});
|
|
50608
50611
|
}
|
|
50609
50612
|
setVisibleFloorIndexes(n) {
|
|
@@ -50673,7 +50676,7 @@ class Wm {
|
|
|
50673
50676
|
}), r.plugin.load({ tagList: [r.tag] });
|
|
50674
50677
|
const a = this.meshStyle.translate;
|
|
50675
50678
|
if (a && o.position) {
|
|
50676
|
-
const h = new
|
|
50679
|
+
const h = new E.Vector3().fromArray(o.position), u = new E.Vector3().fromArray(a);
|
|
50677
50680
|
h.add(u), h.y += this.heightOffset;
|
|
50678
50681
|
const d = h.toArray();
|
|
50679
50682
|
r.plugin.changeTagById(r.tag.id, { position: d });
|
|
@@ -50707,7 +50710,7 @@ class Wm {
|
|
|
50707
50710
|
position: h,
|
|
50708
50711
|
panoIndex: l
|
|
50709
50712
|
};
|
|
50710
|
-
}).filter(
|
|
50713
|
+
}).filter(bt), o = s.map((l) => l.position.toArray()), a = s.map((l) => l.panoIndex);
|
|
50711
50714
|
return [Me(R({ type: "CatmullRomCurve3", points: o }, i), { panoIndexList: a, panoIndexMap: r })];
|
|
50712
50715
|
}
|
|
50713
50716
|
}
|
|
@@ -50894,7 +50897,7 @@ class VM extends ws {
|
|
|
50894
50897
|
}
|
|
50895
50898
|
function mp(e, n, t) {
|
|
50896
50899
|
var l, c, h;
|
|
50897
|
-
const i = new
|
|
50900
|
+
const i = new E.Vector3().fromArray([(l = t.x) != null ? l : 0, (c = t.y) != null ? c : 0, (h = t.z) != null ? h : 0]), r = e.getPointAt(n).clone().add(i), s = e.getTangentAt(n), { longitude: o, latitude: a } = Uc(s);
|
|
50898
50901
|
return { offset: r.clone(), longitude: o, latitude: a, distance: 0 };
|
|
50899
50902
|
}
|
|
50900
50903
|
let GM = class extends VM {
|
|
@@ -50940,13 +50943,13 @@ let GM = class extends VM {
|
|
|
50940
50943
|
var a, l, c, h, u, d, f, m, p;
|
|
50941
50944
|
this.handlePause(), this.clear(), this.data = R({ id: wn() }, t);
|
|
50942
50945
|
const r = (() => {
|
|
50943
|
-
if (this.data.path instanceof
|
|
50946
|
+
if (this.data.path instanceof E.Curve)
|
|
50944
50947
|
return this.data.path.curves[0];
|
|
50945
50948
|
{
|
|
50946
50949
|
if (this.data.path.length < 2)
|
|
50947
50950
|
return null;
|
|
50948
50951
|
const g = this.data.path.map(Ft);
|
|
50949
|
-
return new
|
|
50952
|
+
return new E.CatmullRomCurve3(g, void 0, "catmullrom", 0.5);
|
|
50950
50953
|
}
|
|
50951
50954
|
})();
|
|
50952
50955
|
if (!r)
|
|
@@ -51006,7 +51009,7 @@ let GM = class extends VM {
|
|
|
51006
51009
|
};
|
|
51007
51010
|
function A1(e) {
|
|
51008
51011
|
const n = Math.abs(Math.cos(e.latitude));
|
|
51009
|
-
return new
|
|
51012
|
+
return new E.Vector3(
|
|
51010
51013
|
/* x */
|
|
51011
51014
|
-Math.sin(e.longitude) * n,
|
|
51012
51015
|
/* y */
|
|
@@ -51125,7 +51128,7 @@ class nv extends VM {
|
|
|
51125
51128
|
this.five.work || (yield hF(this.five));
|
|
51126
51129
|
const i = (() => {
|
|
51127
51130
|
const r = t;
|
|
51128
|
-
return typeof r == "object" && r !== null &&
|
|
51131
|
+
return typeof r == "object" && r !== null && bt(r.version) && r.data ? r.data : r;
|
|
51129
51132
|
})();
|
|
51130
51133
|
if (i.keyframes)
|
|
51131
51134
|
return {
|
|
@@ -51148,7 +51151,7 @@ class nv extends VM {
|
|
|
51148
51151
|
const d = this.workUtil.getObserverPosition(l), f = this.workUtil.getObserverPosition(u);
|
|
51149
51152
|
if (!f || !d || ((p = this.workUtil.getObserver(l)) == null ? void 0 : p.floorIndex) !== ((g = this.workUtil.getObserver(u)) == null ? void 0 : g.floorIndex))
|
|
51150
51153
|
return;
|
|
51151
|
-
const m = new
|
|
51154
|
+
const m = new E.Vector3().subVectors(f, d);
|
|
51152
51155
|
return Uc(m.normalize());
|
|
51153
51156
|
})();
|
|
51154
51157
|
i.moveType === void 0 || i.moveType === "justMove" ? r.push({
|
|
@@ -51640,7 +51643,7 @@ let fF = class extends Br {
|
|
|
51640
51643
|
return Array.isArray(o) && o.every((a) => typeof a == "number");
|
|
51641
51644
|
}
|
|
51642
51645
|
function r(o, a) {
|
|
51643
|
-
return new
|
|
51646
|
+
return new E.Vector3().fromArray(o).distanceTo(new E.Vector3().fromArray(a)) < 0.01;
|
|
51644
51647
|
}
|
|
51645
51648
|
function s(o) {
|
|
51646
51649
|
var l;
|
|
@@ -51678,7 +51681,7 @@ const HM = (e, n) => new fF(e, n), pF = HM, LG = /* @__PURE__ */ Object.freeze(/
|
|
|
51678
51681
|
}, Symbol.toStringTag, { value: "Module" })), kG = (e, n) => new nv(e, n), RG = (e, n) => new GM(e, n);
|
|
51679
51682
|
function UM(e, n, t) {
|
|
51680
51683
|
if (t) {
|
|
51681
|
-
const r = new
|
|
51684
|
+
const r = new E.Vector3().subVectors(e.position, t).applyQuaternion(e.quaternion.clone().inverse()).applyQuaternion(n).add(t);
|
|
51682
51685
|
e.position.copy(r);
|
|
51683
51686
|
}
|
|
51684
51687
|
e.quaternion.copy(n);
|
|
@@ -51716,7 +51719,7 @@ class Xc extends ti {
|
|
|
51716
51719
|
}
|
|
51717
51720
|
initialPosition(t) {
|
|
51718
51721
|
var i, r;
|
|
51719
|
-
this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy((i = Wa(this.originObject3D)) == null ? void 0 : i.getCenter(new
|
|
51722
|
+
this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy((i = Wa(this.originObject3D)) == null ? void 0 : i.getCenter(new E.Vector3()).applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom === "boundingSphere" ? this.position.copy((r = nx(this.originObject3D)) == null ? void 0 : r.center.clone().applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom instanceof Se ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), t && this.position.add(t);
|
|
51720
51723
|
}
|
|
51721
51724
|
setScaleByCamera(t) {
|
|
51722
51725
|
}
|
|
@@ -51750,14 +51753,14 @@ class yF extends Xc {
|
|
|
51750
51753
|
}
|
|
51751
51754
|
class bF extends Xc {
|
|
51752
51755
|
}
|
|
51753
|
-
class AF extends
|
|
51756
|
+
class AF extends E.Group {
|
|
51754
51757
|
constructor(t) {
|
|
51755
51758
|
super();
|
|
51756
51759
|
v(this, "direction");
|
|
51757
51760
|
this.direction = t || "x";
|
|
51758
51761
|
}
|
|
51759
51762
|
}
|
|
51760
|
-
class x1 extends
|
|
51763
|
+
class x1 extends E.Mesh {
|
|
51761
51764
|
constructor(t, i, r) {
|
|
51762
51765
|
super(t, i);
|
|
51763
51766
|
v(this, "direction");
|
|
@@ -51766,7 +51769,7 @@ class x1 extends C.Mesh {
|
|
|
51766
51769
|
}
|
|
51767
51770
|
function wF(e, n) {
|
|
51768
51771
|
const { offsetWidth: t, offsetHeight: i } = n, { top: r, left: s } = n.getBoundingClientRect();
|
|
51769
|
-
return Object.assign(new
|
|
51772
|
+
return Object.assign(new E.Vector2(), {
|
|
51770
51773
|
x: (e.x - s) / t * 2 - 1,
|
|
51771
51774
|
y: -(e.y - r) / i * 2 + 1
|
|
51772
51775
|
});
|
|
@@ -51777,7 +51780,7 @@ function Ud(e, n, t) {
|
|
|
51777
51780
|
const i = wF(n, t);
|
|
51778
51781
|
if (Math.abs(i.x) === 1 || Math.abs(i.y) === 1)
|
|
51779
51782
|
return;
|
|
51780
|
-
const r = new
|
|
51783
|
+
const r = new E.Raycaster();
|
|
51781
51784
|
return r.setFromCamera(i, e), r.params.Points.threshold = 0.1, r;
|
|
51782
51785
|
}
|
|
51783
51786
|
function xF(e, n) {
|
|
@@ -51792,18 +51795,18 @@ class gp extends AF {
|
|
|
51792
51795
|
v(this, "lineHeight", 0.4);
|
|
51793
51796
|
v(this, "arrowHeight", 0.1);
|
|
51794
51797
|
this.name = "ArrowGroup";
|
|
51795
|
-
const i = new
|
|
51798
|
+
const i = new E.Color((h = t.color) != null ? h : 16214315), r = new E.MeshBasicMaterial({
|
|
51796
51799
|
color: i,
|
|
51797
51800
|
depthTest: !1,
|
|
51798
51801
|
depthWrite: !1,
|
|
51799
51802
|
opacity: 1,
|
|
51800
51803
|
transparent: !0,
|
|
51801
|
-
side:
|
|
51804
|
+
side: E.DoubleSide
|
|
51802
51805
|
});
|
|
51803
51806
|
this.renderOrder = 50;
|
|
51804
|
-
const s = new
|
|
51807
|
+
const s = new E.ConeGeometry(0.04, 0.1, 32), o = new x1(s, r.clone(), t.direction);
|
|
51805
51808
|
o.name = `arrow-${t.direction}`, this.arrow = o;
|
|
51806
|
-
const a = 4e-3, l = new
|
|
51809
|
+
const a = 4e-3, l = new E.CylinderGeometry(a, a, 0.4, 32), c = new x1(l, r.clone(), t.direction);
|
|
51807
51810
|
c.name = `line-${t.direction}`, this.line = c, this.formatArrow(), this.formatLine(), this.add(this.arrow, this.line);
|
|
51808
51811
|
}
|
|
51809
51812
|
formatArrow() {
|
|
@@ -51820,13 +51823,13 @@ const vp = {
|
|
|
51820
51823
|
};
|
|
51821
51824
|
class ia {
|
|
51822
51825
|
static get X() {
|
|
51823
|
-
return new
|
|
51826
|
+
return new E.Color(vp.X).convertSRGBToLinear().clone();
|
|
51824
51827
|
}
|
|
51825
51828
|
static get Y() {
|
|
51826
|
-
return new
|
|
51829
|
+
return new E.Color(vp.Y).convertSRGBToLinear().clone();
|
|
51827
51830
|
}
|
|
51828
51831
|
static get Z() {
|
|
51829
|
-
return new
|
|
51832
|
+
return new E.Color(vp.Z).convertSRGBToLinear().clone();
|
|
51830
51833
|
}
|
|
51831
51834
|
}
|
|
51832
51835
|
function iv(e, n) {
|
|
@@ -51920,7 +51923,7 @@ class PF extends vF {
|
|
|
51920
51923
|
this.removeFromParent(), (i = (t = this.angleTips) == null ? void 0 : t.element) == null || i.remove();
|
|
51921
51924
|
}
|
|
51922
51925
|
}
|
|
51923
|
-
class yp extends
|
|
51926
|
+
class yp extends E.Group {
|
|
51924
51927
|
constructor(t) {
|
|
51925
51928
|
super();
|
|
51926
51929
|
v(this, "direction");
|
|
@@ -51942,45 +51945,45 @@ class yp extends C.Group {
|
|
|
51942
51945
|
this.remove(this.ring, this.angleSector, this.circle);
|
|
51943
51946
|
}
|
|
51944
51947
|
}
|
|
51945
|
-
let _F = class extends
|
|
51948
|
+
let _F = class extends E.Mesh {
|
|
51946
51949
|
constructor(t) {
|
|
51947
51950
|
var i;
|
|
51948
51951
|
super();
|
|
51949
51952
|
v(this, "direction");
|
|
51950
51953
|
v(this, "gapAngle", 0.02);
|
|
51951
|
-
v(this, "geometry", new
|
|
51952
|
-
this.material = new
|
|
51954
|
+
v(this, "geometry", new E.RingGeometry(0.25, 0.3, 20, 8, this.gapAngle, Math.PI / 2 - this.gapAngle * 2));
|
|
51955
|
+
this.material = new E.MeshBasicMaterial({
|
|
51953
51956
|
opacity: 0.6,
|
|
51954
51957
|
color: (i = t.color) != null ? i : 16777215,
|
|
51955
51958
|
transparent: !0,
|
|
51956
|
-
side:
|
|
51959
|
+
side: E.DoubleSide,
|
|
51957
51960
|
depthTest: !1,
|
|
51958
51961
|
depthWrite: !1
|
|
51959
51962
|
}), this.renderOrder = 50, this.direction = t.direction, this.geometry.name = `RotateHelperCircleGeometry-${this.direction}`;
|
|
51960
51963
|
}
|
|
51961
51964
|
};
|
|
51962
|
-
class IF extends
|
|
51965
|
+
class IF extends E.Group {
|
|
51963
51966
|
constructor(t) {
|
|
51964
51967
|
super();
|
|
51965
51968
|
v(this, "direction");
|
|
51966
51969
|
this.direction = t.direction;
|
|
51967
51970
|
const i = 0.015, r = new Array(8).fill(null).map((s, o) => {
|
|
51968
|
-
const a = new
|
|
51971
|
+
const a = new E.RingGeometry(0.25, 0.3, 20, 8, Math.PI / 4 * o + i, Math.PI / 4 - i * 2), l = new E.MeshBasicMaterial({
|
|
51969
51972
|
opacity: 1,
|
|
51970
51973
|
color: 16777215,
|
|
51971
51974
|
depthTest: !1,
|
|
51972
51975
|
depthWrite: !1,
|
|
51973
51976
|
transparent: !0,
|
|
51974
|
-
side:
|
|
51977
|
+
side: E.DoubleSide
|
|
51975
51978
|
});
|
|
51976
51979
|
this.renderOrder = 50;
|
|
51977
|
-
const c = new
|
|
51980
|
+
const c = new E.Mesh(a, l);
|
|
51978
51981
|
return c.name = `AxesDashedRing-${this.direction}-${o}`, c;
|
|
51979
51982
|
});
|
|
51980
51983
|
this.add(...r);
|
|
51981
51984
|
}
|
|
51982
51985
|
}
|
|
51983
|
-
class SF extends
|
|
51986
|
+
class SF extends E.Mesh {
|
|
51984
51987
|
constructor(t) {
|
|
51985
51988
|
var r;
|
|
51986
51989
|
super();
|
|
@@ -51989,23 +51992,23 @@ class SF extends C.Mesh {
|
|
|
51989
51992
|
v(this, "angleDirection");
|
|
51990
51993
|
switch (t.direction) {
|
|
51991
51994
|
case "x":
|
|
51992
|
-
this.baseAxes = new
|
|
51995
|
+
this.baseAxes = new E.Vector3(0, 0, 1);
|
|
51993
51996
|
break;
|
|
51994
51997
|
case "y":
|
|
51995
|
-
this.baseAxes = new
|
|
51998
|
+
this.baseAxes = new E.Vector3(1, 0, 0);
|
|
51996
51999
|
break;
|
|
51997
52000
|
case "z":
|
|
51998
|
-
this.baseAxes = new
|
|
52001
|
+
this.baseAxes = new E.Vector3(1, 0, 0);
|
|
51999
52002
|
break;
|
|
52000
52003
|
}
|
|
52001
52004
|
const i = 0.3 + 5e-4;
|
|
52002
|
-
this.geometry = new
|
|
52005
|
+
this.geometry = new E.CircleGeometry(i, 48, 0, 1e-4), this.material = new E.MeshBasicMaterial({
|
|
52003
52006
|
opacity: 0.4,
|
|
52004
52007
|
color: (r = t.color) != null ? r : 16777215,
|
|
52005
52008
|
depthTest: !1,
|
|
52006
52009
|
depthWrite: !1,
|
|
52007
52010
|
transparent: !0,
|
|
52008
|
-
side:
|
|
52011
|
+
side: E.DoubleSide
|
|
52009
52012
|
}), this.renderOrder = 50, this.direction = t.direction, this.angleDirection = this.direction === "z" ? 1 : -1;
|
|
52010
52013
|
}
|
|
52011
52014
|
}
|
|
@@ -52115,15 +52118,15 @@ class DF extends bF {
|
|
|
52115
52118
|
var s;
|
|
52116
52119
|
const r = (s = this.css3DInstance) == null ? void 0 : s.css3DObject;
|
|
52117
52120
|
if (r) {
|
|
52118
|
-
const o = new
|
|
52121
|
+
const o = new E.Vector3().subVectors(r.position, i).applyQuaternion(t).add(i);
|
|
52119
52122
|
r.position.copy(o), r.applyQuaternion(t);
|
|
52120
52123
|
}
|
|
52121
52124
|
if (this.plane) {
|
|
52122
|
-
const o = new
|
|
52125
|
+
const o = new E.Vector3().subVectors(this.plane.position, i).applyQuaternion(t).add(i);
|
|
52123
52126
|
this.plane.position.copy(o), this.plane.applyQuaternion(t);
|
|
52124
52127
|
}
|
|
52125
52128
|
this.cornerPositions.forEach((o) => {
|
|
52126
|
-
const a = new
|
|
52129
|
+
const a = new E.Vector3().subVectors(o, i).applyQuaternion(t).add(i);
|
|
52127
52130
|
o.copy(a);
|
|
52128
52131
|
});
|
|
52129
52132
|
}
|
|
@@ -52189,7 +52192,7 @@ class LF extends gF {
|
|
|
52189
52192
|
v(this, "outline");
|
|
52190
52193
|
v(this, "originObject");
|
|
52191
52194
|
v(this, "positionAttribute");
|
|
52192
|
-
this.originObject = t, this.positionAttribute = new
|
|
52195
|
+
this.originObject = t, this.positionAttribute = new E.BufferAttribute(new Float32Array(8 * 3), 3), this.box = this.createBox(), this.outline = this.createOutline(), this.add(this.box, this.outline), this.update();
|
|
52193
52196
|
}
|
|
52194
52197
|
raycasterIntersectObject(t, i) {
|
|
52195
52198
|
return t.intersectObject(this, !1, i);
|
|
@@ -52205,14 +52208,14 @@ class LF extends gF {
|
|
|
52205
52208
|
this.positionAttribute.setXYZ(0, r.x, r.y, r.z), this.positionAttribute.setXYZ(1, i.x, r.y, r.z), this.positionAttribute.setXYZ(2, i.x, i.y, r.z), this.positionAttribute.setXYZ(3, r.x, i.y, r.z), this.positionAttribute.setXYZ(4, r.x, r.y, i.z), this.positionAttribute.setXYZ(5, i.x, r.y, i.z), this.positionAttribute.setXYZ(6, i.x, i.y, i.z), this.positionAttribute.setXYZ(7, r.x, i.y, i.z), this.positionAttribute.needsUpdate = !0;
|
|
52206
52209
|
}
|
|
52207
52210
|
createOutline() {
|
|
52208
|
-
const t = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]), i = new
|
|
52209
|
-
i.setIndex(new
|
|
52210
|
-
const r = new
|
|
52211
|
+
const t = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]), i = new E.BufferGeometry();
|
|
52212
|
+
i.setIndex(new E.BufferAttribute(t, 1)), i.setAttribute("position", this.positionAttribute);
|
|
52213
|
+
const r = new E.LineBasicMaterial({
|
|
52211
52214
|
color: 64767,
|
|
52212
52215
|
linewidth: 1,
|
|
52213
52216
|
opacity: 1,
|
|
52214
52217
|
toneMapped: !1
|
|
52215
|
-
}), s = new
|
|
52218
|
+
}), s = new E.LineSegments(i, r);
|
|
52216
52219
|
return s.matrixAutoUpdate = !1, s;
|
|
52217
52220
|
}
|
|
52218
52221
|
createBox() {
|
|
@@ -52253,19 +52256,19 @@ class LF extends gF {
|
|
|
52253
52256
|
6,
|
|
52254
52257
|
7,
|
|
52255
52258
|
3
|
|
52256
|
-
]), i = new
|
|
52257
|
-
i.setIndex(new
|
|
52258
|
-
const r = new
|
|
52259
|
+
]), i = new E.BufferGeometry();
|
|
52260
|
+
i.setIndex(new E.BufferAttribute(t, 1)), i.setAttribute("position", this.positionAttribute);
|
|
52261
|
+
const r = new E.MeshBasicMaterial({
|
|
52259
52262
|
color: 64767,
|
|
52260
52263
|
opacity: 0.1,
|
|
52261
52264
|
depthTest: !1,
|
|
52262
52265
|
transparent: !0
|
|
52263
52266
|
});
|
|
52264
|
-
return new
|
|
52267
|
+
return new E.Mesh(i, r);
|
|
52265
52268
|
}
|
|
52266
52269
|
}
|
|
52267
52270
|
function Rt(e, n) {
|
|
52268
|
-
this._camera = e || null, this._domElement = n || document, this._raycaster = new
|
|
52271
|
+
this._camera = e || null, this._domElement = n || document, this._raycaster = new E.Raycaster(), this._selected = null, this._boundObjs = {};
|
|
52269
52272
|
var t = this;
|
|
52270
52273
|
this._$onClick = function() {
|
|
52271
52274
|
t._onClick.apply(t, arguments);
|
|
@@ -52365,7 +52368,7 @@ Rt.prototype._bound = function(e, n) {
|
|
|
52365
52368
|
Rt.prototype._onMove = function(e, n, t, i) {
|
|
52366
52369
|
var r = this._boundObjs[e];
|
|
52367
52370
|
if (!(r === void 0 || r.length === 0)) {
|
|
52368
|
-
var s = new
|
|
52371
|
+
var s = new E.Vector2();
|
|
52369
52372
|
s.set(n, t), this._raycaster.setFromCamera(s, this._camera);
|
|
52370
52373
|
var o = this._raycaster.intersectObjects(r), a = this._selected;
|
|
52371
52374
|
if (o.length > 0) {
|
|
@@ -52379,7 +52382,7 @@ Rt.prototype._onMove = function(e, n, t, i) {
|
|
|
52379
52382
|
Rt.prototype._onEvent = function(e, n, t, i) {
|
|
52380
52383
|
var r = this._boundObjs[e];
|
|
52381
52384
|
if (!(r === void 0 || r.length === 0)) {
|
|
52382
|
-
var s = new
|
|
52385
|
+
var s = new E.Vector2();
|
|
52383
52386
|
s.set(n, t), this._raycaster.setFromCamera(s, this._camera);
|
|
52384
52387
|
var o = this._raycaster.intersectObjects(r, !0);
|
|
52385
52388
|
if (o.length !== 0) {
|
|
@@ -52494,12 +52497,12 @@ class Zc {
|
|
|
52494
52497
|
initialHelperQuaternion() {
|
|
52495
52498
|
var a, l, c;
|
|
52496
52499
|
this.helperObject3D.initQuaternion();
|
|
52497
|
-
const n = (a = this.config.xAxis) != null ? a : new
|
|
52498
|
-
r.setFromUnitVectors(new
|
|
52499
|
-
const s = new
|
|
52500
|
-
s.setFromUnitVectors(new
|
|
52501
|
-
const o = new
|
|
52502
|
-
o.setFromUnitVectors(new
|
|
52500
|
+
const n = (a = this.config.xAxis) != null ? a : new E.Vector3(1, 0, 0), t = (l = this.config.yAxis) != null ? l : new E.Vector3(0, 1, 0), i = (c = this.config.zAxis) != null ? c : new E.Vector3(0, 0, 1), r = new E.Quaternion();
|
|
52501
|
+
r.setFromUnitVectors(new E.Vector3(1, 0, 0), n.normalize());
|
|
52502
|
+
const s = new E.Quaternion();
|
|
52503
|
+
s.setFromUnitVectors(new E.Vector3(0, 1, 0), t.normalize());
|
|
52504
|
+
const o = new E.Quaternion();
|
|
52505
|
+
o.setFromUnitVectors(new E.Vector3(0, 0, 1), i.normalize()), this.helperObject3D.quaternion.premultiply(r), this.helperObject3D.quaternion.premultiply(s), this.helperObject3D.quaternion.premultiply(o);
|
|
52503
52506
|
}
|
|
52504
52507
|
enable() {
|
|
52505
52508
|
this.enabled || (this.enabled = !0, this.scene.add(this.helperObject3D), this.helperObject3D.enable(), this.render());
|
|
@@ -52583,15 +52586,15 @@ class Zc {
|
|
|
52583
52586
|
}
|
|
52584
52587
|
updateOffsetByScale(n) {
|
|
52585
52588
|
if (this.boundingBox && this.config.offset) {
|
|
52586
|
-
const t = this.originObject3D.position, i = new
|
|
52589
|
+
const t = this.originObject3D.position, i = new E.Vector3().subVectors(this.boundingBox.max, t).multiply(n).add(t), r = new E.Vector3().subVectors(this.boundingBox.min, t).multiply(n).add(t), s = this.calculateOffset(this.config.offset, { min: r, max: i });
|
|
52587
52590
|
this.helperObject3D.initialPosition(s);
|
|
52588
52591
|
}
|
|
52589
52592
|
}
|
|
52590
52593
|
hoverListener(n, t = 16777215, i = 1) {
|
|
52591
|
-
const r = zr(n).filter(
|
|
52594
|
+
const r = zr(n).filter(bt), s = [];
|
|
52592
52595
|
for (const o of r)
|
|
52593
|
-
if (o.material || o instanceof
|
|
52594
|
-
const a = o instanceof
|
|
52596
|
+
if (o.material || o instanceof E.Group) {
|
|
52597
|
+
const a = o instanceof E.Group ? o.children.filter((d) => d instanceof E.Mesh) : [o];
|
|
52595
52598
|
a.forEach((d) => {
|
|
52596
52599
|
d.__originalColor__ = d.material.color.clone(), d.__originalOpacity__ = d.material.opacity;
|
|
52597
52600
|
});
|
|
@@ -52631,7 +52634,7 @@ class Zc {
|
|
|
52631
52634
|
return s.object;
|
|
52632
52635
|
}
|
|
52633
52636
|
calculateOffset(n, t) {
|
|
52634
|
-
const i = new
|
|
52637
|
+
const i = new E.Vector3(0, 0, 0);
|
|
52635
52638
|
if (!n)
|
|
52636
52639
|
return i;
|
|
52637
52640
|
const r = () => t || this.getBox();
|
|
@@ -52656,21 +52659,21 @@ class Zc {
|
|
|
52656
52659
|
return i;
|
|
52657
52660
|
}
|
|
52658
52661
|
}
|
|
52659
|
-
const kF = new
|
|
52662
|
+
const kF = new E.Vector3();
|
|
52660
52663
|
function ro(e) {
|
|
52661
52664
|
var d;
|
|
52662
52665
|
const { raycaster: n, line: t, clampToLine: i = !0 } = e;
|
|
52663
52666
|
if (((d = n.camera) == null ? void 0 : d.type) === "OrthographicCamera") {
|
|
52664
52667
|
const f = n.ray.origin.clone();
|
|
52665
|
-
return t.closestPointToPoint(f, !1, new
|
|
52668
|
+
return t.closestPointToPoint(f, !1, new E.Vector3());
|
|
52666
52669
|
}
|
|
52667
|
-
const r = new
|
|
52670
|
+
const r = new E.Plane().setFromNormalAndCoplanarPoint(n.ray.direction.clone().normalize(), n.ray.origin), s = r.projectPoint(t.start, new E.Vector3()), o = r.projectPoint(t.end, new E.Vector3()), a = new E.Line3(s, o), l = a.closestPointToPoint(n.ray.origin, i, kF), c = l.distanceTo(o), h = l.distanceTo(s), u = a.distance();
|
|
52668
52671
|
if (c > h && c > u) {
|
|
52669
52672
|
const f = -l.distanceTo(s) / u, m = t.start.clone().sub(t.end).normalize();
|
|
52670
52673
|
return t.start.sub(m.clone().multiplyScalar(f * t.distance()));
|
|
52671
52674
|
} else {
|
|
52672
52675
|
const f = l.distanceTo(s) / u;
|
|
52673
|
-
return new
|
|
52676
|
+
return new E.Vector3().lerpVectors(t.start, t.end, f);
|
|
52674
52677
|
}
|
|
52675
52678
|
}
|
|
52676
52679
|
class RF extends Zc {
|
|
@@ -52695,7 +52698,7 @@ class RF extends Zc {
|
|
|
52695
52698
|
const r = (i == null ? void 0 : i.object).direction;
|
|
52696
52699
|
if (!r)
|
|
52697
52700
|
return this.dragEnd();
|
|
52698
|
-
const s = new
|
|
52701
|
+
const s = new E.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), o = new E.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), a = new E.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), l = (() => {
|
|
52699
52702
|
switch (r) {
|
|
52700
52703
|
case "x":
|
|
52701
52704
|
return s;
|
|
@@ -52704,7 +52707,7 @@ class RF extends Zc {
|
|
|
52704
52707
|
case "z":
|
|
52705
52708
|
return a;
|
|
52706
52709
|
}
|
|
52707
|
-
})(), c = i.point.clone(), h = new
|
|
52710
|
+
})(), c = i.point.clone(), h = new E.Line3(
|
|
52708
52711
|
c.clone().sub(l.normalize()),
|
|
52709
52712
|
c.clone().add(l.normalize())
|
|
52710
52713
|
);
|
|
@@ -52763,7 +52766,7 @@ class RF extends Zc {
|
|
|
52763
52766
|
const { point: i, face: r } = t;
|
|
52764
52767
|
if (!this.hooks.emit("wantToMove", i)) {
|
|
52765
52768
|
if (this.originObject3D.position.copy(i), (this._moveByMouse.useFaceNormal === !0 || typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.enable !== !1) && r != null && r.normal) {
|
|
52766
|
-
const c = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.alignmentVector ? this._moveByMouse.useFaceNormal.alignmentVector : { x: 0, y: 1, z: 0 })(), h = new
|
|
52769
|
+
const c = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.alignmentVector ? this._moveByMouse.useFaceNormal.alignmentVector : { x: 0, y: 1, z: 0 })(), h = new E.Vector3((o = c.x) != null ? o : 0, (a = c.y) != null ? a : 0, (l = c.z) != null ? l : 0), u = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.fixedFaceNormal ? this._moveByMouse.useFaceNormal.fixedFaceNormal(r.normal) : r.normal)();
|
|
52767
52770
|
this.originObject3D.quaternion.setFromUnitVectors(h, u), this.internalHooks.emit("setObjectRotate", this.originObject3D.quaternion.clone());
|
|
52768
52771
|
}
|
|
52769
52772
|
this.internalHooks.emit("setObjectPosition", i), this.hooks.emit("move", i);
|
|
@@ -52782,7 +52785,7 @@ class RF extends Zc {
|
|
|
52782
52785
|
move(t) {
|
|
52783
52786
|
if (!this.startInfo)
|
|
52784
52787
|
return this.dragEnd();
|
|
52785
|
-
const { line: i, startVectorProject: r } = this.startInfo, s = this.originObject3D, o = ro({ raycaster: t, line: i, clampToLine: !1 }), a = o.clone().sub(r), l = new
|
|
52788
|
+
const { line: i, startVectorProject: r } = this.startInfo, s = this.originObject3D, o = ro({ raycaster: t, line: i, clampToLine: !1 }), a = o.clone().sub(r), l = new E.Matrix4();
|
|
52786
52789
|
l.setPosition(a);
|
|
52787
52790
|
const c = s.position.clone().applyMatrix4(l);
|
|
52788
52791
|
this.hooks.emit("wantToMove", c) || (s.applyMatrix4(l), r.copy(o), this.internalHooks.emit("applyObjectPosition", { matrix: l }), this.hooks.emit("move", c));
|
|
@@ -52947,7 +52950,7 @@ class VF {
|
|
|
52947
52950
|
function bp(e) {
|
|
52948
52951
|
return e * Math.PI / 180;
|
|
52949
52952
|
}
|
|
52950
|
-
const Ap = new
|
|
52953
|
+
const Ap = new E.Quaternion();
|
|
52951
52954
|
class GF extends Zc {
|
|
52952
52955
|
constructor(...t) {
|
|
52953
52956
|
var c, h, u;
|
|
@@ -52966,7 +52969,7 @@ class GF extends Zc {
|
|
|
52966
52969
|
return this.helperObject3D.position.clone();
|
|
52967
52970
|
}
|
|
52968
52971
|
setRotateAngle(t) {
|
|
52969
|
-
const { x: i = 0, y: r = 0, z: s = 0 } = t, o = new
|
|
52972
|
+
const { x: i = 0, y: r = 0, z: s = 0 } = t, o = new E.Euler(bp(i), bp(r), bp(s)), a = new E.Quaternion().setFromEuler(o);
|
|
52970
52973
|
if (this.hooks.emit("wantToRotate", a))
|
|
52971
52974
|
return;
|
|
52972
52975
|
const { originObject3D: c, rotateCenter: h } = this;
|
|
@@ -52995,12 +52998,12 @@ class GF extends Zc {
|
|
|
52995
52998
|
a.y += 0.2, this.setTipsPosition(a);
|
|
52996
52999
|
const l = this.helperObject3D.quaternion.clone(), c = (() => {
|
|
52997
53000
|
if (r === "x")
|
|
52998
|
-
return new
|
|
53001
|
+
return new E.Vector3(1, 0, 0).applyQuaternion(l);
|
|
52999
53002
|
if (r === "y")
|
|
53000
|
-
return new
|
|
53003
|
+
return new E.Vector3(0, 1, 0).applyQuaternion(l);
|
|
53001
53004
|
if (r === "z")
|
|
53002
|
-
return new
|
|
53003
|
-
})(), h = new
|
|
53005
|
+
return new E.Vector3(0, 0, 1).applyQuaternion(l);
|
|
53006
|
+
})(), h = new E.Plane().setFromNormalAndCoplanarPoint(c, s), d = h.projectPoint(s.clone(), new E.Vector3()).clone().sub(this.rotateCenter), f = d.angleTo(o.baseAxes.clone().applyQuaternion(l));
|
|
53004
53007
|
this.setAngleHelperStart(r, f), this.setAngleHelperLength(r, 0), this.startInfo = { direction: r, startVector: d, plane: h, angleHelper: o, angle: 0, helperQuaternion: l.clone() }, Ap.copy(l), this.helperObject3D.showDraggingHelper([r]), this.hooks.emit("rotateStart"), this.isDragging = !0;
|
|
53005
53008
|
}
|
|
53006
53009
|
dragging(t) {
|
|
@@ -53012,24 +53015,24 @@ class GF extends Zc {
|
|
|
53012
53015
|
rotate(t) {
|
|
53013
53016
|
if (!this.startInfo)
|
|
53014
53017
|
return this.dragEnd();
|
|
53015
|
-
const { startVector: i, plane: r, angleHelper: s, direction: o, helperQuaternion: a } = this.startInfo, { originObject3D: l } = this, c = t.ray.intersectPlane(r, new
|
|
53018
|
+
const { startVector: i, plane: r, angleHelper: s, direction: o, helperQuaternion: a } = this.startInfo, { originObject3D: l } = this, c = t.ray.intersectPlane(r, new E.Vector3());
|
|
53016
53019
|
if (!c)
|
|
53017
53020
|
return;
|
|
53018
|
-
const h = this.rotateCenter.clone(), d = r.projectPoint(c.clone(), new
|
|
53021
|
+
const h = this.rotateCenter.clone(), d = r.projectPoint(c.clone(), new E.Vector3()).clone().sub(h);
|
|
53019
53022
|
if (i.angleTo(d) === 0)
|
|
53020
53023
|
return;
|
|
53021
|
-
const f = new
|
|
53024
|
+
const f = new E.Quaternion().setFromUnitVectors(i.clone().normalize(), d.clone().normalize()), m = l.quaternion.clone().premultiply(f);
|
|
53022
53025
|
if (this.hooks.emit("wantToRotate", m))
|
|
53023
53026
|
return;
|
|
53024
|
-
const y = new
|
|
53025
|
-
new
|
|
53027
|
+
const y = new E.Euler().setFromQuaternion(
|
|
53028
|
+
new E.Quaternion().setFromUnitVectors(
|
|
53026
53029
|
i.clone().normalize().applyQuaternion(a.clone().inverse()),
|
|
53027
53030
|
d.clone().normalize().applyQuaternion(a.clone().inverse())
|
|
53028
53031
|
),
|
|
53029
53032
|
`${o.toUpperCase()}${"XZY".replace(o.toUpperCase(), "")}`
|
|
53030
53033
|
)[o] * s.angleDirection;
|
|
53031
53034
|
if (this.startInfo.angle += y, this.setAngleHelperLength(o, this.startInfo.angle), this.setTipsAngle(kg(this.startInfo.angle)), h) {
|
|
53032
|
-
const b = new
|
|
53035
|
+
const b = new E.Vector3().subVectors(l.position, h).applyQuaternion(f).add(h);
|
|
53033
53036
|
l.position.copy(b);
|
|
53034
53037
|
}
|
|
53035
53038
|
l.applyQuaternion(f), Ap.premultiply(f), this.internalHooks.emit("applyObjectRotate", { quaternion: f, origin: h }), this.hooks.emit("rotate", l.quaternion), this.startInfo.startVector = d;
|
|
@@ -53054,17 +53057,17 @@ class GF extends Zc {
|
|
|
53054
53057
|
console.warn("angleHelper is undefined");
|
|
53055
53058
|
return;
|
|
53056
53059
|
}
|
|
53057
|
-
if (r instanceof
|
|
53060
|
+
if (r instanceof E.Mesh && r.geometry instanceof E.CircleGeometry) {
|
|
53058
53061
|
const { radius: s, segments: o, thetaLength: a } = r.geometry.parameters;
|
|
53059
|
-
r.geometry = new
|
|
53062
|
+
r.geometry = new E.CircleGeometry(s, o, i, a);
|
|
53060
53063
|
} else
|
|
53061
53064
|
console.warn("only support THREE.CircleGeometry");
|
|
53062
53065
|
}
|
|
53063
53066
|
setAngleHelperLength(t, i) {
|
|
53064
53067
|
const s = i >= 0 ? Math.max(i, 1e-3) : Math.min(i, -1e-3), o = this.getAngleHelper(t);
|
|
53065
|
-
if (o instanceof
|
|
53068
|
+
if (o instanceof E.Mesh && o.geometry instanceof E.CircleGeometry) {
|
|
53066
53069
|
const { radius: a, thetaStart: l } = o.geometry.parameters, c = Math.ceil(Math.abs(s) * (40 / (2 * Math.PI)));
|
|
53067
|
-
o.geometry = new
|
|
53070
|
+
o.geometry = new E.CircleGeometry(a, c, l, s);
|
|
53068
53071
|
} else
|
|
53069
53072
|
console.warn("only support THREE.CircleGeometry");
|
|
53070
53073
|
}
|
|
@@ -53109,7 +53112,7 @@ class jF extends Zc {
|
|
|
53109
53112
|
this.helperObject3D.applyHelperScaleMatrix4(t.matrix, t.origin);
|
|
53110
53113
|
}
|
|
53111
53114
|
getDragPlane() {
|
|
53112
|
-
const t = new
|
|
53115
|
+
const t = new E.Plane(), i = this.helperObject3D.cornerPositions;
|
|
53113
53116
|
if (i.length !== 0)
|
|
53114
53117
|
return i.length < 3 ? t.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new Se()), i[0]) : t.setFromCoplanarPoints(i[0], i[1], i[2]), t;
|
|
53115
53118
|
}
|
|
@@ -53180,9 +53183,9 @@ class jF extends Zc {
|
|
|
53180
53183
|
case "nwse":
|
|
53181
53184
|
g(), y();
|
|
53182
53185
|
}
|
|
53183
|
-
const b = new Se().subVectors(o[1], o[0]).length() / u.length(), A = new Se().subVectors(o[3], o[0]).length() / d.length(), w = new Se(b, A, 1), x = new
|
|
53186
|
+
const b = new Se().subVectors(o[1], o[0]).length() / u.length(), A = new Se().subVectors(o[3], o[0]).length() / d.length(), w = new Se(b, A, 1), x = new E.Matrix4().scale(w);
|
|
53184
53187
|
i.isCSS3DObjectPlus ? i.applyScaleMatrix4(x) : i.scale.applyMatrix4(x), r.position.copy(a);
|
|
53185
|
-
const M = new Se().addVectors(o[0], o[2]).divideScalar(2), P = new Se().subVectors(M, l), I = new
|
|
53188
|
+
const M = new Se().addVectors(o[0], o[2]).divideScalar(2), P = new Se().subVectors(M, l), I = new E.Matrix4().setPosition(P);
|
|
53186
53189
|
i.applyMatrix4(I), (T = this.helperObject3D.css3DInstance) == null || T.css3DObject.applyMatrix4(I), (z = this.helperObject3D.plane) == null || z.applyMatrix4(I), this.internalHooks.emit("applyObjectScale", { matrix: x }), this.internalHooks.emit("applyObjectPosition", { matrix: I }), this.render();
|
|
53187
53190
|
}
|
|
53188
53191
|
dragEnd() {
|
|
@@ -53234,13 +53237,13 @@ class WF extends yF {
|
|
|
53234
53237
|
}
|
|
53235
53238
|
}
|
|
53236
53239
|
function QF() {
|
|
53237
|
-
const n = new
|
|
53240
|
+
const n = new E.BoxGeometry(0.05, 0.05, 0.05), t = new E.MeshBasicMaterial({
|
|
53238
53241
|
color: 16776960,
|
|
53239
53242
|
depthTest: !1,
|
|
53240
53243
|
depthWrite: !1,
|
|
53241
53244
|
transparent: !0,
|
|
53242
|
-
side:
|
|
53243
|
-
}), i = new
|
|
53245
|
+
side: E.DoubleSide
|
|
53246
|
+
}), i = new E.Mesh(n, t);
|
|
53244
53247
|
return i.renderOrder = 10, i;
|
|
53245
53248
|
}
|
|
53246
53249
|
class YF extends Zc {
|
|
@@ -53252,9 +53255,9 @@ class YF extends Zc {
|
|
|
53252
53255
|
if (this.isDragging)
|
|
53253
53256
|
return;
|
|
53254
53257
|
this.isDragging = !0;
|
|
53255
|
-
const { intersect: i } = t, r = this.camera.position, s = i.object, o = s.scalePosition.basePosition.clone(), l = s.scalePosition.handlePosition.clone().clone().sub(o).clone(), c = new
|
|
53258
|
+
const { intersect: i } = t, r = this.camera.position, s = i.object, o = s.scalePosition.basePosition.clone(), l = s.scalePosition.handlePosition.clone().clone().sub(o).clone(), c = new E.Line3(o, o.clone().add(l.normalize().multiplyScalar(5)));
|
|
53256
53259
|
c.applyMatrix4(this.helperObject3D.matrixWorld);
|
|
53257
|
-
const h = new
|
|
53260
|
+
const h = new E.Raycaster(r, i.point.clone().sub(r)), u = ro({ raycaster: h, line: c });
|
|
53258
53261
|
this.startInfo = { line: c, scaleStartPoint: u, draggingObject: s }, this.hooks.emit("scaleStart");
|
|
53259
53262
|
});
|
|
53260
53263
|
v(this, "dragging", (t) => {
|
|
@@ -53268,7 +53271,7 @@ class YF extends Zc {
|
|
|
53268
53271
|
if (!this.startInfo)
|
|
53269
53272
|
return;
|
|
53270
53273
|
const { line: i, scaleStartPoint: r, draggingObject: s } = this.startInfo, { scalePosition: o } = s, { basePosition: a } = o, l = ro({ raycaster: t, line: i });
|
|
53271
|
-
l.applyMatrix4(new
|
|
53274
|
+
l.applyMatrix4(new E.Matrix4().getInverse(this.helperObject3D.matrixWorld.clone())), (h = (c = this.config) == null ? void 0 : c.scaleCallback) == null || h.call(c, {
|
|
53272
53275
|
ratio: l.distanceTo(a) / r.distanceTo(a),
|
|
53273
53276
|
intersectPoint: l,
|
|
53274
53277
|
scalePosition: o
|
|
@@ -53294,7 +53297,7 @@ class YF extends Zc {
|
|
|
53294
53297
|
var l, c, h;
|
|
53295
53298
|
let i = 1, r = 1, s = 1;
|
|
53296
53299
|
typeof t == "number" ? (i = t, r = t, s = t) : typeof t == "object" && (i = (l = t.x) != null ? l : 1, r = (c = t.y) != null ? c : 1, s = (h = t.z) != null ? h : 1);
|
|
53297
|
-
const o = new
|
|
53300
|
+
const o = new E.Vector3(i, r, s);
|
|
53298
53301
|
this.hooks.emit("wantToScale", o) || (this.originObject3D.scale.copy(o), this.internalHooks.emit("setObjectScale", o), this.hooks.emit("scale", o), this.render());
|
|
53299
53302
|
}
|
|
53300
53303
|
}
|
|
@@ -53942,7 +53945,7 @@ function tV(e) {
|
|
|
53942
53945
|
(s) => s.startLibraryID === t && s.endLibraryID === i
|
|
53943
53946
|
);
|
|
53944
53947
|
return r || console.warn(`Cannot find pipeline with startLibraryID ${t} and endLibraryID ${i}`), r;
|
|
53945
|
-
}).filter(
|
|
53948
|
+
}).filter(bt);
|
|
53946
53949
|
return QM(n);
|
|
53947
53950
|
}
|
|
53948
53951
|
function nV(e) {
|
|
@@ -53967,7 +53970,7 @@ function iV(e, n) {
|
|
|
53967
53970
|
return null;
|
|
53968
53971
|
const d = u.data, f = n != null && n.getPipeRadius ? n.getPipeRadius(u) : 1.6 / 100, m = n != null && n.getPipeUrl ? n.getPipeUrl(l) : nV(l);
|
|
53969
53972
|
return { id: u.id, radius: f, water: l, path: d, texture: m };
|
|
53970
|
-
}).filter(
|
|
53973
|
+
}).filter(bt);
|
|
53971
53974
|
return { startLibraryID: o, endLibraryID: a, pipes: c };
|
|
53972
53975
|
});
|
|
53973
53976
|
return { pipes: QM(t), pipelines: t };
|
|
@@ -54007,13 +54010,13 @@ function Xm(e, n) {
|
|
|
54007
54010
|
if (t < 1)
|
|
54008
54011
|
throw new Error("length of points must greater than 2");
|
|
54009
54012
|
if (t === 2)
|
|
54010
|
-
return new
|
|
54013
|
+
return new E.Vector3(
|
|
54011
54014
|
wp(e, n[0].x, n[1].x, n[2].x),
|
|
54012
54015
|
wp(e, n[0].y, n[1].y, n[2].y),
|
|
54013
54016
|
wp(e, n[0].z, n[1].z, n[2].z)
|
|
54014
54017
|
);
|
|
54015
54018
|
if (t === 3)
|
|
54016
|
-
return new
|
|
54019
|
+
return new E.Vector3(
|
|
54017
54020
|
xp(e, n[0].x, n[1].x, n[2].x, n[3].x),
|
|
54018
54021
|
xp(e, n[0].y, n[1].y, n[2].y, n[3].y),
|
|
54019
54022
|
xp(e, n[0].z, n[1].z, n[2].z, n[3].z)
|
|
@@ -54025,14 +54028,14 @@ function Xm(e, n) {
|
|
|
54025
54028
|
const i = [];
|
|
54026
54029
|
return n.reduce((r, s) => (i.push(Xm(e, [r, s])), s)), Xm(e, i);
|
|
54027
54030
|
}
|
|
54028
|
-
class uV extends
|
|
54031
|
+
class uV extends E.Curve {
|
|
54029
54032
|
constructor(t = []) {
|
|
54030
54033
|
super();
|
|
54031
54034
|
v(this, "type");
|
|
54032
54035
|
v(this, "controlPoints");
|
|
54033
54036
|
this.type = "CustomBezierCurve3", this.controlPoints = t;
|
|
54034
54037
|
}
|
|
54035
|
-
getPoint(t, i = new
|
|
54038
|
+
getPoint(t, i = new E.Vector3()) {
|
|
54036
54039
|
const r = i, s = Xm(t, this.controlPoints);
|
|
54037
54040
|
return r.copy(s), r;
|
|
54038
54041
|
}
|
|
@@ -54044,7 +54047,7 @@ class uV extends C.Curve {
|
|
|
54044
54047
|
return Object.assign(t, { controlPoints: i });
|
|
54045
54048
|
}
|
|
54046
54049
|
fromJSON(t) {
|
|
54047
|
-
return super.fromJSON(t), this.controlPoints = t.controlPoints.map((i) => new
|
|
54050
|
+
return super.fromJSON(t), this.controlPoints = t.controlPoints.map((i) => new E.Vector3().fromArray(i)), this;
|
|
54048
54051
|
}
|
|
54049
54052
|
}
|
|
54050
54053
|
const dV = (
|
|
@@ -54074,7 +54077,7 @@ const dV = (
|
|
|
54074
54077
|
}
|
|
54075
54078
|
`
|
|
54076
54079
|
);
|
|
54077
|
-
class Xo extends
|
|
54080
|
+
class Xo extends E.Mesh {
|
|
54078
54081
|
constructor(t, i = fV) {
|
|
54079
54082
|
super();
|
|
54080
54083
|
v(this, "geometryConfig", {
|
|
@@ -54090,13 +54093,13 @@ class Xo extends C.Mesh {
|
|
|
54090
54093
|
v(this, "opacityAnime");
|
|
54091
54094
|
/** u / m: 每米水管对应到贴图上,应该对应的 u 的长度 */
|
|
54092
54095
|
v(this, "uPreMeter", 1);
|
|
54093
|
-
t.geometryConfig && (this.geometryConfig = R(R({}, this.geometryConfig), t.geometryConfig)), this.customID = t.id || this.uuid, this.pathPoints = t.path, this.path = Xo.calculatePath(t.path.map((l) => new
|
|
54096
|
+
t.geometryConfig && (this.geometryConfig = R(R({}, this.geometryConfig), t.geometryConfig)), this.customID = t.id || this.uuid, this.pathPoints = t.path, this.path = Xo.calculatePath(t.path.map((l) => new E.Vector3().fromArray(l))), this.pathLength = this.path.getLength(), this.texture = Xo.formatTexture(t.texture);
|
|
54094
54097
|
const { radius: r, tubularSegments: s, radialSegments: o } = this.geometryConfig, a = Xo.formatTexture(t.texture);
|
|
54095
54098
|
this.geometry = Xo.formatGeometryUV(
|
|
54096
|
-
new
|
|
54099
|
+
new E.TubeBufferGeometry(this.path, s, r, o),
|
|
54097
54100
|
this.pathLength,
|
|
54098
54101
|
this.uPreMeter
|
|
54099
|
-
), this.material = new
|
|
54102
|
+
), this.material = new E.ShaderMaterial({
|
|
54100
54103
|
uniforms: {
|
|
54101
54104
|
opacity: { value: 1 },
|
|
54102
54105
|
uOffset: { value: 0 },
|
|
@@ -54115,7 +54118,7 @@ class Xo extends C.Mesh {
|
|
|
54115
54118
|
* @description 两个控制点使用直线路径,多个控制点使用贝塞尔路径
|
|
54116
54119
|
*/
|
|
54117
54120
|
static calculatePath(t) {
|
|
54118
|
-
return t.length === 2 ? new
|
|
54121
|
+
return t.length === 2 ? new E.LineCurve3(t[0], t[1]) : new uV(t);
|
|
54119
54122
|
}
|
|
54120
54123
|
static formatGeometryUV(t, i, r) {
|
|
54121
54124
|
const s = t.getAttribute("uv");
|
|
@@ -54129,7 +54132,7 @@ class Xo extends C.Mesh {
|
|
|
54129
54132
|
* 管道的 Texture 需要满足一定的要求,需要使用 formatTexture 先 format
|
|
54130
54133
|
*/
|
|
54131
54134
|
static formatTexture(t) {
|
|
54132
|
-
return t.wrapS =
|
|
54135
|
+
return t.wrapS = E.RepeatWrapping, t.wrapT = E.RepeatWrapping, t;
|
|
54133
54136
|
}
|
|
54134
54137
|
hide(t) {
|
|
54135
54138
|
return ee(this, null, function* () {
|
|
@@ -54293,7 +54296,7 @@ let gV = class extends Br {
|
|
|
54293
54296
|
enabled: !0,
|
|
54294
54297
|
isFlowing: !1,
|
|
54295
54298
|
speed: E1
|
|
54296
|
-
}, this.five = t, this.group = new
|
|
54299
|
+
}, this.five = t, this.group = new E.Group(), this.group.name = "water-pipe-group", this.five.scene.add(this.group), this.five.once("dispose", this.dispose), this.five.on("wantsTapGesture", this.onWantsFiveTapGesture);
|
|
54297
54300
|
}
|
|
54298
54301
|
/** 加载管道数据,重复调用会使用新数据覆盖旧数据
|
|
54299
54302
|
* @param `data` `<Plugin.ServerData>` Open API 接口返回的数据。
|
|
@@ -54525,7 +54528,7 @@ let gV = class extends Br {
|
|
|
54525
54528
|
}
|
|
54526
54529
|
/** 根据 target 查找管道模型 */
|
|
54527
54530
|
findPipeObjectWithTarget(t) {
|
|
54528
|
-
return t ? tV({ data: this.data, target: t }).map(({ id: r }) => this.findPipeObjectWithID(r)).filter(
|
|
54531
|
+
return t ? tV({ data: this.data, target: t }).map(({ id: r }) => this.findPipeObjectWithID(r)).filter(bt) : this.pipeObjects;
|
|
54529
54532
|
}
|
|
54530
54533
|
};
|
|
54531
54534
|
const VG = (e) => new gV(e), vV = "data:image/png;base64,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";
|
|
@@ -54740,9 +54743,9 @@ class xV {
|
|
|
54740
54743
|
/** 标注标签是否可见 */
|
|
54741
54744
|
v(this, "tagVisible", null);
|
|
54742
54745
|
/** 标注标签的世界坐标 */
|
|
54743
|
-
v(this, "tagPosition", new
|
|
54746
|
+
v(this, "tagPosition", new E.Vector3());
|
|
54744
54747
|
/** 标注标签的 NDC 坐标 */
|
|
54745
|
-
v(this, "tagNDCPosition", new
|
|
54748
|
+
v(this, "tagNDCPosition", new E.Vector3());
|
|
54746
54749
|
/** 标注标签的 transform */
|
|
54747
54750
|
v(this, "tagTransform", { left: 0, top: 0 });
|
|
54748
54751
|
/** 标注标签的显示层级 */
|
|
@@ -54873,10 +54876,10 @@ class xV {
|
|
|
54873
54876
|
this.containerResizeTimeoutID && clearTimeout(this.containerResizeTimeoutID), this.containerResizeTimeoutID = setTimeout(t, 100);
|
|
54874
54877
|
});
|
|
54875
54878
|
var l, c, h, u;
|
|
54876
|
-
const i = t.object_data, r = i.bottom_y, s = i.height, o = new
|
|
54877
|
-
this.data = t, this.id = t.id, this.name = (h = t.name) != null ? h : "", this.plugin = n, this.height = s, this.bottomY = r, this.opacity = a, this.shape = new
|
|
54878
|
-
new
|
|
54879
|
-
new
|
|
54879
|
+
const i = t.object_data, r = i.bottom_y, s = i.height, o = new E.Color((l = i.color) != null ? l : "#FFFFFF"), a = (c = i.opacity) != null ? c : 0.4;
|
|
54880
|
+
this.data = t, this.id = t.id, this.name = (h = t.name) != null ? h : "", this.plugin = n, this.height = s, this.bottomY = r, this.opacity = a, this.shape = new E.Shape().fromJSON(i.shape), this.floorIndex = t.floor_index, this.makerObject = new E.Mesh(P1(this.shape, s), MV(o, a)), Mp(this.makerObject, r), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new tx(
|
|
54881
|
+
new E.EdgesGeometry(this.makerObject.geometry),
|
|
54882
|
+
new E.LineBasicMaterial({ color: o, transparent: !0 })
|
|
54880
54883
|
), Mp(this.outline, r), this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.setHeight(s), this.modelGroup = new wV(this), this.modelGroup.visible = (u = i.visible) != null ? u : !0;
|
|
54881
54884
|
}
|
|
54882
54885
|
/** 挂载标注 */
|
|
@@ -54914,7 +54917,7 @@ class xV {
|
|
|
54914
54917
|
* @example setColor('#FF0000')
|
|
54915
54918
|
*/
|
|
54916
54919
|
setColor(n) {
|
|
54917
|
-
const t = new
|
|
54920
|
+
const t = new E.Color(n);
|
|
54918
54921
|
this.makerObject.material.color = t, this.outline.material.color = t, this.plugin.five.needsRender = !0;
|
|
54919
54922
|
}
|
|
54920
54923
|
/** 更改标注高度
|
|
@@ -54923,8 +54926,8 @@ class xV {
|
|
|
54923
54926
|
setHeight(n) {
|
|
54924
54927
|
if (n <= 0)
|
|
54925
54928
|
throw new Error("高度必须大于 0");
|
|
54926
|
-
this.height = n, this.makerObject.geometry = P1(this.shape, n), this.outline.geometry = new
|
|
54927
|
-
const t = this.shape.extractPoints(10).shape.slice(0, -1), i = e5(t), r = new
|
|
54929
|
+
this.height = n, this.makerObject.geometry = P1(this.shape, n), this.outline.geometry = new E.EdgesGeometry(this.makerObject.geometry);
|
|
54930
|
+
const t = this.shape.extractPoints(10).shape.slice(0, -1), i = e5(t), r = new E.Vector3(i.x, i.y, n);
|
|
54928
54931
|
Mp(r, this.bottomY), this.tagPosition.copy(r), this.updateTag(), this.plugin.five.needsRender = !0;
|
|
54929
54932
|
}
|
|
54930
54933
|
/** 更改标注标签的显示层级
|
|
@@ -54941,20 +54944,20 @@ class xV {
|
|
|
54941
54944
|
}
|
|
54942
54945
|
}
|
|
54943
54946
|
function P1(e, n) {
|
|
54944
|
-
return new
|
|
54947
|
+
return new E.ExtrudeBufferGeometry(e, {
|
|
54945
54948
|
depth: n,
|
|
54946
54949
|
bevelEnabled: !1
|
|
54947
54950
|
});
|
|
54948
54951
|
}
|
|
54949
54952
|
function MV(e, n) {
|
|
54950
|
-
return new
|
|
54953
|
+
return new E.MeshBasicMaterial({
|
|
54951
54954
|
color: e,
|
|
54952
54955
|
opacity: n,
|
|
54953
54956
|
transparent: !0
|
|
54954
54957
|
});
|
|
54955
54958
|
}
|
|
54956
54959
|
function Mp(e, n) {
|
|
54957
|
-
const t = new
|
|
54960
|
+
const t = new E.Matrix4(), i = new E.Matrix4().makeRotationX(Math.PI / 2), r = new E.Matrix4().makeTranslation(0, 0, -n), s = new E.Matrix4().makeScale(1, 1, -1);
|
|
54958
54961
|
t.multiply(i), t.multiply(r), t.multiply(s), e.applyMatrix4(t);
|
|
54959
54962
|
}
|
|
54960
54963
|
let EV = class extends Br {
|
|
@@ -55045,7 +55048,7 @@ let EV = class extends Br {
|
|
|
55045
55048
|
const s = R({
|
|
55046
55049
|
modelDepthTest: !0
|
|
55047
55050
|
}, i == null ? void 0 : i.config);
|
|
55048
|
-
this._config = s, this.modelGroup = new
|
|
55051
|
+
this._config = s, this.modelGroup = new E.Group(), this.modelGroup.name = "ModelMakerPluginGroup", this.itemMap = /* @__PURE__ */ new Map(), this.state.enabled && this._enable({ userAction: !1 });
|
|
55049
55052
|
}
|
|
55050
55053
|
/** 插件配置项 */
|
|
55051
55054
|
get config() {
|
|
@@ -55185,7 +55188,7 @@ let EV = class extends Br {
|
|
|
55185
55188
|
}
|
|
55186
55189
|
return i(t) ? {
|
|
55187
55190
|
list: t.list.filter((r) => r.object_data.points.length >= 3).map((r) => {
|
|
55188
|
-
const s = new
|
|
55191
|
+
const s = new E.Shape(), o = r.object_data.points[0];
|
|
55189
55192
|
return s.moveTo(o[0], o[2]), r.object_data.points.slice(1).forEach((l) => s.lineTo(l[0], l[2])), s.lineTo(o[0], o[2]), Me(R({}, r), {
|
|
55190
55193
|
floor_index: r.object_data.floorIndex,
|
|
55191
55194
|
object_data: Me(R({}, r.object_data), {
|
|
@@ -55248,7 +55251,7 @@ class CV extends ws {
|
|
|
55248
55251
|
pluginHidden: ""
|
|
55249
55252
|
});
|
|
55250
55253
|
// ==================== private properties ====================
|
|
55251
|
-
v(this, "group", new
|
|
55254
|
+
v(this, "group", new E.Group());
|
|
55252
55255
|
v(this, "mesh");
|
|
55253
55256
|
v(this, "textureLoadingPromise");
|
|
55254
55257
|
v(this, "opacityAnimeTween");
|
|
@@ -55312,9 +55315,9 @@ class CV extends ws {
|
|
|
55312
55315
|
yRotate: 0,
|
|
55313
55316
|
imageURL: this.absoluteUrl("/release/web/logo.7febb17f.png")
|
|
55314
55317
|
}, i == null ? void 0 : i.config);
|
|
55315
|
-
this._config = s, this.group.name = "current-pano-image-plugin-group", this.mesh = new
|
|
55316
|
-
new
|
|
55317
|
-
new
|
|
55318
|
+
this._config = s, this.group.name = "current-pano-image-plugin-group", this.mesh = new E.Mesh(
|
|
55319
|
+
new E.PlaneBufferGeometry(this.config.width, this.config.width),
|
|
55320
|
+
new E.MeshBasicMaterial({ transparent: !0, opacity: 0, depthTest: !1 })
|
|
55318
55321
|
), this.mesh.visible = !1, this.group.add(this.mesh), this.updateMeshQuaternion(this.config.yRotate), this.state.visible || (this.checkMsg.pluginHidden = "初始值设置为隐藏"), this.state.enabled || (this.checkMsg.pluginDisabled = "初始值设置为禁用"), this.state.enabled && this._enable({ userAction: !1 }), this.five.once("dispose", this.dispose);
|
|
55319
55322
|
}
|
|
55320
55323
|
/** 插件配置项 */
|
|
@@ -55395,7 +55398,7 @@ class CV extends ws {
|
|
|
55395
55398
|
updateConfig(t, i = {}) {
|
|
55396
55399
|
var o;
|
|
55397
55400
|
const r = this.config, s = R(R({}, r), t);
|
|
55398
|
-
this._config = s, r.imageURL !== s.imageURL && this.reloadTexture(s.imageURL), r.yOffset !== s.yOffset && this.updateMeshPosition(this.five.getCurrentState().panoIndex), r.yRotate !== s.yRotate && this.updateMeshQuaternion(s.yRotate), r.width !== s.width && (this.mesh.geometry = new
|
|
55401
|
+
this._config = s, r.imageURL !== s.imageURL && this.reloadTexture(s.imageURL), r.yOffset !== s.yOffset && this.updateMeshPosition(this.five.getCurrentState().panoIndex), r.yRotate !== s.yRotate && this.updateMeshQuaternion(s.yRotate), r.width !== s.width && (this.mesh.geometry = new E.PlaneBufferGeometry(s.width, s.width)), this.hooks.emit("configChange", { prevConfig: r, config: s, userAction: (o = i.userAction) != null ? o : !0 });
|
|
55399
55402
|
}
|
|
55400
55403
|
/** 问什么看不到模型 */
|
|
55401
55404
|
__whyCantSeeMesh() {
|
|
@@ -55434,19 +55437,19 @@ class CV extends ws {
|
|
|
55434
55437
|
const i = Ws(t);
|
|
55435
55438
|
this.textureLoadingPromise = i;
|
|
55436
55439
|
const r = yield i;
|
|
55437
|
-
r.minFilter =
|
|
55440
|
+
r.minFilter = E.LinearFilter, this.textureLoadingPromise === i && (this.onTextureLoaded(r), this.textureLoadingPromise = null);
|
|
55438
55441
|
}
|
|
55439
55442
|
this.updateMeshVisible();
|
|
55440
55443
|
});
|
|
55441
55444
|
}
|
|
55442
55445
|
/** north_rad 变化时,需要更新模型的旋转角度 */
|
|
55443
55446
|
updateMeshQuaternion(t) {
|
|
55444
|
-
const i = new
|
|
55447
|
+
const i = new E.Quaternion();
|
|
55445
55448
|
i.multiplyQuaternions(
|
|
55446
55449
|
// 沿着自身 X 轴旋转 -90 度
|
|
55447
|
-
new
|
|
55450
|
+
new E.Quaternion().setFromAxisAngle(new E.Vector3(1, 0, 0), -Math.PI / 2),
|
|
55448
55451
|
// 沿着自身 Z 轴旋转 rad 弧度
|
|
55449
|
-
new
|
|
55452
|
+
new E.Quaternion().setFromAxisAngle(new E.Vector3(0, 0, 1), t)
|
|
55450
55453
|
), this.mesh.quaternion.copy(i);
|
|
55451
55454
|
}
|
|
55452
55455
|
_enable(t) {
|
|
@@ -55559,25 +55562,25 @@ class Bc extends ti {
|
|
|
55559
55562
|
v(this, "_visible", !0);
|
|
55560
55563
|
const u = t != null ? t : {}, { point: i } = u, r = Ps(u, ["point"]);
|
|
55561
55564
|
this.paramsStyle = r != null ? r : {};
|
|
55562
|
-
const s = new
|
|
55563
|
-
s.setAttribute("position", new
|
|
55565
|
+
const s = new E.BufferGeometry();
|
|
55566
|
+
s.setAttribute("position", new E.Float32BufferAttribute([0, 0, 0], 3));
|
|
55564
55567
|
const o = {
|
|
55565
55568
|
transparent: !0,
|
|
55566
|
-
side:
|
|
55569
|
+
side: E.DoubleSide,
|
|
55567
55570
|
size: (d = t == null ? void 0 : t.size) != null ? d : 8,
|
|
55568
|
-
map: _1 || (_1 = new
|
|
55571
|
+
map: _1 || (_1 = new E.TextureLoader().load(SV)),
|
|
55569
55572
|
sizeAttenuation: !1
|
|
55570
|
-
}, a = new
|
|
55573
|
+
}, a = new E.PointsMaterial(Me(R({}, o), {
|
|
55571
55574
|
color: (f = t == null ? void 0 : t.color) != null ? f : 16777215,
|
|
55572
55575
|
depthTest: !0,
|
|
55573
55576
|
opacity: 1
|
|
55574
|
-
})), l = new
|
|
55577
|
+
})), l = new E.PointsMaterial(Me(R({}, o), {
|
|
55575
55578
|
size: a.size,
|
|
55576
55579
|
color: a.color,
|
|
55577
55580
|
depthWrite: !1,
|
|
55578
55581
|
depthTest: !1,
|
|
55579
55582
|
opacity: 0.5
|
|
55580
|
-
})), c = new
|
|
55583
|
+
})), c = new E.Points(s, a), h = new E.Points(s, l);
|
|
55581
55584
|
this.fontMesh = c, this.backgroundMesh = h, c.name = "FontMesh", h.name = "BackgroundMesh", c.renderOrder = 10, h.renderOrder = 0, this.add(c, h), t != null && t.point && this.position.copy(Ft(t.point)), t && this.setStyle(t), this.addEventListener("removed", () => {
|
|
55582
55585
|
Dd(this);
|
|
55583
55586
|
}), Object.defineProperty(this, "visible", {
|
|
@@ -55593,12 +55596,20 @@ class Bc extends ti {
|
|
|
55593
55596
|
get size() {
|
|
55594
55597
|
return this.fontMesh.material.size;
|
|
55595
55598
|
}
|
|
55599
|
+
get style() {
|
|
55600
|
+
return {
|
|
55601
|
+
color: this.color,
|
|
55602
|
+
size: this.size,
|
|
55603
|
+
occlusionVisibility: this.fontMesh.material.depthTest,
|
|
55604
|
+
occlusionMode: this.backgroundMesh.visible ? "depthWrite" : "depthTest"
|
|
55605
|
+
};
|
|
55606
|
+
}
|
|
55596
55607
|
get five() {
|
|
55597
55608
|
var t, i;
|
|
55598
55609
|
return (i = (t = window.globalModules) == null ? void 0 : t.five) != null ? i : window.$five;
|
|
55599
55610
|
}
|
|
55600
55611
|
setStyle(t) {
|
|
55601
|
-
|
|
55612
|
+
bt(t.color) && (this.fontMesh.material.setValues({ color: t.color }), this.backgroundMesh.material.setValues({ color: t.color })), bt(t.size) && (this.fontMesh.material.setValues({ side: t.size }), this.backgroundMesh.material.setValues({ side: t.size })), bt(t.occlusionVisibility) && (t.occlusionVisibility ? t.occlusionMode === "depthTest" ? (this.fontMesh.material.depthTest = !1, this.backgroundMesh.visible = !1) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !0) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !1));
|
|
55602
55613
|
}
|
|
55603
55614
|
highlight() {
|
|
55604
55615
|
this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.fontMesh.material.opacity, this.fontMesh.material.setValues({ opacity: this.opacityBeforeHighlight * ra }));
|
|
@@ -55615,7 +55626,10 @@ class Bc extends ti {
|
|
|
55615
55626
|
const t = this.paramsStyle.tip;
|
|
55616
55627
|
t && !this.dom && (this.dom = new Gs(this.five), this.dom.intersectCheck = !1, this.dom.simulate3D = !0, this.dom.container.style.visibility = "hidden");
|
|
55617
55628
|
const i = (r) => {
|
|
55618
|
-
|
|
55629
|
+
var s;
|
|
55630
|
+
this.dom && this.dom.__text !== r && (this.dom.__text = r, r ? this.dom.container.innerHTML = vg(r, {
|
|
55631
|
+
style: `color: #${bt((s = this.style) == null ? void 0 : s.color) ? new E.Color(this.style.color).getHexString() : "ffffff"}`
|
|
55632
|
+
}) : this.dom.container.innerHTML = "");
|
|
55619
55633
|
};
|
|
55620
55634
|
t ? (i(t), this.dom.setPosition(this.position.clone())) : i(null);
|
|
55621
55635
|
}
|
|
@@ -55637,7 +55651,7 @@ class Zm extends Oi {
|
|
|
55637
55651
|
});
|
|
55638
55652
|
v(this, "updateEdgePointsVisibility", () => {
|
|
55639
55653
|
var t;
|
|
55640
|
-
|
|
55654
|
+
bt((t = this._paramsStyle) == null ? void 0 : t.pointVisibility) && (this.startPoint && (this.startPoint.visible = typeof this._paramsStyle.pointVisibility == "object" ? this._paramsStyle.pointVisibility.startPoint : this._paramsStyle.pointVisibility), this.endPoint && (this.endPoint.visible = typeof this._paramsStyle.pointVisibility == "object" ? this._paramsStyle.pointVisibility.endPoint : this._paramsStyle.pointVisibility));
|
|
55641
55655
|
});
|
|
55642
55656
|
this.add(this.pointGroup), t && this.setStyle(t), t != null && t.points && this.setPoints(t.points);
|
|
55643
55657
|
}
|
|
@@ -55655,7 +55669,7 @@ class Zm extends Oi {
|
|
|
55655
55669
|
}
|
|
55656
55670
|
setPoints(t) {
|
|
55657
55671
|
super.setPoints(t);
|
|
55658
|
-
const i = t.map(Ft).filter(
|
|
55672
|
+
const i = t.map(Ft).filter(bt);
|
|
55659
55673
|
this.pointGroup.removeChildren(), this.addIfNotExists(this.pointGroup), i.forEach((r) => {
|
|
55660
55674
|
var o;
|
|
55661
55675
|
const s = new Bc(Me(R({}, this.style), { color: (o = this._paramsStyle) == null ? void 0 : o.lineColor, tip: void 0 }));
|
|
@@ -55700,7 +55714,7 @@ class JM extends ti {
|
|
|
55700
55714
|
}
|
|
55701
55715
|
get lineColor() {
|
|
55702
55716
|
var t, i, r;
|
|
55703
|
-
return (r = (t = this.lines[0]) == null ? void 0 : t.color) != null ? r : (i = this.paramsStyle) != null && i.lineColor ? new
|
|
55717
|
+
return (r = (t = this.lines[0]) == null ? void 0 : t.color) != null ? r : (i = this.paramsStyle) != null && i.lineColor ? new E.Color(this.paramsStyle.lineColor) : void 0;
|
|
55704
55718
|
}
|
|
55705
55719
|
get lineWidth() {
|
|
55706
55720
|
var t, i, r;
|
|
@@ -56292,7 +56306,7 @@ class lv extends av {
|
|
|
56292
56306
|
return this.children;
|
|
56293
56307
|
}
|
|
56294
56308
|
enable() {
|
|
56295
|
-
super.enable(), this.points.filter(
|
|
56309
|
+
super.enable(), this.points.filter(bt).forEach((t) => {
|
|
56296
56310
|
const i = new Bc();
|
|
56297
56311
|
i.visible = !1, i.position.copy(t), i.draggable = !0, hn.modules.fiveDomEvents.addEventListener(i, "drag", this.onDrag), hn.modules.fiveDomEvents.addEventListener(i, "dragstart", this.onDragstart), hn.modules.fiveDomEvents.addEventListener(i, "dragend", this.onDragend), this.add(i);
|
|
56298
56312
|
});
|
|
@@ -56354,7 +56368,7 @@ class D1 extends Nr {
|
|
|
56354
56368
|
return Me(R({}, this.baseData), {
|
|
56355
56369
|
points: bi(this.applyObjectMatrixWorld(this.polyLineMesh.points)),
|
|
56356
56370
|
style: {
|
|
56357
|
-
lineColor: new
|
|
56371
|
+
lineColor: new E.Color(this.polyLineMesh.lineColor).getHex(),
|
|
56358
56372
|
lineWidth: this.polyLineMesh.lineWidth,
|
|
56359
56373
|
dashed: this.polyLineMesh.dashed
|
|
56360
56374
|
}
|
|
@@ -56418,7 +56432,7 @@ function UV(e, n, t) {
|
|
|
56418
56432
|
if (!M || (f = M, !(h != null && h.length)))
|
|
56419
56433
|
return P();
|
|
56420
56434
|
const I = h.at(-1).clone();
|
|
56421
|
-
a === "none" ? (u = M.point, l.setPoints([I, u])) : a === "xoz" ? (d = d != null ? d : new
|
|
56435
|
+
a === "none" ? (u = M.point, l.setPoints([I, u])) : a === "xoz" ? (d = d != null ? d : new E.Plane().setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), h[0]), n.plane = d, u = d.projectPoint(M.point, new E.Vector3()), l.setPoints([I, u]), c.setPoints([u, M.point])) : a === "y" && (h.length === 1 ? (u = M.point, l.setPoints([I, u])) : (d = d != null ? d : new E.Plane().setFromCoplanarPoints(h[0], h[1], new E.Vector3(0, 1, 0).add(h[0])), n.plane = d, u = d.projectPoint(M.point, new E.Vector3()), l.setPoints([I, u]), c.setPoints([u, M.point])));
|
|
56422
56436
|
};
|
|
56423
56437
|
return n.on("select", A), n.on("intersectionUpdate", w), n.on("disable", () => {
|
|
56424
56438
|
if (n.off("select", A), n.off("intersectionUpdate", w), n.plane = null, i.remove(l), i.remove(c), h.length < 2)
|
|
@@ -56512,22 +56526,22 @@ class hv extends ti {
|
|
|
56512
56526
|
v(this, "meshFont");
|
|
56513
56527
|
v(this, "meshBackground");
|
|
56514
56528
|
v(this, "paramsStyle", {});
|
|
56515
|
-
v(this, "_geometry", new
|
|
56529
|
+
v(this, "_geometry", new E.BufferGeometry());
|
|
56516
56530
|
this.paramsStyle = t != null ? t : {};
|
|
56517
|
-
const i = new
|
|
56531
|
+
const i = new E.MeshBasicMaterial({
|
|
56518
56532
|
color: (a = t == null ? void 0 : t.color) != null ? a : bC,
|
|
56519
56533
|
transparent: !0,
|
|
56520
|
-
side:
|
|
56534
|
+
side: E.DoubleSide,
|
|
56521
56535
|
depthTest: !0,
|
|
56522
56536
|
opacity: (l = t == null ? void 0 : t.opacity) != null ? l : 0.5
|
|
56523
|
-
}), r = new
|
|
56537
|
+
}), r = new E.MeshBasicMaterial({
|
|
56524
56538
|
color: 16777215,
|
|
56525
56539
|
transparent: !0,
|
|
56526
|
-
side:
|
|
56540
|
+
side: E.DoubleSide,
|
|
56527
56541
|
depthTest: !1,
|
|
56528
56542
|
depthWrite: !1,
|
|
56529
56543
|
opacity: 0.3 / 0.5 * i.opacity
|
|
56530
|
-
}), s = new
|
|
56544
|
+
}), s = new E.Mesh(this.geometry, i), o = new E.Mesh(this.geometry, r);
|
|
56531
56545
|
s.name = "MeshFront", o.name = "MeshBackground", s.renderOrder = 1, o.renderOrder = 0, this.meshFont = s, this.meshBackground = o, this.add(s), this.setOcclusionVisibility({ occlusionVisibility: t == null ? void 0 : t.occlusionVisibility, occlusionMode: t == null ? void 0 : t.occlusionMode });
|
|
56532
56546
|
}
|
|
56533
56547
|
get style() {
|
|
@@ -56557,15 +56571,15 @@ class hv extends ti {
|
|
|
56557
56571
|
return this._geometry;
|
|
56558
56572
|
}
|
|
56559
56573
|
setStyle(t) {
|
|
56560
|
-
this.paramsStyle = R(R({}, this.paramsStyle), t),
|
|
56574
|
+
this.paramsStyle = R(R({}, this.paramsStyle), t), bt(t.color) && (this.meshFont.material.color.set(t.color), this.needsRender = !0), bt(t.opacity) && (this.meshFont.material.opacity = t.opacity, this.meshBackground.material.opacity = 0.3 / 0.5 * t.opacity, this.needsRender = !0), this.setOcclusionVisibility(t);
|
|
56561
56575
|
}
|
|
56562
56576
|
setOcclusionVisibility(t) {
|
|
56563
56577
|
var s, o, a;
|
|
56564
56578
|
const i = (o = (s = t.occlusionMode) != null ? s : this.paramsStyle.occlusionMode) != null ? o : "translucence", r = (a = t.occlusionVisibility) != null ? a : this.paramsStyle.occlusionVisibility;
|
|
56565
|
-
|
|
56579
|
+
bt(r) && (r ? i === "depthTest" ? (this.meshFont.material.depthTest = !1, this.remove(this.meshBackground)) : i === "translucence" && (this.meshFont.material.depthTest = !0, this.addIfNotExists(this.meshBackground)) : (this.meshFont.material.depthTest = !0, this.remove(this.meshBackground)));
|
|
56566
56580
|
}
|
|
56567
56581
|
}
|
|
56568
|
-
const uv = new
|
|
56582
|
+
const uv = new E.BufferGeometry();
|
|
56569
56583
|
uv.name = "blankGeometry";
|
|
56570
56584
|
uv.isBlank = !0;
|
|
56571
56585
|
class yd extends hv {
|
|
@@ -56619,7 +56633,7 @@ class yd extends hv {
|
|
|
56619
56633
|
* @description: 获取一个点投影在当前平面上的点
|
|
56620
56634
|
*/
|
|
56621
56635
|
projectPoint(t) {
|
|
56622
|
-
return t && (this.planeHelperNeedUpdate && this.updatePlaneHelper(), this.planeHelper ? this.planeHelper.projectPoint(t, new
|
|
56636
|
+
return t && (this.planeHelperNeedUpdate && this.updatePlaneHelper(), this.planeHelper ? this.planeHelper.projectPoint(t, new E.Vector3()) : t);
|
|
56623
56637
|
}
|
|
56624
56638
|
highlight() {
|
|
56625
56639
|
this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.opacity, this.setStyle({ opacity: this.opacity * ra }), this.needsRender = !0);
|
|
@@ -56628,24 +56642,26 @@ class yd extends hv {
|
|
|
56628
56642
|
this.highlighted && (this.highlighted = !1, this.setStyle({ opacity: this.opacityBeforeHighlight }), this.needsRender = !0);
|
|
56629
56643
|
}
|
|
56630
56644
|
updatePlaneHelper() {
|
|
56631
|
-
this.points.length >= 3 ? this.planeHelper = new
|
|
56645
|
+
this.points.length >= 3 ? this.planeHelper = new E.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.planeHelper = null, this.planeHelperNeedUpdate = !1;
|
|
56632
56646
|
}
|
|
56633
56647
|
updateAreaItems() {
|
|
56634
|
-
var r;
|
|
56648
|
+
var r, s;
|
|
56635
56649
|
const t = () => {
|
|
56636
|
-
var
|
|
56637
|
-
(
|
|
56650
|
+
var o;
|
|
56651
|
+
(o = this.areaDom) == null || o.destroy(), this.areaDom = void 0;
|
|
56638
56652
|
};
|
|
56639
56653
|
if (!this._paramsStyle.lengthEnable || !this.geometryInfo)
|
|
56640
56654
|
return t();
|
|
56641
56655
|
if (!this.five)
|
|
56642
56656
|
return console.error("Five not found");
|
|
56643
56657
|
this.areaDom = (r = this.areaDom) != null ? r : (() => {
|
|
56644
|
-
const
|
|
56645
|
-
return
|
|
56658
|
+
const o = new Gs(this.five);
|
|
56659
|
+
return o.intersectCheck = !1, o.simulate3D = !0, o;
|
|
56646
56660
|
})(), this.areaDom.setPosition(this.center);
|
|
56647
56661
|
const i = this.geometryInfo.area.toFixed(2);
|
|
56648
|
-
i === "0.00" ? this.areaDom.container.innerHTML = "" : this.areaDom.container.innerHTML = vg(i + "m²"
|
|
56662
|
+
i === "0.00" ? this.areaDom.container.innerHTML = "" : this.areaDom.container.innerHTML = vg(i + "m²", {
|
|
56663
|
+
style: `color: #${bt((s = this.style) == null ? void 0 : s.color) ? new E.Color(this.style.color).getHexString() : "000000"}`
|
|
56664
|
+
});
|
|
56649
56665
|
}
|
|
56650
56666
|
}
|
|
56651
56667
|
class bd extends yd {
|
|
@@ -56786,7 +56802,7 @@ function nE(e, n, t) {
|
|
|
56786
56802
|
if (!T || (m = T, !(h != null && h.length)))
|
|
56787
56803
|
return z();
|
|
56788
56804
|
const D = h.at(-1).clone();
|
|
56789
|
-
if (h.length < 3 && (a === "none" ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : a === "xoz" ? (d = d != null ? d : new
|
|
56805
|
+
if (h.length < 3 && (a === "none" ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : a === "xoz" ? (d = d != null ? d : new E.Plane().setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), h[0]), n.plane = d, u = d.projectPoint(T.point, new E.Vector3()), l.setPoints([D, u]), c.setPoints([u, T.point])) : a === "y" && (h.length === 1 ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : (d = d != null ? d : new E.Plane().setFromCoplanarPoints(h[0], h[1], new E.Vector3(0, 1, 0).add(h[0])), n.plane = d, u = d.projectPoint(T.point, new E.Vector3()), l.setPoints([D, u]), c.setPoints([u, T.point])))), h.length >= 3) {
|
|
56790
56806
|
u = e.projectPoint(T.point);
|
|
56791
56807
|
const k = h[0], O = 0.2;
|
|
56792
56808
|
k.distanceTo(u) < O || k.distanceTo(T.point) < O ? (u = k, T.point.copy(k), n.pointSelectorHelper.updateWithIntersect(T, { emitEvent: !1 }), f = !0) : f = !1, l.setPoints([D, u]), c.setPoints([u, T.point]);
|
|
@@ -56826,7 +56842,7 @@ class Ad extends ti {
|
|
|
56826
56842
|
var r, s;
|
|
56827
56843
|
const t = (r = this.topPolygon) == null ? void 0 : r.center, i = (s = this.bottomPolygon) == null ? void 0 : s.center;
|
|
56828
56844
|
if (t && i)
|
|
56829
|
-
return new
|
|
56845
|
+
return new E.Vector3().lerpVectors(t, i, 0.5);
|
|
56830
56846
|
}
|
|
56831
56847
|
get worldCenter() {
|
|
56832
56848
|
return this.updateMatrixWorld(), this.localToWorld(this.localCenter);
|
|
@@ -56846,7 +56862,7 @@ class Ad extends ti {
|
|
|
56846
56862
|
});
|
|
56847
56863
|
}
|
|
56848
56864
|
setPoints(t) {
|
|
56849
|
-
|
|
56865
|
+
bt(t.points) && this.setBottomPoints(t.points), bt(t.heightPoint) && this.setTopHeightPoint(Ft(t.heightPoint));
|
|
56850
56866
|
}
|
|
56851
56867
|
highlight() {
|
|
56852
56868
|
this.bottomPolygon.highlight(), this.topPolygon.highlight(), this.edgePlanes.children.forEach((t) => {
|
|
@@ -56863,7 +56879,7 @@ class Ad extends ti {
|
|
|
56863
56879
|
}
|
|
56864
56880
|
setTopHeightPoint(t) {
|
|
56865
56881
|
this.heightPoint = t, this.addIfNotExists(this.topPolygon);
|
|
56866
|
-
const i = this.bottomPolygon.projectPoint(t), r = new
|
|
56882
|
+
const i = this.bottomPolygon.projectPoint(t), r = new E.Vector3().subVectors(t, i);
|
|
56867
56883
|
this.up.copy(r.clone().normalize());
|
|
56868
56884
|
const o = this.bottomPolygon.points.map((a) => a.clone().add(r));
|
|
56869
56885
|
this.topPolygon.setPoints(o), this.setEdgePlanes();
|
|
@@ -56890,7 +56906,7 @@ class XV extends qc {
|
|
|
56890
56906
|
super(n, () => {
|
|
56891
56907
|
const t = () => {
|
|
56892
56908
|
var o, a;
|
|
56893
|
-
const i = (o = n.prismMesh.topPolygon) == null ? void 0 : o.center, r = (a = n.prismMesh.bottomPolygon) == null ? void 0 : a.center, s = new
|
|
56909
|
+
const i = (o = n.prismMesh.topPolygon) == null ? void 0 : o.center, r = (a = n.prismMesh.bottomPolygon) == null ? void 0 : a.center, s = new E.Vector3().lerpVectors(i, r, 0.5);
|
|
56894
56910
|
return { topCenter: i, bottomCenter: r, boxCenter: s };
|
|
56895
56911
|
};
|
|
56896
56912
|
return {
|
|
@@ -56971,7 +56987,7 @@ function ZV(e, n) {
|
|
|
56971
56987
|
return;
|
|
56972
56988
|
const p = ro({
|
|
56973
56989
|
raycaster: m.raycaster,
|
|
56974
|
-
line: new
|
|
56990
|
+
line: new E.Line3(o, a)
|
|
56975
56991
|
});
|
|
56976
56992
|
p && e.setPoints({ heightPoint: p });
|
|
56977
56993
|
}, d = () => {
|
|
@@ -56988,7 +57004,7 @@ class JV extends qc {
|
|
|
56988
57004
|
super(n, () => ({ yAxis: n.rectangleMesh.up }));
|
|
56989
57005
|
}
|
|
56990
57006
|
}
|
|
56991
|
-
class qV extends
|
|
57007
|
+
class qV extends E.BufferGeometry {
|
|
56992
57008
|
constructor(t) {
|
|
56993
57009
|
super();
|
|
56994
57010
|
v(this, "name", "RectangleGeometry");
|
|
@@ -56997,12 +57013,12 @@ class qV extends C.BufferGeometry {
|
|
|
56997
57013
|
console.error("Invalid number of points, it's not a rectangle");
|
|
56998
57014
|
return;
|
|
56999
57015
|
}
|
|
57000
|
-
this.points = t.slice(0, 4), this.setAttribute("position", new
|
|
57016
|
+
this.points = t.slice(0, 4), this.setAttribute("position", new E.BufferAttribute(new Float32Array(this.points.flatMap((i) => i.toArray())), 3)), this.setIndex(new E.BufferAttribute(new Uint16Array([0, 1, 2, 0, 2, 3]), 1));
|
|
57001
57017
|
}
|
|
57002
57018
|
}
|
|
57003
57019
|
function KV(e, n) {
|
|
57004
|
-
const i = new
|
|
57005
|
-
return new
|
|
57020
|
+
const i = new E.Plane().setFromCoplanarPoints(e[0], e[1], e[2]).projectPoint(n, new E.Vector3());
|
|
57021
|
+
return new E.Vector3().subVectors(n, i).normalize();
|
|
57006
57022
|
}
|
|
57007
57023
|
class iE extends yd {
|
|
57008
57024
|
constructor(t) {
|
|
@@ -57020,7 +57036,7 @@ class iE extends yd {
|
|
|
57020
57036
|
return (i = (t = this.meshFont) == null ? void 0 : t.geometry) == null ? void 0 : i.points.slice(0, 3);
|
|
57021
57037
|
}
|
|
57022
57038
|
setPoints(t) {
|
|
57023
|
-
const i = t.map(Ft).filter(
|
|
57039
|
+
const i = t.map(Ft).filter(bt);
|
|
57024
57040
|
if (i.length < 3) {
|
|
57025
57041
|
console.error("Invalid position");
|
|
57026
57042
|
return;
|
|
@@ -57107,9 +57123,9 @@ function rE(e, n, t) {
|
|
|
57107
57123
|
const o = (A = t == null ? void 0 : t.limit) != null ? A : "none", a = (w = t == null ? void 0 : t.drawMethod) != null ? w : "diagonal", l = new Ul(Me(R({}, e.style), { dashed: !0, lengthEnable: !0 })), c = new Ul(Me(R({}, e.style), { dashed: !0, lengthEnable: !1 })), h = new Ul(Me(R({}, e.style), { dashed: !1, lengthEnable: !1 }));
|
|
57108
57124
|
s.add(l, h, c), n.enable();
|
|
57109
57125
|
const u = [];
|
|
57110
|
-
let d = new
|
|
57111
|
-
const m = new
|
|
57112
|
-
u.push(d.clone()), u.length === 1 ? (o === "xoz" && m.setFromNormalAndCoplanarPoint(new
|
|
57126
|
+
let d = new E.Vector3(), f = new E.Vector3();
|
|
57127
|
+
const m = new E.Plane(), p = () => {
|
|
57128
|
+
u.push(d.clone()), u.length === 1 ? (o === "xoz" && m.setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), u[0]), o === "none" && m.setFromNormalAndCoplanarPoint(f, u[0])) : u.length === 2 ? o === "y" ? (y(), i()) : h.setPoints([u[0], u[1]]) : u.length === 3 && (y(), i());
|
|
57113
57129
|
}, g = (x) => {
|
|
57114
57130
|
var P;
|
|
57115
57131
|
if (!(x != null && x.raycaster))
|
|
@@ -57120,23 +57136,23 @@ function rE(e, n, t) {
|
|
|
57120
57136
|
return;
|
|
57121
57137
|
}
|
|
57122
57138
|
if (u.length === 1 && o === "y") {
|
|
57123
|
-
const T = new
|
|
57139
|
+
const T = new E.Line3(new E.Vector3(0, 1, 0).add(u[0]), new E.Vector3(0, -1, 0).add(u[0])).closestPointToPoint(x.point, !1, new E.Vector3());
|
|
57124
57140
|
e.setPoints([u[0], T, x.point]);
|
|
57125
57141
|
return;
|
|
57126
57142
|
}
|
|
57127
57143
|
if (u.length === 1) {
|
|
57128
|
-
m ? (d = x.raycaster.ray.intersectPlane(m, new
|
|
57144
|
+
m ? (d = x.raycaster.ray.intersectPlane(m, new E.Vector3()), c.setPoints([d, x.point])) : d = x.point.clone(), l.setPoints([M, d]);
|
|
57129
57145
|
return;
|
|
57130
57146
|
}
|
|
57131
57147
|
if (u.length === 2) {
|
|
57132
57148
|
s.remove(l);
|
|
57133
|
-
const I = x.raycaster.ray.intersectPlane(m, new
|
|
57149
|
+
const I = x.raycaster.ray.intersectPlane(m, new E.Vector3());
|
|
57134
57150
|
if (a === "diagonal") {
|
|
57135
|
-
const T = u[0].distanceTo(u[1]) / 2, z = new
|
|
57136
|
-
d = new
|
|
57151
|
+
const T = u[0].distanceTo(u[1]) / 2, z = new E.Vector3().lerpVectors(u[0], u[1], 0.5), D = new E.Vector3().subVectors(I, z).normalize();
|
|
57152
|
+
d = new E.Vector3().addVectors(z, D.multiplyScalar(T)), e.setPoints([u[0], d, u[1]]);
|
|
57137
57153
|
} else if (a === "vertex") {
|
|
57138
|
-
const T = new
|
|
57139
|
-
d = new
|
|
57154
|
+
const T = new E.Vector3().crossVectors(u[0].clone().sub(u[1]), m.normal).normalize();
|
|
57155
|
+
d = new E.Line3(u[1].clone().add(T), u[1].clone().sub(T)).closestPointToPoint(x.point, !1, new E.Vector3()), e.setPoints([u[0], u[1], d]);
|
|
57140
57156
|
}
|
|
57141
57157
|
return;
|
|
57142
57158
|
}
|
|
@@ -57178,7 +57194,7 @@ class e6 extends hv {
|
|
|
57178
57194
|
}
|
|
57179
57195
|
setPoints(t) {
|
|
57180
57196
|
const i = Ft(t.center), r = Ft(t.normal), s = t.radius, o = sE(s);
|
|
57181
|
-
this.geometry = new
|
|
57197
|
+
this.geometry = new E.CircleGeometry(s, o), this.position.copy(i), this.lookAt(r.clone().add(i)), this.normal = r.clone().normalize(), this.needsRender = !0;
|
|
57182
57198
|
}
|
|
57183
57199
|
highlight() {
|
|
57184
57200
|
this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.opacity, this.setStyle({ opacity: this.opacity * ra }), this.needsRender = !0);
|
|
@@ -57268,8 +57284,8 @@ function oE(e, n) {
|
|
|
57268
57284
|
}, c = (d) => {
|
|
57269
57285
|
if (!d || !o)
|
|
57270
57286
|
return;
|
|
57271
|
-
const f = new
|
|
57272
|
-
if (a = d.raycaster.ray.intersectPlane(f, new
|
|
57287
|
+
const f = new E.Plane().setFromNormalAndCoplanarPoint(o.normal, o.point);
|
|
57288
|
+
if (a = d.raycaster.ray.intersectPlane(f, new E.Vector3()), a) {
|
|
57273
57289
|
const m = o.point.distanceTo(a);
|
|
57274
57290
|
e.setPoints({ center: o.point, normal: o.normal, radius: m });
|
|
57275
57291
|
}
|
|
@@ -57318,7 +57334,7 @@ class N1 extends ti {
|
|
|
57318
57334
|
this.addIfNotExists(this.bottomCircle), this.bottomCircle.setPoints({ center: t, normal: this.normal, radius: this.radius }), this.setEdgeMesh();
|
|
57319
57335
|
}
|
|
57320
57336
|
setStyle(t) {
|
|
57321
|
-
this.params = R(R({}, this.params), t),
|
|
57337
|
+
this.params = R(R({}, this.params), t), bt(t.color) && this.bottomCircle.setStyle({ color: t.color }), bt(t.color) && this.topCircle.setStyle({ color: t.color });
|
|
57322
57338
|
}
|
|
57323
57339
|
highlight() {
|
|
57324
57340
|
this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.edgeMesh.opacity, this.edgeMesh.setStyle({ opacity: this.edgeMesh.opacity * ra }), this.bottomCircle.highlight(), this.topCircle.highlight(), this.needsRender = !0);
|
|
@@ -57329,7 +57345,7 @@ class N1 extends ti {
|
|
|
57329
57345
|
setEdgeMesh() {
|
|
57330
57346
|
this.addIfNotExists(this.edgeMesh);
|
|
57331
57347
|
const t = this.topCircle.center, i = this.bottomCircle.center;
|
|
57332
|
-
this.edgeMesh.geometry.dispose(), this.edgeMesh.geometry = new
|
|
57348
|
+
this.edgeMesh.geometry.dispose(), this.edgeMesh.geometry = new E.CylinderGeometry(
|
|
57333
57349
|
this.radius,
|
|
57334
57350
|
this.radius,
|
|
57335
57351
|
t.distanceTo(i),
|
|
@@ -57337,15 +57353,15 @@ class N1 extends ti {
|
|
|
57337
57353
|
1,
|
|
57338
57354
|
!0
|
|
57339
57355
|
);
|
|
57340
|
-
const r = new
|
|
57341
|
-
this.edgeMesh.position.copy(new
|
|
57356
|
+
const r = new E.Quaternion().setFromUnitVectors(new E.Vector3(0, 1, 0), this.normal.clone().normalize());
|
|
57357
|
+
this.edgeMesh.position.copy(new E.Vector3().lerpVectors(i, t, 0.5)), this.edgeMesh.quaternion.copy(r);
|
|
57342
57358
|
}
|
|
57343
57359
|
}
|
|
57344
57360
|
class t6 extends qc {
|
|
57345
57361
|
constructor(n) {
|
|
57346
57362
|
super(n, () => {
|
|
57347
57363
|
const t = () => {
|
|
57348
|
-
const i = n.cylinderMesh.topCenter, r = n.cylinderMesh.bottomCenter, s = new
|
|
57364
|
+
const i = n.cylinderMesh.topCenter, r = n.cylinderMesh.bottomCenter, s = new E.Vector3().lerpVectors(i, r, 0.5);
|
|
57349
57365
|
return { topCenter: i, bottomCenter: r, boxCenter: s };
|
|
57350
57366
|
};
|
|
57351
57367
|
return {
|
|
@@ -57423,8 +57439,8 @@ function n6(e, n) {
|
|
|
57423
57439
|
return;
|
|
57424
57440
|
const p = ro({
|
|
57425
57441
|
raycaster: m.raycaster,
|
|
57426
|
-
line: new
|
|
57427
|
-
}), y = new
|
|
57442
|
+
line: new E.Line3(o, a)
|
|
57443
|
+
}), y = new E.Plane().setFromNormalAndCoplanarPoint(e.normal, e.bottomCenter).projectPoint(p, new E.Vector3()), b = p.clone().sub(y), A = e.bottomCenter.clone().add(b);
|
|
57428
57444
|
p && e.setTopCenter(A);
|
|
57429
57445
|
}, d = () => {
|
|
57430
57446
|
n.off("select", h), n.off("intersectionUpdate", u), n.off("disable", f), t.remove(i), n.disable();
|
|
@@ -57440,7 +57456,7 @@ class i6 extends qc {
|
|
|
57440
57456
|
super(n, () => {
|
|
57441
57457
|
const t = () => {
|
|
57442
57458
|
var o, a;
|
|
57443
|
-
const i = (o = n.boxMesh.topPlane) == null ? void 0 : o.center, r = (a = n.boxMesh.bottomPlane) == null ? void 0 : a.center, s = new
|
|
57459
|
+
const i = (o = n.boxMesh.topPlane) == null ? void 0 : o.center, r = (a = n.boxMesh.bottomPlane) == null ? void 0 : a.center, s = new E.Vector3().lerpVectors(i, r, 0.5);
|
|
57444
57460
|
return { topCenter: i, bottomCenter: r, boxCenter: s };
|
|
57445
57461
|
};
|
|
57446
57462
|
return {
|
|
@@ -57508,10 +57524,10 @@ class V1 extends ti {
|
|
|
57508
57524
|
return (t = this.bottomPlane) == null ? void 0 : t.occlusionMode;
|
|
57509
57525
|
}
|
|
57510
57526
|
setPoints(t) {
|
|
57511
|
-
|
|
57527
|
+
bt(t.heightPoint) && this.setTopHeightPoint(t.heightPoint), bt(t.points) && this.setBottomPoints(t.points);
|
|
57512
57528
|
}
|
|
57513
57529
|
setBottomPoints(t) {
|
|
57514
|
-
const i = t.map(Ft).filter(
|
|
57530
|
+
const i = t.map(Ft).filter(bt);
|
|
57515
57531
|
if (i.length < 3) {
|
|
57516
57532
|
console.error("Invalid position");
|
|
57517
57533
|
return;
|
|
@@ -57599,7 +57615,7 @@ function r6(e, n) {
|
|
|
57599
57615
|
return;
|
|
57600
57616
|
const p = ro({
|
|
57601
57617
|
raycaster: m.raycaster,
|
|
57602
|
-
line: new
|
|
57618
|
+
line: new E.Line3(l, c)
|
|
57603
57619
|
});
|
|
57604
57620
|
p && e.setPoints({ heightPoint: p });
|
|
57605
57621
|
}, d = () => {
|
|
@@ -57627,7 +57643,7 @@ class j1 extends Nr {
|
|
|
57627
57643
|
return Me(R({}, this.baseData), {
|
|
57628
57644
|
points: bi(this.applyObjectMatrixWorld(this.lineMesh.points)),
|
|
57629
57645
|
style: {
|
|
57630
|
-
lineColor: new
|
|
57646
|
+
lineColor: new E.Color(this.lineMesh.color).getHex(),
|
|
57631
57647
|
lineWidth: this.lineMesh.lineWidth,
|
|
57632
57648
|
dashed: this.lineMesh.dashed
|
|
57633
57649
|
}
|
|
@@ -57694,11 +57710,11 @@ function o6(e, n, t) {
|
|
|
57694
57710
|
return T();
|
|
57695
57711
|
f = I;
|
|
57696
57712
|
const z = h.at(-1).clone();
|
|
57697
|
-
a === "none" ? (u = I.point, l.setPoints([z, u])) : a === "xoz" ? (n.plane = d, d = d != null ? d : new
|
|
57713
|
+
a === "none" ? (u = I.point, l.setPoints([z, u])) : a === "xoz" ? (n.plane = d, d = d != null ? d : new E.Plane().setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), h[0]), u = d.projectPoint(I.point, new E.Vector3()), l.setPoints([z, u]), c.setPoints([u, I.point])) : a === "y" && (I.isVirtual ? (u = ro({
|
|
57698
57714
|
raycaster: I.raycaster,
|
|
57699
|
-
line: new
|
|
57715
|
+
line: new E.Line3(h[0].clone(), new E.Vector3(0, 1, 0).add(h[0])),
|
|
57700
57716
|
clampToLine: !1
|
|
57701
|
-
}), c.setPoints([])) : (u = new
|
|
57717
|
+
}), c.setPoints([])) : (u = new E.Line3(h[0].clone(), new E.Vector3(0, 1, 0).add(h[0])).closestPointToPoint(I.point, !1, new E.Vector3()), c.setPoints([u, I.point])), l.setPoints([z, u]));
|
|
57702
57718
|
}, x = () => {
|
|
57703
57719
|
n.off("select", A), n.off("intersectionUpdate", w), n.off("disable", M), n.plane = null, n.disable(), i == null || i.remove(l, c);
|
|
57704
57720
|
}, M = () => {
|
|
@@ -57747,7 +57763,7 @@ const Zo = class extends En {
|
|
|
57747
57763
|
} catch (i) {
|
|
57748
57764
|
return console.error(i), null;
|
|
57749
57765
|
}
|
|
57750
|
-
}).filter(
|
|
57766
|
+
}).filter(bt)
|
|
57751
57767
|
};
|
|
57752
57768
|
}
|
|
57753
57769
|
get items() {
|
|
@@ -57913,7 +57929,7 @@ class lE extends En {
|
|
|
57913
57929
|
v(this, "group");
|
|
57914
57930
|
v(this, "fiveDomEvents");
|
|
57915
57931
|
this.five = t.five, this.model = t.model, this.group = t.group, this.type = t.type, this.rawData = t.rawData, this.fiveDomEvents = aE(this.five);
|
|
57916
|
-
const i = (s = (r = t.position) != null ? r : this.model.center) != null ? s : Wa(this.model).getCenter(new
|
|
57932
|
+
const i = (s = (r = t.position) != null ? r : this.model.center) != null ? s : Wa(this.model).getCenter(new E.Vector3());
|
|
57917
57933
|
this.tag = lT(this.five, i, { wrapper: t.tagWrapper });
|
|
57918
57934
|
}
|
|
57919
57935
|
get container() {
|
|
@@ -58052,7 +58068,7 @@ const U1 = (e, n) => {
|
|
|
58052
58068
|
};
|
|
58053
58069
|
class m6 extends lE {
|
|
58054
58070
|
constructor(...n) {
|
|
58055
|
-
const t = n[0], i = Wa(t.model), r = new
|
|
58071
|
+
const t = n[0], i = Wa(t.model), r = new E.Vector3().lerpVectors(Er(i, 0), Er(i, 5), 0.5);
|
|
58056
58072
|
super(Me(R({}, t), { position: r })), this.enable();
|
|
58057
58073
|
}
|
|
58058
58074
|
}
|
|
@@ -58062,7 +58078,7 @@ class g6 extends Br {
|
|
|
58062
58078
|
super(t);
|
|
58063
58079
|
v(this, "state");
|
|
58064
58080
|
v(this, "items", []);
|
|
58065
|
-
v(this, "group", new
|
|
58081
|
+
v(this, "group", new E.Group());
|
|
58066
58082
|
v(this, "data");
|
|
58067
58083
|
v(this, "tagRendererMap", {});
|
|
58068
58084
|
v(this, "fiveDomEvents");
|
|
@@ -58132,7 +58148,7 @@ class g6 extends Br {
|
|
|
58132
58148
|
return [g[0], g[1] + ((y = a.object_data.fixedY) != null ? y : 0), g[2]];
|
|
58133
58149
|
});
|
|
58134
58150
|
d.push(d[0]);
|
|
58135
|
-
const f = a.object_data.height + ((c = a.object_data.fixedHeight) != null ? c : 0) + this.zFightingOffset, m = Ft(d[0]).add(new
|
|
58151
|
+
const f = a.object_data.height + ((c = a.object_data.fixedHeight) != null ? c : 0) + this.zFightingOffset, m = Ft(d[0]).add(new E.Vector3().setY(f));
|
|
58136
58152
|
u.setPoints({ points: d, heightPoint: m }), u.setStyle({
|
|
58137
58153
|
color: a.object_data.color,
|
|
58138
58154
|
opacity: ((h = a.object_data.opacity) != null ? h : 0.4) / 2,
|
|
@@ -58151,7 +58167,7 @@ class g6 extends Br {
|
|
|
58151
58167
|
});
|
|
58152
58168
|
this.items.push(p);
|
|
58153
58169
|
} else if (a.type === "box") {
|
|
58154
|
-
const u = new Ad(), { start: d, end: f, rotation: m = [0, 0, 0, 0], opacity: p, color: g } = a.object_data, y = new
|
|
58170
|
+
const u = new Ad(), { start: d, end: f, rotation: m = [0, 0, 0, 0], opacity: p, color: g } = a.object_data, y = new E.Vector3().fromArray(d), b = new E.Vector3().fromArray(f), A = new E.Euler().fromArray(m), w = new E.Quaternion().setFromEuler(A), x = w.clone().inverse(), M = new E.Vector3().lerpVectors(y, b, 0.5), P = M.clone().negate(), I = y.clone().add(P).applyQuaternion(x), T = b.clone().add(P).applyQuaternion(x), z = new E.Box3(I.clone().max(T), I.clone().min(T));
|
|
58155
58171
|
u.setPoints({
|
|
58156
58172
|
points: [Er(z, 2), Er(z, 3), Er(z, 7), Er(z, 6), Er(z, 2)],
|
|
58157
58173
|
heightPoint: Er(z, 0)
|
|
@@ -58177,7 +58193,7 @@ class g6 extends Br {
|
|
|
58177
58193
|
});
|
|
58178
58194
|
}
|
|
58179
58195
|
setState(t) {
|
|
58180
|
-
|
|
58196
|
+
bt(t.enabled) && this.state.enabled !== t.enabled && (this.state.enabled = t.enabled, t.enabled ? this.handleEnable() : this.handleDisable(), this.hooks.emit(t.enabled ? "enable" : "disable", { userAction: "我不知道捏" }), this.hooks.emit("stateChange", { state: this.state, userAction: "我不知道捏" })), bt(t.visible) && this.state.visible !== t.visible && (this.state.visible = t.visible, t.visible ? this.handleShow() : this.handleHide(), this.hooks.emit(t.visible ? "show" : "hide", { userAction: "我不知道捏" }), this.hooks.emit("stateChange", { state: this.state, userAction: "我不知道捏" }));
|
|
58181
58197
|
}
|
|
58182
58198
|
getItemById(t) {
|
|
58183
58199
|
return this.items.find((i) => i.rawData.id === t);
|