@xtctwins/tctwins-bimx-engine 0.3.17 → 0.3.19

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 (91) hide show
  1. package/README.md +196 -196
  2. package/dist/01.xtc +0 -0
  3. package/dist/02.xtc +0 -0
  4. package/dist/03.xtc +0 -0
  5. package/dist/{AnnotationTool-CRKJP6Z_.mjs → AnnotationTool-oDA1Fp5x.mjs} +35 -35
  6. package/dist/BIMX_Viewer_Lib.es.js +6 -6
  7. package/dist/BIMX_Viewer_Lib.umd.js +167 -214
  8. package/dist/{CameraViewTool-CcuETkRt.mjs → CameraViewTool-DDypddMD.mjs} +38 -38
  9. package/dist/{CommentTool-CUfkCRZj.mjs → CommentTool-Duf6oZPZ.mjs} +192 -192
  10. package/dist/{HiddenTool-BXH5QJP-.mjs → HiddenTool-LpU_x_6_.mjs} +16 -16
  11. package/dist/{InspectorTool-DfNptjyX.mjs → InspectorTool-QvS8xe4N.mjs} +13 -13
  12. package/dist/MeasureTool-CMs0keyO.mjs +595 -0
  13. package/dist/{MouseTool-B7uZ7aDB.mjs → MouseTool-CaTUKDuM.mjs} +8 -8
  14. package/dist/{NavigateTool-iCDupABO.mjs → NavigateTool-DYniPPn1.mjs} +8 -8
  15. package/dist/{OperateTool-CDFqwPpz.mjs → OperateTool-BIqsOimJ.mjs} +58 -61
  16. package/dist/{RoamTool-DbejO6To.mjs → RoamTool-2mrcPLbu.mjs} +15 -15
  17. package/dist/ScreenShotTool-BTqJ90J6.mjs +356 -0
  18. package/dist/{SectionTool-B_YUSKAb.mjs → SectionTool-CWzcRQe3.mjs} +70 -70
  19. package/dist/SettingTool-s0H_wOar.mjs +1508 -0
  20. package/dist/StructureTree-D5Y9v8cQ.mjs +1582 -0
  21. package/dist/{alert-C1hZjT4K.mjs → alert-BAgNMV8k.mjs} +13 -13
  22. package/dist/{index-Amk7_oxr.mjs → index-Bu4b3eOR.mjs} +53631 -56036
  23. package/dist/index.html +17 -17
  24. package/dist/{panel.vue_vue_type_style_index_0_lang-BWMqOWVZ.mjs → panel.vue_vue_type_style_index_0_lang-sBMUmb4u.mjs} +1 -1
  25. package/dist/style.css +3 -3
  26. package/dist/{tallPanel-B_CsTLWm.mjs → tallPanel-xQvMWUzi.mjs} +11 -11
  27. package/package.json +85 -85
  28. package/types/components/BCFComponents/BCFAddPanel.vue.d.ts +10 -38
  29. package/types/components/BCFComponents/BCFCommentNew.vue.d.ts +22 -0
  30. package/types/components/BCFComponents/BCFDetailPanel.vue.d.ts +9 -37
  31. package/types/components/BCFComponents/BCFDisplayList.vue.d.ts +7 -5
  32. package/types/components/BCFComponents/BCFFilter.vue.d.ts +7 -5
  33. package/types/components/BCFComponents/BCFTool.vue.d.ts +7 -4
  34. package/types/components/BCFComponents/addObjectOrAnno.vue.d.ts +7 -5
  35. package/types/components/BCFComponents/checkObjectPanel.vue.d.ts +6 -5
  36. package/types/components/BCFComponents/commentInput.vue.d.ts +10 -36
  37. package/types/components/BCFComponents/commentsView.vue.d.ts +7 -36
  38. package/types/components/BCFComponents/dialogPanel.vue.d.ts +8 -5
  39. package/types/components/BCFComponents/imageView.vue.d.ts +7 -5
  40. package/types/components/BCFComponents/imageZoomIn.vue.d.ts +6 -5
  41. package/types/components/BimViewerComponents/AnnotationTool.vue.d.ts +1 -1
  42. package/types/components/BimViewerComponents/AppToolbar.vue.d.ts +1 -18
  43. package/types/components/BimViewerComponents/CameraViewTool.vue.d.ts +1 -1
  44. package/types/components/BimViewerComponents/ClickEvent.vue.d.ts +1 -1
  45. package/types/components/BimViewerComponents/CommentTool.vue.d.ts +1 -32
  46. package/types/components/BimViewerComponents/HiddenTool.vue.d.ts +1 -1
  47. package/types/components/BimViewerComponents/MobileCommentsTool/add.vue.d.ts +8 -6
  48. package/types/components/BimViewerComponents/MobileCommentsTool/detail.vue.d.ts +5 -4
  49. package/types/components/BimViewerComponents/MobileCommentsTool/draw.vue.d.ts +2 -2
  50. package/types/components/BimViewerComponents/MobileCommentsTool/filter.vue.d.ts +1 -270
  51. package/types/components/BimViewerComponents/MobileCommentsTool/list.vue.d.ts +7 -291
  52. package/types/components/BimViewerComponents/MobileCommentsTool/zoomIn.vue.d.ts +6 -5
  53. package/types/components/BimViewerComponents/MouseTool.vue.d.ts +1 -1
  54. package/types/components/BimViewerComponents/NavigateTool.vue.d.ts +1 -1
  55. package/types/components/BimViewerComponents/PCCommentTool/pcdraw.vue.d.ts +1 -1
  56. package/types/components/BimViewerComponents/RoamTool.vue.d.ts +1 -1
  57. package/types/components/BimViewerComponents/SettingTool.vue.d.ts +6 -4
  58. package/types/components/BimViewerComponents/StructureTree.vue.d.ts +1 -11642
  59. package/types/components/BimViewerComponents/Toolbar.vue.d.ts +1 -1
  60. package/types/components/BimViewerComponents/emptyPage.vue.d.ts +8 -0
  61. package/types/components/BimViewerComponents/mobileToolbar.vue.d.ts +10 -0
  62. package/types/components/BimxViewerComp.vue.d.ts +21 -7
  63. package/types/components/MobileBCFComponents/MobileBCFAdd.vue.d.ts +10 -37
  64. package/types/components/MobileBCFComponents/MobileBCFDetail.vue.d.ts +9 -37
  65. package/types/components/MobileBCFComponents/MobileBCFDisplayList.vue.d.ts +7 -291
  66. package/types/components/MobileBCFComponents/MobileBCFFilter.vue.d.ts +1 -270
  67. package/types/components/MobileBCFComponents/MobileBCFTool.vue.d.ts +8 -5
  68. package/types/components/MobileBCFComponents/MobileCommentInput.vue.d.ts +12 -38
  69. package/types/components/MobileBCFComponents/MobileCommentsView.vue.d.ts +9 -7
  70. package/types/components/MobileBCFComponents/selectPanel.vue.d.ts +7 -5
  71. package/types/components/bimxViewer.vue.d.ts +27 -0
  72. package/types/components/utilsComponents/alert.vue.d.ts +1 -1
  73. package/types/components/utilsComponents/closeButton.vue.d.ts +1 -1
  74. package/types/components/utilsComponents/closeButton_dark.vue.d.ts +1 -1
  75. package/types/components/utilsComponents/emptyPage.vue.d.ts +1 -1
  76. package/types/components/utilsComponents/loading.vue.d.ts +1 -1
  77. package/types/components/utilsComponents/panel.vue.d.ts +2 -8
  78. package/types/components/utilsComponents/prompt.vue.d.ts +1 -1
  79. package/types/components/utilsComponents/rectangleButton.vue.d.ts +1 -3
  80. package/types/components/utilsComponents/tallPanel.vue.d.ts +4 -14
  81. package/types/components/utilsComponents/tallPanel_noPos.vue.d.ts +4 -14
  82. package/types/pages/BimxViewerEntry.vue.d.ts +72 -5
  83. package/types/pages/viewerEntry.vue.d.ts +116 -0
  84. package/types/store/initConfigs.d.ts +1 -1
  85. package/types/store/toolbars.d.ts +50 -50
  86. package/types/tests/cmt.d.ts +1 -0
  87. package/types/viewerManager/sectionManager.d.ts +25 -25
  88. package/dist/MeasureTool-CXJj1Fhb.mjs +0 -593
  89. package/dist/ScreenShotTool-CwKNoZDh.mjs +0 -429
  90. package/dist/SettingTool-ByLSLYye.mjs +0 -1787
  91. package/dist/StructureTree-JKDte9U1.mjs +0 -1685
@@ -0,0 +1,595 @@
1
+ import { _ as ft } from "./alert-BAgNMV8k.mjs";
2
+ import { n as bt, o as yt, T as Xe, M as W, q as Ye, p as h, O as E, V as q, F as ht, t as gt, G as Mt, I as kt, x as wt, y as Tt } from "./index-Bu4b3eOR.mjs";
3
+ import { _ as xt } from "./panel.vue_vue_type_style_index_0_lang-sBMUmb4u.mjs";
4
+ import { defineComponent as Dt, ref as u, onMounted as Ne, computed as pe, onBeforeUnmount as At, watch as St, nextTick as Vt, openBlock as r, createElementBlock as d, Fragment as S, unref as o, createBlock as je, withCtx as O, createElementVNode as l, renderList as I, normalizeClass as J, toDisplayString as v, normalizeStyle as fe, createCommentVNode as ne, createVNode as p, withDirectives as We, vShow as qe } from "vue";
5
+ const Pt = {
6
+ key: 0,
7
+ class: "measure_panel_content"
8
+ }, Ct = { class: "measurement_type" }, Bt = ["onClick"], Et = ["src"], It = {
9
+ key: 1,
10
+ class: "measurement_img_empty"
11
+ }, Lt = { class: "measurement_data" }, Rt = {
12
+ key: 0,
13
+ class: "datum_bar"
14
+ }, $t = { class: "footer" }, Ut = {
15
+ key: 1,
16
+ class: "setMeasurePanel"
17
+ }, Ot = { class: "set_content_par" }, zt = { class: "set_content_" }, Ht = {
18
+ class: "set_content scale",
19
+ style: { display: "none" }
20
+ }, Ft = { class: "set_content unit" }, Xt = { class: "set_content precision" }, Yt = { class: "footer" }, Nt = {
21
+ key: 1,
22
+ class: "mobile_measure_panel"
23
+ }, jt = { class: "mobile_panel_bar" }, Wt = ["src"], qt = { class: "mouse_btn" }, Jt = ["src"], Kt = { class: "measure-list" }, Qt = ["onClick"], Zt = { class: "measure-icon" }, Gt = ["src"], el = { class: "measure-name" }, tl = { class: "measure-icon" }, ll = ["src"], sl = {
24
+ class: "measure-name",
25
+ style: { color: "#df1c1c" }
26
+ }, al = {
27
+ key: 2,
28
+ class: "mobile_set_dialog"
29
+ }, ol = { class: "mobile_set_close_btn" }, nl = { class: "mobile_set_title" }, il = { class: "mobile_set_row" }, ul = { class: "mobile_set_row" }, cl = {
30
+ key: 0,
31
+ class: "mobile_set_datum"
32
+ }, rl = { class: "mobile_set_actions" }, dl = ["src"], vl = ["src"], Je = 5, Ke = 6, ml = /* @__PURE__ */ Dt({
33
+ __name: "MeasureTool",
34
+ props: ["componentId"],
35
+ emits: ["closePanel", "emitHandler"],
36
+ setup(Qe, { emit: Ze }) {
37
+ const i = bt(), L = yt(), Ge = Qe, ie = u(0);
38
+ Ne(() => {
39
+ L.setReadyById(Ge.componentId), Xe.currentTheme == "blue" ? ie.value = 224 : Xe.currentTheme == "light-gray" && (ie.value = 202);
40
+ });
41
+ let a, z, H, m;
42
+ const f = u(1), g = u(""), be = u(), ue = u(), ye = u(), ce = u(), he = u(), K = u(), Q = u(), Z = u(), re = u(""), de = u(""), F = u(1), k = u("m"), V = u(3), w = u(!1), ge = [{ value: "m" }, { value: "cm" }, { value: "mm" }], b = u(!1), Me = [
43
+ { label: "0", value: 0 },
44
+ { label: "0.0", value: 1 },
45
+ { label: "0.00", value: 2 },
46
+ { label: "0.000", value: 3 }
47
+ ], et = {
48
+ pointDistance: [
49
+ { label: "measure.distanceLabel", key: "text", color: "#0065fc" },
50
+ { label: "measure.x", key: "dx", color: "#fe4444" },
51
+ { label: "measure.y", key: "dy", color: "#4ed17a" },
52
+ { label: "measure.z", key: "dz", color: "#ffce19" }
53
+ ],
54
+ pointAngle: [
55
+ { label: "measure.angleLabel", key: "text", color: "#0065fc" },
56
+ { label: "measure.typeLabel", key: "type", color: "#7a8ba6" }
57
+ ],
58
+ edgeLength: [
59
+ { label: "measure.lengthLabel", key: "text", color: "#0065fc" },
60
+ { label: "measure.typeLabel", key: "type", color: "#7a8ba6" }
61
+ ],
62
+ edgeDistance: [
63
+ { label: "measure.distanceLabel", key: "text", color: "#0065fc" },
64
+ { label: "measure.typeLabel", key: "type", color: "#7a8ba6" }
65
+ ],
66
+ edgeAngle: [
67
+ { label: "measure.angleLabel", key: "text", color: "#0065fc" },
68
+ { label: "measure.typeLabel", key: "type", color: "#7a8ba6" }
69
+ ],
70
+ circleRadius: [
71
+ { label: "measure.radiusLabel", key: "text", color: "#0065fc" },
72
+ { label: "measure.typeLabel", key: "type", color: "#7a8ba6" }
73
+ ],
74
+ elevation: [
75
+ { label: "measure.elevationLabel", key: "text", color: "#0065fc" },
76
+ { label: "measure.typeLabel", key: "type", color: "#7a8ba6" }
77
+ ]
78
+ }, T = pe(() => {
79
+ var e;
80
+ return ((e = W.find((t) => t.id === f.value)) == null ? void 0 : e.code) || "pointDistance";
81
+ }), R = u(!0), M = u("");
82
+ let $ = null;
83
+ const G = (e) => {
84
+ M.value = e || "", R.value = !0, $ && clearTimeout($), $ = setTimeout(() => {
85
+ $ = null, M.value = "";
86
+ }, 4e3);
87
+ }, x = u(!1), tt = pe(
88
+ () => M.value || (x.value ? i("measure.hint_setDatumPick") : i(`measure.hint_${T.value}`))
89
+ ), lt = () => {
90
+ R.value = !1;
91
+ }, st = pe(
92
+ () => (et[T.value] || []).map((e) => {
93
+ let t = "";
94
+ e.key === "text" ? t = re.value || "~" : e.key === "type" ? t = de.value || "-" : e.key === "dx" ? t = K.value ?? "" : e.key === "dy" ? t = Q.value ?? "" : e.key === "dz" && (t = Z.value ?? "");
95
+ const n = a && a.getModeColor ? a.getModeColor(T.value) : "", c = e.key === "text" && n ? n : e.color;
96
+ return { label: e.label, key: `${e.key}_${e.label}`, color: c, value: t };
97
+ })
98
+ ), ke = Ze, we = (e) => {
99
+ ke("emitHandler", e);
100
+ }, Te = () => {
101
+ a = window.bimViewer.measureProTool, H = window.bimViewer.measureAngleTool, z = window.bimViewer.measureDistanceTool, m = window.bimViewer.eventTrigger, k.value = a.unit, F.value = a.scale, m.on("measureUnitChanged", Be);
102
+ const e = W.find((t) => t.code === q.NormalizeMeasureMode(q.viewerState.measureType));
103
+ e && (f.value = e.id), q.SaveViewerState({ measure: T.value }), m.on("newDistanceMeasure", () => {
104
+ M.value = "", B(), h("isMobile") && (b.value = !1);
105
+ }), m.on("newAngleMeasure", () => {
106
+ M.value = "", B(), h("isMobile") && (b.value = !1);
107
+ }), m.on("proMeasureRejected", (t) => {
108
+ G(t && t.reasonText ? t.reasonText : "");
109
+ }), m.on("proMeasureDatumPicked", () => {
110
+ x.value = !1;
111
+ const t = g.value;
112
+ t && D(t), G(i("measure.setDatumDone"));
113
+ }), m.on("proMeasureDatumPickCancel", () => {
114
+ x.value = !1;
115
+ }), m.on("createAngleMeasure", (t) => {
116
+ he.value = t.id, ce.value = t.result, D(t.id), h("isMobile") && (b.value = !0), P("createAngleMeasure", { newMeasure: t });
117
+ }), m.on("createDistanceMeasure", (t) => {
118
+ be.value = t.id, ye.value = t.id, ue.value = t.result, K.value = t.xResult ? t.xResult : 0, Q.value = t.yResult ? t.yResult : 0, Z.value = t.zResult ? t.zResult : 0, D(t.id), h("isMobile") && (b.value = !0), P("createAngleMeasure", { newMeasure: t });
119
+ }), m.on("clickDistanceMeasure", (t) => {
120
+ be.value = t.id, ye.value = t.id, Ve(t.id), a.getModeByMeasurementId(t.id) || (ue.value = z.getMeasureResultByID(t.id)), D(t.id), h("isMobile") && (b.value = !0), P("clickDistanceMeasure", { id: t.id });
121
+ }), m.on("clickAngleMeasure", (t) => {
122
+ he.value = t.id, Ve(t.id), a.getModeByMeasurementId(t.id) || (ce.value = H.getMeasureResultByID(t.id)), D(t.id), h("isMobile") && (b.value = !0), P("clickAngleMeasure", { id: t.id });
123
+ }), m.on("DistanceMeasureDestroyed", (t) => Pe(t.id)), m.on("AngleMeasureDestroyed", (t) => Pe(t.id)), Ce(!1), Ee() && L.isToolActive(3) && me(!0);
124
+ };
125
+ Ye.on("BimViewer", Te), At(() => {
126
+ $ && clearTimeout($), m && m.off("measureUnitChanged", Be), ve(), Ye.off("BimViewer", Te);
127
+ }), St(
128
+ () => L.isToolActive(2),
129
+ (e) => {
130
+ ct(e), e && (R.value = !0), Ee() && me(!!e);
131
+ }
132
+ );
133
+ const P = (e, t) => {
134
+ we({
135
+ isTool: !0,
136
+ event_name: e,
137
+ event_target: "MeasureTool",
138
+ content: t
139
+ });
140
+ }, at = () => {
141
+ ee(), window.bimViewer.SetMeasureProAllDisactive(), ke("closePanel"), w.value === !0 && C();
142
+ }, xe = (e) => {
143
+ if (f.value === e.id)
144
+ return;
145
+ f.value = e.id, q.SaveViewerState({ measure: e.code }), M.value = "", ee(), it(), De(e), R.value = !0;
146
+ const t = a && a.getMeasurementsSummaryByMode ? a.getMeasurementsSummaryByMode(e.code) : [];
147
+ t.length ? D(t[t.length - 1].id) : B(), h("isMobile") && (b.value = !1);
148
+ }, De = (e) => {
149
+ const t = e.code;
150
+ window.bimViewer.SetMeasureProActive(e.code, !0), we({
151
+ isTool: !0,
152
+ event_name: "",
153
+ event_target: "MeasureTool",
154
+ content: {
155
+ measureTool: t
156
+ }
157
+ });
158
+ }, Ae = () => {
159
+ if (x.value) {
160
+ ee();
161
+ return;
162
+ }
163
+ if (!a || !a.beginMeasureDatumPick) {
164
+ G(i("measure.setDatumHint"));
165
+ return;
166
+ }
167
+ if (window.bimViewer.SetMeasureProActive("elevation", !0), M.value = "", !a.beginMeasureDatumPick()) {
168
+ G(i("measure.setDatumHint"));
169
+ return;
170
+ }
171
+ x.value = !0, R.value = !0, w.value = !1;
172
+ }, ee = () => {
173
+ x.value = !1, a && a.cancelMeasureDatumPick && a.cancelMeasureDatumPick();
174
+ }, ot = () => {
175
+ B(), a && a.clearAll(), z.clear(), H.clear(), P("destroyAllMeasure", { msg: "删除全部测量" }), b.value = !1;
176
+ }, nt = () => {
177
+ const e = g.value;
178
+ if (!e) return;
179
+ const t = T.value === "pointAngle" || T.value === "edgeAngle";
180
+ ut(e), P(t ? "destroyMeasurementAngle" : "destroyMeasureDistance", { id: e }), B(), b.value = !1;
181
+ }, C = () => {
182
+ w.value = !w.value;
183
+ }, Se = () => {
184
+ C(), Ce(), g.value && D(g.value), P("updateMeasureSet", {
185
+ measurePrefer: {
186
+ distance_precision: V.value,
187
+ distance_unit: k.value,
188
+ distance_scale: F.value
189
+ }
190
+ });
191
+ }, B = () => {
192
+ re.value = "", de.value = "", ue.value = "", ce.value = "", K.value = "", Q.value = "", Z.value = "", g.value = "";
193
+ }, D = (e) => {
194
+ if (!e || !a || !a.getMeasurementSummary) return;
195
+ g.value = e;
196
+ const t = a.getModeByMeasurementId(e);
197
+ if (t) {
198
+ const c = W.find((_) => _.code === t);
199
+ if (!c) {
200
+ B();
201
+ return;
202
+ }
203
+ c.id !== f.value && (f.value = c.id, q.SaveViewerState({ measure: c.code })), a.getActiveByMode(t) || De(c);
204
+ }
205
+ const n = a.getMeasurementSummary(e);
206
+ n && (re.value = n.text || (n.value ? n.value.toFixed(V.value) : ""), de.value = n.description || n.relationLabel || "", K.value = n.xResult ?? "", Q.value = n.yResult ?? "", Z.value = n.zResult ?? "");
207
+ }, Ve = (e) => {
208
+ !e || !a || !a.selectMeasurementById || a.selectMeasurementById(e);
209
+ }, it = () => {
210
+ !a || !a.clearSelectedMeasurement || a.clearSelectedMeasurement();
211
+ }, Pe = (e) => {
212
+ !e || e !== g.value || B();
213
+ }, ut = (e) => {
214
+ if (e) {
215
+ if (a && a.getModeByMeasurementId(e)) {
216
+ a.destroyMeasurementById(e);
217
+ return;
218
+ }
219
+ z.destroyMeasurementById(e), H.destroyMeasurementById(e);
220
+ }
221
+ }, Ce = (e = !0) => {
222
+ a && (e && (a.unit = k.value), a.scale = F.value, a.precision = V.value);
223
+ }, Be = (e) => {
224
+ k.value = e.unit, g.value && D(g.value);
225
+ }, ct = (e) => {
226
+ a && a.setAllVisible(e), z.setAllVisible(e), H.setAllVisible(e);
227
+ };
228
+ Ne(() => {
229
+ document.getElementById("top_bar");
230
+ });
231
+ const U = u(!1);
232
+ let X = !1, te = 0, le = 0;
233
+ const se = u(290), ae = u(300), Ee = () => !!h("isMobile"), Y = () => document.getElementById("measure_mouseGroup"), Ie = () => {
234
+ var e, t, n, c;
235
+ return ((c = (n = (t = (e = window.bimViewer) == null ? void 0 : e.viewer) == null ? void 0 : t.scene) == null ? void 0 : n.canvas) == null ? void 0 : c.canvas) || null;
236
+ }, Le = () => {
237
+ const e = Y();
238
+ if (!e)
239
+ return [se.value + Je, ae.value + Ke];
240
+ const t = e.getBoundingClientRect();
241
+ return [t.left + Je, t.top + Ke];
242
+ }, N = (e, t) => {
243
+ const n = Ie();
244
+ if (!n)
245
+ return;
246
+ const [c, _] = Le(), y = {
247
+ bubbles: !0,
248
+ cancelable: !0,
249
+ composed: !0,
250
+ clientX: c,
251
+ clientY: _,
252
+ screenX: c,
253
+ screenY: _,
254
+ button: 0,
255
+ buttons: t,
256
+ pointerId: 1,
257
+ pointerType: "touch",
258
+ isPrimary: !0
259
+ };
260
+ let A;
261
+ try {
262
+ A = new PointerEvent(e, y);
263
+ } catch {
264
+ A = new MouseEvent(e, y);
265
+ }
266
+ n.dispatchEvent(A);
267
+ }, Re = () => {
268
+ N("pointermove", 0);
269
+ }, rt = () => {
270
+ const e = Y(), [t, n] = Le(), c = e ? e.style.visibility : "";
271
+ e && (e.style.visibility = "hidden");
272
+ const _ = document.elementFromPoint ? document.elementFromPoint(t, n) : null;
273
+ return e && (e.style.visibility = c), _;
274
+ }, $e = () => {
275
+ const e = rt(), t = e && e.closest ? e.closest(".tctwins-pro-pill") : null;
276
+ if (t) {
277
+ t.dispatchEvent(new MouseEvent("click", { bubbles: !0, cancelable: !0, view: window }));
278
+ return;
279
+ }
280
+ const n = Ie();
281
+ if (e && e !== n && !(n && n.contains(e)))
282
+ return;
283
+ N("pointermove", 0);
284
+ const c = () => {
285
+ N("pointerdown", 1), N("pointerup", 0);
286
+ };
287
+ typeof requestAnimationFrame == "function" ? requestAnimationFrame(c) : c();
288
+ }, dt = () => {
289
+ N("contextmenu", 0), M.value = "";
290
+ }, vt = () => {
291
+ const e = !U.value;
292
+ e || (ee(), dt()), me(e);
293
+ }, mt = () => {
294
+ const e = Y();
295
+ if (!e)
296
+ return;
297
+ const n = (e.offsetParent || document.body).getBoundingClientRect(), c = e.getBoundingClientRect(), _ = n.width || window.innerWidth, y = n.height || window.innerHeight, A = c.width || 40, j = c.height || 84, _e = _ * 0.62 - A / 2, oe = y * 0.5 - j / 2;
298
+ se.value = Math.max(0, Math.min(_e, _ - A)), ae.value = Math.max(0, Math.min(oe, y - j));
299
+ }, Ue = (e) => {
300
+ e.touches.length == 1 && (X = !0, te = e.touches[0].clientX, le = e.touches[0].clientY);
301
+ }, Oe = (e) => {
302
+ if (!X || e.touches.length != 1)
303
+ return;
304
+ const t = e.touches[0].clientX, n = e.touches[0].clientY;
305
+ se.value += t - te, ae.value += n - le, te = t, le = n, Re();
306
+ }, ze = () => {
307
+ X = !1;
308
+ }, _t = () => {
309
+ const e = Y();
310
+ e && (ve(), e.addEventListener("touchstart", Ue), e.addEventListener("touchmove", Oe), e.addEventListener("touchend", ze), e.addEventListener("click", $e), X = !1, te = 0, le = 0);
311
+ }, ve = () => {
312
+ const e = Y();
313
+ e == null || e.removeEventListener("touchstart", Ue), e == null || e.removeEventListener("touchmove", Oe), e == null || e.removeEventListener("touchend", ze), e == null || e.removeEventListener("click", $e);
314
+ }, me = (e) => {
315
+ if (U.value !== e) {
316
+ if (U.value = e, !e) {
317
+ ve(), X = !1, M.value = "";
318
+ return;
319
+ }
320
+ Vt(() => {
321
+ mt(), _t(), Re();
322
+ });
323
+ }
324
+ };
325
+ return (e, t) => {
326
+ var oe, He, Fe;
327
+ const n = ht, c = gt, _ = Mt, y = kt, A = xt, j = wt, _e = ft;
328
+ return r(), d(S, null, [
329
+ o(h)("isMobile") ? (r(), d("div", Nt, [
330
+ l("div", jt, [
331
+ l("div", {
332
+ class: J(["mobile_set_btn", { mobile_set_btn_active: w.value }]),
333
+ onClick: C
334
+ }, [
335
+ l("img", {
336
+ src: `${o(E)}/industry-viewer/action-bar/${(oe = o(L).getToolById(11)) == null ? void 0 : oe.img}.svg`,
337
+ alt: ""
338
+ }, null, 8, Wt)
339
+ ], 2),
340
+ l("div", qt, [
341
+ l("div", {
342
+ class: "mouse",
343
+ onClick: vt
344
+ }, [
345
+ l("img", {
346
+ src: `${o(E)}/industry-viewer/action-bar/${U.value ? (He = o(L).getToolById(16)) == null ? void 0 : He.imgActive : (Fe = o(L).getToolById(16)) == null ? void 0 : Fe.img}.svg`
347
+ }, null, 8, Jt),
348
+ l("span", {
349
+ style: fe({ color: U.value ? "#1457F7" : "#262626" })
350
+ }, v(o(i)("toolbar.virtualMouse")), 5)
351
+ ])
352
+ ])
353
+ ]),
354
+ l("div", Kt, [
355
+ (r(!0), d(S, null, I(o(W), (s) => (r(), d("div", {
356
+ key: s.id,
357
+ class: J(["measure-item", {
358
+ "measure-item-active": f.value === s.id
359
+ }]),
360
+ onClick: (pt) => xe(s)
361
+ }, [
362
+ l("div", Zt, [
363
+ l("img", {
364
+ src: o(E) + `/bim-viewer/measure-bar/bimkk-mobile-measure-${f.value === s.id ? s.svgActive : s.svg}.svg`,
365
+ alt: ""
366
+ }, null, 8, Gt),
367
+ l("div", el, v(o(i)(s.label || s.name)), 1)
368
+ ])
369
+ ], 10, Qt))), 128)),
370
+ b.value ? (r(), d("div", {
371
+ key: 0,
372
+ class: "measure-item",
373
+ onClick: nt
374
+ }, [
375
+ l("div", tl, [
376
+ l("img", {
377
+ src: o(E) + "/bim-viewer/delete.svg",
378
+ alt: ""
379
+ }, null, 8, ll),
380
+ l("div", sl, v(o(i)("common.delete")), 1)
381
+ ])
382
+ ])) : ne("", !0)
383
+ ])
384
+ ])) : (r(), je(A, {
385
+ key: 0,
386
+ class: "measure_panel",
387
+ width: ie.value,
388
+ panelTitle: w.value ? o(i)("measure.settings") : o(i)("measure.title"),
389
+ "click-handle": at
390
+ }, {
391
+ default: O(() => [
392
+ w.value ? (r(), d("div", Ut, [
393
+ l("div", Ot, [
394
+ l("div", zt, [
395
+ l("div", Ht, [
396
+ l("span", null, v(o(i)("measure.scaleLabel")), 1),
397
+ t[5] || (t[5] = l("span", null, "1:", -1)),
398
+ p(c, {
399
+ modelValue: F.value,
400
+ "onUpdate:modelValue": t[0] || (t[0] = (s) => F.value = s),
401
+ style: { width: "122px", height: "28px" },
402
+ placeholder: "1"
403
+ }, null, 8, ["modelValue"])
404
+ ]),
405
+ l("div", Ft, [
406
+ l("span", null, v(o(i)("measure.unitLabel")), 1),
407
+ p(y, {
408
+ modelValue: k.value,
409
+ "onUpdate:modelValue": t[1] || (t[1] = (s) => k.value = s),
410
+ placeholder: o(i)("measure.unitPlaceholder"),
411
+ style: { width: "136px", height: "28px" }
412
+ }, {
413
+ default: O(() => [
414
+ (r(), d(S, null, I(ge, (s) => p(_, {
415
+ key: s.value,
416
+ value: s.value
417
+ }, null, 8, ["value"])), 64))
418
+ ]),
419
+ _: 1
420
+ }, 8, ["modelValue", "placeholder"])
421
+ ]),
422
+ l("div", Xt, [
423
+ l("span", null, v(o(i)("measure.precisionLabel")), 1),
424
+ p(y, {
425
+ modelValue: V.value,
426
+ "onUpdate:modelValue": t[2] || (t[2] = (s) => V.value = s),
427
+ placeholder: o(i)("measure.precisionPlaceholder"),
428
+ style: { width: "136px", height: "28px" }
429
+ }, {
430
+ default: O(() => [
431
+ (r(), d(S, null, I(Me, (s) => p(_, {
432
+ key: s.value,
433
+ label: s.label,
434
+ value: s.value
435
+ }, null, 8, ["label", "value"])), 64))
436
+ ]),
437
+ _: 1
438
+ }, 8, ["modelValue", "placeholder"])
439
+ ])
440
+ ])
441
+ ]),
442
+ l("div", Yt, [
443
+ l("div", {
444
+ class: "measure_footer_button measure_footer_button_cancel",
445
+ onClick: C
446
+ }, v(o(i)("common.cancel")), 1),
447
+ l("div", {
448
+ class: "measure_footer_button measure_footer_button_save",
449
+ onClick: Se
450
+ }, v(o(i)("common.save")), 1)
451
+ ])
452
+ ])) : (r(), d("div", Pt, [
453
+ l("div", Ct, [
454
+ (r(!0), d(S, null, I(o(W), (s) => (r(), je(n, {
455
+ key: s.id,
456
+ content: o(i)(s.label),
457
+ placement: "top",
458
+ effect: "light",
459
+ "hide-after": 50
460
+ }, {
461
+ default: O(() => [
462
+ l("div", {
463
+ class: J(["measurement_box", { measurement_box_active: f.value === s.id }]),
464
+ onClick: (pt) => xe(s)
465
+ }, [
466
+ s.img || s.imgActive ? (r(), d("img", {
467
+ key: 0,
468
+ class: "measurement_img",
469
+ src: o(E) + `/bim-viewer/action-bars/pmeasure-${f.value === s.id ? s.imgActive : s.img}.svg`,
470
+ alt: ""
471
+ }, null, 8, Et)) : (r(), d("span", It))
472
+ ], 10, Bt)
473
+ ]),
474
+ _: 2
475
+ }, 1032, ["content"]))), 128))
476
+ ]),
477
+ l("div", Lt, [
478
+ (r(!0), d(S, null, I(st.value, (s) => (r(), d("div", {
479
+ key: s.key,
480
+ class: "data_box"
481
+ }, [
482
+ l("div", null, v(o(i)(s.label)), 1),
483
+ l("div", {
484
+ style: fe({ color: s.color })
485
+ }, v(s.value), 5)
486
+ ]))), 128))
487
+ ]),
488
+ T.value === "elevation" ? (r(), d("div", Rt, [
489
+ l("div", {
490
+ class: J(["datum_button", { datum_button_active: x.value }]),
491
+ onClick: Ae
492
+ }, v(o(i)("measure.setDatum")), 3)
493
+ ])) : ne("", !0),
494
+ l("div", $t, [
495
+ l("span", { onClick: ot }, v(o(i)("measure.clearAll")), 1),
496
+ l("span", { onClick: C }, v(o(i)("setting.title")), 1)
497
+ ])
498
+ ]))
499
+ ]),
500
+ _: 1
501
+ }, 8, ["width", "panelTitle"])),
502
+ w.value && o(h)("isMobile") ? (r(), d("div", al, [
503
+ l("div", ol, [
504
+ p(j, {
505
+ width: 0.34,
506
+ "size-type": "rem",
507
+ "click-handle": C
508
+ })
509
+ ]),
510
+ l("div", nl, v(o(i)("measure.settings")), 1),
511
+ l("div", il, [
512
+ l("span", null, v(o(i)("measure.unitLabel")), 1),
513
+ p(y, {
514
+ modelValue: k.value,
515
+ "onUpdate:modelValue": t[3] || (t[3] = (s) => k.value = s),
516
+ teleported: !1,
517
+ placeholder: o(i)("measure.unitPlaceholder"),
518
+ style: { width: "136px", height: "28px" }
519
+ }, {
520
+ default: O(() => [
521
+ (r(), d(S, null, I(ge, (s) => p(_, {
522
+ key: s.value,
523
+ value: s.value
524
+ }, null, 8, ["value"])), 64))
525
+ ]),
526
+ _: 1
527
+ }, 8, ["modelValue", "placeholder"])
528
+ ]),
529
+ l("div", ul, [
530
+ l("span", null, v(o(i)("measure.precisionLabel")), 1),
531
+ p(y, {
532
+ modelValue: V.value,
533
+ "onUpdate:modelValue": t[4] || (t[4] = (s) => V.value = s),
534
+ teleported: !1,
535
+ placeholder: o(i)("measure.precisionPlaceholder"),
536
+ style: { width: "136px", height: "28px" }
537
+ }, {
538
+ default: O(() => [
539
+ (r(), d(S, null, I(Me, (s) => p(_, {
540
+ key: s.value,
541
+ label: s.label,
542
+ value: s.value
543
+ }, null, 8, ["label", "value"])), 64))
544
+ ]),
545
+ _: 1
546
+ }, 8, ["modelValue", "placeholder"])
547
+ ]),
548
+ T.value === "elevation" ? (r(), d("div", cl, [
549
+ l("div", {
550
+ class: J(["datum_action", { datum_action_active: x.value }]),
551
+ onClick: Ae
552
+ }, v(o(i)("measure.setDatum")), 3)
553
+ ])) : ne("", !0),
554
+ l("div", rl, [
555
+ l("div", {
556
+ class: "mobile_set_button",
557
+ onClick: C
558
+ }, v(o(i)("common.cancel")), 1),
559
+ l("div", {
560
+ class: "mobile_set_button mobile_set_button_primary",
561
+ onClick: Se
562
+ }, v(o(i)("common.save")), 1)
563
+ ])
564
+ ])) : ne("", !0),
565
+ We(p(_e, {
566
+ title: tt.value,
567
+ "click-handle": lt
568
+ }, null, 8, ["title"]), [
569
+ [qe, R.value]
570
+ ]),
571
+ We(l("div", {
572
+ id: "measure_mouseGroup",
573
+ class: "mouse_group",
574
+ style: fe({ left: `${se.value}px`, top: `${ae.value}px` })
575
+ }, [
576
+ l("img", {
577
+ id: "mouse_icon",
578
+ class: "mouse_icon",
579
+ src: `${o(E)}/industry-viewer/mouse-icon.svg`
580
+ }, null, 8, dl),
581
+ l("img", {
582
+ id: "mouse_img",
583
+ class: "mouse_img",
584
+ src: `${o(E)}/industry-viewer/mouse-active-large.svg`
585
+ }, null, 8, vl)
586
+ ], 4), [
587
+ [qe, U.value]
588
+ ])
589
+ ], 64);
590
+ };
591
+ }
592
+ }), yl = /* @__PURE__ */ Tt(ml, [["__scopeId", "data-v-9d2aa6d0"]]);
593
+ export {
594
+ yl as default
595
+ };
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as Y, onMounted as x, onBeforeUnmount as A, ref as _, watch as C, openBlock as M, createElementBlock as $, withDirectives as F, createElementVNode as g, normalizeStyle as D, unref as L, vShow as N } from "vue";
2
- import { G as P, I as s, P as k, a0 as V } from "./index-Amk7_oxr.mjs";
3
- const R = { class: "mouse_tool" }, U = ["src"], z = ["src"], J = /* @__PURE__ */ Y({
2
+ import { o as R, q as s, O as V, V as k } from "./index-Bu4b3eOR.mjs";
3
+ const U = { class: "mouse_tool" }, q = ["src"], z = ["src"], J = /* @__PURE__ */ Y({
4
4
  __name: "MouseTool",
5
5
  props: ["componentId"],
6
6
  setup(O) {
7
- const p = P(), y = O;
7
+ const p = R(), y = O;
8
8
  x(() => {
9
9
  p.setReadyById(y.componentId), document.getElementById("top_bar");
10
10
  });
@@ -48,7 +48,7 @@ const R = { class: "mouse_tool" }, U = ["src"], z = ["src"], J = /* @__PURE__ */
48
48
  const u = t.viewer.scene.pick({
49
49
  canvasPos: h
50
50
  });
51
- u ? (o = !0, n !== u.entity.id && (n = u.entity.id, t.setAllObjectsSelected(!1), t.setEntitySelected(u.entity))) : (o = !1, n = "", t.setAllObjectsSelected(!1)), V.entityState.selectedObjectIds.length > 0 && t.setObjectsSelected(V.entityState.selectedObjectIds, !0), r = f, a = B;
51
+ u ? (o = !0, n !== u.entity.id && (n = u.entity.id, t.setAllObjectsSelected(!1), t.setEntitySelected(u.entity))) : (o = !1, n = "", t.setAllObjectsSelected(!1)), k.entityState.selectedObjectIds.length > 0 && t.setObjectsSelected(k.entityState.selectedObjectIds, !0), r = f, a = B;
52
52
  }
53
53
  }, j = () => {
54
54
  const e = document.getElementById("mouseGroup");
@@ -57,7 +57,7 @@ const R = { class: "mouse_tool" }, U = ["src"], z = ["src"], J = /* @__PURE__ */
57
57
  const e = document.getElementById("mouseGroup");
58
58
  e == null || e.removeEventListener("touchstart", S), e == null || e.removeEventListener("touchmove", b), e == null || e.removeEventListener("click", I);
59
59
  };
60
- return (e, f) => (M(), $("div", R, [
60
+ return (e, f) => (M(), $("div", U, [
61
61
  F(g("div", {
62
62
  id: "mouseGroup",
63
63
  class: "mouse_group",
@@ -66,12 +66,12 @@ const R = { class: "mouse_tool" }, U = ["src"], z = ["src"], J = /* @__PURE__ */
66
66
  g("img", {
67
67
  id: "mouse_icon",
68
68
  class: "mouse_icon",
69
- src: `${L(k)}/industry-viewer/mouse-icon.svg`
70
- }, null, 8, U),
69
+ src: `${L(V)}/industry-viewer/mouse-icon.svg`
70
+ }, null, 8, q),
71
71
  g("img", {
72
72
  id: "mouse_img",
73
73
  class: "mouse_img",
74
- src: `${L(k)}/industry-viewer/mouse-active-large.svg`
74
+ src: `${L(V)}/industry-viewer/mouse-active-large.svg`
75
75
  }, null, 8, z)
76
76
  ], 4), [
77
77
  [N, !l.value]