@realsee/dnalogel 3.77.5 → 3.77.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +15 -11
  2. package/dist/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
  3. package/dist/PanoTagPlugin/controller/Tag/BoxTag.d.ts +119 -0
  4. package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +257 -0
  5. package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +10 -0
  6. package/dist/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
  7. package/dist/PanoTagPlugin/controller/TagRender.d.ts +1 -1
  8. package/dist/PanoTagPlugin/controller/index.d.ts +55 -2
  9. package/dist/PanoTagPlugin/typings/controller.d.ts +10 -0
  10. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
  11. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
  12. package/dist/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
  13. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
  14. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +12 -3
  15. package/dist/index.cjs.js +178 -95
  16. package/dist/index.js +11346 -9788
  17. package/dist/index.umd.js +173 -90
  18. package/libs/CruisePlugin/Move.js +7 -2
  19. package/libs/CruisePlugin/Work.js +7 -2
  20. package/libs/CruisePlugin/index.js +11 -6
  21. package/libs/GuideLinePlugin/Controller.js +9 -4
  22. package/libs/GuideLinePlugin/GuideLineItem.js +7 -2
  23. package/libs/GuideLinePlugin/GuideLineModeItem.js +7 -2
  24. package/libs/GuideLinePlugin/index.js +11 -6
  25. package/libs/PanoTagPlugin/Components/TagItem.js +122 -122
  26. package/libs/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
  27. package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +320 -289
  28. package/libs/PanoTagPlugin/controller/Tag/BoxTag.d.ts +119 -0
  29. package/libs/PanoTagPlugin/controller/Tag/BoxTag.js +515 -0
  30. package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +257 -0
  31. package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +815 -0
  32. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +10 -0
  33. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +94 -0
  34. package/libs/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
  35. package/libs/PanoTagPlugin/controller/Tag/PolygonTag.js +478 -0
  36. package/libs/PanoTagPlugin/controller/TagRender.d.ts +1 -1
  37. package/libs/PanoTagPlugin/controller/TagUtil.js +19 -17
  38. package/libs/PanoTagPlugin/controller/index.d.ts +55 -2
  39. package/libs/PanoTagPlugin/controller/index.js +261 -148
  40. package/libs/PanoTagPlugin/index.js +16 -11
  41. package/libs/PanoTagPlugin/typings/controller.d.ts +10 -0
  42. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
  43. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
  44. package/libs/PanoTagPlugin/utils/addDebugPoints.js +27 -13
  45. package/libs/PanoTagPlugin/utils/index.js +29 -26
  46. package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
  47. package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.js +18 -0
  48. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
  49. package/libs/PanoTagPlugin/utils/tag/tagCheck.js +26 -14
  50. package/libs/PanoTagPlugin/utils/tagPosition.d.ts +12 -3
  51. package/libs/PanoTagPlugin/utils/tagPosition.js +49 -16
  52. package/libs/base/BasePlugin.js +1 -1
  53. package/libs/index.js +163 -158
  54. package/libs/shared-utils/logger.js +1 -1
  55. package/package.json +1 -1
@@ -1,56 +1,56 @@
1
1
  var Q = Object.defineProperty, Y = Object.defineProperties;
2
2
  var ee = Object.getOwnPropertyDescriptors;
3
- var T = Object.getOwnPropertySymbols;
4
- var E = Object.prototype.hasOwnProperty, O = Object.prototype.propertyIsEnumerable;
5
- var U = Math.pow, S = (m, i, e) => i in m ? Q(m, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[i] = e, y = (m, i) => {
6
- for (var e in i || (i = {}))
7
- E.call(i, e) && S(m, e, i[e]);
8
- if (T)
9
- for (var e of T(i))
10
- O.call(i, e) && S(m, e, i[e]);
11
- return m;
12
- }, B = (m, i) => Y(m, ee(i));
13
- var _ = (m, i) => {
3
+ var V = Object.getOwnPropertySymbols;
4
+ var $ = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable;
5
+ var P = Math.pow, D = (g, t, e) => t in g ? Q(g, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : g[t] = e, y = (g, t) => {
6
+ for (var e in t || (t = {}))
7
+ $.call(t, e) && D(g, e, t[e]);
8
+ if (V)
9
+ for (var e of V(t))
10
+ z.call(t, e) && D(g, e, t[e]);
11
+ return g;
12
+ }, j = (g, t) => Y(g, ee(t));
13
+ var W = (g, t) => {
14
14
  var e = {};
15
- for (var t in m)
16
- E.call(m, t) && i.indexOf(t) < 0 && (e[t] = m[t]);
17
- if (m != null && T)
18
- for (var t of T(m))
19
- i.indexOf(t) < 0 && O.call(m, t) && (e[t] = m[t]);
15
+ for (var i in g)
16
+ $.call(g, i) && t.indexOf(i) < 0 && (e[i] = g[i]);
17
+ if (g != null && V)
18
+ for (var i of V(g))
19
+ t.indexOf(i) < 0 && z.call(g, i) && (e[i] = g[i]);
20
20
  return e;
21
21
  };
22
- var a = (m, i, e) => (S(m, typeof i != "symbol" ? i + "" : i, e), e);
23
- var F = (m, i, e) => new Promise((t, o) => {
24
- var s = (n) => {
22
+ var a = (g, t, e) => (D(g, typeof t != "symbol" ? t + "" : t, e), e);
23
+ var L = (g, t, e) => new Promise((i, s) => {
24
+ var o = (n) => {
25
25
  try {
26
26
  r(e.next(n));
27
27
  } catch (f) {
28
- o(f);
28
+ s(f);
29
29
  }
30
30
  }, l = (n) => {
31
31
  try {
32
32
  r(e.throw(n));
33
33
  } catch (f) {
34
- o(f);
34
+ s(f);
35
35
  }
36
- }, r = (n) => n.done ? t(n.value) : Promise.resolve(n.value).then(s, l);
37
- r((e = e.apply(m, i)).next());
36
+ }, r = (n) => n.done ? i(n.value) : Promise.resolve(n.value).then(o, l);
37
+ r((e = e.apply(g, t)).next());
38
38
  });
39
- import { Subscribe as ie } from "../../../shared-utils/Subscribe.js";
40
- import { calculateTagConfig as A } from "../../utils/tag/calculateTagConfig.js";
41
- import { getTagStickType as te } from "../../utils/tag/format.js";
39
+ import { Subscribe as te } from "../../../shared-utils/Subscribe.js";
40
+ import { calculateTagConfig as R } from "../../utils/tag/calculateTagConfig.js";
41
+ import { getTagStickType as ie } from "../../utils/tag/format.js";
42
42
  import "../../../shared-utils/tag.js";
43
- import { isPanoramaLike as D, isModelLike as V } from "../../../shared-utils/five/mode.js";
44
- import * as P from "three";
43
+ import { isPanoramaLike as E, isModelLike as B } from "../../../shared-utils/five/mode.js";
44
+ import * as k from "three";
45
45
  import "../../../vendor/hammerjs/hammer.js";
46
46
  import "../../../shared-utils/three/PointSelector/index.js";
47
47
  import { centerPoint as ne } from "../../../shared-utils/three/centerPoint.js";
48
48
  import "../../../shared-utils/three/CSS3DRenderer/index.js";
49
49
  import "../../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
50
- import { anyPositionToVector3 as $ } from "../../../shared-utils/positionToVector3.js";
50
+ import { anyPositionToVector3 as w } from "../../../shared-utils/positionToVector3.js";
51
51
  import { toArray as se } from "../../../shared-utils/util.js";
52
52
  import "@realsee/five/line";
53
- import { isNil as N, notNil as z } from "../../../shared-utils/isNil.js";
53
+ import { isNil as J, notNil as H } from "../../../shared-utils/isNil.js";
54
54
  import "../../../shared-utils/three/core/Five_LineMaterial2.js";
55
55
  import "../../../shared-utils/three/core/Sphere.js";
56
56
  import { blink as oe, reblink as re } from "../../../shared-utils/three/blink.js";
@@ -58,19 +58,19 @@ import "../../../vendor/@tweenjs/tween/dist/tween.esm.js.js";
58
58
  import "../../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
59
59
  import "../../../vendor/earcut/src/earcut.js";
60
60
  import { vectorToCoordinates as le } from "../../../shared-utils/vectorToCoordinate.js";
61
- import { transformPosition as W } from "../../../shared-utils/five/transformPosition.js";
61
+ import { transformPosition as O } from "../../../shared-utils/five/transformPosition.js";
62
62
  import { lookPoint as ae } from "../../../shared-utils/five/lookPoint.js";
63
63
  import { uuid as fe } from "../../../shared-utils/uuid.js";
64
64
  import "../../../shared-utils/five/FivePuppet.js";
65
- import { objectAssignDeepExports as x } from "../../../vendor/object-assign-deep/objectAssignDeep.js";
66
- import { getTagPosition as J, getTagCenterPosition as H } from "../../utils/tagPosition.js";
67
- import { checkRange as M } from "../../utils/checkRange.js";
68
- import { isMediaPlaneTag as q, isMediaModelTag as j } from "../../utils/tag/tagCheck.js";
69
- import { getUrlExt as X } from "../../../shared-utils/url/getUrl.js";
65
+ import { objectAssignDeepExports as T } from "../../../vendor/object-assign-deep/objectAssignDeep.js";
66
+ import { getTagPosition as q, getTagCenterPosition as X } from "../../utils/tagPosition.js";
67
+ import { checkRange as S } from "../../utils/checkRange.js";
68
+ import { isMediaPlaneTag as Z, isMediaModelTag as _ } from "../../utils/tag/tagCheck.js";
69
+ import { getUrlExt as G } from "../../../shared-utils/url/getUrl.js";
70
70
  import { getFloorIndex as de } from "../../../shared-utils/five/getFloorIndex.js";
71
- import { safeObj as Z } from "../../../shared-utils/safeObj.js";
71
+ import { safeObj as K } from "../../../shared-utils/safeObj.js";
72
72
  import { Cache as ce } from "../../utils/Cache.js";
73
- import { _raycaster as L } from "../../../shared-utils/three/temp.js";
73
+ import { _raycaster as N } from "../../../shared-utils/three/temp.js";
74
74
  import { withResolvers as ue } from "../../../shared-utils/promise/withResolvers.js";
75
75
  import "../../../shared-utils/typescript/entries.js";
76
76
  import "../../utils/tag/adaptConfig.js";
@@ -122,8 +122,8 @@ import "../../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
122
122
  import "../../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
123
123
  import "../../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
124
124
  import "../../../shared-utils/formatRad.js";
125
- class Ji {
126
- constructor(i, e) {
125
+ class Jt {
126
+ constructor(t, e) {
127
127
  a(this, "plugin");
128
128
  a(this, "id");
129
129
  a(this, "contentType");
@@ -150,6 +150,8 @@ class Ji {
150
150
  a(this, "pause");
151
151
  a(this, "tag3DContentSvelte");
152
152
  a(this, "rectanglePlane");
153
+ a(this, "boxShape");
154
+ a(this, "polygonShape");
153
155
  a(this, "dom");
154
156
  a(this, "contentDom");
155
157
  a(this, "initialConfig");
@@ -167,53 +169,68 @@ class Ji {
167
169
  */
168
170
  a(this, "hoverEnabled");
169
171
  a(this, "ready", () => {
170
- const { promise: i, resolve: e } = ue();
172
+ const { promise: t, resolve: e } = ue();
171
173
  if (!this._updating)
172
174
  e();
173
175
  else {
174
- const t = setInterval(() => {
175
- this._updating || (clearInterval(t), e());
176
+ const i = setInterval(() => {
177
+ this._updating || (clearInterval(i), e());
176
178
  }, 17);
177
179
  setTimeout(() => {
178
- clearInterval(t), e();
180
+ clearInterval(i), e();
179
181
  }, 300);
180
182
  }
181
- return i;
183
+ return t;
182
184
  });
183
- var f, p, h, d, c, u, v, b;
184
- this.plugin = i;
185
- const t = te(e);
186
- e.stickType = t;
187
- const o = JSON.parse(JSON.stringify(e.data)), s = (f = e.initialConfig) != null ? f : e.config ? JSON.parse(JSON.stringify(e.config)) : {};
188
- e.initialConfig = s;
189
- const l = A(e, i.config), r = this.getConfig(e);
190
- e.config = r, this.id = (p = e.id) != null ? p : fe(), this.enabled = (h = e.enabled) != null ? h : !0, this.contentType = e.contentType, this.hoverEnabled = (c = (d = r.popoverConfig) == null ? void 0 : d.enabled) != null ? c : !0, this.data = (u = r.initialData) != null && u.important ? x(e.data, o, r.initialData) : x(e.data, r.initialData, o);
185
+ var f, m, p, d, c, u, v, b;
186
+ this.plugin = t;
187
+ const i = ie(e);
188
+ e.stickType = i;
189
+ const s = JSON.parse(JSON.stringify(e.data)), o = (f = e.initialConfig) != null ? f : e.config ? JSON.parse(JSON.stringify(e.config)) : {};
190
+ e.initialConfig = o;
191
+ const l = R(e, t.config), r = this.getConfig(e);
192
+ e.config = r, this.id = (m = e.id) != null ? m : fe(), this.enabled = (p = e.enabled) != null ? p : !0, this.contentType = e.contentType, this.hoverEnabled = (c = (d = r.popoverConfig) == null ? void 0 : d.enabled) != null ? c : !0, this.data = (u = r.initialData) != null && u.important ? T(e.data, s, r.initialData) : T(e.data, r.initialData, s);
191
193
  let n;
192
194
  typeof r.unfoldedConfig == "object" ? r.unfoldedConfig.keep === "unfolded" ? n = !0 : r.unfoldedConfig.keep === "folded" ? n = !1 : n = !this.can("fold") : n = !this.can("fold"), this.state = y({
193
195
  visible: void 0,
194
196
  unfolded: n
195
197
  }, r.initialState), this.isPopoverConfigEnabled() && (this.state.unfolded = !1), this.normalLineLength = (b = (v = e.style) == null ? void 0 : v.point) == null ? void 0 : b.normalLen, this.originPosition = e.position, e.originPosition = this.originPosition, this.position = (() => {
196
- var w;
197
- const g = e.originPosition;
198
- if (!g)
198
+ var U;
199
+ const h = e.originPosition, x = t.workUtil.transform;
200
+ if (e.stickType === "3DBox") {
201
+ if (!h)
202
+ return {
203
+ start: [0, 0, 0],
204
+ end: [0, 0, 0],
205
+ rotation: [0, 0, 0]
206
+ };
207
+ const { start: C, end: A, rotation: F } = h;
208
+ return {
209
+ start: w(C.map((I) => Number(I))).toArray(),
210
+ end: w(A.map((I) => Number(I))).toArray(),
211
+ rotation: w(F.map((I) => Number(I))).toArray()
212
+ };
213
+ }
214
+ if (e.stickType === "Polygon")
215
+ return h ? h.map(w).map((C) => O(C, x).toArray()) : [];
216
+ if (!h)
199
217
  return;
200
- const k = i.workUtil.transform;
201
- let C = g;
202
- if (Array.isArray(g) && g.length === 4 ? C = g.map($).map((I) => W(I, k).toArray()) : C = W($(g), k).toArray(), (e.stickType === "2DPoint" || e.stickType === "3DPoint") && ((w = r == null ? void 0 : r.tagNormalLineConfig) != null && w.enabled) && e.normal && this.normalLineLength) {
203
- const I = new P.Vector3().fromArray(e.normal);
204
- C = new P.Vector3().fromArray(C).clone().add(I.clone().setLength(this.normalLineLength)).toArray();
218
+ let M = h;
219
+ if (Array.isArray(h) && h.length === 4 ? M = h.map(w).map((C) => O(C, x).toArray()) : M = O(w(h), x).toArray(), (e.stickType === "2DPoint" || e.stickType === "3DPoint") && ((U = r == null ? void 0 : r.tagNormalLineConfig) != null && U.enabled) && e.normal && this.normalLineLength) {
220
+ const C = new k.Vector3().fromArray(e.normal);
221
+ M = new k.Vector3().fromArray(M).clone().add(C.clone().setLength(this.normalLineLength)).toArray();
205
222
  }
206
- return C;
223
+ return M;
207
224
  })(), this.matrix = e.matrix ? (() => {
208
- const g = new P.Matrix4().fromArray(e.matrix);
209
- return g.premultiply(i.workUtil.transform), g.elements;
210
- })() : e.matrix, this.initialConfig = s, this.computedConfig = l, this.stickType = t, this.config = e.config, this.fiveState = e.fiveState, this.normal = e.normal, this.cache = new ce(), this.hooks = new ie(), Object.keys(e).forEach((g) => {
211
- this[g] === void 0 && e[g] !== void 0 && (this[g] = e[g]);
225
+ const h = new k.Matrix4().fromArray(e.matrix);
226
+ return h.premultiply(t.workUtil.transform), h.elements;
227
+ })() : e.matrix, this.initialConfig = o, this.computedConfig = l, this.stickType = i, this.config = e.config, this.fiveState = e.fiveState, this.normal = e.normal, this.cache = new ce(), this.hooks = new te(), Object.keys(e).forEach((h) => {
228
+ this[h] === void 0 && e[h] !== void 0 && (this[h] = e[h]);
212
229
  });
213
230
  }
214
231
  get visible() {
215
- var i;
216
- return ((i = this.temporaryState) == null ? void 0 : i.visible) !== !1 && this.state.visible !== !1 && this.enabled !== !1;
232
+ var t;
233
+ return ((t = this.temporaryState) == null ? void 0 : t.visible) !== !1 && this.state.visible !== !1 && this.enabled !== !1;
217
234
  }
218
235
  get five() {
219
236
  return this.plugin.five;
@@ -225,13 +242,13 @@ class Ji {
225
242
  return this.plugin.workUtil;
226
243
  }
227
244
  get centerPosition() {
228
- const i = J(this);
229
- return ne(...Array.isArray(i) ? i : [i]);
245
+ const t = q(this);
246
+ return ne(...Array.isArray(t) ? t : [t]);
230
247
  }
231
248
  get currentConfig() {
232
- var o, s;
233
- const i = A(this, this.plugin.config, { useCache: !0 }), e = this.five.getCurrentState().mode, t = (o = i.configWithFiveMode) == null ? void 0 : o[e];
234
- return (s = t != null ? t : i) != null ? s : {};
249
+ var s, o;
250
+ const t = R(this, this.plugin.config, { useCache: !0 }), e = this.five.getCurrentState().mode, i = (s = t.configWithFiveMode) == null ? void 0 : s[e];
251
+ return (o = i != null ? i : t) != null ? o : {};
235
252
  }
236
253
  get currentVisible() {
237
254
  return !(!this.plugin.state.enabled || !this.plugin.state.visible || !this.enabled || !this.state.visible);
@@ -248,25 +265,25 @@ class Ji {
248
265
  /**
249
266
  * @description 找到标签
250
267
  */
251
- find(i) {
252
- return F(this, null, function* () {
253
- var o;
268
+ find(t) {
269
+ return L(this, null, function* () {
270
+ var s;
254
271
  const e = this.fiveState;
255
272
  if (!this.fiveState)
256
273
  return this;
257
- const t = (o = i == null ? void 0 : i.targetMode) != null ? o : this.five.state.mode;
258
- if (t === "Panorama") {
259
- const s = e == null ? void 0 : e.panoIndex;
260
- if (N(s))
274
+ const i = (s = t == null ? void 0 : t.targetMode) != null ? s : this.five.state.mode;
275
+ if (i === "Panorama") {
276
+ const o = e == null ? void 0 : e.panoIndex;
277
+ if (J(o))
261
278
  return this;
262
- const l = this.workUtil.getObserverPosition(s), r = this.centerPosition.clone().sub(l).normalize();
279
+ const l = this.workUtil.getObserverPosition(o), r = this.centerPosition.clone().sub(l).normalize();
263
280
  this.five.setState(y({
264
281
  mode: "Panorama",
265
282
  workCode: this.workUtil.workCode,
266
- panoIndex: s
283
+ panoIndex: o
267
284
  }, le(r))), yield this.five.ready();
268
285
  } else
269
- t === "Mapview" && (yield ae(this.five, this.centerPosition, i == null ? void 0 : i.pointConfig));
286
+ i === "Mapview" && (yield ae(this.five, this.centerPosition, t == null ? void 0 : t.pointConfig));
270
287
  return this;
271
288
  });
272
289
  }
@@ -280,12 +297,12 @@ class Ji {
280
297
  /**
281
298
  * @description 闪烁
282
299
  */
283
- blink(i) {
284
- return F(this, null, function* () {
285
- var r, n, f, p, h, d;
300
+ blink(t) {
301
+ return L(this, null, function* () {
302
+ var r, n, f, m, p, d;
286
303
  yield this.ready(), this._currentBlinkInstance && !this._currentBlinkInstance.completed && ((n = (r = this._currentBlinkInstance).preComplete) == null || n.call(r), this._currentBlinkInstance = void 0);
287
- const e = (f = this.enabled) != null ? f : !0, t = (p = this.state) == null ? void 0 : p.visible, o = e && t;
288
- o === !1 && (this.state.visible = !0, this.enabled = !0, this.applyVisible(), this.plugin.render(), this.computeRenderType() !== "Mesh" ? yield new Promise((c) => {
304
+ const e = (f = this.enabled) != null ? f : !0, i = (m = this.state) == null ? void 0 : m.visible, s = e && i;
305
+ s === !1 && (this.state.visible = !0, this.enabled = !0, this.applyVisible(), this.plugin.render(), this.computeRenderType() !== "Mesh" ? yield new Promise((c) => {
289
306
  if (this.dom || this.contentDom) {
290
307
  c();
291
308
  return;
@@ -293,7 +310,7 @@ class Ji {
293
310
  const u = setInterval(() => {
294
311
  (this.dom || this.contentDom) && (c(), clearInterval(u));
295
312
  }, 16.7);
296
- }) : this.stickType === "Model" && !((h = this.model) != null && h.object) ? yield (d = this.model) == null ? void 0 : d.promise : this.stickType === "Plane" && (yield new Promise((c) => {
313
+ }) : this.stickType === "Model" && !((p = this.model) != null && p.object) ? yield (d = this.model) == null ? void 0 : d.promise : this.stickType === "Plane" && (yield new Promise((c) => {
297
314
  if (this.mediaPlane) {
298
315
  c();
299
316
  return;
@@ -302,30 +319,30 @@ class Ji {
302
319
  this.mediaPlane && (c(), clearInterval(u));
303
320
  }, 16.7);
304
321
  })), this.dom && (this.dom.style.visibility = "hidden"), this.contentDom && (this.contentDom.style.visibility = "hidden"));
305
- const s = (() => {
306
- var v, b, g;
322
+ const o = (() => {
323
+ var v, b, h;
307
324
  const c = [];
308
- c.push(this.dom), c.push((b = (v = this.tag3DContentSvelte) == null ? void 0 : v.css3DInstance) == null ? void 0 : b.container), c.push((g = this.model) == null ? void 0 : g.object), c.push(this.mediaPlane);
325
+ c.push(this.dom), c.push((b = (v = this.tag3DContentSvelte) == null ? void 0 : v.css3DInstance) == null ? void 0 : b.container), c.push((h = this.model) == null ? void 0 : h.object), c.push(this.mediaPlane), c.push(this.boxShape), c.push(this.polygonShape);
309
326
  const u = this.getAdditionalBlinkTargets();
310
327
  if (u) {
311
- const k = Array.isArray(u) ? u : [u];
312
- c.push(...k);
328
+ const x = Array.isArray(u) ? u : [u];
329
+ c.push(...x);
313
330
  }
314
331
  return c.filter(Boolean);
315
332
  })();
316
- if (!s.length) {
333
+ if (!o.length) {
317
334
  console.warn("tagDom is empty");
318
335
  return;
319
336
  }
320
- const l = o ? oe : re;
321
- this._currentBlinkInstance = l(s, y({
337
+ const l = s ? oe : re;
338
+ this._currentBlinkInstance = l(o, y({
322
339
  begin: () => {
323
- o === !1 && (this.dom && (this.dom.style.visibility = ""), this.contentDom && (this.contentDom.style.visibility = ""));
340
+ s === !1 && (this.dom && (this.dom.style.visibility = ""), this.contentDom && (this.contentDom.style.visibility = ""));
324
341
  },
325
342
  updateRender: () => {
326
343
  this.five.needsRender = !0;
327
344
  }
328
- }, i));
345
+ }, t));
329
346
  try {
330
347
  yield this._currentBlinkInstance.finished;
331
348
  } catch (c) {
@@ -333,7 +350,7 @@ class Ji {
333
350
  } finally {
334
351
  this._currentBlinkInstance = void 0;
335
352
  }
336
- e === !1 && (this.enabled = !1, this.updateVisible()), t === !1 && this.updateVisible(), o === !1 && (this.dom && (this.dom.style.visibility = ""), this.contentDom && (this.contentDom.style.visibility = ""));
353
+ e === !1 && (this.enabled = !1, this.updateVisible()), i === !1 && this.updateVisible(), s === !1 && (this.dom && (this.dom.style.visibility = ""), this.contentDom && (this.contentDom.style.visibility = ""));
337
354
  });
338
355
  }
339
356
  /**
@@ -361,49 +378,49 @@ class Ji {
361
378
  * @description 禁用
362
379
  */
363
380
  disable() {
364
- var i;
365
- this.enabled = !1, this.hooks.emit("disable"), (i = this.rectanglePlane) == null || i.delete(), this.five.needsRender = !0, this.applyVisible();
381
+ var t, e, i;
382
+ this.enabled = !1, this.hooks.emit("disable"), (t = this.rectanglePlane) == null || t.delete(), (e = this.boxShape) == null || e.delete(), (i = this.polygonShape) == null || i.delete(), this.five.needsRender = !0, this.applyVisible();
366
383
  }
367
384
  /**
368
385
  * @deprecated use `setData` instead
369
386
  */
370
- changeData(i, e = !0) {
371
- return this.setData(i, e);
387
+ changeData(t, e = !0) {
388
+ return this.setData(t, e);
372
389
  }
373
390
  /**
374
391
  * @deprecated use `setPosition` instead
375
392
  */
376
- changePosition(i) {
377
- return this.setPosition(i);
393
+ changePosition(t) {
394
+ return this.setPosition(t);
378
395
  }
379
396
  /**
380
397
  * @description 修改标签数据
381
398
  * @param deepMerge 是否深度合并 data,默认为 true
382
399
  */
383
- setData(i, e = !0) {
384
- e ? this.data = x(this.data, i) : this.data = y(y({}, this.data), i), this.hooks.emit("dataChanged", this.data);
400
+ setData(t, e = !0) {
401
+ e ? this.data = T(this.data, t) : this.data = y(y({}, this.data), t), this.hooks.emit("dataChanged", this.data);
385
402
  }
386
403
  /**
387
404
  * @description 修改标签位置
388
405
  */
389
- setPosition(i) {
406
+ setPosition(t) {
390
407
  throw new Error("Method not implemented.");
391
408
  }
392
409
  /**
393
410
  * @description 设置标签实例的属性
394
411
  * @param deepMerge 是否深度合并 data,默认为 true
395
412
  */
396
- set(i, e = !0) {
397
- this.plugin.tagsLengthWillUpdate = !0, e ? x(this, i) : Object.assign(this, i), this.cache.clear();
413
+ set(t, e = !0) {
414
+ this.plugin.tagsLengthWillUpdate = !0, e ? T(this, t) : Object.assign(this, t), this.cache.clear();
398
415
  }
399
416
  updateConfig() {
400
- var t;
401
- const i = this.getConfig(void 0, { useCache: !1 });
402
- this.computedConfig = i;
417
+ var i;
418
+ const t = this.getConfig(void 0, { useCache: !1 });
419
+ this.computedConfig = t;
403
420
  const e = this.getConfig();
404
421
  if (this.config = e, this.config.initialData) {
405
- const o = JSON.parse(JSON.stringify(this.data));
406
- this.data = (t = e.initialData) != null && t.important ? x(this.data, o, e.initialData) : x(this.data, e.initialData, o);
422
+ const s = JSON.parse(JSON.stringify(this.data));
423
+ this.data = (i = e.initialData) != null && i.important ? T(this.data, s, e.initialData) : T(this.data, e.initialData, s);
407
424
  }
408
425
  this.cache.clear();
409
426
  }
@@ -411,156 +428,170 @@ class Ji {
411
428
  this.enabled ? (this.state.visible = this.getVisible(), this.applyVisible()) : this.applyVisible(), this.five.needsRender = !0, this._updating = !1;
412
429
  }
413
430
  updateZIndex() {
414
- const i = this.getSquaredDistance();
415
- this.zIndex = Math.round((1e4 - (i != null ? i : 0)) * 100);
431
+ const t = this.getSquaredDistance();
432
+ this.zIndex = Math.round((1e4 - (t != null ? t : 0)) * 100);
416
433
  }
417
- getConfig(i, e) {
434
+ getConfig(t, e) {
418
435
  var l, r, n;
419
- const t = A(i != null ? i : this, this.plugin.config, { useCache: e == null ? void 0 : e.useCache }), o = (l = e == null ? void 0 : e.fiveMode) != null ? l : this.five.getCurrentState().mode, s = (r = t.configWithFiveMode) == null ? void 0 : r[o];
420
- return (n = s != null ? s : t) != null ? n : {};
436
+ const i = R(t != null ? t : this, this.plugin.config, { useCache: e == null ? void 0 : e.useCache }), s = (l = e == null ? void 0 : e.fiveMode) != null ? l : this.five.getCurrentState().mode, o = (r = i.configWithFiveMode) == null ? void 0 : r[s];
437
+ return (n = o != null ? o : i) != null ? n : {};
421
438
  }
422
- getDistance(i, e = 3) {
423
- const t = y(y({}, this.five.getCurrentState()), i), { panoIndex: o, mode: s } = t, l = s === "Panorama" ? this.workUtil.getObserverPosition(o) : this.five.camera.position, r = this.centerPosition;
439
+ getDistance(t, e = 3) {
440
+ const i = y(y({}, this.five.getCurrentState()), t), { panoIndex: s, mode: o } = i, l = o === "Panorama" ? this.workUtil.getObserverPosition(s) : this.five.camera.position, r = this.centerPosition;
424
441
  return !l || !r ? -1 : l.distanceTo(r);
425
442
  }
426
443
  /**
427
444
  * @description 用于排序的距离,性能更好
428
445
  */
429
446
  getSquaredDistance() {
430
- const i = this.five.camera.position;
447
+ const t = this.five.camera.position;
448
+ if (this.stickType === "3DBox") {
449
+ const i = this.position;
450
+ if (!i || !i.start)
451
+ return 1 / 0;
452
+ const s = i.start;
453
+ return P(s[0] - t.x, 2) + P(s[1] - t.y, 2) + P(s[2] - t.z, 2);
454
+ }
455
+ if (this.stickType === "Polygon") {
456
+ const i = this.position;
457
+ if (!i || i.length === 0)
458
+ return 1 / 0;
459
+ const s = i[0];
460
+ return P(s[0] - t.x, 2) + P(s[1] - t.y, 2) + P(s[2] - t.z, 2);
461
+ }
431
462
  let e;
432
- return Array.isArray(this.position[0]) ? e = this.position[0] : e = this.position, U(e[0] - i.x, 2) + U(e[1] - i.y, 2) + U(e[2] - i.z, 2);
463
+ return this.position || console.log(this, "no position"), Array.isArray(this.position[0]) ? e = this.position[0] : e = this.position, P(e[0] - t.x, 2) + P(e[1] - t.y, 2) + P(e[2] - t.z, 2);
433
464
  }
434
- getVisible(i) {
465
+ getVisible(t) {
435
466
  if (!this.enabled || !this.plugin.state.enabled || !this.fiveUtil.model)
436
467
  return !1;
437
- const e = y(y({}, this.five.getCurrentState()), i);
438
- let t = this.cache.getVisible(this, e);
439
- return N(t) && (t = this.computeVisible(e).value, this.cache.setVisible(this, e, t)), t;
468
+ const e = y(y({}, this.five.getCurrentState()), t);
469
+ let i = this.cache.getVisible(this, e);
470
+ return J(i) && (i = this.computeVisible(e).value, this.cache.setVisible(this, e, i)), i;
440
471
  }
441
- getUnfoldedByPanoIndex(i) {
472
+ getUnfoldedByPanoIndex(t) {
442
473
  if (!this.currentVisible)
443
474
  return;
444
- const t = this.computeUnfoldedByPanoIndex(i);
445
- return t && this.getUnfoldedByCamera();
475
+ const i = this.computeUnfoldedByPanoIndex(t);
476
+ return i && this.getUnfoldedByCamera();
446
477
  }
447
478
  getUnfoldedByCamera() {
448
479
  return this.currentVisible ? this.computeUnfoldedByCamera() : void 0;
449
480
  }
450
- can(i) {
451
- var t, o;
452
- if ((i === "fold" || i === "unfold") && ((o = (t = this.currentConfig) == null ? void 0 : t.popoverConfig) == null ? void 0 : o.enabled) === !0)
481
+ can(t) {
482
+ var i, s;
483
+ if ((t === "fold" || t === "unfold") && ((s = (i = this.currentConfig) == null ? void 0 : i.popoverConfig) == null ? void 0 : s.enabled) === !0)
453
484
  return !1;
454
485
  const e = this.currentConfig;
455
486
  if (!e || typeof e != "object")
456
487
  return !0;
457
- if (i === "show" || i === "hide") {
488
+ if (t === "show" || t === "hide") {
458
489
  if (!e.visibleConfig || typeof e.visibleConfig != "object")
459
490
  return !0;
460
- if (i === "show" && e.visibleConfig.keep === "hidden" || i === "hide" && e.visibleConfig.keep === "visible")
491
+ if (t === "show" && e.visibleConfig.keep === "hidden" || t === "hide" && e.visibleConfig.keep === "visible")
461
492
  return !1;
462
493
  }
463
- if (i === "fold" || i === "unfold") {
494
+ if (t === "fold" || t === "unfold") {
464
495
  if (!e.unfoldedConfig || typeof e.unfoldedConfig != "object")
465
496
  return !0;
466
- if (i === "fold" && e.unfoldedConfig.keep === "unfolded" || i === "unfold" && e.unfoldedConfig.keep === "folded")
497
+ if (t === "fold" && e.unfoldedConfig.keep === "unfolded" || t === "unfold" && e.unfoldedConfig.keep === "folded")
467
498
  return !1;
468
499
  }
469
500
  return !0;
470
501
  }
471
- onClick(i) {
502
+ onClick(t) {
472
503
  }
473
504
  computeRenderType() {
474
- const i = (() => {
505
+ const t = (() => {
475
506
  if (this.stickType === "3DPoint")
476
507
  return "Dom";
477
508
  const e = this.getConfig();
478
509
  if (!e || typeof e != "object" || !e.renderType)
479
510
  return;
480
- const t = this.data.mediaData;
481
- if ((!t || t.length === 0) && q(this))
511
+ const i = this.data.mediaData;
512
+ if ((!i || i.length === 0) && Z(this))
482
513
  return e.renderType;
483
514
  if (e.renderType === "Mesh") {
484
- if (q(this)) {
485
- if (t.length === 1) {
486
- if (t[0].type === "Video")
515
+ if (Z(this)) {
516
+ if (i.length === 1) {
517
+ if (i[0].type === "Video")
487
518
  return navigator.userAgent.toLowerCase().indexOf("firefox") > -1 && navigator.userAgent.toLowerCase().indexOf("mobile") > -1 ? "Dom" : "Mesh";
488
- if (t[0].type === "Image")
489
- return X(t[0].url) === "gif" ? "Dom" : "Mesh";
519
+ if (i[0].type === "Image")
520
+ return G(i[0].url) === "gif" ? "Dom" : "Mesh";
490
521
  }
491
- } else if (j(this))
492
- return t.length === 1 && t[0].type === "Image" ? X(t[0].url) === "gif" ? "Dom" : "Mesh" : "BehindDom";
522
+ } else if (_(this))
523
+ return i.length === 1 && i[0].type === "Image" ? G(i[0].url) === "gif" ? "Dom" : "Mesh" : "BehindDom";
493
524
  }
494
525
  })();
495
- return i != null ? i : "Dom";
526
+ return t != null ? t : "Dom";
496
527
  }
497
- computeVisible(i) {
498
- const e = y(y({}, this.five.getCurrentState()), i), { panoIndex: t, mode: o } = e, s = [];
528
+ computeVisible(t) {
529
+ const e = y(y({}, this.five.getCurrentState()), t), { panoIndex: i, mode: s } = e, o = [];
499
530
  return (() => {
500
- var f, h, d, c;
531
+ var f, p, d, c;
501
532
  const n = (f = this.getConfig().visibleConfig) != null ? f : {};
502
533
  if (typeof n == "function")
503
534
  return {
504
535
  value: n(this.five, { tag: this, distance: this.getDistance(e, void 0) }),
505
- checkedList: s,
536
+ checkedList: o,
506
537
  reason: "config function result"
507
538
  };
508
539
  {
509
540
  if (n.keep === "hidden")
510
- return { value: !1, checkedList: s, reason: "config.keep is hidden" };
541
+ return { value: !1, checkedList: o, reason: "config.keep is hidden" };
511
542
  if (n.keep === "visible")
512
- return { value: !0, checkedList: s, reason: "config.keep is visible" };
513
- const u = this.computeVisibleByFiveMode(n, o);
543
+ return { value: !0, checkedList: o, reason: "config.keep is visible" };
544
+ const u = this.computeVisibleByFiveMode(n, s);
514
545
  if ((u == null ? void 0 : u.value) === !1)
515
546
  return u;
516
- if (n.followModelVisibility === !0 && ["poincare", "aerophoto", "sand"].includes(this.workUtil.fromType) && (o === "Floorplan" || o === "Mapview")) {
517
- const p = this.computeVisibleByFloorIndex(), { value: v } = p, b = _(p, ["value"]);
547
+ if (n.followModelVisibility === !0 && ["poincare", "aerophoto", "sand"].includes(this.workUtil.fromType) && (s === "Floorplan" || s === "Mapview")) {
548
+ const m = this.computeVisibleByFloorIndex(), { value: v } = m, b = W(m, ["value"]);
518
549
  if (v === !1)
519
- return y({ value: !1, checkedList: s, reason: "followModelVisibility check failed" }, b);
550
+ return y({ value: !1, checkedList: o, reason: "followModelVisibility check failed" }, b);
520
551
  }
521
- if (D(o) && n.visiblePanoIndex !== void 0 && n.visiblePanoIndex !== "all" && t !== void 0) {
522
- if (s.push("visiblePanoIndex"), Array.isArray(n.visiblePanoIndex) && !n.visiblePanoIndex.includes(t))
552
+ if (E(s) && n.visiblePanoIndex !== void 0 && n.visiblePanoIndex !== "all" && i !== void 0) {
553
+ if (o.push("visiblePanoIndex"), Array.isArray(n.visiblePanoIndex) && !n.visiblePanoIndex.includes(i))
523
554
  return {
524
555
  value: !1,
525
- checkedList: s,
526
- reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${t}, visiblePanoIndex: ${n.visiblePanoIndex}`
556
+ checkedList: o,
557
+ reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${i}, visiblePanoIndex: ${n.visiblePanoIndex}`
527
558
  };
528
- if (n.visiblePanoIndex === "current" && t !== ((h = this.fiveState) == null ? void 0 : h.panoIndex))
559
+ if (n.visiblePanoIndex === "current" && i !== ((p = this.fiveState) == null ? void 0 : p.panoIndex))
529
560
  return {
530
561
  value: !1,
531
- checkedList: s,
532
- reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${t}, tag.panoIndex: ${(d = this.fiveState) == null ? void 0 : d.panoIndex}`
562
+ checkedList: o,
563
+ reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${i}, tag.panoIndex: ${(d = this.fiveState) == null ? void 0 : d.panoIndex}`
533
564
  };
534
565
  }
535
- if (n.visibleDistance !== void 0 && (s.push("visibleDistance"), n.visibleDistance !== "unLimited")) {
566
+ if (n.visibleDistance !== void 0 && (o.push("visibleDistance"), n.visibleDistance !== "unLimited")) {
536
567
  const v = this.getDistance(e, 1);
537
- if (M(v, n.visibleDistance) === !1)
568
+ if (S(v, n.visibleDistance) === !1)
538
569
  return {
539
570
  value: !1,
540
- checkedList: s,
541
- panoIndex: t,
571
+ checkedList: o,
572
+ panoIndex: i,
542
573
  visibleDistance: n.visibleDistance,
543
574
  reason: `distance is not in visibleDistance. distance: ${v}, visibleDistance: ${n.visibleDistance.min} - ${n.visibleDistance.max}`
544
575
  };
545
576
  }
546
577
  if (n.intersectRaycaster !== !1 && (typeof n.intersectRaycaster != "object" || n.intersectRaycaster.enabled !== !1)) {
547
- if (s.push("intersectRaycaster"), t === void 0)
578
+ if (o.push("intersectRaycaster"), i === void 0)
548
579
  return {
549
580
  value: !1,
550
- checkedList: s,
551
- reason: `intersectRaycaster check failed: panoIndex is ${t}`
581
+ checkedList: o,
582
+ reason: `intersectRaycaster check failed: panoIndex is ${i}`
552
583
  };
553
- if (t === ((c = this.fiveState) == null ? void 0 : c.panoIndex))
554
- s.push("intersectCheckSkiped");
584
+ if (i === ((c = this.fiveState) == null ? void 0 : c.panoIndex))
585
+ o.push("intersectCheckSkiped");
555
586
  else {
556
- const v = this.computeVisibleByIntersect(t);
587
+ const v = this.computeVisibleByIntersect(i);
557
588
  if (v.value === !1)
558
- return Object.assign(v, { checkedList: s });
589
+ return Object.assign(v, { checkedList: o });
559
590
  }
560
591
  }
561
592
  return {
562
593
  value: !0,
563
- checkedList: s,
594
+ checkedList: o,
564
595
  reason: "all check passed"
565
596
  };
566
597
  }
@@ -569,70 +600,70 @@ class Ji {
569
600
  /**
570
601
  * @description 计算标签可见性
571
602
  */
572
- computeVisibleByFiveMode(i, e) {
573
- const t = () => {
603
+ computeVisibleByFiveMode(t, e) {
604
+ const i = () => {
574
605
  var l, r;
575
- let s = typeof i.visibleFiveMode == "function" ? i.visibleFiveMode(this) : i.visibleFiveMode;
576
- if (s || (s = (r = (l = this.fiveState) == null ? void 0 : l.mode) != null ? r : this.workUtil.observers.length ? "Panorama" : "ModelLike"), Array.isArray(s))
577
- return s.includes(e);
578
- if (s === "ModelLike")
579
- return V(e);
580
- if (s === "PanoramaLike")
581
- return !D(e);
582
- if (s === "all")
606
+ let o = typeof t.visibleFiveMode == "function" ? t.visibleFiveMode(this) : t.visibleFiveMode;
607
+ if (o || (o = (r = (l = this.fiveState) == null ? void 0 : l.mode) != null ? r : this.workUtil.observers.length ? "Panorama" : "ModelLike"), Array.isArray(o))
608
+ return o.includes(e);
609
+ if (o === "ModelLike")
610
+ return B(e);
611
+ if (o === "PanoramaLike")
612
+ return !E(e);
613
+ if (o === "all")
583
614
  return !0;
584
- if (typeof s == "string")
585
- return s === e;
615
+ if (typeof o == "string")
616
+ return o === e;
586
617
  };
587
618
  if ((() => {
588
619
  var l;
589
- const s = t();
590
- if (z((l = this.fiveState) == null ? void 0 : l.panoIndex) && i.entryFromModel) {
591
- if (V(e) && s ? this.entryFromModel = !1 : this.entryFromModel = !0, V(e))
620
+ const o = i();
621
+ if (H((l = this.fiveState) == null ? void 0 : l.panoIndex) && t.entryFromModel) {
622
+ if (B(e) && o ? this.entryFromModel = !1 : this.entryFromModel = !0, B(e))
592
623
  return !0;
593
624
  } else
594
625
  this.entryFromModel = !1;
595
- return s;
626
+ return o;
596
627
  })() === !1)
597
628
  return {
598
629
  value: !1,
599
630
  reason: "current mode is not included in visibleFiveMode",
600
- visibleFiveMode: i.visibleFiveMode,
631
+ visibleFiveMode: t.visibleFiveMode,
601
632
  mode: e
602
633
  };
603
634
  }
604
635
  /** 通过射线检测标签可用性 */
605
- computeVisibleByIntersect(i) {
606
- var n, f, p, h;
607
- const e = Z(Z((n = this.getConfig().visibleConfig) != null ? n : {}).intersectRaycaster), t = i != null ? i : this.five.getCurrentState().panoIndex, o = D(this.five.getCurrentState().mode) ? this.workUtil.getObserverPosition(t) : this.five.camera.position;
608
- if (o === void 0)
609
- return { value: !1, reason: { type: "startPosition is undefined", fivePanoIndex: t } };
610
- const s = se(
636
+ computeVisibleByIntersect(t) {
637
+ var n, f, m, p;
638
+ const e = K(K((n = this.getConfig().visibleConfig) != null ? n : {}).intersectRaycaster), i = t != null ? t : this.five.getCurrentState().panoIndex, s = E(this.five.getCurrentState().mode) ? this.workUtil.getObserverPosition(i) : this.five.camera.position;
639
+ if (s === void 0)
640
+ return { value: !1, reason: { type: "startPosition is undefined", fivePanoIndex: i } };
641
+ const o = se(
611
642
  (() => {
612
643
  var c;
613
644
  const d = (c = e.checkPoints) != null ? c : "center";
614
- return d === "center" ? H(this) : d === "corner" ? J(this) : Array.isArray(d) ? d : [];
645
+ return d === "center" ? X(this) : d === "corner" ? q(this) : Array.isArray(d) ? d : [];
615
646
  })()
616
647
  );
617
648
  let l = 0, r = 0;
618
- for (const d of s) {
619
- const c = new P.Vector3().subVectors(d, o).normalize();
649
+ for (const d of o) {
650
+ const c = new k.Vector3().subVectors(d, s).normalize();
620
651
  let u;
621
- L.set(o, c);
622
- const [v] = this.fiveUtil.model.intersectRaycaster(L);
652
+ N.set(s, c);
653
+ const [v] = this.fiveUtil.model.intersectRaycaster(N);
623
654
  u = v == null ? void 0 : v.distance;
624
655
  const b = (() => {
625
- if (!j(this))
656
+ if (!_(this))
626
657
  return;
627
- const I = this.plugin.tags.filter(j).map((K) => {
628
- var R;
629
- return (R = K.model) == null ? void 0 : R.object;
630
- }).filter(z), [G] = L.intersectObjects(I, !0);
631
- return G;
632
- })(), g = o.distanceTo(d), k = (f = e.distanceAccuracy) != null ? f : 0.01;
633
- u = Math.min(u != null ? u : 1 / 0, (p = b == null ? void 0 : b.distance) != null ? p : 1 / 0), u + k >= g ? l++ : r++;
634
- const w = (h = e.needPassed) != null ? h : 1;
635
- if (l >= w)
658
+ const C = this.plugin.tags.filter(_).map((F) => {
659
+ var I;
660
+ return (I = F.model) == null ? void 0 : I.object;
661
+ }).filter(H), [A] = N.intersectObjects(C, !0);
662
+ return A;
663
+ })(), h = s.distanceTo(d), x = (f = e.distanceAccuracy) != null ? f : 0.01;
664
+ u = Math.min(u != null ? u : 1 / 0, (m = b == null ? void 0 : b.distance) != null ? m : 1 / 0), u + x >= h ? l++ : r++;
665
+ const U = (p = e.needPassed) != null ? p : 1;
666
+ if (l >= U)
636
667
  return { value: !0 };
637
668
  }
638
669
  return r === 0 ? { value: !0 } : {
@@ -646,124 +677,124 @@ class Ji {
646
677
  };
647
678
  }
648
679
  computeVisibleByFloorIndex() {
649
- var o, s, l, r, n, f, p;
650
- let i = 0;
651
- const e = (o = this.fiveState) == null ? void 0 : o.panoIndex;
652
- e !== void 0 ? i = (s = this.workUtil.getObserver(e)) == null ? void 0 : s.floorIndex : i = de(
680
+ var s, o, l, r, n, f, m;
681
+ let t = 0;
682
+ const e = (s = this.fiveState) == null ? void 0 : s.panoIndex;
683
+ e !== void 0 ? t = (o = this.workUtil.getObserver(e)) == null ? void 0 : o.floorIndex : t = de(
653
684
  this.workUtil.work,
654
- (p = (f = (r = (l = this.model) == null ? void 0 : l.object) == null ? void 0 : r.position) != null ? f : (n = this.mediaPlane) == null ? void 0 : n.position) != null ? p : H(this)
685
+ (m = (f = (r = (l = this.model) == null ? void 0 : l.object) == null ? void 0 : r.position) != null ? f : (n = this.mediaPlane) == null ? void 0 : n.position) != null ? m : X(this)
655
686
  );
656
- const t = this.fiveUtil.model.shownFloor;
687
+ const i = this.fiveUtil.model.shownFloor;
657
688
  return {
658
- value: t === null || t === i,
659
- currentFiveFloorIndex: t,
660
- tagFloorIndex: i
689
+ value: i === null || i === t,
690
+ currentFiveFloorIndex: i,
691
+ tagFloorIndex: t
661
692
  };
662
693
  }
663
694
  /**
664
695
  * @description 获取是否展开
665
696
  */
666
- computeUnfoldedByPanoIndex(i) {
697
+ computeUnfoldedByPanoIndex(t) {
667
698
  const e = this.getConfig().unfoldedConfig;
668
699
  if (e) {
669
700
  if (typeof e == "function")
670
- return e(this.five, { tag: this, distance: this.getDistance({ panoIndex: i }) });
701
+ return e(this.five, { tag: this, distance: this.getDistance({ panoIndex: t }) });
671
702
  if (e.keep === "folded")
672
703
  return !1;
673
704
  if (e.keep === "unfolded")
674
705
  return !0;
675
- if (e.unfoldDistance && M(this.getDistance({ panoIndex: i }), e.unfoldDistance) === !1)
706
+ if (e.unfoldDistance && S(this.getDistance({ panoIndex: t }), e.unfoldDistance) === !1)
676
707
  return !1;
677
708
  }
678
709
  }
679
710
  // 该方法有很大优化空间,这个检测显示方法不应该挂在tagBase下,做了多次不必要计算(MinimumDistance,ScreenCenter)。
680
711
  computeUnfoldedByCamera() {
681
- var e, t;
682
- if (this.entryFromModel && V(this.five.state.mode))
712
+ var e, i;
713
+ if (this.entryFromModel && B(this.five.state.mode))
683
714
  return !1;
684
- const i = this.getConfig().unfoldedConfig;
685
- if (i) {
686
- if (typeof i == "function")
687
- return i(this.five, { tag: this, distance: this.getDistance() });
688
- if (i.keep === "folded")
715
+ const t = this.getConfig().unfoldedConfig;
716
+ if (t) {
717
+ if (typeof t == "function")
718
+ return t(this.five, { tag: this, distance: this.getDistance() });
719
+ if (t.keep === "folded")
689
720
  return !1;
690
- if (i.keep === "unfolded")
721
+ if (t.keep === "unfolded")
691
722
  return !0;
692
- if (typeof i != "object" || i.autoUnfold === void 0 || i.autoUnfold === !1 || i.autoUnfold.enable === !1 || !i.autoUnfold.strategy)
723
+ if (typeof t != "object" || t.autoUnfold === void 0 || t.autoUnfold === !1 || t.autoUnfold.enable === !1 || !t.autoUnfold.strategy)
693
724
  return;
694
- if (i.autoUnfold.strategy === "ScreenPostion") {
695
- const o = this.computeTagProject();
696
- if (o && M(o.x, i.autoUnfold.autoUnfoldProjectX) === !1)
725
+ if (t.autoUnfold.strategy === "ScreenPostion") {
726
+ const s = this.computeTagProject();
727
+ if (s && S(s.x, t.autoUnfold.autoUnfoldProjectX) === !1)
697
728
  return !1;
698
729
  }
699
- if (i.autoUnfold.strategy === "MinimumDistance") {
730
+ if (t.autoUnfold.strategy === "MinimumDistance") {
700
731
  const l = this.plugin.filterPointTag.filter((n) => n.currentVisible).filter((n) => {
701
732
  const f = this.computeTagProject();
702
733
  if (!f)
703
734
  return !1;
704
- const { x: p, y: h, z: d } = f;
705
- return !(Math.abs(d) > 1 || Math.abs(p) > 1 || Math.abs(h) > 1);
735
+ const { x: m, y: p, z: d } = f;
736
+ return !(Math.abs(d) > 1 || Math.abs(m) > 1 || Math.abs(p) > 1);
706
737
  }).map((n) => ({ tag: n, id: n.id, tagConfig: n.getConfig().unfoldedConfig })).filter(({ tagConfig: n }) => {
707
- var f, p;
708
- return !(typeof n == "function" || n.keep || n.autoUnfold === !1 || ((f = n.autoUnfold) == null ? void 0 : f.enable) === !1 || ((p = n.autoUnfold) == null ? void 0 : p.strategy) !== "MinimumDistance");
709
- }).map((n) => B(y({}, n), { distance: n.tag.getDistance() })).filter(({ distance: n, tagConfig: f }) => {
710
- const p = f.autoUnfold.distance;
711
- return !(p && M(n, p) === !1);
738
+ var f, m;
739
+ return !(typeof n == "function" || n.keep || n.autoUnfold === !1 || ((f = n.autoUnfold) == null ? void 0 : f.enable) === !1 || ((m = n.autoUnfold) == null ? void 0 : m.strategy) !== "MinimumDistance");
740
+ }).map((n) => j(y({}, n), { distance: n.tag.getDistance() })).filter(({ distance: n, tagConfig: f }) => {
741
+ const m = f.autoUnfold.distance;
742
+ return !(m && S(n, m) === !1);
712
743
  }).sort((n, f) => n.distance - f.distance).findIndex((n) => n.id === this.id);
713
- if (l === -1 || l <= ((e = i.autoUnfold.maxNumber) != null ? e : 1) - 1 === !1)
744
+ if (l === -1 || l <= ((e = t.autoUnfold.maxNumber) != null ? e : 1) - 1 === !1)
714
745
  return !1;
715
746
  }
716
- if (i.autoUnfold.strategy === "FoldWhenMove")
747
+ if (t.autoUnfold.strategy === "FoldWhenMove")
717
748
  return !1;
718
- if (i.autoUnfold.strategy === "ScreenCenter") {
719
- const o = this.plugin.filterPointTag, s = new P.Matrix4();
720
- s.multiplyMatrices(this.five.camera.projectionMatrix, this.five.camera.matrixWorldInverse);
721
- const l = new P.Frustum();
722
- l.setFromProjectionMatrix(s);
723
- const r = this.five.camera.getWorldDirection(new P.Vector3()), f = o.filter((h) => {
749
+ if (t.autoUnfold.strategy === "ScreenCenter") {
750
+ const s = this.plugin.filterPointTag, o = new k.Matrix4();
751
+ o.multiplyMatrices(this.five.camera.projectionMatrix, this.five.camera.matrixWorldInverse);
752
+ const l = new k.Frustum();
753
+ l.setFromProjectionMatrix(o);
754
+ const r = this.five.camera.getWorldDirection(new k.Vector3()), f = s.filter((p) => {
724
755
  var v, b;
725
- if (!h.currentVisible)
756
+ if (!p.currentVisible)
726
757
  return !1;
727
- const d = h.getConfig().unfoldedConfig;
728
- if (h.manuallyOperated || typeof d != "object" || (d == null ? void 0 : d.autoUnfold) === !1 || ((v = d == null ? void 0 : d.autoUnfold) == null ? void 0 : v.strategy) !== "ScreenCenter" || d.keep || ((b = d.autoUnfold) == null ? void 0 : b.enable) === !1 || !l.containsPoint(new P.Vector3().fromArray(h.position)))
758
+ const d = p.getConfig().unfoldedConfig;
759
+ if (p.manuallyOperated || typeof d != "object" || (d == null ? void 0 : d.autoUnfold) === !1 || ((v = d == null ? void 0 : d.autoUnfold) == null ? void 0 : v.strategy) !== "ScreenCenter" || d.keep || ((b = d.autoUnfold) == null ? void 0 : b.enable) === !1 || !l.containsPoint(new k.Vector3().fromArray(p.position)))
729
760
  return !1;
730
761
  const u = d.autoUnfold.distance;
731
762
  if (u) {
732
- const g = h.getDistance();
733
- if (M(g, u) === !1)
763
+ const h = p.getDistance();
764
+ if (S(h, u) === !1)
734
765
  return !1;
735
766
  }
736
767
  return !0;
737
- }).sort((h, d) => {
738
- const c = new P.Vector3().fromArray(h.position), u = new P.Vector3().fromArray(d.position);
768
+ }).sort((p, d) => {
769
+ const c = new k.Vector3().fromArray(p.position), u = new k.Vector3().fromArray(d.position);
739
770
  return r.angleTo(c.sub(this.five.camera.position)) - r.angleTo(u.sub(this.five.camera.position));
740
- }).findIndex((h) => h.id === this.id);
741
- if (f === -1 || f <= ((t = i.autoUnfold.maxNumber) != null ? t : 1) - 1 === !1)
771
+ }).findIndex((p) => p.id === this.id);
772
+ if (f === -1 || f <= ((i = t.autoUnfold.maxNumber) != null ? i : 1) - 1 === !1)
742
773
  return !1;
743
774
  }
744
775
  return !0;
745
776
  }
746
777
  }
747
778
  computeTagProject() {
748
- const i = this.centerPosition;
749
- if (!i)
779
+ const t = this.centerPosition;
780
+ if (!t)
750
781
  return;
751
- const { x: e, y: t, z: o } = i.project(this.five.camera);
752
- if (!(o > 1))
753
- return { x: e, y: t, z: o };
782
+ const { x: e, y: i, z: s } = t.project(this.five.camera);
783
+ if (!(s > 1))
784
+ return { x: e, y: i, z: s };
754
785
  }
755
- addObjectClickHandler(i, e, t) {
786
+ addObjectClickHandler(t, e, i) {
756
787
  if (!e || !this.plugin.domEvents)
757
788
  return () => {
758
789
  };
759
- const o = () => !(!i.currentVisible || i.loading), s = (l) => {
760
- if (!o())
790
+ const s = () => !(!t.currentVisible || t.loading), o = (l) => {
791
+ if (!s())
761
792
  return !1;
762
- t(l.origDomEvent);
793
+ i(l.origDomEvent);
763
794
  };
764
- return this.plugin.domEvents.addEventListener(e, "click", s), () => {
795
+ return this.plugin.domEvents.addEventListener(e, "click", o), () => {
765
796
  var l;
766
- (l = this.plugin.domEvents) == null || l.removeEventListener(e, "click", s);
797
+ (l = this.plugin.domEvents) == null || l.removeEventListener(e, "click", o);
767
798
  };
768
799
  }
769
800
  whyHide() {
@@ -774,38 +805,38 @@ class Ji {
774
805
  return { reason: `plugin.state.visible is ${this.plugin.state.visible}` };
775
806
  if (!this.enabled)
776
807
  return { reason: `tag ${this.id} enabled is: ${this.enabled}` };
777
- const i = B(y({}, this.computeVisible()), {
808
+ const t = j(y({}, this.computeVisible()), {
778
809
  tagInstance: this
779
810
  });
780
- return i.value !== this.state.visible ? { reason: "插件故障,请联系维护人员, err: 0", info: i } : this.state.visible ? { reason: "应该是能看见才对", info: i } : i.value === !0 ? { reason: "插件故障,请联系维护人员, err: 1", info: i } : { reason: (e = i.reason.type) != null ? e : i.reason, info: i };
811
+ return t.value !== this.state.visible ? { reason: "插件故障,请联系维护人员, err: 0", info: t } : this.state.visible ? { reason: "应该是能看见才对", info: t } : t.value === !0 ? { reason: "插件故障,请联系维护人员, err: 1", info: t } : { reason: (e = t.reason.type) != null ? e : t.reason, info: t };
781
812
  }
782
813
  /**
783
814
  * @description 销毁并移除
784
815
  */
785
816
  destroy() {
786
- var e, t, o, s;
787
- const i = this.plugin.tags.findIndex((l) => l.id === this.id);
788
- if (i === -1) {
817
+ var e, i, s, o;
818
+ const t = this.plugin.tags.findIndex((l) => l.id === this.id);
819
+ if (t === -1) {
789
820
  console.warn(`Destroy failed: tag ${this.id} not found`);
790
821
  return;
791
822
  }
792
- this._currentBlinkInstance && !this._currentBlinkInstance.completed && ((t = (e = this._currentBlinkInstance).preComplete) == null || t.call(e), this._currentBlinkInstance = void 0), this.disable(), (s = (o = this.tag3DContentSvelte) == null ? void 0 : o.dispose) == null || s.call(o), this.hooks.off(), this.cache.clear(), this.plugin.tags.splice(i, 1), this.plugin.tagsLengthWillUpdate = !0, this.plugin.hooks.emit("tagsLengthChange");
823
+ this._currentBlinkInstance && !this._currentBlinkInstance.completed && ((i = (e = this._currentBlinkInstance).preComplete) == null || i.call(e), this._currentBlinkInstance = void 0), this.disable(), (o = (s = this.tag3DContentSvelte) == null ? void 0 : s.dispose) == null || o.call(s), this.hooks.off(), this.cache.clear(), this.plugin.tags.splice(t, 1), this.plugin.tagsLengthWillUpdate = !0, this.plugin.hooks.emit("tagsLengthChange");
793
824
  }
794
825
  /**
795
826
  * @description 判断 popover 是否在配置上启用(永久配置)
796
827
  */
797
828
  isPopoverConfigEnabled() {
798
- var i, e;
799
- return ((e = (i = this.currentConfig) == null ? void 0 : i.popoverConfig) == null ? void 0 : e.enabled) === !0;
829
+ var t, e;
830
+ return ((e = (t = this.currentConfig) == null ? void 0 : t.popoverConfig) == null ? void 0 : e.enabled) === !0;
800
831
  }
801
832
  /**
802
833
  * @description 判断当前标签是否允许临时 hover 弹出 popover(临时控制)
803
834
  */
804
835
  isHoverEnabled() {
805
- var i;
806
- return !(((i = this.plugin) == null ? void 0 : i.globalHoverEnabled) === !1 || this.hoverEnabled === !1);
836
+ var t;
837
+ return !(((t = this.plugin) == null ? void 0 : t.globalHoverEnabled) === !1 || this.hoverEnabled === !1);
807
838
  }
808
839
  }
809
840
  export {
810
- Ji as BaseTag
841
+ Jt as BaseTag
811
842
  };