@xtctwins/tctwins-industry-engine 0.0.11 → 0.1.0

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