@realsee/dnalogel 3.35.0-dev.0 → 3.35.0-dev.1

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.
@@ -89,6 +89,8 @@ class ni extends W {
89
89
  * @description 获取是否可见
90
90
  */
91
91
  getVisible(e, i) {
92
+ if (!e.enabled)
93
+ return !1;
92
94
  const s = h(h({}, this.five.getCurrentState()), i), { panoIndex: t, mode: r } = s, n = x(r) ? this.getPanoIndexCache({ panoIndex: t, id: e.id }) : void 0;
93
95
  if ((n == null ? void 0 : n.visible) !== void 0)
94
96
  return n.visible;
@@ -35,6 +35,8 @@ export declare abstract class TagRender extends TagComputer {
35
35
  * @description 更新所有标签
36
36
  */
37
37
  protected updateRenderAllTags(): void;
38
+ protected updateAllTagsNextFrame(): void;
39
+ protected updateTag(tag: TagInstance): void;
38
40
  protected updateRenderVideoPlane(): void;
39
41
  /**
40
42
  * @description 渲染图片贴片
@@ -68,7 +70,6 @@ export declare abstract class TagRender extends TagComputer {
68
70
  * @description 渲染单个点的标签
69
71
  */
70
72
  protected updateRenderPointTag(): void;
71
- protected updatePointTagPosition(): void;
72
73
  protected updateTagContainerVisible(): void;
73
74
  protected disposeAllCSS3DContainer(): void;
74
75
  /**
@@ -1,16 +1,16 @@
1
1
  var A = Object.defineProperty;
2
- var R = Object.getOwnPropertySymbols;
3
- var k = Object.prototype.hasOwnProperty, I = Object.prototype.propertyIsEnumerable;
4
- var C = (d, m, t) => m in d ? A(d, m, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[m] = t, j = (d, m) => {
2
+ var j = Object.getOwnPropertySymbols;
3
+ var I = Object.prototype.hasOwnProperty, V = Object.prototype.propertyIsEnumerable;
4
+ var S = (p, m, t) => m in p ? A(p, m, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[m] = t, k = (p, m) => {
5
5
  for (var t in m || (m = {}))
6
- k.call(m, t) && C(d, t, m[t]);
7
- if (R)
8
- for (var t of R(m))
9
- I.call(m, t) && C(d, t, m[t]);
10
- return d;
6
+ I.call(m, t) && S(p, t, m[t]);
7
+ if (j)
8
+ for (var t of j(m))
9
+ V.call(m, t) && S(p, t, m[t]);
10
+ return p;
11
11
  };
12
- var u = (d, m, t) => (C(d, typeof m != "symbol" ? m + "" : m, t), t);
13
- var S = (d, m, t) => new Promise((e, o) => {
12
+ var u = (p, m, t) => (S(p, typeof m != "symbol" ? m + "" : m, t), t);
13
+ var C = (p, m, t) => new Promise((e, o) => {
14
14
  var i = (s) => {
15
15
  try {
16
16
  a(t.next(s));
@@ -24,17 +24,18 @@ var S = (d, m, t) => new Promise((e, o) => {
24
24
  o(n);
25
25
  }
26
26
  }, a = (s) => s.done ? e(s.value) : Promise.resolve(s.value).then(i, r);
27
- a((t = t.apply(d, m)).next());
27
+ a((t = t.apply(p, m)).next());
28
28
  });
29
- import { TagComputer as V } from "./TagComputer.js";
30
- import { Group as y, Quaternion as x, Vector3 as b, Matrix4 as v } from "three";
29
+ import { TagComputer as x } from "./TagComputer.js";
30
+ import { Group as M, Quaternion as E, Vector3 as b, Matrix4 as v } from "three";
31
31
  import O from "../Components/TagContainer.js";
32
- import E from "../Components/Tag/index.js";
33
- import { loadGLTF as G } from "../../shared-utils/three/GLTFLoader.js";
34
- import { isMediaModelTag as D, isStickModelTag as F } from "../utils/tag/tagCheck.js";
35
- import { VideoPlane as _, ImagePlane as w } from "../utils/model/mediaPlane.js";
36
- import { centerPoint as L } from "../../shared-utils/three/centerPoint.js";
37
- import { arrayPositionToVector3 as g } from "../../shared-utils/positionToVector3.js";
32
+ import G from "../Components/Tag/index.js";
33
+ import { loadGLTF as F } from "../../shared-utils/three/GLTFLoader.js";
34
+ import { isMediaModelTag as g, isStickModelTag as _ } from "../utils/tag/tagCheck.js";
35
+ import { VideoPlane as L, ImagePlane as w } from "../utils/model/mediaPlane.js";
36
+ import { centerPoint as W } from "../../shared-utils/three/centerPoint.js";
37
+ import { arrayPositionToVector3 as D } from "../../shared-utils/positionToVector3.js";
38
+ import { debounceByKey as y } from "../utils/debounce.js";
38
39
  import "../utils/tagPosition.js";
39
40
  import "../utils/checkRange.js";
40
41
  import "../../shared-utils/five/mode.js";
@@ -161,15 +162,15 @@ import "../Components/Tag/LinkTag.js";
161
162
  import "../Components/Tag/PanoramaTag.js";
162
163
  import "../Components/Tag/CustomTag.js";
163
164
  import "@realsee/five/gltf-loader";
164
- const W = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map();
165
- class Pi extends V {
165
+ const q = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map();
166
+ class bi extends x {
166
167
  constructor(t) {
167
168
  super(t);
168
169
  u(this, "rendererMap", /* @__PURE__ */ new Map());
169
170
  u(this, "contentTypeMap", /* @__PURE__ */ new Map());
170
- u(this, "group", new y());
171
- u(this, "imagePlaneGroup", new y());
172
- u(this, "gltfObjectGroup", new y());
171
+ u(this, "group", new M());
172
+ u(this, "imagePlaneGroup", new M());
173
+ u(this, "gltfObjectGroup", new M());
173
174
  /** 维护一个可用模型表,用于快速删除不应该在场景中的模型 */
174
175
  u(this, "enabledModelTagSet", /* @__PURE__ */ new Set());
175
176
  /** 临时状态 */
@@ -177,14 +178,14 @@ class Pi extends V {
177
178
  /** 点标签 */
178
179
  u(this, "TagContainerSvelte");
179
180
  /** 加载外部模型 */
180
- u(this, "loadModel", (t) => S(this, null, function* () {
181
+ u(this, "loadModel", (t) => C(this, null, function* () {
181
182
  var a;
182
183
  const e = t.data.modelUrl;
183
184
  if (!e)
184
185
  return;
185
186
  t.loading = !0;
186
- const o = G(e).then((s) => {
187
- var p;
187
+ const o = F(e).then((s) => {
188
+ var d;
188
189
  const n = Object.assign(s.scene, {
189
190
  customID: t.id,
190
191
  isTagModel: !0,
@@ -193,7 +194,7 @@ class Pi extends V {
193
194
  this.hooks.emit("click", { target: "TagModel", tag: t, event: h });
194
195
  })
195
196
  });
196
- return n.visible = this.getCurrentVisibleState(t), new v().fromArray(t.matrix).decompose(n.position, n.quaternion, n.scale), n.updateWorldMatrix(!0, !0), n.visible = this.getVisible(t), (p = this.getTagConfig(t).modelConfig) != null && p.autoLookAtEnabled && n.lookAt(this.five.camera.position.clone().setY(n.position.y)), n;
197
+ return n.visible = this.getCurrentVisibleState(t), new v().fromArray(t.matrix).decompose(n.position, n.quaternion, n.scale), n.updateWorldMatrix(!0, !0), n.visible = this.getVisible(t), (d = this.getTagConfig(t).modelConfig) != null && d.autoLookAtEnabled && n.lookAt(this.five.camera.position.clone().setY(n.position.y)), n;
197
198
  });
198
199
  t.model = { promise: o };
199
200
  const i = yield o;
@@ -201,10 +202,10 @@ class Pi extends V {
201
202
  return;
202
203
  t.model.object = i;
203
204
  const r = this.gltfObjectGroup.children.find((s) => s.customID === t.id);
204
- if (r && (this.gltfObjectGroup.remove(r), r.removeEventListener()), this.updateRender3DDomTag(), D(t)) {
205
+ if (r && (this.gltfObjectGroup.remove(r), r.removeEventListener()), this.updateRender3DDomTag(), g(t)) {
205
206
  if (this.getRenderType(t) === "Mesh" && !t.mediaPlane) {
206
- const s = t.data.mediaPosition.map(g);
207
- t.mediaPlane = new w(t.data.mediaData[0].url, t.data.mediaPosition.map(g), {
207
+ const s = t.data.mediaPosition.map(D);
208
+ t.mediaPlane = new w(t.data.mediaData[0].url, t.data.mediaPosition.map(D), {
208
209
  objectFit: t.data.objectFit
209
210
  });
210
211
  const n = new b().addVectors(s[0], s[2]).divideScalar(2);
@@ -237,7 +238,7 @@ class Pi extends V {
237
238
  this.tags.length && (this.tags.forEach((e) => {
238
239
  var o, i;
239
240
  (i = (o = e.mediaPlane) == null ? void 0 : o.parent) == null || i.remove(e.mediaPlane);
240
- }), this.tags = [], (t = this.TagContainerSvelte) == null || t.$destroy(), this.TagContainerSvelte = void 0, this.disposeAllCSS3DContainer(), this.updateRenderAllTags()), this.enabledModelTagSet.clear(), this.clearCache();
241
+ }), this.tags = [], (t = this.TagContainerSvelte) == null || t.$destroy(), this.TagContainerSvelte = void 0, this.disposeAllCSS3DContainer(), this.updateRenderAllTags()), this.enabledModelTagSet.clear(), this.clearCache(), this.tagsLengthWillUpdate = !0;
241
242
  }
242
243
  /**
243
244
  * @description 更新所有标签
@@ -245,6 +246,12 @@ class Pi extends V {
245
246
  updateRenderAllTags() {
246
247
  this.enabledModelTagSet.clear(), this.tags.forEach((t) => t.stickType === "Model" && this.enabledModelTagSet.add(t.id)), this.updateRenderPointTag(), this.updateRender3DDomTag(), this.updateRenderModelTag(), this.updateRenderImagePlane(), this.updateRenderVideoPlane();
247
248
  }
249
+ updateAllTagsNextFrame() {
250
+ requestAnimationFrame(() => this.updateRenderAllTags());
251
+ }
252
+ updateTag(t) {
253
+ t.stickType === "2DPoint" ? y("updateRenderPointTag", () => this.updateRenderPointTag()) : t.stickType === "3DPoint" ? (y("updateRenderPointTag", () => this.updateRenderPointTag()), y("updateRender3DDomTag", () => this.updateRender3DDomTag())) : t.stickType === "Model" ? (this.enabledModelTagSet.clear(), this.tags.forEach((e) => e.stickType === "Model" && this.enabledModelTagSet.add(e.id)), this.updateRenderModelTag()) : t.stickType === "Plane" && (this.updateRenderImagePlane(), this.updateRenderVideoPlane());
254
+ }
248
255
  updateRenderVideoPlane() {
249
256
  this.filterImagePlane.filter((e) => {
250
257
  var o, i;
@@ -259,12 +266,12 @@ class Pi extends V {
259
266
  return;
260
267
  const r = this.getCurrentVisibleState(e), a = (() => !!(e.mediaPlane && !r))(), s = (() => !!(!e.mediaPlane && r))(), n = (() => !!(e.mediaPlane && e.mediaPlane.src !== i))();
261
268
  if ((a || n) && e.mediaPlane && (this.imagePlaneGroup.remove(e.mediaPlane), e.mediaPlane.dispose(), e.mediaPlane.removeFromParent(), e.mediaPlane = void 0), s || n) {
262
- const p = e.position.map(g), h = new _(i, p, {
269
+ const d = e.position.map(D), h = new L(i, d, {
263
270
  videoCoverSrc: o.videoCoverUrl,
264
271
  playButton: e.data.playIcon,
265
272
  paused: !((l = e.data.autoplayConfig) != null && l.autoplayVideo),
266
273
  objectFit: e.data.objectFit,
267
- videoTextureMap: W,
274
+ videoTextureMap: q,
268
275
  ImageTextureMap: $,
269
276
  domEvents: this.domEvents
270
277
  });
@@ -287,7 +294,7 @@ class Pi extends V {
287
294
  const { url: o } = e.data.mediaData[0];
288
295
  if (!o)
289
296
  return;
290
- const i = e.position.map(g), r = this.getCurrentVisibleState(e), a = (() => !!(e.mediaPlane && !r))(), s = (() => !!(!e.mediaPlane && r))(), n = (() => !!(e.mediaPlane && e.mediaPlane.src !== o))();
297
+ const i = e.position.map(D), r = this.getCurrentVisibleState(e), a = (() => !!(e.mediaPlane && !r))(), s = (() => !!(!e.mediaPlane && r))(), n = (() => !!(e.mediaPlane && e.mediaPlane.src !== o))();
291
298
  (a || n) && e.mediaPlane && (this.imagePlaneGroup.remove(e.mediaPlane), e.mediaPlane.dispose(), e.mediaPlane.removeFromParent(), e.mediaPlane = void 0), (s || n) && (e.mediaPlane = new w(o, i, { objectFit: e.data.objectFit }), this.getTagConfig(e).clickable !== !1 && this.domEvents.addAutoBindEventListener(
292
299
  e.mediaPlane,
293
300
  "click",
@@ -307,12 +314,12 @@ class Pi extends V {
307
314
  if (e.tag3DContentSvelte) {
308
315
  const { svelteApp: a, css3DInstance: s, initialNormal: n, currentNormal: l } = e.tag3DContentSvelte;
309
316
  if (a.$set({ tag: e, hooks: this.hooks, state: this.state, temporaryState: this.temporaryState }), !n.equals(l)) {
310
- const p = new x().setFromUnitVectors(n, l);
311
- s.css3DObject.setRotationFromQuaternion(p);
317
+ const d = new E().setFromUnitVectors(n, l);
318
+ s.css3DObject.setRotationFromQuaternion(d);
312
319
  }
313
320
  return;
314
321
  } else {
315
- if (D(e) && !((o = e.model) != null && o.object) || ((i = e.state) == null ? void 0 : i.visible) === !1 || !this.state.visible || !this.state.enabled || !this.css3DRenderPlugin)
322
+ if (g(e) && !((o = e.model) != null && o.object) || ((i = e.state) == null ? void 0 : i.visible) === !1 || !this.state.visible || !this.state.enabled || !this.css3DRenderPlugin)
316
323
  return;
317
324
  if (e.stickType === "3DPoint" && !e.normal)
318
325
  return console.error("updateRenderPlaneTag: 三维点标签缺少法向量!");
@@ -322,26 +329,26 @@ class Pi extends V {
322
329
  const s = this.getTagNormal(e);
323
330
  if (!s)
324
331
  return;
325
- const n = this.getTagConfig(e), l = j({ wrapperStyle: { zIndex: this.calculateTagZIndex(e).toString() } }, n.tag3DConfig);
332
+ const n = this.getTagConfig(e), l = k({ wrapperStyle: { zIndex: this.calculateTagZIndex(e).toString() } }, n.tag3DConfig);
326
333
  if (this.getRenderType(e) === "BehindDom" || l.mode === "behind") {
327
334
  l.mode = "behind", l.container = document.createElement("div");
328
335
  const f = "black";
329
336
  l.container.style.backgroundColor = f, l.container.style.border = `3px solid ${f}`, this.css3DRenderPlugin.hooks.on("render", () => {
330
337
  var c;
331
- if (p.css3DObject.opacityMesh && n.clickable !== !1) {
332
- const P = this.addObjectClickHandler(e, p.css3DObject.opacityMesh, (T) => {
333
- this.hooks.emit("click", { event: T, target: "TagContent", tag: e });
338
+ if (d.css3DObject.opacityMesh && n.clickable !== !1) {
339
+ const T = this.addObjectClickHandler(e, d.css3DObject.opacityMesh, (P) => {
340
+ this.hooks.emit("click", { event: P, target: "TagContent", tag: e });
334
341
  });
335
- (c = this.store.css3DRenderDisposer.get(e.id)) == null || c.push(P);
342
+ (c = this.store.css3DRenderDisposer.get(e.id)) == null || c.push(T);
336
343
  }
337
344
  });
338
345
  }
339
- const p = this.css3DRenderPlugin.create3DDomContainer(a, l);
340
- if (!p)
346
+ const d = this.css3DRenderPlugin.create3DDomContainer(a, l);
347
+ if (!d)
341
348
  return;
342
- this.store.css3DRenderDisposer.set(e.id, [p.dispose]);
343
- const h = new E({
344
- target: p.container,
349
+ this.store.css3DRenderDisposer.set(e.id, [d.dispose]);
350
+ const h = new G({
351
+ target: d.container,
345
352
  props: {
346
353
  tag: e,
347
354
  hooks: this.hooks,
@@ -353,14 +360,14 @@ class Pi extends V {
353
360
  });
354
361
  e.tag3DContentSvelte = {
355
362
  svelteApp: h,
356
- domContainer: p,
357
- css3DInstance: p,
363
+ domContainer: d,
364
+ css3DInstance: d,
358
365
  initialNormal: s,
359
366
  currentNormal: s,
360
367
  dispose: () => {
361
- h.$destroy(), p.dispose();
368
+ h.$destroy(), d.dispose();
362
369
  }
363
- }, D(e) && ((r = e.model) != null && r.object) && this.updateTagCss3DObjectMatrix(e, e.model.object);
370
+ }, g(e) && ((r = e.model) != null && r.object) && this.updateTagCss3DObjectMatrix(e, e.model.object);
364
371
  }
365
372
  }), this.clearUnusedPanelTag();
366
373
  }
@@ -392,23 +399,23 @@ class Pi extends V {
392
399
  * @param model 模型
393
400
  */
394
401
  updateTagCss3DObjectMatrix(t, e) {
395
- var P, T, M;
396
- const o = (T = (P = this.getTagConfig(t).tag3DConfig) == null ? void 0 : P.ratio) != null ? T : 216e-5, i = (M = t.tag3DContentSvelte) == null ? void 0 : M.css3DInstance.css3DObject;
402
+ var T, P, R;
403
+ const o = (P = (T = this.getTagConfig(t).tag3DConfig) == null ? void 0 : T.ratio) != null ? P : 216e-5, i = (R = t.tag3DContentSvelte) == null ? void 0 : R.css3DInstance.css3DObject;
397
404
  if (!i)
398
405
  return;
399
- const r = D(t) ? t.data.mediaPosition : t.position;
406
+ const r = g(t) ? t.data.mediaPosition : t.position;
400
407
  if (!r || r.length !== 4 || !Array.isArray(r[0]) || !Array.isArray(r[2]))
401
408
  return;
402
409
  e.updateWorldMatrix(!1, !1);
403
- const a = e.matrixWorld, s = new b().fromArray(r[0]), n = new b().fromArray(r[2]), l = L(s, n).add(new b(0, 0, 5e-4)), p = new v().setPosition(l), h = new v().makeScale(o, o, o), f = new v().multiply(a).multiply(p).multiply(h);
410
+ const a = e.matrixWorld, s = new b().fromArray(r[0]), n = new b().fromArray(r[2]), l = W(s, n).add(new b(0, 0, 5e-4)), d = new v().setPosition(l), h = new v().makeScale(o, o, o), f = new v().multiply(a).multiply(d).multiply(h);
404
411
  f.decompose(i.position, i.quaternion, i.scale);
405
412
  const c = i.opacityMesh;
406
413
  c && f.decompose(c.position, c.quaternion, c.scale);
407
414
  }
408
415
  /** 添加模型标签 */
409
416
  addMediaModelTag(t) {
410
- return S(this, null, function* () {
411
- const e = t.filter(F).map((o) => this.loadModel(o));
417
+ return C(this, null, function* () {
418
+ const e = t.filter(_).map((o) => this.loadModel(o));
412
419
  yield Promise.all(e), this.setVisible(), this.updateRenderAllTags();
413
420
  });
414
421
  }
@@ -438,10 +445,7 @@ class Pi extends V {
438
445
  */
439
446
  updateRenderPointTag() {
440
447
  const t = this.filterPointTag;
441
- this.setTagZIndex(t), this.setPointTagPosition(), this.updateDomView();
442
- }
443
- updatePointTagPosition() {
444
- this.setPointTagPosition(), this.updateDomView();
448
+ this.setTagZIndex(t), this.setPointTagPosition(), y("updateDomView", () => this.updateDomView())();
445
449
  }
446
450
  updateTagContainerVisible() {
447
451
  var t;
@@ -505,5 +509,5 @@ class Pi extends V {
505
509
  }
506
510
  }
507
511
  export {
508
- Pi as TagRender
512
+ bi as TagRender
509
513
  };
@@ -12,7 +12,7 @@ export declare abstract class TagUtil extends TagCache {
12
12
  get container(): Element;
13
13
  set container(container: Element);
14
14
  config: Pick<Tags, 'globalConfig' | 'contentTypeConfig'>;
15
- tagsLengthWillUpdate: boolean;
15
+ set tagsLengthWillUpdate(value: boolean);
16
16
  workUtil: WorkUtil;
17
17
  set workCode(workCode: string);
18
18
  get workCode(): string;
@@ -36,6 +36,16 @@ export declare abstract class TagUtil extends TagCache {
36
36
  disposed: boolean;
37
37
  };
38
38
  protected domEvents: FiveDomEvents;
39
+ private _cache_pointTag?;
40
+ private _cache_2DPointTag?;
41
+ private _cache_imagePlane?;
42
+ private _cache_mediaModel?;
43
+ private _cache_css3DTag?;
44
+ protected get filterPointTag(): PointTagInstance[];
45
+ protected get filter2DPointTag(): TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "2DPoint">[];
46
+ protected get filterImagePlane(): TagInstance<"MediaPlane", "Plane">[];
47
+ protected get filterMediaModel(): TagInstance<"MediaModel", "Model">[];
48
+ protected get filterCSS3DTag(): (TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Plane"> | TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Model"> | TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "3DPoint">)[];
39
49
  private _container;
40
50
  private _css3DRenderPlugin;
41
51
  protected constructor(five: Five);
@@ -68,11 +78,6 @@ export declare abstract class TagUtil extends TagCache {
68
78
  protected getPositions(tag: TagInstance): [THREE.Vector3, THREE.Vector3, THREE.Vector3, THREE.Vector3] | [import("../typings").ArrayPosition, import("../typings").ArrayPosition, import("../typings").ArrayPosition, import("../typings").ArrayPosition];
69
79
  protected addObjectClickHandler(tag: TagInstance, object: THREE.Object3D | undefined, handler: (event: Event) => any): () => void;
70
80
  protected getTagNormal(tag: TagInstance): THREE.Vector3 | undefined;
71
- protected get filterPointTag(): PointTagInstance[];
72
- protected get filter2DPointTag(): TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "2DPoint">[];
73
- protected get filterImagePlane(): TagInstance<"MediaPlane", "Plane">[];
74
- protected get filterMediaModel(): TagInstance<"MediaModel", "Model">[];
75
- protected get filterCSS3DTag(): (TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Plane"> | TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Model"> | TagInstance<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "3DPoint">)[];
76
81
  protected getTransformedPostion(position: Tag['position']): THREE.Vector3 | [THREE.Vector3, THREE.Vector3, THREE.Vector3, THREE.Vector3];
77
82
  /**
78
83
  * @description 检查是否已经销毁