@vsleem-realsee-viewer/dualsee-plugin 2.0.8 → 2.0.9

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.
@@ -954,7 +954,6 @@ declare function __VLS_template(): {
954
954
  readonly masker?: import('@vsleem-realsee-viewer/bimsee-plugin').MaskerProps | undefined;
955
955
  readonly immediate?: boolean | undefined;
956
956
  readonly delay?: number | undefined;
957
- readonly handleCheckModelFn: (res?: import('packages/shared/dist').Coordinate) => Promise<boolean>;
958
957
  readonly handleResponseFn?: ((res?: import('packages/shared/dist').Coordinate) => Promise<import('packages/shared/dist').Coordinate | undefined>) | undefined;
959
958
  readonly fetchSuccess?: ((coordinate?: import('packages/shared/dist').Coordinate) => void) | undefined;
960
959
  readonly fetchError?: ((error: any) => void) | undefined;
@@ -2068,7 +2067,6 @@ declare const __VLS_component: import('vue').DefineComponent<DualseeProps, {
2068
2067
  readonly masker?: import('@vsleem-realsee-viewer/bimsee-plugin').MaskerProps | undefined;
2069
2068
  readonly immediate?: boolean | undefined;
2070
2069
  readonly delay?: number | undefined;
2071
- readonly handleCheckModelFn: (res?: import('packages/shared/dist').Coordinate) => Promise<boolean>;
2072
2070
  readonly handleResponseFn?: ((res?: import('packages/shared/dist').Coordinate) => Promise<import('packages/shared/dist').Coordinate | undefined>) | undefined;
2073
2071
  readonly fetchSuccess?: ((coordinate?: import('packages/shared/dist').Coordinate) => void) | undefined;
2074
2072
  readonly fetchError?: ((error: any) => void) | undefined;
@@ -2,5 +2,6 @@
2
2
  * 双侧全景业务错误码枚举(扩展无返回值错误)
3
3
  */
4
4
  export declare enum DualseeErrorCode {
5
+ /** 没有找到对应的BIM模型(Dualsee相关操作) */
5
6
  DualseeNoBIMModel = 12000
6
7
  }
package/dist/index.d.ts CHANGED
@@ -13,3 +13,4 @@ LockElement, } from './types';
13
13
  export { LOCK_CONFIG, // 锁默认配置
14
14
  DUALSEE_SETTING, // 双重场景默认设置
15
15
  DUALSEE_CONFIG, } from './settings';
16
+ export { DualseeErrorCode } from './enums';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { ref as _, computed as K, watch as ie, defineComponent as Ie, unref as k, createElementBlock as te, openBlock as Z, renderSlot as A, normalizeProps as g, guardReactiveProps as b, createElementVNode as pe, normalizeStyle as Ce, createCommentVNode as ne, toDisplayString as Qe, nextTick as Be, createBlock as le, createVNode as Re, mergeProps as se, toHandlers as re, withCtx as m } from "vue";
1
+ import { ref as W, computed as K, watch as re, defineComponent as Ie, unref as k, createElementBlock as ee, openBlock as Z, renderSlot as A, normalizeProps as g, guardReactiveProps as b, createElementVNode as pe, normalizeStyle as Qe, createCommentVNode as se, toDisplayString as Ce, nextTick as Be, createBlock as le, createVNode as Re, mergeProps as te, toHandlers as oe, withCtx as m } from "vue";
2
2
  import { RealseePlugin as Ae } from "@vsleem-realsee-viewer/realsee-plugin";
3
3
  import { BimseePlugin as ve } from "@vsleem-realsee-viewer/bimsee-plugin";
4
4
  import { APP_SETTING as Se, utils as de, Point as he, CoordinateModelType as Me, AppError as Pe } from "@vsleem-realsee-viewer/shared";
@@ -17,9 +17,9 @@ const fe = {
17
17
  referRealseeVisible: !1,
18
18
  referBimseeVisible: !1
19
19
  }, { cloneDeep: ge, deepMergeProps: Ue, getDiffProps: Ve } = de;
20
- function Le(c, C) {
21
- const a = _(ge(fe)), I = K(() => a.value);
22
- ie(() => ge(c), i, { immediate: !0, deep: !0 });
20
+ function Le(c, Q) {
21
+ const a = W(ge(fe)), I = K(() => a.value);
22
+ re(() => ge(c), i, { immediate: !0, deep: !0 });
23
23
  function i(d, f) {
24
24
  const u = Ve(d, f);
25
25
  p(u);
@@ -31,10 +31,10 @@ function Le(c, C) {
31
31
  d && Ue(a.value, d);
32
32
  }
33
33
  function R(d) {
34
- p({ distance: d }), C("distance-updated", d);
34
+ p({ distance: d }), Q("distance-updated", d);
35
35
  }
36
36
  function y(d) {
37
- p({ locked: d }), C("locked-updated", d);
37
+ p({ locked: d }), Q("locked-updated", d);
38
38
  }
39
39
  return {
40
40
  getProps: I,
@@ -59,7 +59,7 @@ const Fe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAA
59
59
  maxMatchDistance: {}
60
60
  },
61
61
  emits: ["locked-updated", "distance-updated"],
62
- setup(c, { expose: C, emit: a }) {
62
+ setup(c, { expose: Q, emit: a }) {
63
63
  const I = c, i = a, { getProps: r, lockAction: p } = Le(I, i), R = K(
64
64
  () => Math.floor((k(r)?.distance || 0) / 1e3 * 10) / 10
65
65
  ), y = K(() => {
@@ -78,43 +78,43 @@ const Fe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAA
78
78
  }
79
79
  return { color: "#333" };
80
80
  }
81
- return C({ ...p }), (f, u) => (Z(), te("div", Ne, [
81
+ return Q({ ...p }), (f, u) => (Z(), ee("div", Ne, [
82
82
  A(f.$slots, "button", g(b(k(r))), () => [
83
83
  pe("div", {
84
84
  class: "dualsee-lock-button",
85
- style: Ce(y.value),
85
+ style: Qe(y.value),
86
86
  onClick: l
87
87
  }, [
88
- k(r).locked ? (Z(), te("img", {
88
+ k(r).locked ? (Z(), ee("img", {
89
89
  key: 0,
90
90
  class: "dualsee-lock-icon",
91
91
  src: k(Fe)
92
- }, null, 8, Ke)) : (Z(), te("img", {
92
+ }, null, 8, Ke)) : (Z(), ee("img", {
93
93
  key: 1,
94
94
  class: "dualsee-lock-icon",
95
95
  src: k(Je)
96
96
  }, null, 8, Ge))
97
97
  ], 4),
98
98
  A(f.$slots, "distance", g(b(k(r))), () => [
99
- k(r).showDistance ? (Z(), te("div", Ye, [
100
- pe("span", null, "相距 " + Qe(R.value) + " m", 1)
101
- ])) : ne("", !0)
99
+ k(r).showDistance ? (Z(), ee("div", Ye, [
100
+ pe("span", null, "相距 " + Ce(R.value) + " m", 1)
101
+ ])) : se("", !0)
102
102
  ], !0)
103
103
  ], !0)
104
104
  ]));
105
105
  }
106
- }), ke = (c, C) => {
106
+ }), ke = (c, Q) => {
107
107
  const a = c.__vccOpts || c;
108
- for (const [I, i] of C)
108
+ for (const [I, i] of Q)
109
109
  a[I] = i;
110
110
  return a;
111
111
  }, xe = /* @__PURE__ */ ke(He, [["__scopeId", "data-v-9ce35999"]]), { cloneDeep: be, deepMergeProps: ze, getDiffProps: Oe } = de;
112
- function qe(c, C, a, I, i) {
113
- const r = _(be(De)), p = K(() => r.value);
114
- ie(() => be(c), R, { immediate: !0, deep: !0 });
112
+ function qe(c, Q, a, I, i) {
113
+ const r = W(be(De)), p = K(() => r.value);
114
+ re(() => be(c), R, { immediate: !0, deep: !0 });
115
115
  function R(w, J) {
116
- const V = Oe(w, J);
117
- l(V);
116
+ const L = Oe(w, J);
117
+ l(L);
118
118
  }
119
119
  function y() {
120
120
  return p.value;
@@ -123,7 +123,7 @@ function qe(c, C, a, I, i) {
123
123
  w && ze(r.value, w);
124
124
  }
125
125
  function d() {
126
- return C.value;
126
+ return Q.value;
127
127
  }
128
128
  function f() {
129
129
  return a.value;
@@ -146,58 +146,58 @@ function qe(c, C, a, I, i) {
146
146
  }
147
147
  var we = /* @__PURE__ */ ((c) => (c[c.DualseeNoBIMModel = 12e3] = "DualseeNoBIMModel", c))(we || {});
148
148
  const { deepMerge: Te, debounce: Xe } = de;
149
- function Ze(c, C, a) {
150
- const { getState: I, getDualseeLock: i, getBasicRealsee: r, getReferRealsee: p, getReferBimsee: R, setState: y } = C, l = K(() => c.value), d = K(() => r()?.getStore()?.currentPoint), f = K(() => p()?.getStore()?.currentPoint), u = Xe(h, 50);
151
- ie(
149
+ function Ze(c, Q, a) {
150
+ const { getState: I, getDualseeLock: i, getBasicRealsee: r, getReferRealsee: p, getReferBimsee: R, setState: y } = Q, l = K(() => c.value), d = K(() => r()?.getStore()?.currentPoint), f = K(() => p()?.getStore()?.currentPoint), u = Xe(h, 50);
151
+ re(
152
152
  () => d.value?.id,
153
153
  () => u(d.value, f.value)
154
- ), ie(
154
+ ), re(
155
155
  () => f.value?.id,
156
156
  () => u(d.value, f.value)
157
157
  );
158
158
  function h(e, B) {
159
159
  if (!e || !B) return;
160
- const v = r(), Q = p();
161
- if (!v || !Q) return;
160
+ const v = r(), C = p();
161
+ if (!v || !C) return;
162
162
  const { normalizeToModelSpace: E } = v.getStore() || {};
163
163
  B = E?.(B);
164
- const M = e?.position, L = B?.position;
165
- if (!M || !L) return;
166
- const S = he.distXY(M, L), D = i();
167
- D?.setDistance(S);
168
- const { enableMatchPoint: q = !1, maxMatchDistance: O = 5e3 } = c.value.dualseeSetting || {};
169
- if (!q || S > O) {
170
- D?.setState({ locked: !1, distance: S });
164
+ const M = e?.position, D = B?.position;
165
+ if (!M || !D) return;
166
+ const S = he.distXY(M, D), U = i();
167
+ U?.setDistance(S);
168
+ const { enableMatchPoint: O = !1, maxMatchDistance: j = 5e3 } = c.value.dualseeSetting || {};
169
+ if (!O || S > j) {
170
+ U?.setState({ locked: !1, distance: S });
171
171
  return;
172
172
  }
173
- const { yaw: T = 0, pitch: j = 0 } = v.getViewer()?.getPosition() || {};
173
+ const { yaw: T = 0, pitch: X = 0 } = v.getViewer()?.getPosition() || {};
174
174
  (Number(M.yaw) || 0) - (Number(M.yaw) || 0) + T;
175
- const X = { yaw: T, pitch: j };
176
- Q.getViewer()?.rotate(X), Q.getMap()?.setRadarYaw(X.yaw), D?.setState({ locked: !0, distance: S });
175
+ const q = { yaw: T, pitch: X };
176
+ C.getViewer()?.rotate(q), C.getMap()?.setRadarYaw(q.yaw), U?.setState({ locked: !0, distance: S });
177
177
  }
178
178
  function w(e) {
179
179
  const { enableMatchPoint: B } = c.value?.dualseeSetting || {}, v = p();
180
180
  if (v && B) {
181
- const Q = v.getStore(), E = Q?.findClosestPoint?.(e);
182
- E && (Q?.selectPoint?.(E), a("find-refer-realsee-point", E));
181
+ const C = v.getStore(), E = C?.findClosestPoint?.(e);
182
+ E && (C?.selectPoint?.(E), a("find-refer-realsee-point", E));
183
183
  }
184
184
  }
185
185
  function J(e) {
186
- const { point: B, coordinate: v } = e, Q = R();
187
- if (Q) {
188
- const E = r()?.getViewer(), M = Q?.getMasker();
186
+ const { point: B, coordinate: v } = e, C = R();
187
+ if (C) {
188
+ const E = r()?.getViewer(), M = C?.getMasker();
189
189
  if (B && M && E) {
190
- const { yaw: L = 0, pitch: S = 0 } = E?.getPosition() || {}, D = E?.getZoomLevel() || 0, q = { coordinate: v, yaw: L, pitch: S, zoomLevel: D };
191
- M.setReferPoint(B, q), a("find-refer-bimsee-point", B);
190
+ const { yaw: D = 0, pitch: S = 0 } = E?.getPosition() || {}, U = E?.getZoomLevel() || 0, O = { coordinate: v, yaw: D, pitch: S, zoomLevel: U };
191
+ M.setReferPoint(B, O), a("find-refer-bimsee-point", B);
192
192
  }
193
193
  }
194
194
  }
195
- function V() {
195
+ function L() {
196
196
  const e = r();
197
197
  if (e) {
198
- const { searchInfo: B, ...v } = e.getOptions(), { searchInfo: Q, ...E } = c.value?.referRealsee || {}, M = Q ?? B, L = { ...Te(v, E), searchInfo: M }, S = e?.getPlaybar();
198
+ const { searchInfo: B, ...v } = e.getOptions(), { searchInfo: C, ...E } = c.value?.referRealsee || {}, M = C ?? B, D = { ...Te(v, E), searchInfo: M }, S = e?.getPlaybar();
199
199
  S && (S.pause(), S.setState({ showPlay: !1, showSpeed: !1 })), y({
200
- referRealsee: L,
200
+ referRealsee: D,
201
201
  dualseeLockVisible: !0,
202
202
  referRealseeVisible: !0,
203
203
  referBimseeVisible: !1
@@ -213,41 +213,40 @@ function Ze(c, C, a) {
213
213
  });
214
214
  }
215
215
  function H() {
216
- c.value.referRealseeVisible ? G() : V();
216
+ c.value.referRealseeVisible ? G() : L();
217
217
  }
218
218
  async function x() {
219
219
  try {
220
220
  const e = r();
221
221
  if (!e) return;
222
- const { mappedCoordinateTree: B, currentModel: v, currentPoint: Q } = e.getStore(), { referBimsee: E } = c.value;
222
+ const { mappedCoordinateTree: B, currentModel: v, currentPoint: C } = e.getStore(), { referBimsee: E } = c.value;
223
223
  if (!E) return;
224
- const { searchInfo: M, handleCheckModelFn: L } = E || {}, { modelCsId: S } = M || {}, D = S ? B?.findCsById(S) : v?.findClosestModel(Me.BIMModel);
225
- if (!D)
224
+ const { searchInfo: M } = E || {}, { modelCsId: D } = M || {}, S = D ? B?.findCsById(D) : v?.findClosestModel(Me.BIMModel);
225
+ if (!S)
226
226
  throw new Pe(
227
227
  we.DualseeNoBIMModel,
228
- `未找到ID为${S}的BIM模型坐标系`
228
+ `未找到ID为${D}的BIM模型坐标系`
229
229
  );
230
- if (!(await L?.(D) ?? !0)) return;
231
- const O = e.getPlaybar();
232
- O && (O.pause(), O.setState({ showPlay: !1, showSpeed: !1 }));
233
- const { defaultYaw: T, defaultPitch: j, defaultZoomLvl: X } = e.getOptions().viewer || {}, { point: W, coordinate: $ } = Q || {};
234
- if (!W || !$) return;
235
- const ee = {
230
+ const U = e.getPlaybar();
231
+ U && (U.pause(), U.setState({ showPlay: !1, showSpeed: !1 }));
232
+ const { defaultYaw: O, defaultPitch: j, defaultZoomLvl: T } = e.getOptions().viewer || {}, { point: X, coordinate: q } = C || {};
233
+ if (!X || !q) return;
234
+ const $ = {
236
235
  ...E,
237
236
  masker: {
238
- defaultYaw: T,
237
+ defaultYaw: O,
239
238
  defaultPitch: j,
240
- defaultZoomLvl: X,
241
- referPoint: W,
242
- referCoordinate: $
239
+ defaultZoomLvl: T,
240
+ referPoint: X,
241
+ referCoordinate: q
243
242
  },
244
243
  searchInfo: {
245
- projectId: D.projectId || 0,
246
- modelCsId: D.id
244
+ projectId: S.projectId || 0,
245
+ modelCsId: S.id
247
246
  }
248
247
  };
249
248
  y({
250
- referBimsee: ee,
249
+ referBimsee: $,
251
250
  dualseeLockVisible: !0,
252
251
  referBimseeVisible: !0,
253
252
  referRealseeVisible: !1
@@ -277,7 +276,7 @@ function Ze(c, C, a) {
277
276
  getReferRealsee: p,
278
277
  getReferBimsee: R,
279
278
  toggleReferRealsee: H,
280
- showReferRealsee: V,
279
+ showReferRealsee: L,
281
280
  hideReferRealsee: G,
282
281
  toggleReferBimsee: s,
283
282
  showReferBimsee: x,
@@ -287,8 +286,8 @@ function Ze(c, C, a) {
287
286
  }
288
287
  };
289
288
  }
290
- function je(c, C, a) {
291
- const { getReferBimsee: I } = C, i = K(() => {
289
+ function je(c, Q, a) {
290
+ const { getReferBimsee: I } = Q, i = K(() => {
292
291
  const { dualseeLock: l, dualseeSetting: d } = c.value, { maxMatchDistance: f, enableMatchPoint: u } = d || {};
293
292
  return { ...l, maxMatchDistance: f, enableMatchPoint: u };
294
293
  });
@@ -313,7 +312,7 @@ function je(c, C, a) {
313
312
  }
314
313
  };
315
314
  }
316
- function We(c, C, a) {
315
+ function We(c, Q, a) {
317
316
  const {
318
317
  getDualseeLock: I,
319
318
  getBasicRealsee: i,
@@ -321,7 +320,7 @@ function We(c, C, a) {
321
320
  getReferBimsee: p,
322
321
  setReferRealseePoint: R,
323
322
  setReferBimseePoint: y
324
- } = C || {}, l = K(() => {
323
+ } = Q || {}, l = K(() => {
325
324
  const { appSetting: t, basicRealsee: P } = c.value;
326
325
  return { ...P, appSetting: t };
327
326
  });
@@ -335,7 +334,7 @@ function We(c, C, a) {
335
334
  a("basic-change-record", t);
336
335
  }
337
336
  function h(t) {
338
- $(), a("basic-change-point", t);
337
+ ne(), a("basic-change-point", t);
339
338
  }
340
339
  function w() {
341
340
  a("basic-map-ready");
@@ -343,7 +342,7 @@ function We(c, C, a) {
343
342
  function J() {
344
343
  a("basic-map-resize");
345
344
  }
346
- function V(t) {
345
+ function L(t) {
347
346
  a("basic-map-collapse", t);
348
347
  }
349
348
  function G() {
@@ -362,7 +361,7 @@ function We(c, C, a) {
362
361
  a("basic-viewer-click", t);
363
362
  }
364
363
  function z(t) {
365
- ee(), a("basic-viewer-mousedown", t);
364
+ ie(), a("basic-viewer-mousedown", t);
366
365
  }
367
366
  function e(t) {
368
367
  ce(t), a("basic-viewer-zoom-updated", t);
@@ -373,7 +372,7 @@ function We(c, C, a) {
373
372
  function v(t) {
374
373
  a("basic-viewer-panorama-loaded", t);
375
374
  }
376
- function Q(t) {
375
+ function C(t) {
377
376
  a("basic-viewer-select-point", t);
378
377
  }
379
378
  function E(t) {
@@ -382,67 +381,67 @@ function We(c, C, a) {
382
381
  function M() {
383
382
  a("basic-playbar-ready");
384
383
  }
385
- function L(t) {
384
+ function D(t) {
386
385
  a("basic-playbar-backward", t);
387
386
  }
388
387
  function S(t) {
389
388
  a("basic-playbar-pause", t);
390
389
  }
391
- function D(t) {
390
+ function U(t) {
392
391
  a("basic-playbar-play", t);
393
392
  }
394
- function q(t) {
393
+ function O(t) {
395
394
  a("basic-playbar-forward", t);
396
395
  }
397
- function O(t) {
396
+ function j(t) {
398
397
  a("basic-playbar-slider", t);
399
398
  }
400
399
  function T(t) {
401
400
  a("basic-playbar-select-point", t);
402
401
  }
403
- function j(t) {
402
+ function X(t) {
404
403
  a("basic-playbar-speed-updated", t);
405
404
  }
406
- function X(t) {
405
+ function q(t) {
407
406
  a("basic-playbar-delay-updated", t);
408
407
  }
409
- function W(t) {
408
+ function $(t) {
410
409
  a("basic-playbar-step-updated", t);
411
410
  }
412
- async function $(t) {
411
+ async function ne(t) {
413
412
  const { currentPoint: P } = i()?.getStore() || {};
414
413
  P && (await Be(), R?.(P), y?.(P));
415
414
  }
416
- function ee(t) {
415
+ function ie(t) {
417
416
  i?.()?.getViewer?.()?.setMousedown(!0), r?.()?.getViewer?.()?.setMousedown(!1), p?.()?.getMasker?.()?.setMousedown(!1);
418
417
  }
419
418
  function ce(t) {
420
419
  if (!I()?.getState()?.locked) return;
421
420
  const Y = r?.();
422
421
  if (Y) {
423
- const F = Y?.getViewer?.(), U = F?.isMouseover();
424
- F && !U && F?.zoom(t.zoomLevel);
422
+ const F = Y?.getViewer?.(), V = F?.isMouseover();
423
+ F && !V && F?.zoom(t.zoomLevel);
425
424
  }
426
425
  const N = p?.();
427
426
  if (N) {
428
- const F = N?.getMasker(), U = F?.isMouseover();
429
- F && !U && F.zoom(t.zoomLevel);
427
+ const F = N?.getMasker(), V = F?.isMouseover();
428
+ F && !V && F.zoom(t.zoomLevel);
430
429
  }
431
430
  }
432
431
  function ue(t, P) {
433
432
  if (!I()?.getState()?.locked) return;
434
433
  const N = r?.();
435
434
  if (N) {
436
- const U = N?.getViewer(), ae = i()?.getViewer()?.isMousedown();
437
- if (U && ae) {
438
- const oe = U.getPosition(), ye = oe.yaw + P.yaw, Ee = oe.pitch + P.pitch;
439
- U.rotate({ yaw: ye, pitch: Ee });
435
+ const V = N?.getViewer(), _ = i()?.getViewer()?.isMousedown();
436
+ if (V && _) {
437
+ const ae = V.getPosition(), ye = ae.yaw + P.yaw, Ee = ae.pitch + P.pitch;
438
+ V.rotate({ yaw: ye, pitch: Ee });
440
439
  }
441
440
  }
442
441
  const F = p?.();
443
442
  if (F) {
444
- const U = F?.getMasker(), ae = i()?.getViewer()?.isMousedown();
445
- U && ae && U.rotate(t.position);
443
+ const V = F?.getMasker(), _ = i()?.getViewer()?.isMousedown();
444
+ V && _ && V.rotate(t.position);
446
445
  }
447
446
  }
448
447
  return {
@@ -454,7 +453,7 @@ function We(c, C, a) {
454
453
  changePoint: h,
455
454
  mapReady: w,
456
455
  mapResize: J,
457
- mapCollapse: V,
456
+ mapCollapse: L,
458
457
  mapDragger: G,
459
458
  mapSelectPoint: H,
460
459
  mapAngleUpdated: x,
@@ -464,34 +463,34 @@ function We(c, C, a) {
464
463
  viewerZoomUpdated: e,
465
464
  viewerPositionUpdated: B,
466
465
  viewerPanoramaLoaded: v,
467
- viewerSelectPoint: Q,
466
+ viewerSelectPoint: C,
468
467
  viewerSelectMarker: E,
469
468
  playbarReady: M,
470
- playbarBackward: L,
469
+ playbarBackward: D,
471
470
  playbarPause: S,
472
- playbarPlay: D,
473
- playbarForward: q,
474
- playbarSlider: O,
471
+ playbarPlay: U,
472
+ playbarForward: O,
473
+ playbarSlider: j,
475
474
  playbarSelectPoint: T,
476
- playbarSpeedUpdated: j,
477
- playbarDelayUpdated: X,
478
- playbarStepUpdated: W
475
+ playbarSpeedUpdated: X,
476
+ playbarDelayUpdated: q,
477
+ playbarStepUpdated: $
479
478
  }
480
479
  };
481
480
  }
482
- function $e(c, C, a) {
483
- const { getDualseeLock: I, getBasicRealsee: i, getReferRealsee: r, setReferRealseePoint: p } = C || {}, R = K(() => {
481
+ function $e(c, Q, a) {
482
+ const { getDualseeLock: I, getBasicRealsee: i, getReferRealsee: r, setReferRealseePoint: p } = Q || {}, R = K(() => {
484
483
  const { appSetting: o, referRealsee: t } = c.value;
485
484
  return { ...t, appSetting: o };
486
485
  });
487
486
  function y() {
488
- X(), a("refer-ready");
487
+ q(), a("refer-ready");
489
488
  }
490
489
  function l(o) {
491
490
  a("refer-change-model", o);
492
491
  }
493
492
  function d(o) {
494
- W(), a("refer-change-record", o);
493
+ $(), a("refer-change-record", o);
495
494
  }
496
495
  function f(o) {
497
496
  a("refer-change-point", o);
@@ -508,7 +507,7 @@ function $e(c, C, a) {
508
507
  function J() {
509
508
  a("refer-map-dragger");
510
509
  }
511
- function V(o) {
510
+ function L(o) {
512
511
  a("refer-map-select-point", o);
513
512
  }
514
513
  function G(o) {
@@ -521,10 +520,10 @@ function $e(c, C, a) {
521
520
  a("refer-viewer-click", o);
522
521
  }
523
522
  function n(o) {
524
- $(), a("refer-viewer-mousedown", o);
523
+ ne(), a("refer-viewer-mousedown", o);
525
524
  }
526
525
  function s(o) {
527
- ee(o), a("refer-viewer-zoom-updated", o);
526
+ ie(o), a("refer-viewer-zoom-updated", o);
528
527
  }
529
528
  function z(o, t) {
530
529
  ce(o, t), a("refer-viewer-position-updated", o);
@@ -538,7 +537,7 @@ function $e(c, C, a) {
538
537
  function v(o) {
539
538
  a("refer-viewer-select-marker", o);
540
539
  }
541
- function Q() {
540
+ function C() {
542
541
  a("refer-playbar-ready");
543
542
  }
544
543
  function E(o) {
@@ -547,39 +546,39 @@ function $e(c, C, a) {
547
546
  function M(o) {
548
547
  a("refer-playbar-pause", o);
549
548
  }
550
- function L(o) {
549
+ function D(o) {
551
550
  a("refer-playbar-play", o);
552
551
  }
553
552
  function S(o) {
554
553
  a("refer-playbar-forward", o);
555
554
  }
556
- function D(o) {
555
+ function U(o) {
557
556
  a("refer-playbar-slider", o);
558
557
  }
559
- function q(o) {
558
+ function O(o) {
560
559
  a("refer-playbar-select-point", o);
561
560
  }
562
- function O(o) {
561
+ function j(o) {
563
562
  a("refer-playbar-speed-updated", o);
564
563
  }
565
564
  function T(o) {
566
565
  a("refer-playbar-delay-updated", o);
567
566
  }
568
- function j(o) {
567
+ function X(o) {
569
568
  a("refer-playbar-step-updated", o);
570
569
  }
571
- function X() {
570
+ function q() {
572
571
  const o = I();
573
572
  o && o.setState({ showDistance: !0 });
574
573
  }
575
- async function W(o) {
574
+ async function $(o) {
576
575
  const { currentPoint: t } = i()?.getStore() || {};
577
576
  t && (await Be(), p?.(t));
578
577
  }
579
- function $(o) {
578
+ function ne(o) {
580
579
  i?.()?.getViewer?.()?.setMousedown(!1), r?.()?.getViewer?.()?.setMousedown(!0);
581
580
  }
582
- function ee(o) {
581
+ function ie(o) {
583
582
  if (!I()?.getState()?.locked) return;
584
583
  const P = i?.();
585
584
  if (P) {
@@ -593,8 +592,8 @@ function $e(c, C, a) {
593
592
  if (Y) {
594
593
  const N = Y?.getViewer(), F = r()?.getViewer()?.isMousedown();
595
594
  if (N && F) {
596
- const U = N.getPosition(), ae = U.yaw + t.yaw, oe = U.pitch + t.pitch;
597
- N.rotate({ yaw: ae, pitch: oe });
595
+ const V = N.getPosition(), _ = V.yaw + t.yaw, ae = V.pitch + t.pitch;
596
+ N.rotate({ yaw: _, pitch: ae });
598
597
  }
599
598
  }
600
599
  }
@@ -609,7 +608,7 @@ function $e(c, C, a) {
609
608
  mapResize: h,
610
609
  mapCollapse: w,
611
610
  mapDragger: J,
612
- mapSelectPoint: V,
611
+ mapSelectPoint: L,
613
612
  mapAngleUpdated: G,
614
613
  viewerReady: H,
615
614
  viewerClick: x,
@@ -619,21 +618,21 @@ function $e(c, C, a) {
619
618
  viewerPanoramaLoaded: e,
620
619
  viewerSelectPoint: B,
621
620
  viewerSelectMarker: v,
622
- playbarReady: Q,
621
+ playbarReady: C,
623
622
  playbarBackward: E,
624
623
  playbarPause: M,
625
- playbarPlay: L,
624
+ playbarPlay: D,
626
625
  playbarForward: S,
627
- playbarSlider: D,
628
- playbarSelectPoint: q,
629
- playbarSpeedUpdated: O,
626
+ playbarSlider: U,
627
+ playbarSelectPoint: O,
628
+ playbarSpeedUpdated: j,
630
629
  playbarDelayUpdated: T,
631
- playbarStepUpdated: j
630
+ playbarStepUpdated: X
632
631
  }
633
632
  };
634
633
  }
635
- function _e(c, C, a) {
636
- const { getDualseeLock: I, getBasicRealsee: i, getReferBimsee: r } = C || {}, p = K(() => {
634
+ function _e(c, Q, a) {
635
+ const { getDualseeLock: I, getBasicRealsee: i, getReferBimsee: r } = Q || {}, p = K(() => {
637
636
  const { appSetting: n, referBimsee: s } = c.value;
638
637
  return { ...s, appSetting: n };
639
638
  });
@@ -650,7 +649,7 @@ function _e(c, C, a) {
650
649
  a("bimsee-masker-click", n);
651
650
  }
652
651
  function f(n) {
653
- V(), a("bimsee-masker-mousedown", n);
652
+ L(), a("bimsee-masker-mousedown", n);
654
653
  }
655
654
  function u(n) {
656
655
  G(n), a("bimsee-masker-zoom-updated", n);
@@ -665,7 +664,7 @@ function _e(c, C, a) {
665
664
  const n = I();
666
665
  n && n.setState({ showDistance: !1 });
667
666
  }
668
- function V(n) {
667
+ function L(n) {
669
668
  i?.()?.getViewer?.()?.setMousedown(!1), r?.()?.getMasker?.()?.setMousedown(!0);
670
669
  }
671
670
  function G(n) {
@@ -682,7 +681,7 @@ function _e(c, C, a) {
682
681
  if (e) {
683
682
  const B = e?.getViewer(), v = r()?.getMasker()?.isMousedown();
684
683
  if (B && v) {
685
- const Q = B.getPosition(), E = Q.yaw + s.yaw, M = Q.pitch + s.pitch;
684
+ const C = B.getPosition(), E = C.yaw + s.yaw, M = C.pitch + s.pitch;
686
685
  B.rotate({ yaw: E, pitch: M });
687
686
  }
688
687
  }
@@ -785,20 +784,20 @@ const ea = { class: "vsleem-dualsee" }, aa = /* @__PURE__ */ Ie({
785
784
  "bimsee-masker-position-updated",
786
785
  "bimsee-masker-point-loaded"
787
786
  ],
788
- setup(c, { expose: C, emit: a }) {
789
- const I = c, i = a, r = _(), p = _(), R = _(), y = _(), { getProps: l, ...d } = qe(
787
+ setup(c, { expose: Q, emit: a }) {
788
+ const I = c, i = a, r = W(), p = W(), R = W(), y = W(), { getProps: l, ...d } = qe(
790
789
  I,
791
790
  r,
792
791
  p,
793
792
  R,
794
793
  y
795
- ), { getBindValue: f, dualseeAction: u } = Ze(l, d, i), { getLockProps: h, lockEvents: w } = je(l, u, i), { getBasicProps: J, basicEvents: V } = We(l, u, i), { getReferProps: G, referEvents: H } = $e(l, u, i), { getBimseeProps: x, bimseeEvents: n } = _e(l, u, i);
796
- return C({ ...u }), (s, z) => (Z(), te("div", ea, [
797
- k(l).dualseeLockVisible ? (Z(), le(xe, se({
794
+ ), { getBindValue: f, dualseeAction: u } = Ze(l, d, i), { getLockProps: h, lockEvents: w } = je(l, u, i), { getBasicProps: J, basicEvents: L } = We(l, u, i), { getReferProps: G, referEvents: H } = $e(l, u, i), { getBimseeProps: x, bimseeEvents: n } = _e(l, u, i);
795
+ return Q({ ...u }), (s, z) => (Z(), ee("div", ea, [
796
+ k(l).dualseeLockVisible ? (Z(), le(xe, te({
798
797
  key: 0,
799
798
  ref_key: "dualseeLockElRef",
800
799
  ref: r
801
- }, k(h), re(k(w))), {
800
+ }, k(h), oe(k(w))), {
802
801
  button: m((e) => [
803
802
  A(s.$slots, "lockButton", g(b(e)), void 0, !0)
804
803
  ]),
@@ -806,11 +805,11 @@ const ea = { class: "vsleem-dualsee" }, aa = /* @__PURE__ */ Ie({
806
805
  A(s.$slots, "lockDistance", g(b(e)), void 0, !0)
807
806
  ]),
808
807
  _: 3
809
- }, 16)) : ne("", !0),
810
- Re(k(Ae), se({
808
+ }, 16)) : se("", !0),
809
+ Re(k(Ae), te({
811
810
  ref_key: "basicRealseeElRef",
812
811
  ref: p
813
- }, k(J), re(k(V))), {
812
+ }, k(J), oe(k(L))), {
814
813
  default: m((e) => [
815
814
  A(s.$slots, "basicDefault", g(b(e)), void 0, !0)
816
815
  ]),
@@ -843,11 +842,11 @@ const ea = { class: "vsleem-dualsee" }, aa = /* @__PURE__ */ Ie({
843
842
  ]),
844
843
  _: 3
845
844
  }, 16),
846
- k(l).referRealseeVisible ? (Z(), le(k(Ae), se({
845
+ k(l).referRealseeVisible ? (Z(), le(k(Ae), te({
847
846
  key: 1,
848
847
  ref_key: "referRealseeElRef",
849
848
  ref: R
850
- }, k(G), re(k(H))), {
849
+ }, k(G), oe(k(H))), {
851
850
  default: m((e) => [
852
851
  A(s.$slots, "referDefault", g(b(e)), void 0, !0)
853
852
  ]),
@@ -879,12 +878,12 @@ const ea = { class: "vsleem-dualsee" }, aa = /* @__PURE__ */ Ie({
879
878
  A(s.$slots, "referPlaybarSlider", g(b(e)), void 0, !0)
880
879
  ]),
881
880
  _: 3
882
- }, 16)) : ne("", !0),
883
- k(l).referBimseeVisible ? (Z(), le(k(ve), se({
881
+ }, 16)) : se("", !0),
882
+ k(l).referBimseeVisible ? (Z(), le(k(ve), te({
884
883
  key: 2,
885
884
  ref_key: "referBimseeElRef",
886
885
  ref: y
887
- }, k(x), re(k(n))), {
886
+ }, k(x), oe(k(n))), {
888
887
  default: m((e) => [
889
888
  A(s.$slots, "bimseeDefault", g(b(e)), void 0, !0)
890
889
  ]),
@@ -892,7 +891,7 @@ const ea = { class: "vsleem-dualsee" }, aa = /* @__PURE__ */ Ie({
892
891
  A(s.$slots, "bimseeMasker", g(b(e)), void 0, !0)
893
892
  ]),
894
893
  _: 3
895
- }, 16)) : ne("", !0),
894
+ }, 16)) : se("", !0),
896
895
  A(s.$slots, "default", g(b(k(f))), void 0, !0)
897
896
  ]));
898
897
  }
@@ -900,6 +899,7 @@ const ea = { class: "vsleem-dualsee" }, aa = /* @__PURE__ */ Ie({
900
899
  export {
901
900
  De as DUALSEE_CONFIG,
902
901
  me as DUALSEE_SETTING,
902
+ we as DualseeErrorCode,
903
903
  na as DualseePlugin,
904
904
  fe as LOCK_CONFIG,
905
905
  na as default
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@vsleem-realsee-viewer/realsee-plugin"),require("@vsleem-realsee-viewer/bimsee-plugin"),require("@vsleem-realsee-viewer/shared")):typeof define=="function"&&define.amd?define(["exports","vue","@vsleem-realsee-viewer/realsee-plugin","@vsleem-realsee-viewer/bimsee-plugin","@vsleem-realsee-viewer/shared"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P.DualseePlugin={},P.Vue,P.VSLeemRealseePlugin,P.VSLeemBimseePlugin,P.VSLeemShared))})(this,(function(P,e,te,le,q){"use strict";const v={locked:!0,distance:0,showDistance:!0},_={enableMatchPoint:!0,maxMatchDistance:5e3},ae={appSetting:q.APP_SETTING,dualseeSetting:_,dualseeLock:v,dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1},{cloneDeep:re,deepMergeProps:de,getDiffProps:fe}=q.utils;function pe(l,w){const a=e.ref(re(v)),A=e.computed(()=>a.value);e.watch(()=>re(l),c,{immediate:!0,deep:!0});function c(f,p){const g=fe(f,p);u(g)}function n(){return A.value}function u(f){f&&de(a.value,f)}function C(f){u({distance:f}),w("distance-updated",f)}function B(f){u({locked:f}),w("locked-updated",f)}return{getProps:A,lockAction:{getState:n,setState:u,setDistance:C,setLocked:B}}}const ge="data:image/png;base64,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",ue="data:image/png;base64,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",Ae={class:"vsleem-dualsee-lock"},me=["src"],be=["src"],Be={key:0,class:"dualsee-lock-distance"},Ie=e.defineComponent({__name:"Lock",props:{locked:{type:Boolean},distance:{},showDistance:{type:Boolean},enableMatchPoint:{type:Boolean},maxMatchDistance:{}},emits:["locked-updated","distance-updated"],setup(l,{expose:w,emit:a}){const A=l,c=a,{getProps:n,lockAction:u}=pe(A,c),C=e.computed(()=>Math.floor((e.unref(n)?.distance||0)/1e3*10)/10),B=e.computed(()=>{const{locked:p=!1,distance:g=0}=e.unref(n);return f(p,g)});function d(){const{locked:p=!1}=e.unref(n);u.setLocked(!p)}function f(p,g){if(p){const E=(A.maxMatchDistance??5e3)/5;let b;return g<=E?b="#54b168":g<=E*2?b="#CBDE3C":g<=E*3?b="#DEC53C":g<=E*4?b="#DE5B3C":g<=E*5?b="#FA1212":b="#666",{backgroundColor:b,color:"#fff"}}return{color:"#333"}}return w({...u}),(p,g)=>(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(p.$slots,"button",e.normalizeProps(e.guardReactiveProps(e.unref(n))),()=>[e.createElementVNode("div",{class:"dualsee-lock-button",style:e.normalizeStyle(B.value),onClick:d},[e.unref(n).locked?(e.openBlock(),e.createElementBlock("img",{key:0,class:"dualsee-lock-icon",src:e.unref(ge)},null,8,me)):(e.openBlock(),e.createElementBlock("img",{key:1,class:"dualsee-lock-icon",src:e.unref(ue)},null,8,be))],4),e.renderSlot(p.$slots,"distance",e.normalizeProps(e.guardReactiveProps(e.unref(n))),()=>[e.unref(n).showDistance?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("span",null,"相距 "+e.toDisplayString(C.value)+" m",1)])):e.createCommentVNode("",!0)],!0)],!0)]))}}),oe=(l,w)=>{const a=l.__vccOpts||l;for(const[A,c]of w)a[A]=c;return a},we=oe(Ie,[["__scopeId","data-v-9ce35999"]]),{cloneDeep:se,deepMergeProps:ke,getDiffProps:Ce}=q.utils;function Re(l,w,a,A,c){const n=e.ref(se(ae)),u=e.computed(()=>n.value);e.watch(()=>se(l),C,{immediate:!0,deep:!0});function C(b,L){const D=Ce(b,L);d(D)}function B(){return u.value}function d(b){b&&ke(n.value,b)}function f(){return w.value}function p(){return a.value}function g(){return A.value}function E(){return c.value}return{getProps:u,getState:B,setState:d,getDualseeLock:f,getBasicRealsee:p,getReferRealsee:g,getReferBimsee:E}}var ne=(l=>(l[l.DualseeNoBIMModel=12e3]="DualseeNoBIMModel",l))(ne||{});const{deepMerge:ye,debounce:Ee}=q.utils;function Qe(l,w,a){const{getState:A,getDualseeLock:c,getBasicRealsee:n,getReferRealsee:u,getReferBimsee:C,setState:B}=w,d=e.computed(()=>l.value),f=e.computed(()=>n()?.getStore()?.currentPoint),p=e.computed(()=>u()?.getStore()?.currentPoint),g=Ee(E,50);e.watch(()=>f.value?.id,()=>g(f.value,p.value)),e.watch(()=>p.value?.id,()=>g(f.value,p.value));function E(t,m){if(!t||!m)return;const R=n(),k=u();if(!R||!k)return;const{normalizeToModelSpace:I}=R.getStore()||{};m=I?.(m);const Q=t?.position,U=m?.position;if(!Q||!U)return;const y=q.Point.distXY(Q,U),h=c();h?.setDistance(y);const{enableMatchPoint:H=!1,maxMatchDistance:G=5e3}=l.value.dualseeSetting||{};if(!H||y>G){h?.setState({locked:!1,distance:y});return}const{yaw:Y=0,pitch:T=0}=R.getViewer()?.getPosition()||{};(Number(Q.yaw)||0)-(Number(Q.yaw)||0)+Y;const O={yaw:Y,pitch:T};k.getViewer()?.rotate(O),k.getMap()?.setRadarYaw(O.yaw),h?.setState({locked:!0,distance:y})}function b(t){const{enableMatchPoint:m}=l.value?.dualseeSetting||{},R=u();if(R&&m){const k=R.getStore(),I=k?.findClosestPoint?.(t);I&&(k?.selectPoint?.(I),a("find-refer-realsee-point",I))}}function L(t){const{point:m,coordinate:R}=t,k=C();if(k){const I=n()?.getViewer(),Q=k?.getMasker();if(m&&Q&&I){const{yaw:U=0,pitch:y=0}=I?.getPosition()||{},h=I?.getZoomLevel()||0,H={coordinate:R,yaw:U,pitch:y,zoomLevel:h};Q.setReferPoint(m,H),a("find-refer-bimsee-point",m)}}}function D(){const t=n();if(t){const{searchInfo:m,...R}=t.getOptions(),{searchInfo:k,...I}=l.value?.referRealsee||{},Q=k??m,U={...ye(R,I),searchInfo:Q},y=t?.getPlaybar();y&&(y.pause(),y.setState({showPlay:!1,showSpeed:!1})),B({referRealsee:U,dualseeLockVisible:!0,referRealseeVisible:!0,referBimseeVisible:!1})}}function x(){const t=n()?.getPlaybar();t&&(t.pause(),t.setState({showPlay:!0,showSpeed:!0})),B({dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1})}function N(){l.value.referRealseeVisible?x():D()}async function J(){try{const t=n();if(!t)return;const{mappedCoordinateTree:m,currentModel:R,currentPoint:k}=t.getStore(),{referBimsee:I}=l.value;if(!I)return;const{searchInfo:Q,handleCheckModelFn:U}=I||{},{modelCsId:y}=Q||{},h=y?m?.findCsById(y):R?.findClosestModel(q.CoordinateModelType.BIMModel);if(!h)throw new q.AppError(ne.DualseeNoBIMModel,`未找到ID为${y}的BIM模型坐标系`);if(!(await U?.(h)??!0))return;const G=t.getPlaybar();G&&(G.pause(),G.setState({showPlay:!1,showSpeed:!1}));const{defaultYaw:Y,defaultPitch:T,defaultZoomLvl:O}=t.getOptions().viewer||{},{point:X,coordinate:Z}=k||{};if(!X||!Z)return;const j={...I,masker:{defaultYaw:Y,defaultPitch:T,defaultZoomLvl:O,referPoint:X,referCoordinate:Z},searchInfo:{projectId:h.projectId||0,modelCsId:h.id}};B({referBimsee:j,dualseeLockVisible:!0,referBimseeVisible:!0,referRealseeVisible:!1})}catch(t){console.error("显示BIMSEE参考模型失败:",t),l.value?.referBimsee?.fetchError?.(t)}}function i(){const t=n()?.getPlaybar();t&&(t.pause(),t.setState({showPlay:!0,showSpeed:!0})),B({dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1})}function s(){l.value.referBimseeVisible?i():J()}return{getBindValue:d,dualseeAction:{getState:A,setState:B,getDualseeLock:c,getBasicRealsee:n,getReferRealsee:u,getReferBimsee:C,toggleReferRealsee:N,showReferRealsee:D,hideReferRealsee:x,toggleReferBimsee:s,showReferBimsee:J,hideReferBimsee:i,setReferRealseePoint:b,setReferBimseePoint:L}}}function Se(l,w,a){const{getReferBimsee:A}=w,c=e.computed(()=>{const{dualseeLock:d,dualseeSetting:f}=l.value,{maxMatchDistance:p,enableMatchPoint:g}=f||{};return{...d,maxMatchDistance:p,enableMatchPoint:g}});function n(d){C(d),a("lock-locked-updated",d)}function u(d){a("lock-distance-updated",d)}function C(d){const f=A();if(f){const p=f?.getMasker?.();p&&p.setState({visible:d})}}return{getLockProps:c,lockEvents:{lockedUpdated:n,distanceUpdated:u}}}function Pe(l,w,a){const{getDualseeLock:A,getBasicRealsee:c,getReferRealsee:n,getReferBimsee:u,setReferRealseePoint:C,setReferBimseePoint:B}=w||{},d=e.computed(()=>{const{appSetting:r,basicRealsee:S}=l.value;return{...S,appSetting:r}});function f(){a("basic-ready")}function p(r){a("basic-change-model",r)}function g(r){a("basic-change-record",r)}function E(r){Z(),a("basic-change-point",r)}function b(){a("basic-map-ready")}function L(){a("basic-map-resize")}function D(r){a("basic-map-collapse",r)}function x(){a("basic-map-dragger")}function N(r){a("basic-map-select-point",r)}function J(r){a("basic-map-angle-updated",r)}function i(){a("basic-viewer-ready")}function s(r){a("basic-viewer-click",r)}function K(r){j(),a("basic-viewer-mousedown",r)}function t(r){ee(r),a("basic-viewer-zoom-updated",r)}function m(r,S){ce(r,S),a("basic-viewer-position-updated",r)}function R(r){a("basic-viewer-panorama-loaded",r)}function k(r){a("basic-viewer-select-point",r)}function I(r){a("basic-viewer-select-marker",r)}function Q(){a("basic-playbar-ready")}function U(r){a("basic-playbar-backward",r)}function y(r){a("basic-playbar-pause",r)}function h(r){a("basic-playbar-play",r)}function H(r){a("basic-playbar-forward",r)}function G(r){a("basic-playbar-slider",r)}function Y(r){a("basic-playbar-select-point",r)}function T(r){a("basic-playbar-speed-updated",r)}function O(r){a("basic-playbar-delay-updated",r)}function X(r){a("basic-playbar-step-updated",r)}async function Z(r){const{currentPoint:S}=c()?.getStore()||{};S&&(await e.nextTick(),C?.(S),B?.(S))}function j(r){c?.()?.getViewer?.()?.setMousedown(!0),n?.()?.getViewer?.()?.setMousedown(!1),u?.()?.getMasker?.()?.setMousedown(!1)}function ee(r){if(!A()?.getState()?.locked)return;const F=n?.();if(F){const V=F?.getViewer?.(),M=V?.isMouseover();V&&!M&&V?.zoom(r.zoomLevel)}const z=u?.();if(z){const V=z?.getMasker(),M=V?.isMouseover();V&&!M&&V.zoom(r.zoomLevel)}}function ce(r,S){if(!A()?.getState()?.locked)return;const z=n?.();if(z){const M=z?.getViewer(),W=c()?.getViewer()?.isMousedown();if(M&&W){const $=M.getPosition(),Ue=$.yaw+S.yaw,Ve=$.pitch+S.pitch;M.rotate({yaw:Ue,pitch:Ve})}}const V=u?.();if(V){const M=V?.getMasker(),W=c()?.getViewer()?.isMousedown();M&&W&&M.rotate(r.position)}}return{getBasicProps:d,basicEvents:{ready:f,changeModel:p,changeRecord:g,changePoint:E,mapReady:b,mapResize:L,mapCollapse:D,mapDragger:x,mapSelectPoint:N,mapAngleUpdated:J,viewerReady:i,viewerClick:s,viewerMousedown:K,viewerZoomUpdated:t,viewerPositionUpdated:m,viewerPanoramaLoaded:R,viewerSelectPoint:k,viewerSelectMarker:I,playbarReady:Q,playbarBackward:U,playbarPause:y,playbarPlay:h,playbarForward:H,playbarSlider:G,playbarSelectPoint:Y,playbarSpeedUpdated:T,playbarDelayUpdated:O,playbarStepUpdated:X}}}function he(l,w,a){const{getDualseeLock:A,getBasicRealsee:c,getReferRealsee:n,setReferRealseePoint:u}=w||{},C=e.computed(()=>{const{appSetting:o,referRealsee:r}=l.value;return{...r,appSetting:o}});function B(){O(),a("refer-ready")}function d(o){a("refer-change-model",o)}function f(o){X(),a("refer-change-record",o)}function p(o){a("refer-change-point",o)}function g(){a("refer-map-ready")}function E(){a("refer-map-resize")}function b(o){a("refer-map-collapse",o)}function L(){a("refer-map-dragger")}function D(o){a("refer-map-select-point",o)}function x(o){a("refer-map-angle-updated",o)}function N(){a("refer-viewer-ready")}function J(o){a("refer-viewer-click",o)}function i(o){Z(),a("refer-viewer-mousedown",o)}function s(o){j(o),a("refer-viewer-zoom-updated",o)}function K(o,r){ee(o,r),a("refer-viewer-position-updated",o)}function t(o){a("basic-viewer-panorama-loaded",o)}function m(o){a("refer-viewer-select-point",o)}function R(o){a("refer-viewer-select-marker",o)}function k(){a("refer-playbar-ready")}function I(o){a("refer-playbar-backward",o)}function Q(o){a("refer-playbar-pause",o)}function U(o){a("refer-playbar-play",o)}function y(o){a("refer-playbar-forward",o)}function h(o){a("refer-playbar-slider",o)}function H(o){a("refer-playbar-select-point",o)}function G(o){a("refer-playbar-speed-updated",o)}function Y(o){a("refer-playbar-delay-updated",o)}function T(o){a("refer-playbar-step-updated",o)}function O(){const o=A();o&&o.setState({showDistance:!0})}async function X(o){const{currentPoint:r}=c()?.getStore()||{};r&&(await e.nextTick(),u?.(r))}function Z(o){c?.()?.getViewer?.()?.setMousedown(!1),n?.()?.getViewer?.()?.setMousedown(!0)}function j(o){if(!A()?.getState()?.locked)return;const S=c?.();if(S){const F=S?.getViewer(),z=F?.isMouseover();F&&!z&&F.zoom(o.zoomLevel)}}function ee(o,r){if(!A()?.getState()?.locked)return;const F=c?.();if(F){const z=F?.getViewer(),V=n()?.getViewer()?.isMousedown();if(z&&V){const M=z.getPosition(),W=M.yaw+r.yaw,$=M.pitch+r.pitch;z.rotate({yaw:W,pitch:$})}}}return{getReferProps:C,referEvents:{ready:B,changeModel:d,changeRecord:f,changePoint:p,mapReady:g,mapResize:E,mapCollapse:b,mapDragger:L,mapSelectPoint:D,mapAngleUpdated:x,viewerReady:N,viewerClick:J,viewerMousedown:i,viewerZoomUpdated:s,viewerPositionUpdated:K,viewerPanoramaLoaded:t,viewerSelectPoint:m,viewerSelectMarker:R,playbarReady:k,playbarBackward:I,playbarPause:Q,playbarPlay:U,playbarForward:y,playbarSlider:h,playbarSelectPoint:H,playbarSpeedUpdated:G,playbarDelayUpdated:Y,playbarStepUpdated:T}}}function Me(l,w,a){const{getDualseeLock:A,getBasicRealsee:c,getReferBimsee:n}=w||{},u=e.computed(()=>{const{appSetting:i,referBimsee:s}=l.value;return{...s,appSetting:i}});function C(){L(),a("bimsee-ready")}function B(i){a("bimsee-change-model",i)}function d(i){a("bimsee-masker-ready",i)}function f(i){a("bimsee-masker-click",i)}function p(i){D(),a("bimsee-masker-mousedown",i)}function g(i){x(i),a("bimsee-masker-zoom-updated",i)}function E(i,s){N(i,s),a("bimsee-masker-position-updated",i)}function b(i){a("bimsee-masker-point-loaded",i)}function L(){const i=A();i&&i.setState({showDistance:!1})}function D(i){c?.()?.getViewer?.()?.setMousedown(!1),n?.()?.getMasker?.()?.setMousedown(!0)}function x(i){if(!A()?.getState()?.locked)return;const K=c?.();if(K){const t=K?.getViewer?.(),m=t?.isMouseover();t&&!m&&t?.zoom(i.zoomLevel)}}function N(i,s){if(!A()?.getState()?.locked)return;const t=c?.();if(t){const m=t?.getViewer(),R=n()?.getMasker()?.isMousedown();if(m&&R){const k=m.getPosition(),I=k.yaw+s.yaw,Q=k.pitch+s.pitch;m.rotate({yaw:I,pitch:Q})}}}return{getBimseeProps:u,bimseeEvents:{ready:C,changeModel:B,maskerReady:d,maskerClick:f,maskerMousedown:p,maskerZoomUpdated:g,maskerPositionUpdated:E,maskerPointLoaded:b}}}const De={class:"vsleem-dualsee"},ie=oe(e.defineComponent({name:"Dualsee",__name:"Dualsee",props:{appSetting:{},basicRealsee:{},referRealsee:{},referBimsee:{},dualseeLock:{default:()=>v},dualseeSetting:{default:()=>_},dualseeLockVisible:{type:Boolean},referRealseeVisible:{type:Boolean},referBimseeVisible:{type:Boolean}},emits:["find-refer-realsee-point","find-refer-bimsee-point","basic-ready","basic-change-model","basic-change-record","basic-change-point","basic-map-ready","basic-map-resize","basic-map-collapse","basic-map-dragger","basic-map-select-point","basic-map-angle-updated","basic-viewer-ready","basic-viewer-click","basic-viewer-mousedown","basic-viewer-zoom-updated","basic-viewer-position-updated","basic-viewer-panorama-loaded","basic-viewer-select-point","basic-viewer-select-marker","basic-playbar-ready","basic-playbar-backward","basic-playbar-pause","basic-playbar-play","basic-playbar-forward","basic-playbar-slider","basic-playbar-select-point","basic-playbar-speed-updated","basic-playbar-delay-updated","basic-playbar-step-updated","refer-ready","refer-change-model","refer-change-record","refer-change-point","refer-map-ready","refer-map-resize","refer-map-collapse","refer-map-dragger","refer-map-select-point","refer-map-angle-updated","refer-viewer-ready","refer-viewer-click","refer-viewer-mousedown","refer-viewer-zoom-updated","refer-viewer-position-updated","refer-viewer-panorama-loaded","refer-viewer-select-point","refer-viewer-select-marker","refer-playbar-ready","refer-playbar-backward","refer-playbar-pause","refer-playbar-play","refer-playbar-forward","refer-playbar-slider","refer-playbar-select-point","refer-playbar-speed-updated","refer-playbar-delay-updated","refer-playbar-step-updated","lock-locked-updated","lock-distance-updated","bimsee-ready","bimsee-change-model","bimsee-masker-ready","bimsee-masker-click","bimsee-masker-mousedown","bimsee-masker-zoom-updated","bimsee-masker-position-updated","bimsee-masker-point-loaded"],setup(l,{expose:w,emit:a}){const A=l,c=a,n=e.ref(),u=e.ref(),C=e.ref(),B=e.ref(),{getProps:d,...f}=Re(A,n,u,C,B),{getBindValue:p,dualseeAction:g}=Qe(d,f,c),{getLockProps:E,lockEvents:b}=Se(d,g,c),{getBasicProps:L,basicEvents:D}=Pe(d,g,c),{getReferProps:x,referEvents:N}=he(d,g,c),{getBimseeProps:J,bimseeEvents:i}=Me(d,g,c);return w({...g}),(s,K)=>(e.openBlock(),e.createElementBlock("div",De,[e.unref(d).dualseeLockVisible?(e.openBlock(),e.createBlock(we,e.mergeProps({key:0,ref_key:"dualseeLockElRef",ref:n},e.unref(E),e.toHandlers(e.unref(b))),{button:e.withCtx(t=>[e.renderSlot(s.$slots,"lockButton",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),distance:e.withCtx(t=>[e.renderSlot(s.$slots,"lockDistance",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.createVNode(e.unref(te.RealseePlugin),e.mergeProps({ref_key:"basicRealseeElRef",ref:u},e.unref(L),e.toHandlers(e.unref(D))),{default:e.withCtx(t=>[e.renderSlot(s.$slots,"basicDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapDefault:e.withCtx(t=>[e.renderSlot(s.$slots,"basicMapDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapExtra:e.withCtx(t=>[e.renderSlot(s.$slots,"basicMapExtra",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapLeft:e.withCtx(t=>[e.renderSlot(s.$slots,"basicMapLeft",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapRight:e.withCtx(t=>[e.renderSlot(s.$slots,"basicMapRight",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarDefault:e.withCtx(t=>[e.renderSlot(s.$slots,"basicPlaybarDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarBox:e.withCtx(t=>[e.renderSlot(s.$slots,"basicPlaybarBox",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarButton:e.withCtx(t=>[e.renderSlot(s.$slots,"basicPlaybarButton",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarCaption:e.withCtx(t=>[e.renderSlot(s.$slots,"basicPlaybarCaption",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarSlider:e.withCtx(t=>[e.renderSlot(s.$slots,"basicPlaybarSlider",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),_:3},16),e.unref(d).referRealseeVisible?(e.openBlock(),e.createBlock(e.unref(te.RealseePlugin),e.mergeProps({key:1,ref_key:"referRealseeElRef",ref:C},e.unref(x),e.toHandlers(e.unref(N))),{default:e.withCtx(t=>[e.renderSlot(s.$slots,"referDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapDefault:e.withCtx(t=>[e.renderSlot(s.$slots,"referMapDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapExtra:e.withCtx(t=>[e.renderSlot(s.$slots,"referMapExtra",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapLeft:e.withCtx(t=>[e.renderSlot(s.$slots,"referMapLeft",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),mapRight:e.withCtx(t=>[e.renderSlot(s.$slots,"referMapRight",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarDefault:e.withCtx(t=>[e.renderSlot(s.$slots,"referPlaybarDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarBox:e.withCtx(t=>[e.renderSlot(s.$slots,"referPlaybarBox",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarButton:e.withCtx(t=>[e.renderSlot(s.$slots,"referPlaybarButton",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarCaption:e.withCtx(t=>[e.renderSlot(s.$slots,"referPlaybarCaption",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),playbarSlider:e.withCtx(t=>[e.renderSlot(s.$slots,"referPlaybarSlider",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.unref(d).referBimseeVisible?(e.openBlock(),e.createBlock(e.unref(le.BimseePlugin),e.mergeProps({key:2,ref_key:"referBimseeElRef",ref:B},e.unref(J),e.toHandlers(e.unref(i))),{default:e.withCtx(t=>[e.renderSlot(s.$slots,"bimseeDefault",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),masker:e.withCtx(t=>[e.renderSlot(s.$slots,"bimseeMasker",e.normalizeProps(e.guardReactiveProps(t)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(p))),void 0,!0)]))}}),[["__scopeId","data-v-a13ae4b6"]]);P.DUALSEE_CONFIG=ae,P.DUALSEE_SETTING=_,P.DualseePlugin=ie,P.LOCK_CONFIG=v,P.default=ie,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@vsleem-realsee-viewer/realsee-plugin"),require("@vsleem-realsee-viewer/bimsee-plugin"),require("@vsleem-realsee-viewer/shared")):typeof define=="function"&&define.amd?define(["exports","vue","@vsleem-realsee-viewer/realsee-plugin","@vsleem-realsee-viewer/bimsee-plugin","@vsleem-realsee-viewer/shared"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.DualseePlugin={},S.Vue,S.VSLeemRealseePlugin,S.VSLeemBimseePlugin,S.VSLeemShared))})(this,(function(S,e,te,le,q){"use strict";const j={locked:!0,distance:0,showDistance:!0},v={enableMatchPoint:!0,maxMatchDistance:5e3},ae={appSetting:q.APP_SETTING,dualseeSetting:v,dualseeLock:j,dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1},{cloneDeep:oe,deepMergeProps:de,getDiffProps:fe}=q.utils;function pe(l,w){const t=e.ref(oe(j)),u=e.computed(()=>t.value);e.watch(()=>oe(l),c,{immediate:!0,deep:!0});function c(f,p){const g=fe(f,p);A(g)}function n(){return u.value}function A(f){f&&de(t.value,f)}function C(f){A({distance:f}),w("distance-updated",f)}function B(f){A({locked:f}),w("locked-updated",f)}return{getProps:u,lockAction:{getState:n,setState:A,setDistance:C,setLocked:B}}}const ge="data:image/png;base64,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",Ae="data:image/png;base64,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",ue={class:"vsleem-dualsee-lock"},me=["src"],be=["src"],Be={key:0,class:"dualsee-lock-distance"},Ie=e.defineComponent({__name:"Lock",props:{locked:{type:Boolean},distance:{},showDistance:{type:Boolean},enableMatchPoint:{type:Boolean},maxMatchDistance:{}},emits:["locked-updated","distance-updated"],setup(l,{expose:w,emit:t}){const u=l,c=t,{getProps:n,lockAction:A}=pe(u,c),C=e.computed(()=>Math.floor((e.unref(n)?.distance||0)/1e3*10)/10),B=e.computed(()=>{const{locked:p=!1,distance:g=0}=e.unref(n);return f(p,g)});function d(){const{locked:p=!1}=e.unref(n);A.setLocked(!p)}function f(p,g){if(p){const y=(u.maxMatchDistance??5e3)/5;let b;return g<=y?b="#54b168":g<=y*2?b="#CBDE3C":g<=y*3?b="#DEC53C":g<=y*4?b="#DE5B3C":g<=y*5?b="#FA1212":b="#666",{backgroundColor:b,color:"#fff"}}return{color:"#333"}}return w({...A}),(p,g)=>(e.openBlock(),e.createElementBlock("div",ue,[e.renderSlot(p.$slots,"button",e.normalizeProps(e.guardReactiveProps(e.unref(n))),()=>[e.createElementVNode("div",{class:"dualsee-lock-button",style:e.normalizeStyle(B.value),onClick:d},[e.unref(n).locked?(e.openBlock(),e.createElementBlock("img",{key:0,class:"dualsee-lock-icon",src:e.unref(ge)},null,8,me)):(e.openBlock(),e.createElementBlock("img",{key:1,class:"dualsee-lock-icon",src:e.unref(Ae)},null,8,be))],4),e.renderSlot(p.$slots,"distance",e.normalizeProps(e.guardReactiveProps(e.unref(n))),()=>[e.unref(n).showDistance?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("span",null,"相距 "+e.toDisplayString(C.value)+" m",1)])):e.createCommentVNode("",!0)],!0)],!0)]))}}),se=(l,w)=>{const t=l.__vccOpts||l;for(const[u,c]of w)t[u]=c;return t},we=se(Ie,[["__scopeId","data-v-9ce35999"]]),{cloneDeep:ne,deepMergeProps:ke,getDiffProps:Ce}=q.utils;function Re(l,w,t,u,c){const n=e.ref(ne(ae)),A=e.computed(()=>n.value);e.watch(()=>ne(l),C,{immediate:!0,deep:!0});function C(b,L){const U=Ce(b,L);d(U)}function B(){return A.value}function d(b){b&&ke(n.value,b)}function f(){return w.value}function p(){return t.value}function g(){return u.value}function y(){return c.value}return{getProps:A,getState:B,setState:d,getDualseeLock:f,getBasicRealsee:p,getReferRealsee:g,getReferBimsee:y}}var $=(l=>(l[l.DualseeNoBIMModel=12e3]="DualseeNoBIMModel",l))($||{});const{deepMerge:Ee,debounce:ye}=q.utils;function Qe(l,w,t){const{getState:u,getDualseeLock:c,getBasicRealsee:n,getReferRealsee:A,getReferBimsee:C,setState:B}=w,d=e.computed(()=>l.value),f=e.computed(()=>n()?.getStore()?.currentPoint),p=e.computed(()=>A()?.getStore()?.currentPoint),g=ye(y,50);e.watch(()=>f.value?.id,()=>g(f.value,p.value)),e.watch(()=>p.value?.id,()=>g(f.value,p.value));function y(r,m){if(!r||!m)return;const R=n(),k=A();if(!R||!k)return;const{normalizeToModelSpace:I}=R.getStore()||{};m=I?.(m);const Q=r?.position,h=m?.position;if(!Q||!h)return;const E=q.Point.distXY(Q,h),M=c();M?.setDistance(E);const{enableMatchPoint:G=!1,maxMatchDistance:T=5e3}=l.value.dualseeSetting||{};if(!G||E>T){M?.setState({locked:!1,distance:E});return}const{yaw:Y=0,pitch:O=0}=R.getViewer()?.getPosition()||{};(Number(Q.yaw)||0)-(Number(Q.yaw)||0)+Y;const H={yaw:Y,pitch:O};k.getViewer()?.rotate(H),k.getMap()?.setRadarYaw(H.yaw),M?.setState({locked:!0,distance:E})}function b(r){const{enableMatchPoint:m}=l.value?.dualseeSetting||{},R=A();if(R&&m){const k=R.getStore(),I=k?.findClosestPoint?.(r);I&&(k?.selectPoint?.(I),t("find-refer-realsee-point",I))}}function L(r){const{point:m,coordinate:R}=r,k=C();if(k){const I=n()?.getViewer(),Q=k?.getMasker();if(m&&Q&&I){const{yaw:h=0,pitch:E=0}=I?.getPosition()||{},M=I?.getZoomLevel()||0,G={coordinate:R,yaw:h,pitch:E,zoomLevel:M};Q.setReferPoint(m,G),t("find-refer-bimsee-point",m)}}}function U(){const r=n();if(r){const{searchInfo:m,...R}=r.getOptions(),{searchInfo:k,...I}=l.value?.referRealsee||{},Q=k??m,h={...Ee(R,I),searchInfo:Q},E=r?.getPlaybar();E&&(E.pause(),E.setState({showPlay:!1,showSpeed:!1})),B({referRealsee:h,dualseeLockVisible:!0,referRealseeVisible:!0,referBimseeVisible:!1})}}function N(){const r=n()?.getPlaybar();r&&(r.pause(),r.setState({showPlay:!0,showSpeed:!0})),B({dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1})}function F(){l.value.referRealseeVisible?N():U()}async function J(){try{const r=n();if(!r)return;const{mappedCoordinateTree:m,currentModel:R,currentPoint:k}=r.getStore(),{referBimsee:I}=l.value;if(!I)return;const{searchInfo:Q}=I||{},{modelCsId:h}=Q||{},E=h?m?.findCsById(h):R?.findClosestModel(q.CoordinateModelType.BIMModel);if(!E)throw new q.AppError($.DualseeNoBIMModel,`未找到ID为${h}的BIM模型坐标系`);const M=r.getPlaybar();M&&(M.pause(),M.setState({showPlay:!1,showSpeed:!1}));const{defaultYaw:G,defaultPitch:T,defaultZoomLvl:Y}=r.getOptions().viewer||{},{point:O,coordinate:H}=k||{};if(!O||!H)return;const X={...I,masker:{defaultYaw:G,defaultPitch:T,defaultZoomLvl:Y,referPoint:O,referCoordinate:H},searchInfo:{projectId:E.projectId||0,modelCsId:E.id}};B({referBimsee:X,dualseeLockVisible:!0,referBimseeVisible:!0,referRealseeVisible:!1})}catch(r){console.error("显示BIMSEE参考模型失败:",r),l.value?.referBimsee?.fetchError?.(r)}}function i(){const r=n()?.getPlaybar();r&&(r.pause(),r.setState({showPlay:!0,showSpeed:!0})),B({dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1})}function s(){l.value.referBimseeVisible?i():J()}return{getBindValue:d,dualseeAction:{getState:u,setState:B,getDualseeLock:c,getBasicRealsee:n,getReferRealsee:A,getReferBimsee:C,toggleReferRealsee:F,showReferRealsee:U,hideReferRealsee:N,toggleReferBimsee:s,showReferBimsee:J,hideReferBimsee:i,setReferRealseePoint:b,setReferBimseePoint:L}}}function Se(l,w,t){const{getReferBimsee:u}=w,c=e.computed(()=>{const{dualseeLock:d,dualseeSetting:f}=l.value,{maxMatchDistance:p,enableMatchPoint:g}=f||{};return{...d,maxMatchDistance:p,enableMatchPoint:g}});function n(d){C(d),t("lock-locked-updated",d)}function A(d){t("lock-distance-updated",d)}function C(d){const f=u();if(f){const p=f?.getMasker?.();p&&p.setState({visible:d})}}return{getLockProps:c,lockEvents:{lockedUpdated:n,distanceUpdated:A}}}function Pe(l,w,t){const{getDualseeLock:u,getBasicRealsee:c,getReferRealsee:n,getReferBimsee:A,setReferRealseePoint:C,setReferBimseePoint:B}=w||{},d=e.computed(()=>{const{appSetting:a,basicRealsee:P}=l.value;return{...P,appSetting:a}});function f(){t("basic-ready")}function p(a){t("basic-change-model",a)}function g(a){t("basic-change-record",a)}function y(a){_(),t("basic-change-point",a)}function b(){t("basic-map-ready")}function L(){t("basic-map-resize")}function U(a){t("basic-map-collapse",a)}function N(){t("basic-map-dragger")}function F(a){t("basic-map-select-point",a)}function J(a){t("basic-map-angle-updated",a)}function i(){t("basic-viewer-ready")}function s(a){t("basic-viewer-click",a)}function K(a){ee(),t("basic-viewer-mousedown",a)}function r(a){re(a),t("basic-viewer-zoom-updated",a)}function m(a,P){ce(a,P),t("basic-viewer-position-updated",a)}function R(a){t("basic-viewer-panorama-loaded",a)}function k(a){t("basic-viewer-select-point",a)}function I(a){t("basic-viewer-select-marker",a)}function Q(){t("basic-playbar-ready")}function h(a){t("basic-playbar-backward",a)}function E(a){t("basic-playbar-pause",a)}function M(a){t("basic-playbar-play",a)}function G(a){t("basic-playbar-forward",a)}function T(a){t("basic-playbar-slider",a)}function Y(a){t("basic-playbar-select-point",a)}function O(a){t("basic-playbar-speed-updated",a)}function H(a){t("basic-playbar-delay-updated",a)}function X(a){t("basic-playbar-step-updated",a)}async function _(a){const{currentPoint:P}=c()?.getStore()||{};P&&(await e.nextTick(),C?.(P),B?.(P))}function ee(a){c?.()?.getViewer?.()?.setMousedown(!0),n?.()?.getViewer?.()?.setMousedown(!1),A?.()?.getMasker?.()?.setMousedown(!1)}function re(a){if(!u()?.getState()?.locked)return;const x=n?.();if(x){const V=x?.getViewer?.(),D=V?.isMouseover();V&&!D&&V?.zoom(a.zoomLevel)}const z=A?.();if(z){const V=z?.getMasker(),D=V?.isMouseover();V&&!D&&V.zoom(a.zoomLevel)}}function ce(a,P){if(!u()?.getState()?.locked)return;const z=n?.();if(z){const D=z?.getViewer(),Z=c()?.getViewer()?.isMousedown();if(D&&Z){const W=D.getPosition(),Ue=W.yaw+P.yaw,Ve=W.pitch+P.pitch;D.rotate({yaw:Ue,pitch:Ve})}}const V=A?.();if(V){const D=V?.getMasker(),Z=c()?.getViewer()?.isMousedown();D&&Z&&D.rotate(a.position)}}return{getBasicProps:d,basicEvents:{ready:f,changeModel:p,changeRecord:g,changePoint:y,mapReady:b,mapResize:L,mapCollapse:U,mapDragger:N,mapSelectPoint:F,mapAngleUpdated:J,viewerReady:i,viewerClick:s,viewerMousedown:K,viewerZoomUpdated:r,viewerPositionUpdated:m,viewerPanoramaLoaded:R,viewerSelectPoint:k,viewerSelectMarker:I,playbarReady:Q,playbarBackward:h,playbarPause:E,playbarPlay:M,playbarForward:G,playbarSlider:T,playbarSelectPoint:Y,playbarSpeedUpdated:O,playbarDelayUpdated:H,playbarStepUpdated:X}}}function he(l,w,t){const{getDualseeLock:u,getBasicRealsee:c,getReferRealsee:n,setReferRealseePoint:A}=w||{},C=e.computed(()=>{const{appSetting:o,referRealsee:a}=l.value;return{...a,appSetting:o}});function B(){H(),t("refer-ready")}function d(o){t("refer-change-model",o)}function f(o){X(),t("refer-change-record",o)}function p(o){t("refer-change-point",o)}function g(){t("refer-map-ready")}function y(){t("refer-map-resize")}function b(o){t("refer-map-collapse",o)}function L(){t("refer-map-dragger")}function U(o){t("refer-map-select-point",o)}function N(o){t("refer-map-angle-updated",o)}function F(){t("refer-viewer-ready")}function J(o){t("refer-viewer-click",o)}function i(o){_(),t("refer-viewer-mousedown",o)}function s(o){ee(o),t("refer-viewer-zoom-updated",o)}function K(o,a){re(o,a),t("refer-viewer-position-updated",o)}function r(o){t("basic-viewer-panorama-loaded",o)}function m(o){t("refer-viewer-select-point",o)}function R(o){t("refer-viewer-select-marker",o)}function k(){t("refer-playbar-ready")}function I(o){t("refer-playbar-backward",o)}function Q(o){t("refer-playbar-pause",o)}function h(o){t("refer-playbar-play",o)}function E(o){t("refer-playbar-forward",o)}function M(o){t("refer-playbar-slider",o)}function G(o){t("refer-playbar-select-point",o)}function T(o){t("refer-playbar-speed-updated",o)}function Y(o){t("refer-playbar-delay-updated",o)}function O(o){t("refer-playbar-step-updated",o)}function H(){const o=u();o&&o.setState({showDistance:!0})}async function X(o){const{currentPoint:a}=c()?.getStore()||{};a&&(await e.nextTick(),A?.(a))}function _(o){c?.()?.getViewer?.()?.setMousedown(!1),n?.()?.getViewer?.()?.setMousedown(!0)}function ee(o){if(!u()?.getState()?.locked)return;const P=c?.();if(P){const x=P?.getViewer(),z=x?.isMouseover();x&&!z&&x.zoom(o.zoomLevel)}}function re(o,a){if(!u()?.getState()?.locked)return;const x=c?.();if(x){const z=x?.getViewer(),V=n()?.getViewer()?.isMousedown();if(z&&V){const D=z.getPosition(),Z=D.yaw+a.yaw,W=D.pitch+a.pitch;z.rotate({yaw:Z,pitch:W})}}}return{getReferProps:C,referEvents:{ready:B,changeModel:d,changeRecord:f,changePoint:p,mapReady:g,mapResize:y,mapCollapse:b,mapDragger:L,mapSelectPoint:U,mapAngleUpdated:N,viewerReady:F,viewerClick:J,viewerMousedown:i,viewerZoomUpdated:s,viewerPositionUpdated:K,viewerPanoramaLoaded:r,viewerSelectPoint:m,viewerSelectMarker:R,playbarReady:k,playbarBackward:I,playbarPause:Q,playbarPlay:h,playbarForward:E,playbarSlider:M,playbarSelectPoint:G,playbarSpeedUpdated:T,playbarDelayUpdated:Y,playbarStepUpdated:O}}}function Me(l,w,t){const{getDualseeLock:u,getBasicRealsee:c,getReferBimsee:n}=w||{},A=e.computed(()=>{const{appSetting:i,referBimsee:s}=l.value;return{...s,appSetting:i}});function C(){L(),t("bimsee-ready")}function B(i){t("bimsee-change-model",i)}function d(i){t("bimsee-masker-ready",i)}function f(i){t("bimsee-masker-click",i)}function p(i){U(),t("bimsee-masker-mousedown",i)}function g(i){N(i),t("bimsee-masker-zoom-updated",i)}function y(i,s){F(i,s),t("bimsee-masker-position-updated",i)}function b(i){t("bimsee-masker-point-loaded",i)}function L(){const i=u();i&&i.setState({showDistance:!1})}function U(i){c?.()?.getViewer?.()?.setMousedown(!1),n?.()?.getMasker?.()?.setMousedown(!0)}function N(i){if(!u()?.getState()?.locked)return;const K=c?.();if(K){const r=K?.getViewer?.(),m=r?.isMouseover();r&&!m&&r?.zoom(i.zoomLevel)}}function F(i,s){if(!u()?.getState()?.locked)return;const r=c?.();if(r){const m=r?.getViewer(),R=n()?.getMasker()?.isMousedown();if(m&&R){const k=m.getPosition(),I=k.yaw+s.yaw,Q=k.pitch+s.pitch;m.rotate({yaw:I,pitch:Q})}}}return{getBimseeProps:A,bimseeEvents:{ready:C,changeModel:B,maskerReady:d,maskerClick:f,maskerMousedown:p,maskerZoomUpdated:g,maskerPositionUpdated:y,maskerPointLoaded:b}}}const De={class:"vsleem-dualsee"},ie=se(e.defineComponent({name:"Dualsee",__name:"Dualsee",props:{appSetting:{},basicRealsee:{},referRealsee:{},referBimsee:{},dualseeLock:{default:()=>j},dualseeSetting:{default:()=>v},dualseeLockVisible:{type:Boolean},referRealseeVisible:{type:Boolean},referBimseeVisible:{type:Boolean}},emits:["find-refer-realsee-point","find-refer-bimsee-point","basic-ready","basic-change-model","basic-change-record","basic-change-point","basic-map-ready","basic-map-resize","basic-map-collapse","basic-map-dragger","basic-map-select-point","basic-map-angle-updated","basic-viewer-ready","basic-viewer-click","basic-viewer-mousedown","basic-viewer-zoom-updated","basic-viewer-position-updated","basic-viewer-panorama-loaded","basic-viewer-select-point","basic-viewer-select-marker","basic-playbar-ready","basic-playbar-backward","basic-playbar-pause","basic-playbar-play","basic-playbar-forward","basic-playbar-slider","basic-playbar-select-point","basic-playbar-speed-updated","basic-playbar-delay-updated","basic-playbar-step-updated","refer-ready","refer-change-model","refer-change-record","refer-change-point","refer-map-ready","refer-map-resize","refer-map-collapse","refer-map-dragger","refer-map-select-point","refer-map-angle-updated","refer-viewer-ready","refer-viewer-click","refer-viewer-mousedown","refer-viewer-zoom-updated","refer-viewer-position-updated","refer-viewer-panorama-loaded","refer-viewer-select-point","refer-viewer-select-marker","refer-playbar-ready","refer-playbar-backward","refer-playbar-pause","refer-playbar-play","refer-playbar-forward","refer-playbar-slider","refer-playbar-select-point","refer-playbar-speed-updated","refer-playbar-delay-updated","refer-playbar-step-updated","lock-locked-updated","lock-distance-updated","bimsee-ready","bimsee-change-model","bimsee-masker-ready","bimsee-masker-click","bimsee-masker-mousedown","bimsee-masker-zoom-updated","bimsee-masker-position-updated","bimsee-masker-point-loaded"],setup(l,{expose:w,emit:t}){const u=l,c=t,n=e.ref(),A=e.ref(),C=e.ref(),B=e.ref(),{getProps:d,...f}=Re(u,n,A,C,B),{getBindValue:p,dualseeAction:g}=Qe(d,f,c),{getLockProps:y,lockEvents:b}=Se(d,g,c),{getBasicProps:L,basicEvents:U}=Pe(d,g,c),{getReferProps:N,referEvents:F}=he(d,g,c),{getBimseeProps:J,bimseeEvents:i}=Me(d,g,c);return w({...g}),(s,K)=>(e.openBlock(),e.createElementBlock("div",De,[e.unref(d).dualseeLockVisible?(e.openBlock(),e.createBlock(we,e.mergeProps({key:0,ref_key:"dualseeLockElRef",ref:n},e.unref(y),e.toHandlers(e.unref(b))),{button:e.withCtx(r=>[e.renderSlot(s.$slots,"lockButton",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),distance:e.withCtx(r=>[e.renderSlot(s.$slots,"lockDistance",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.createVNode(e.unref(te.RealseePlugin),e.mergeProps({ref_key:"basicRealseeElRef",ref:A},e.unref(L),e.toHandlers(e.unref(U))),{default:e.withCtx(r=>[e.renderSlot(s.$slots,"basicDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapDefault:e.withCtx(r=>[e.renderSlot(s.$slots,"basicMapDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapExtra:e.withCtx(r=>[e.renderSlot(s.$slots,"basicMapExtra",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapLeft:e.withCtx(r=>[e.renderSlot(s.$slots,"basicMapLeft",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapRight:e.withCtx(r=>[e.renderSlot(s.$slots,"basicMapRight",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarDefault:e.withCtx(r=>[e.renderSlot(s.$slots,"basicPlaybarDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarBox:e.withCtx(r=>[e.renderSlot(s.$slots,"basicPlaybarBox",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarButton:e.withCtx(r=>[e.renderSlot(s.$slots,"basicPlaybarButton",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarCaption:e.withCtx(r=>[e.renderSlot(s.$slots,"basicPlaybarCaption",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarSlider:e.withCtx(r=>[e.renderSlot(s.$slots,"basicPlaybarSlider",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16),e.unref(d).referRealseeVisible?(e.openBlock(),e.createBlock(e.unref(te.RealseePlugin),e.mergeProps({key:1,ref_key:"referRealseeElRef",ref:C},e.unref(N),e.toHandlers(e.unref(F))),{default:e.withCtx(r=>[e.renderSlot(s.$slots,"referDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapDefault:e.withCtx(r=>[e.renderSlot(s.$slots,"referMapDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapExtra:e.withCtx(r=>[e.renderSlot(s.$slots,"referMapExtra",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapLeft:e.withCtx(r=>[e.renderSlot(s.$slots,"referMapLeft",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapRight:e.withCtx(r=>[e.renderSlot(s.$slots,"referMapRight",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarDefault:e.withCtx(r=>[e.renderSlot(s.$slots,"referPlaybarDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarBox:e.withCtx(r=>[e.renderSlot(s.$slots,"referPlaybarBox",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarButton:e.withCtx(r=>[e.renderSlot(s.$slots,"referPlaybarButton",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarCaption:e.withCtx(r=>[e.renderSlot(s.$slots,"referPlaybarCaption",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarSlider:e.withCtx(r=>[e.renderSlot(s.$slots,"referPlaybarSlider",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.unref(d).referBimseeVisible?(e.openBlock(),e.createBlock(e.unref(le.BimseePlugin),e.mergeProps({key:2,ref_key:"referBimseeElRef",ref:B},e.unref(J),e.toHandlers(e.unref(i))),{default:e.withCtx(r=>[e.renderSlot(s.$slots,"bimseeDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),masker:e.withCtx(r=>[e.renderSlot(s.$slots,"bimseeMasker",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(p))),void 0,!0)]))}}),[["__scopeId","data-v-a13ae4b6"]]);S.DUALSEE_CONFIG=ae,S.DUALSEE_SETTING=v,S.DualseeErrorCode=$,S.DualseePlugin=ie,S.LOCK_CONFIG=j,S.default=ie,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vsleem-realsee-viewer/dualsee-plugin",
3
- "version": "2.0.8",
3
+ "version": "2.0.9",
4
4
  "description": "Dualsee plugin for VSLeem RealSee Viewer",
5
5
  "main": "./dist/index.umd.js",
6
6
  "module": "./dist/index.mjs",
@@ -13,15 +13,15 @@
13
13
  "dist"
14
14
  ],
15
15
  "dependencies": {
16
- "@vsleem-realsee-viewer/realsee-plugin": "2.0.8",
17
- "@vsleem-realsee-viewer/bimsee-plugin": "2.0.7",
18
- "@vsleem-realsee-viewer/shared": "2.0.8"
16
+ "@vsleem-realsee-viewer/bimsee-plugin": "2.0.8",
17
+ "@vsleem-realsee-viewer/shared": "2.0.9",
18
+ "@vsleem-realsee-viewer/realsee-plugin": "2.0.9"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "vue": "^3.0.0",
22
- "@vsleem-realsee-viewer/realsee-plugin": "2.0.8",
23
- "@vsleem-realsee-viewer/bimsee-plugin": "2.0.7",
24
- "@vsleem-realsee-viewer/shared": "2.0.8"
22
+ "@vsleem-realsee-viewer/realsee-plugin": "2.0.9",
23
+ "@vsleem-realsee-viewer/shared": "2.0.9",
24
+ "@vsleem-realsee-viewer/bimsee-plugin": "2.0.8"
25
25
  },
26
26
  "peerDependenciesMeta": {
27
27
  "vue": {