@xtctwins/tctwins-industry-engine 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +5 -0
  2. package/dist/AnnotationTool-p1JXCwLS.mjs +129 -0
  3. package/dist/BCFTool-Cssf2dIk.mjs +25118 -0
  4. package/dist/CommentTool-Bug4iFC9.mjs +167 -0
  5. package/dist/Industry_Viewer_Lib.es.js +12 -0
  6. package/dist/Industry_Viewer_Lib.umd.js +633 -0
  7. package/dist/InspectorTool-BJzXtOU-.mjs +674 -0
  8. package/dist/MeasureTool-Dkrz8dS6.mjs +168 -0
  9. package/dist/MouseTool-Cvc5G90V.mjs +80 -0
  10. package/dist/NavigateTool-DwEEE5nd.mjs +52 -0
  11. package/dist/RoamTool-dChjfNvn.mjs +212 -0
  12. package/dist/ScreenShotTool-CPrA7pEa.mjs +357 -0
  13. package/dist/SectionTool-Du-V6U-J.mjs +217 -0
  14. package/dist/SettingTool-X6AjiptI.mjs +691 -0
  15. package/dist/StructureTree-CHhrQiDL.mjs +1591 -0
  16. package/dist/XRayTool-Ci1SR92x.mjs +57 -0
  17. package/dist/alert-BzjOjWCu.mjs +46 -0
  18. package/dist/const-DeViLYl5.mjs +266 -0
  19. package/dist/el-checkbox-DeNYO9VE.mjs +460 -0
  20. package/dist/el-input-number-CsUyeV_5.mjs +858 -0
  21. package/dist/index-CBO0Vhj8.mjs +99354 -0
  22. package/dist/index.html +17 -0
  23. package/dist/panel.vue_vue_type_style_index_0_lang-CUi6naB0.mjs +61 -0
  24. package/dist/style.css +1 -0
  25. package/dist/tallPanel-D226sbKd.mjs +84 -0
  26. package/package.json +65 -0
  27. package/types/App.vue.d.ts +2 -0
  28. package/types/components/BCFComponents/BCFAddPanel.vue.d.ts +55 -0
  29. package/types/components/BCFComponents/BCFDetailPanel.vue.d.ts +59 -0
  30. package/types/components/BCFComponents/BCFDisplayList.vue.d.ts +18 -0
  31. package/types/components/BCFComponents/BCFFilter.vue.d.ts +14 -0
  32. package/types/components/BCFComponents/BCFTool.vue.d.ts +15 -0
  33. package/types/components/BCFComponents/addObjectOrAnno.vue.d.ts +16 -0
  34. package/types/components/BCFComponents/checkObjectPanel.vue.d.ts +11 -0
  35. package/types/components/BCFComponents/commentInput.vue.d.ts +51 -0
  36. package/types/components/BCFComponents/commentsView.vue.d.ts +48 -0
  37. package/types/components/BCFComponents/dialogPanel.vue.d.ts +15 -0
  38. package/types/components/BCFComponents/imageView.vue.d.ts +17 -0
  39. package/types/components/BCFComponents/imageZoomIn.vue.d.ts +9 -0
  40. package/types/components/BimViewerComponents/AnnotationTool.vue.d.ts +14 -0
  41. package/types/components/BimViewerComponents/ClickEvent.vue.d.ts +6 -0
  42. package/types/components/BimViewerComponents/CommentTool.vue.d.ts +12 -0
  43. package/types/components/BimViewerComponents/InspectorTool.vue.d.ts +12 -0
  44. package/types/components/BimViewerComponents/MeasureTool.vue.d.ts +12 -0
  45. package/types/components/BimViewerComponents/MouseTool.vue.d.ts +6 -0
  46. package/types/components/BimViewerComponents/NavigateTool.vue.d.ts +10 -0
  47. package/types/components/BimViewerComponents/RoamTool.vue.d.ts +12 -0
  48. package/types/components/BimViewerComponents/ScreenShotTool.vue.d.ts +10 -0
  49. package/types/components/BimViewerComponents/SectionTool.vue.d.ts +10 -0
  50. package/types/components/BimViewerComponents/SettingTool.vue.d.ts +13 -0
  51. package/types/components/BimViewerComponents/StructureTree.vue.d.ts +3053 -0
  52. package/types/components/BimViewerComponents/Toolbar.vue.d.ts +10 -0
  53. package/types/components/BimViewerComponents/XRayTool.vue.d.ts +12 -0
  54. package/types/components/BimViewerComponents/mobileToolbar.vue.d.ts +27 -0
  55. package/types/components/MobileBCFComponents/MobileBCFAdd.vue.d.ts +56 -0
  56. package/types/components/MobileBCFComponents/MobileBCFDetail.vue.d.ts +55 -0
  57. package/types/components/MobileBCFComponents/MobileBCFDisplayList.vue.d.ts +278 -0
  58. package/types/components/MobileBCFComponents/MobileBCFFilter.vue.d.ts +255 -0
  59. package/types/components/MobileBCFComponents/MobileBCFTool.vue.d.ts +15 -0
  60. package/types/components/MobileBCFComponents/MobileCommentInput.vue.d.ts +54 -0
  61. package/types/components/MobileBCFComponents/MobileCommentsView.vue.d.ts +17 -0
  62. package/types/components/MobileBCFComponents/selectPanel.vue.d.ts +12 -0
  63. package/types/components/index.d.ts +3 -0
  64. package/types/components/industryViewer.vue.d.ts +18 -0
  65. package/types/components/utilsComponents/alert.vue.d.ts +32 -0
  66. package/types/components/utilsComponents/closeButton.vue.d.ts +50 -0
  67. package/types/components/utilsComponents/closeButton_dark.vue.d.ts +32 -0
  68. package/types/components/utilsComponents/emptyPage.vue.d.ts +6 -0
  69. package/types/components/utilsComponents/loading.vue.d.ts +2 -0
  70. package/types/components/utilsComponents/panel.vue.d.ts +47 -0
  71. package/types/components/utilsComponents/rectangleButton.vue.d.ts +106 -0
  72. package/types/components/utilsComponents/tallPanel.vue.d.ts +69 -0
  73. package/types/components/utilsComponents/tallPanel_noPos.vue.d.ts +82 -0
  74. package/types/index.d.ts +31 -0
  75. package/types/main.d.ts +1 -0
  76. package/types/pages/viewerEntry.vue.d.ts +59 -0
  77. package/types/services/request/config.d.ts +8 -0
  78. package/types/store/bcfManager.d.ts +11 -0
  79. package/types/store/bcfReflect.d.ts +88 -0
  80. package/types/store/const.d.ts +211 -0
  81. package/types/store/initConfigs.d.ts +58 -0
  82. package/types/store/propertyReflect.d.ts +1 -0
  83. package/types/store/themeManager.d.ts +8 -0
  84. package/types/store/toolbars.d.ts +392 -0
  85. package/types/utils/OSSHelper.d.ts +4 -0
  86. package/types/utils/cacheInfo.d.ts +20 -0
  87. package/types/utils/dateFormat.d.ts +2 -0
  88. package/types/utils/dpscan.d.ts +1 -0
  89. package/types/utils/eventBus.d.ts +86 -0
  90. package/types/utils/roles.d.ts +1 -0
  91. package/types/utils/splitType.d.ts +3 -0
  92. package/types/utils/timer.d.ts +9 -0
  93. package/types/viewerManager/initial/viewerInitial.d.ts +7 -0
  94. package/types/viewerManager/load/loadModel.d.ts +1 -0
  95. package/types/viewerManager/viewerManager.d.ts +12 -0
@@ -0,0 +1,357 @@
1
+ import { _ as me } from "./panel.vue_vue_type_style_index_0_lang-CUi6naB0.mjs";
2
+ import { D as G, U as $, d as M, F as j, i as H, G as pe, H as W, f as O, J as fe, K as ve, L as be, u as L, _ as P, M as _e, N as he, P as ge, Q as ye, j as Se, w as Ve, R as X, p as Re, v as ke } from "./index-CBO0Vhj8.mjs";
3
+ import { ref as R, inject as Ee, computed as g, defineComponent as E, openBlock as k, createElementBlock as B, normalizeClass as y, unref as e, createElementVNode as v, withDirectives as Y, isRef as q, withModifiers as w, vModelRadio as J, renderSlot as x, createTextVNode as N, toDisplayString as F, nextTick as Q, normalizeStyle as Ie, onMounted as Z, provide as Be, reactive as Ce, toRefs as we, watch as ee, createBlock as Ne, withCtx as U, createVNode as C, Fragment as Ge, renderList as Ue, createCommentVNode as ze } from "vue";
4
+ import { a as z } from "./const-DeViLYl5.mjs";
5
+ const oe = G({
6
+ modelValue: {
7
+ type: [String, Number, Boolean],
8
+ default: void 0
9
+ },
10
+ size: W,
11
+ disabled: Boolean,
12
+ label: {
13
+ type: [String, Number, Boolean],
14
+ default: void 0
15
+ },
16
+ value: {
17
+ type: [String, Number, Boolean],
18
+ default: void 0
19
+ },
20
+ name: {
21
+ type: String,
22
+ default: void 0
23
+ }
24
+ }), $e = G({
25
+ ...oe,
26
+ border: Boolean
27
+ }), ae = {
28
+ [$]: (a) => M(a) || j(a) || H(a),
29
+ [pe]: (a) => M(a) || j(a) || H(a)
30
+ }, ne = Symbol("radioGroupKey"), le = (a, b) => {
31
+ const t = R(), o = Ee(ne, void 0), r = g(() => !!o), c = g(() => O(a.value) ? a.label : a.value), d = g({
32
+ get() {
33
+ return r.value ? o.modelValue : a.modelValue;
34
+ },
35
+ set(l) {
36
+ r.value ? o.changeEvent(l) : b && b($, l), t.value.checked = a.modelValue === c.value;
37
+ }
38
+ }), p = fe(g(() => o == null ? void 0 : o.size)), n = ve(g(() => o == null ? void 0 : o.disabled)), u = R(!1), f = g(() => n.value || r.value && d.value !== c.value ? -1 : 0);
39
+ return be({
40
+ from: "label act as value",
41
+ replacement: "value",
42
+ version: "3.0.0",
43
+ scope: "el-radio",
44
+ ref: "https://element-plus.org/en-US/component/radio.html"
45
+ }, g(() => r.value && O(a.value))), {
46
+ radioRef: t,
47
+ isGroup: r,
48
+ radioGroup: o,
49
+ focus: u,
50
+ size: p,
51
+ disabled: n,
52
+ tabIndex: f,
53
+ modelValue: d,
54
+ actualValue: c
55
+ };
56
+ }, Le = E({
57
+ name: "ElRadio"
58
+ }), Pe = /* @__PURE__ */ E({
59
+ ...Le,
60
+ props: $e,
61
+ emits: ae,
62
+ setup(a, { emit: b }) {
63
+ const t = a, o = L("radio"), { radioRef: r, radioGroup: c, focus: d, size: p, disabled: n, modelValue: u, actualValue: f } = le(t, b);
64
+ function l() {
65
+ Q(() => b("change", u.value));
66
+ }
67
+ return (_, i) => {
68
+ var s;
69
+ return k(), B("label", {
70
+ class: y([
71
+ e(o).b(),
72
+ e(o).is("disabled", e(n)),
73
+ e(o).is("focus", e(d)),
74
+ e(o).is("bordered", _.border),
75
+ e(o).is("checked", e(u) === e(f)),
76
+ e(o).m(e(p))
77
+ ])
78
+ }, [
79
+ v("span", {
80
+ class: y([
81
+ e(o).e("input"),
82
+ e(o).is("disabled", e(n)),
83
+ e(o).is("checked", e(u) === e(f))
84
+ ])
85
+ }, [
86
+ Y(v("input", {
87
+ ref_key: "radioRef",
88
+ ref: r,
89
+ "onUpdate:modelValue": (S) => q(u) ? u.value = S : null,
90
+ class: y(e(o).e("original")),
91
+ value: e(f),
92
+ name: _.name || ((s = e(c)) == null ? void 0 : s.name),
93
+ disabled: e(n),
94
+ checked: e(u) === e(f),
95
+ type: "radio",
96
+ onFocus: (S) => d.value = !0,
97
+ onBlur: (S) => d.value = !1,
98
+ onChange: l,
99
+ onClick: w(() => {
100
+ }, ["stop"])
101
+ }, null, 42, ["onUpdate:modelValue", "value", "name", "disabled", "checked", "onFocus", "onBlur", "onClick"]), [
102
+ [J, e(u)]
103
+ ]),
104
+ v("span", {
105
+ class: y(e(o).e("inner"))
106
+ }, null, 2)
107
+ ], 2),
108
+ v("span", {
109
+ class: y(e(o).e("label")),
110
+ onKeydown: w(() => {
111
+ }, ["stop"])
112
+ }, [
113
+ x(_.$slots, "default", {}, () => [
114
+ N(F(_.label), 1)
115
+ ])
116
+ ], 42, ["onKeydown"])
117
+ ], 2);
118
+ };
119
+ }
120
+ });
121
+ var xe = /* @__PURE__ */ P(Pe, [["__file", "radio.vue"]]);
122
+ const Fe = G({
123
+ ...oe
124
+ }), Te = E({
125
+ name: "ElRadioButton"
126
+ }), De = /* @__PURE__ */ E({
127
+ ...Te,
128
+ props: Fe,
129
+ setup(a) {
130
+ const b = a, t = L("radio"), { radioRef: o, focus: r, size: c, disabled: d, modelValue: p, radioGroup: n, actualValue: u } = le(b), f = g(() => ({
131
+ backgroundColor: (n == null ? void 0 : n.fill) || "",
132
+ borderColor: (n == null ? void 0 : n.fill) || "",
133
+ boxShadow: n != null && n.fill ? `-1px 0 0 0 ${n.fill}` : "",
134
+ color: (n == null ? void 0 : n.textColor) || ""
135
+ }));
136
+ return (l, _) => {
137
+ var i;
138
+ return k(), B("label", {
139
+ class: y([
140
+ e(t).b("button"),
141
+ e(t).is("active", e(p) === e(u)),
142
+ e(t).is("disabled", e(d)),
143
+ e(t).is("focus", e(r)),
144
+ e(t).bm("button", e(c))
145
+ ])
146
+ }, [
147
+ Y(v("input", {
148
+ ref_key: "radioRef",
149
+ ref: o,
150
+ "onUpdate:modelValue": (s) => q(p) ? p.value = s : null,
151
+ class: y(e(t).be("button", "original-radio")),
152
+ value: e(u),
153
+ type: "radio",
154
+ name: l.name || ((i = e(n)) == null ? void 0 : i.name),
155
+ disabled: e(d),
156
+ onFocus: (s) => r.value = !0,
157
+ onBlur: (s) => r.value = !1,
158
+ onClick: w(() => {
159
+ }, ["stop"])
160
+ }, null, 42, ["onUpdate:modelValue", "value", "name", "disabled", "onFocus", "onBlur", "onClick"]), [
161
+ [J, e(p)]
162
+ ]),
163
+ v("span", {
164
+ class: y(e(t).be("button", "inner")),
165
+ style: Ie(e(p) === e(u) ? e(f) : {}),
166
+ onKeydown: w(() => {
167
+ }, ["stop"])
168
+ }, [
169
+ x(l.$slots, "default", {}, () => [
170
+ N(F(l.label), 1)
171
+ ])
172
+ ], 46, ["onKeydown"])
173
+ ], 2);
174
+ };
175
+ }
176
+ });
177
+ var te = /* @__PURE__ */ P(De, [["__file", "radio-button.vue"]]);
178
+ const Ae = G({
179
+ id: {
180
+ type: String,
181
+ default: void 0
182
+ },
183
+ size: W,
184
+ disabled: Boolean,
185
+ modelValue: {
186
+ type: [String, Number, Boolean],
187
+ default: void 0
188
+ },
189
+ fill: {
190
+ type: String,
191
+ default: ""
192
+ },
193
+ textColor: {
194
+ type: String,
195
+ default: ""
196
+ },
197
+ name: {
198
+ type: String,
199
+ default: void 0
200
+ },
201
+ validateEvent: {
202
+ type: Boolean,
203
+ default: !0
204
+ },
205
+ ..._e(["ariaLabel"])
206
+ }), Ke = ae, Me = E({
207
+ name: "ElRadioGroup"
208
+ }), je = /* @__PURE__ */ E({
209
+ ...Me,
210
+ props: Ae,
211
+ emits: Ke,
212
+ setup(a, { emit: b }) {
213
+ const t = a, o = L("radio"), r = he(), c = R(), { formItem: d } = ge(), { inputId: p, isLabeledByFormItem: n } = ye(t, {
214
+ formItemContext: d
215
+ }), u = (l) => {
216
+ b($, l), Q(() => b("change", l));
217
+ };
218
+ Z(() => {
219
+ const l = c.value.querySelectorAll("[type=radio]"), _ = l[0];
220
+ !Array.from(l).some((i) => i.checked) && _ && (_.tabIndex = 0);
221
+ });
222
+ const f = g(() => t.name || r.value);
223
+ return Be(ne, Ce({
224
+ ...we(t),
225
+ changeEvent: u,
226
+ name: f
227
+ })), ee(() => t.modelValue, () => {
228
+ t.validateEvent && (d == null || d.validate("change").catch((l) => Se(l)));
229
+ }), (l, _) => (k(), B("div", {
230
+ id: e(p),
231
+ ref_key: "radioGroupRef",
232
+ ref: c,
233
+ class: y(e(o).b("group")),
234
+ role: "radiogroup",
235
+ "aria-label": e(n) ? void 0 : l.ariaLabel || "radio-group",
236
+ "aria-labelledby": e(n) ? e(d).labelId : void 0
237
+ }, [
238
+ x(l.$slots, "default")
239
+ ], 10, ["id", "aria-label", "aria-labelledby"]));
240
+ }
241
+ });
242
+ var se = /* @__PURE__ */ P(je, [["__file", "radio-group.vue"]]);
243
+ const He = Ve(xe, {
244
+ RadioButton: te,
245
+ RadioGroup: se
246
+ }), Oe = X(se);
247
+ X(te);
248
+ const We = { class: "wrapper" }, Xe = { class: "screen_thumbnail" }, Ye = ["src"], qe = { class: "validity-period" }, Je = {
249
+ key: 0,
250
+ class: "custom"
251
+ }, ao = /* @__PURE__ */ E({
252
+ __name: "ScreenShotTool",
253
+ props: ["componentId"],
254
+ emits: ["closePanel"],
255
+ setup(a, { emit: b }) {
256
+ const t = Re(), o = a, r = R(0), c = R(), d = R(), p = R(), n = b;
257
+ Z(() => {
258
+ c.value = 1280, d.value = 720, t.setReadyById(o.componentId);
259
+ }), ee(
260
+ () => t.isToolActive(o.componentId),
261
+ (i) => {
262
+ i && l(220, 124, !1);
263
+ }
264
+ );
265
+ const u = (i) => {
266
+ r.value = i, i !== 3 && (c.value = z[i].width, d.value = z[i].height);
267
+ }, f = () => {
268
+ n("closePanel");
269
+ }, l = (i, s, S) => {
270
+ const h = document.getElementById("myCanvas"), I = document.createElement("a");
271
+ I.download = "screenshot.png";
272
+ const V = document.createElement("canvas"), m = V.getContext("2d");
273
+ if (h && m) {
274
+ V.width = i, V.height = s;
275
+ const de = i / h.width, ie = s / h.height, T = Math.max(de, ie), D = h.width * T, A = h.height * T, re = (i - D) / 2, ue = (s - A) / 2;
276
+ m.clearRect(0, 0, i, s), m.fillStyle = "transparent", m.fillRect(0, 0, i, s), m.drawImage(h, 0, 0, h.width, h.height, re, ue, D, A), S ? V.toBlob(function(ce) {
277
+ const K = URL.createObjectURL(ce);
278
+ I.href = K, I.click(), URL.revokeObjectURL(K);
279
+ }) : p.value = V.toDataURL("image/png");
280
+ }
281
+ }, _ = () => {
282
+ l(c.value, d.value, !0);
283
+ };
284
+ return (i, s) => {
285
+ const S = He, h = Oe, I = ke, V = me;
286
+ return k(), Ne(V, {
287
+ class: "screen_container",
288
+ width: 240,
289
+ panelTitle: "截图",
290
+ "click-handle": f
291
+ }, {
292
+ default: U(() => [
293
+ v("div", We, [
294
+ v("div", Xe, [
295
+ v("img", {
296
+ class: "thumbnail_img",
297
+ src: p.value,
298
+ alt: ""
299
+ }, null, 8, Ye)
300
+ ]),
301
+ C(h, {
302
+ modelValue: r.value,
303
+ "onUpdate:modelValue": s[0] || (s[0] = (m) => r.value = m),
304
+ onChange: u
305
+ }, {
306
+ default: U(() => [
307
+ v("div", qe, [
308
+ (k(!0), B(Ge, null, Ue(e(z), (m) => (k(), B("div", {
309
+ key: m.id,
310
+ class: "period_box"
311
+ }, [
312
+ C(S, {
313
+ label: m.id
314
+ }, {
315
+ default: U(() => [
316
+ N(F(m.name), 1)
317
+ ]),
318
+ _: 2
319
+ }, 1032, ["label"])
320
+ ]))), 128))
321
+ ])
322
+ ]),
323
+ _: 1
324
+ }, 8, ["modelValue"]),
325
+ r.value === 3 ? (k(), B("div", Je, [
326
+ C(I, {
327
+ modelValue: c.value,
328
+ "onUpdate:modelValue": s[1] || (s[1] = (m) => c.value = m),
329
+ placeholder: "请输入长度"
330
+ }, null, 8, ["modelValue"]),
331
+ s[3] || (s[3] = N(" x ")),
332
+ C(I, {
333
+ modelValue: d.value,
334
+ "onUpdate:modelValue": s[2] || (s[2] = (m) => d.value = m),
335
+ placeholder: "请输入宽度"
336
+ }, null, 8, ["modelValue"])
337
+ ])) : ze("", !0),
338
+ v("div", { class: "footer" }, [
339
+ v("div", {
340
+ class: "btn1",
341
+ onClick: f
342
+ }, " 取消 "),
343
+ v("div", {
344
+ class: "btn2",
345
+ onClick: _
346
+ }, " 保存 ")
347
+ ])
348
+ ])
349
+ ]),
350
+ _: 1
351
+ });
352
+ };
353
+ }
354
+ });
355
+ export {
356
+ ao as default
357
+ };
@@ -0,0 +1,217 @@
1
+ import { _ as W } from "./alert-BzjOjWCu.mjs";
2
+ import { p as X, T as E, q as b, t as B, O as m, y as Y, x as Z, z as G } from "./index-CBO0Vhj8.mjs";
3
+ import { E as H } from "./el-input-number-CsUyeV_5.mjs";
4
+ import { defineComponent as J, ref as s, onMounted as K, watch as Q, onBeforeUnmount as ee, openBlock as l, createElementBlock as c, Fragment as oe, createElementVNode as o, createVNode as v, withCtx as te, unref as r, toDisplayString as h, withDirectives as ie, vShow as ne } from "vue";
5
+ const se = { class: "mobile_section_panel" }, le = { class: "slicing-title-box" }, ce = { class: "slicing-title-icon" }, re = { class: "slicing-content-box" }, ae = { class: "slicing-select-box" }, de = { class: "select-item" }, ue = { class: "select-item-left" }, me = ["src"], ve = ["src"], _e = { class: "select-item-center" }, pe = { class: "item-center-top" }, we = { class: "item-center-bottom" }, ge = { class: "select-item" }, be = { class: "select-item-left" }, fe = ["src"], ke = ["src"], he = { class: "select-item-center" }, ye = { class: "item-center-top" }, Ve = { class: "item-center-bottom" }, xe = { class: "select-item" }, Te = { class: "select-item-left" }, Ce = ["src"], Pe = ["src"], Se = { class: "select-item-center" }, ze = { class: "item-center-top" }, Ee = { class: "item-center-bottom" }, Be = /* @__PURE__ */ J({
6
+ __name: "SectionTool",
7
+ props: ["componentId"],
8
+ emits: ["closePanel"],
9
+ setup(L, { emit: $ }) {
10
+ const y = X(), V = L, x = s(0);
11
+ K(() => {
12
+ y.setReadyById(V.componentId), E.currentTheme == "blue" ? x.value = 240 : E.currentTheme == "light-gray" && (x.value = 202), document.addEventListener("click", T);
13
+ });
14
+ const T = (t) => {
15
+ P.value && t.target.id != "controlOperatePanel" && M(!1);
16
+ }, C = s(!0);
17
+ s(!1);
18
+ const w = s(), I = s(), P = s(!1), M = (t) => {
19
+ P.value = t;
20
+ };
21
+ let _, g;
22
+ const O = $;
23
+ Q(
24
+ () => y.isToolActive(V.componentId),
25
+ (t) => {
26
+ b("isMobile") && (t ? (p(a.value.direction), document.addEventListener("touchmove", z)) : document.removeEventListener("touchmove", z));
27
+ }
28
+ );
29
+ let f = !1;
30
+ const S = () => {
31
+ _ = window.bimViewer.sectionTool, g = window.bimViewer.eventTrigger, b("isMobile") || g.on("createSection", (t) => {
32
+ j(), w.value = Object.keys(R()).map((e) => ({
33
+ id: e,
34
+ isLook: !0,
35
+ directionLeft: !0
36
+ })), N(t.id, !0), I.value = t.id, U(t.id);
37
+ }), b("isMobile") && (g.on("touchPlaneStart", () => {
38
+ f = !0;
39
+ }), g.on("touchPlaneEnd", () => {
40
+ f = !1;
41
+ }));
42
+ };
43
+ B.on("BimViewer", S), ee(() => {
44
+ B.off("BimViewer", S), document.removeEventListener("click", T);
45
+ });
46
+ const z = () => {
47
+ f && D();
48
+ }, i = s({
49
+ x: 0,
50
+ y: 0,
51
+ z: 0
52
+ }), a = s({
53
+ direction: "x"
54
+ }), d = (t) => {
55
+ p(t);
56
+ }, p = (t) => {
57
+ switch (a.value.direction = t, t) {
58
+ case "x":
59
+ window.bimViewer.sectionTool.sectionDirection = 0, window.bimViewer.sectionTool.setControlPos(100 - i.value.x);
60
+ break;
61
+ case "y":
62
+ window.bimViewer.sectionTool.sectionDirection = 1, window.bimViewer.sectionTool.setControlPos(i.value.y);
63
+ break;
64
+ case "z":
65
+ window.bimViewer.sectionTool.sectionDirection = 2, window.bimViewer.sectionTool.setControlPos(100 - i.value.z);
66
+ break;
67
+ }
68
+ }, D = () => {
69
+ switch (a.value.direction) {
70
+ case "x":
71
+ i.value.x = 100 - window.bimViewer.sectionTool.getControlPos();
72
+ break;
73
+ case "y":
74
+ i.value.y = window.bimViewer.sectionTool.getControlPos();
75
+ break;
76
+ case "z":
77
+ i.value.z = 100 - window.bimViewer.sectionTool.getControlPos();
78
+ break;
79
+ }
80
+ }, A = () => {
81
+ _.setActive(!1), O("closePanel");
82
+ }, U = (t) => {
83
+ _.showSectionPlane(t);
84
+ }, N = (t, e) => {
85
+ for (let u = 0; u < w.value.length; u++)
86
+ t == w.value[u].id && (w.value[u].isLook = e);
87
+ }, R = () => _.getSectionPlanes(), j = () => {
88
+ _.hideControl();
89
+ };
90
+ return (t, e) => {
91
+ const u = Y, k = H, q = Z, F = W;
92
+ return l(), c(oe, null, [
93
+ o("div", se, [
94
+ o("div", le, [
95
+ e[12] || (e[12] = o("div", { class: "slicing-title" }, "剖切", -1)),
96
+ o("div", ce, [
97
+ v(u, {
98
+ width: 0.4,
99
+ "size-type": "rem",
100
+ "click-handle": A
101
+ })
102
+ ])
103
+ ]),
104
+ o("div", re, [
105
+ v(q, null, {
106
+ default: te(() => [
107
+ o("div", ae, [
108
+ o("div", de, [
109
+ o("div", ue, [
110
+ a.value.direction === "x" ? (l(), c("img", {
111
+ key: 0,
112
+ src: r(m) + "/bim-viewer/section_look_icon.png",
113
+ alt: "",
114
+ onClick: e[0] || (e[0] = (n) => d("x"))
115
+ }, null, 8, me)) : (l(), c("img", {
116
+ key: 1,
117
+ src: r(m) + "/bim-viewer/section_unlook_icon.png",
118
+ alt: "",
119
+ onClick: e[1] || (e[1] = (n) => d("x"))
120
+ }, null, 8, ve))
121
+ ]),
122
+ o("div", _e, [
123
+ o("div", pe, [
124
+ e[13] || (e[13] = o("div", null, "X轴", -1)),
125
+ o("div", null, h(i.value.x) + " %", 1)
126
+ ]),
127
+ o("div", we, [
128
+ v(k, {
129
+ modelValue: i.value.x,
130
+ "onUpdate:modelValue": e[2] || (e[2] = (n) => i.value.x = n),
131
+ size: "large",
132
+ "show-tooltip": !1,
133
+ onInput: e[3] || (e[3] = (n) => p("x"))
134
+ }, null, 8, ["modelValue"])
135
+ ])
136
+ ])
137
+ ]),
138
+ o("div", ge, [
139
+ o("div", be, [
140
+ a.value.direction === "y" ? (l(), c("img", {
141
+ key: 0,
142
+ src: r(m) + "/bim-viewer/section_look_icon.png",
143
+ alt: "",
144
+ onClick: e[4] || (e[4] = (n) => d("y"))
145
+ }, null, 8, fe)) : (l(), c("img", {
146
+ key: 1,
147
+ src: r(m) + "/bim-viewer/section_unlook_icon.png",
148
+ alt: "",
149
+ onClick: e[5] || (e[5] = (n) => d("y"))
150
+ }, null, 8, ke))
151
+ ]),
152
+ o("div", he, [
153
+ o("div", ye, [
154
+ e[14] || (e[14] = o("div", null, "Y轴", -1)),
155
+ o("div", null, h(i.value.y) + " %", 1)
156
+ ]),
157
+ o("div", Ve, [
158
+ v(k, {
159
+ modelValue: i.value.y,
160
+ "onUpdate:modelValue": e[6] || (e[6] = (n) => i.value.y = n),
161
+ size: "large",
162
+ "show-tooltip": !1,
163
+ onInput: e[7] || (e[7] = (n) => p("y"))
164
+ }, null, 8, ["modelValue"])
165
+ ])
166
+ ])
167
+ ]),
168
+ o("div", xe, [
169
+ o("div", Te, [
170
+ a.value.direction === "z" ? (l(), c("img", {
171
+ key: 0,
172
+ src: r(m) + "/bim-viewer/section_look_icon.png",
173
+ alt: "",
174
+ onClick: e[8] || (e[8] = (n) => d("z"))
175
+ }, null, 8, Ce)) : (l(), c("img", {
176
+ key: 1,
177
+ src: r(m) + "/bim-viewer/section_unlook_icon.png",
178
+ alt: "",
179
+ onClick: e[9] || (e[9] = (n) => d("z"))
180
+ }, null, 8, Pe))
181
+ ]),
182
+ o("div", Se, [
183
+ o("div", ze, [
184
+ e[15] || (e[15] = o("div", null, "Z轴", -1)),
185
+ o("div", null, h(i.value.z) + " %", 1)
186
+ ]),
187
+ o("div", Ee, [
188
+ v(k, {
189
+ modelValue: i.value.z,
190
+ "onUpdate:modelValue": e[10] || (e[10] = (n) => i.value.z = n),
191
+ size: "large",
192
+ "show-tooltip": !1,
193
+ onInput: e[11] || (e[11] = (n) => p("z"))
194
+ }, null, 8, ["modelValue"])
195
+ ])
196
+ ])
197
+ ])
198
+ ])
199
+ ]),
200
+ _: 1
201
+ })
202
+ ])
203
+ ]),
204
+ ie(v(F, {
205
+ "click-handle": () => {
206
+ C.value = !1;
207
+ }
208
+ }, null, 8, ["click-handle"]), [
209
+ [ne, C.value && !r(b)("isMobile")]
210
+ ])
211
+ ], 64);
212
+ };
213
+ }
214
+ }), Oe = /* @__PURE__ */ G(Be, [["__scopeId", "data-v-79353c6e"]]);
215
+ export {
216
+ Oe as default
217
+ };