build-dxf 0.0.40 → 0.0.42
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.
- package/README.md +26 -24
- package/package.json +1 -1
- package/src/build.js +678 -589
- package/src/index.js +1 -1
- package/src/index3.js +503 -499
- package/src/utils/CommandManager/CommandManager.d.ts +1 -0
- package/src/utils/DxfSystem/components/Dxf.d.ts +11 -2
- package/src/utils/DxfSystem/components/LineAnalysis.d.ts +14 -1
- package/src/utils/DxfSystem/utils/originalDataToLineData.d.ts +7 -0
- package/src/utils/Quadtree/Point.d.ts +5 -0
package/src/index3.js
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
1
|
import * as u from "three";
|
|
2
|
-
import { i as ut, n as pt, r as Ue, t as qe, c as Pe, d as gt, e as vt, f as De, g as Q, _ as Ze, u as ft, h as fe, j as _e, w as yt, k as wt, l as bt, p as xt, m as Ct, o as Et, T as Ne, q as Be, s as
|
|
3
|
-
import { C as Ae, P as
|
|
2
|
+
import { i as ut, n as pt, r as Ue, t as qe, c as Pe, d as gt, e as vt, f as De, g as Q, _ as Ze, u as ft, h as fe, j as _e, w as yt, k as wt, l as bt, p as xt, m as Ct, o as Et, T as Ne, q as Be, s as Lt, v as Mt, x as Re, y as Ie, z as Me, A as kt, B as It, L as ye, D as Pt, b as Oe, E as re, S as Dt } from "./selectLocalFile.js";
|
|
3
|
+
import { C as Ae, P as L, L as N, B as Ye, E as Xe, b as Fe, Q as ze, c as At, u as St, A as _t, r as Ke, W as Nt, T as Bt } from "./build.js";
|
|
4
4
|
import "clipper-lib";
|
|
5
5
|
import "dxf-writer";
|
|
6
6
|
import "three/addons/controls/OrbitControls.js";
|
|
7
|
-
import { watch as J, ref as _, defineComponent as me, computed as A, createElementBlock as R, openBlock as D, normalizeClass as j, unref as v, renderSlot as be, createVNode as
|
|
8
|
-
function
|
|
7
|
+
import { watch as J, ref as _, defineComponent as me, computed as A, createElementBlock as R, openBlock as D, normalizeClass as j, unref as v, renderSlot as be, createVNode as z, Transition as xe, withCtx as V, withDirectives as $e, createElementVNode as P, normalizeStyle as Se, createTextVNode as X, toDisplayString as de, vShow as et, shallowReactive as Rt, onMounted as tt, createBlock as ge, createCommentVNode as q, resolveDynamicComponent as Ot, Fragment as ve, withModifiers as Ft, nextTick as we, isVNode as nt, render as Te, toRaw as zt, onUnmounted as Kt, renderList as ke, createStaticVNode as Tt, TransitionGroup as Vt, createApp as jt } from "vue";
|
|
8
|
+
function st(l) {
|
|
9
9
|
var e;
|
|
10
|
-
const t = Ue(
|
|
10
|
+
const t = Ue(l);
|
|
11
11
|
return (e = t?.$el) != null ? e : t;
|
|
12
12
|
}
|
|
13
|
-
const
|
|
14
|
-
function
|
|
15
|
-
let e, t, n,
|
|
16
|
-
if (ut(
|
|
13
|
+
const ot = Pe ? window : void 0;
|
|
14
|
+
function Gt(...l) {
|
|
15
|
+
let e, t, n, s;
|
|
16
|
+
if (ut(l[0]) || Array.isArray(l[0]) ? ([t, n, s] = l, e = ot) : [e, t, n, s] = l, !e)
|
|
17
17
|
return pt;
|
|
18
18
|
Array.isArray(t) || (t = [t]), Array.isArray(n) || (n = [n]);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
a(), c &&
|
|
19
|
+
const o = [], a = () => {
|
|
20
|
+
o.forEach((c) => c()), o.length = 0;
|
|
21
|
+
}, d = (c, m, y, f) => (c.addEventListener(m, y, f), () => c.removeEventListener(m, y, f)), r = J(() => [st(e), Ue(s)], ([c, m]) => {
|
|
22
|
+
a(), c && o.push(...t.flatMap((y) => n.map((f) => d(c, y, f, m))));
|
|
23
23
|
}, { immediate: !0, flush: "post" }), i = () => {
|
|
24
24
|
r(), a();
|
|
25
25
|
};
|
|
26
26
|
return qe(i), i;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const t = _(), n = () => t.value = !!
|
|
28
|
+
function Qt(l, e = !1) {
|
|
29
|
+
const t = _(), n = () => t.value = !!l();
|
|
30
30
|
return n(), gt(n, e), t;
|
|
31
31
|
}
|
|
32
32
|
const Ve = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, je = "__vueuse_ssr_handlers__";
|
|
33
33
|
Ve[je] = Ve[je] || {};
|
|
34
|
-
var Ge = Object.getOwnPropertySymbols,
|
|
34
|
+
var Ge = Object.getOwnPropertySymbols, Ht = Object.prototype.hasOwnProperty, Wt = Object.prototype.propertyIsEnumerable, Jt = (l, e) => {
|
|
35
35
|
var t = {};
|
|
36
|
-
for (var n in
|
|
37
|
-
|
|
38
|
-
if (
|
|
39
|
-
for (var n of Ge(
|
|
40
|
-
e.indexOf(n) < 0 &&
|
|
36
|
+
for (var n in l)
|
|
37
|
+
Ht.call(l, n) && e.indexOf(n) < 0 && (t[n] = l[n]);
|
|
38
|
+
if (l != null && Ge)
|
|
39
|
+
for (var n of Ge(l))
|
|
40
|
+
e.indexOf(n) < 0 && Wt.call(l, n) && (t[n] = l[n]);
|
|
41
41
|
return t;
|
|
42
42
|
};
|
|
43
|
-
function
|
|
44
|
-
const n = t, { window:
|
|
43
|
+
function Ut(l, e, t = {}) {
|
|
44
|
+
const n = t, { window: s = ot } = n, o = Jt(n, ["window"]);
|
|
45
45
|
let a;
|
|
46
|
-
const
|
|
46
|
+
const d = Qt(() => s && "ResizeObserver" in s), r = () => {
|
|
47
47
|
a && (a.disconnect(), a = void 0);
|
|
48
|
-
}, i = J(() =>
|
|
49
|
-
r(),
|
|
48
|
+
}, i = J(() => st(l), (m) => {
|
|
49
|
+
r(), d.value && s && m && (a = new ResizeObserver(e), a.observe(m, o));
|
|
50
50
|
}, { immediate: !0, flush: "post" }), c = () => {
|
|
51
51
|
r(), i();
|
|
52
52
|
};
|
|
53
53
|
return qe(c), {
|
|
54
|
-
isSupported:
|
|
54
|
+
isSupported: d,
|
|
55
55
|
stop: c
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
58
|
var Qe;
|
|
59
|
-
(function(
|
|
60
|
-
|
|
59
|
+
(function(l) {
|
|
60
|
+
l.UP = "UP", l.RIGHT = "RIGHT", l.DOWN = "DOWN", l.LEFT = "LEFT", l.NONE = "NONE";
|
|
61
61
|
})(Qe || (Qe = {}));
|
|
62
|
-
var
|
|
62
|
+
var qt = Object.defineProperty, He = Object.getOwnPropertySymbols, Zt = Object.prototype.hasOwnProperty, Yt = Object.prototype.propertyIsEnumerable, We = (l, e, t) => e in l ? qt(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t, Xt = (l, e) => {
|
|
63
63
|
for (var t in e || (e = {}))
|
|
64
|
-
|
|
64
|
+
Zt.call(e, t) && We(l, t, e[t]);
|
|
65
65
|
if (He)
|
|
66
66
|
for (var t of He(e))
|
|
67
|
-
|
|
68
|
-
return
|
|
67
|
+
Yt.call(e, t) && We(l, t, e[t]);
|
|
68
|
+
return l;
|
|
69
69
|
};
|
|
70
|
-
const
|
|
70
|
+
const $t = {
|
|
71
71
|
easeInSine: [0.12, 0, 0.39, 0],
|
|
72
72
|
easeOutSine: [0.61, 1, 0.88, 1],
|
|
73
73
|
easeInOutSine: [0.37, 0, 0.63, 1],
|
|
@@ -93,12 +93,12 @@ const Xt = {
|
|
|
93
93
|
easeOutBack: [0.34, 1.56, 0.64, 1],
|
|
94
94
|
easeInOutBack: [0.68, -0.6, 0.32, 1.6]
|
|
95
95
|
};
|
|
96
|
-
|
|
96
|
+
Xt({
|
|
97
97
|
linear: vt
|
|
98
|
-
},
|
|
99
|
-
const
|
|
98
|
+
}, $t);
|
|
99
|
+
const en = (l) => l, tn = {
|
|
100
100
|
esc: "Escape"
|
|
101
|
-
},
|
|
101
|
+
}, nn = De({
|
|
102
102
|
value: {
|
|
103
103
|
type: [String, Number],
|
|
104
104
|
default: ""
|
|
@@ -129,30 +129,30 @@ const $t = (d) => d, en = {
|
|
|
129
129
|
badgeClass: {
|
|
130
130
|
type: String
|
|
131
131
|
}
|
|
132
|
-
}),
|
|
132
|
+
}), sn = me({
|
|
133
133
|
name: "ElBadge"
|
|
134
134
|
}), on = /* @__PURE__ */ me({
|
|
135
|
-
...
|
|
136
|
-
props:
|
|
137
|
-
setup(
|
|
138
|
-
const t =
|
|
139
|
-
var a,
|
|
135
|
+
...sn,
|
|
136
|
+
props: nn,
|
|
137
|
+
setup(l, { expose: e }) {
|
|
138
|
+
const t = l, n = ft("badge"), s = A(() => t.isDot ? "" : fe(t.value) && fe(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), o = A(() => {
|
|
139
|
+
var a, d, r, i, c;
|
|
140
140
|
return [
|
|
141
141
|
{
|
|
142
142
|
backgroundColor: t.color,
|
|
143
|
-
marginRight: _e(-((
|
|
143
|
+
marginRight: _e(-((d = (a = t.offset) == null ? void 0 : a[0]) != null ? d : 0)),
|
|
144
144
|
marginTop: _e((i = (r = t.offset) == null ? void 0 : r[1]) != null ? i : 0)
|
|
145
145
|
},
|
|
146
146
|
(c = t.badgeStyle) != null ? c : {}
|
|
147
147
|
];
|
|
148
148
|
});
|
|
149
149
|
return e({
|
|
150
|
-
content:
|
|
151
|
-
}), (a,
|
|
150
|
+
content: s
|
|
151
|
+
}), (a, d) => (D(), R("div", {
|
|
152
152
|
class: j(v(n).b())
|
|
153
153
|
}, [
|
|
154
154
|
be(a.$slots, "default"),
|
|
155
|
-
|
|
155
|
+
z(xe, {
|
|
156
156
|
name: `${v(n).namespace.value}-zoom-in-center`,
|
|
157
157
|
persisted: ""
|
|
158
158
|
}, {
|
|
@@ -166,13 +166,13 @@ const $t = (d) => d, en = {
|
|
|
166
166
|
v(n).is("hide-zero", !a.showZero && t.value === 0),
|
|
167
167
|
a.badgeClass
|
|
168
168
|
]),
|
|
169
|
-
style: Se(v(
|
|
169
|
+
style: Se(v(o))
|
|
170
170
|
}, [
|
|
171
|
-
be(a.$slots, "content", { value: v(
|
|
172
|
-
X(de(v(
|
|
171
|
+
be(a.$slots, "content", { value: v(s) }, () => [
|
|
172
|
+
X(de(v(s)), 1)
|
|
173
173
|
])
|
|
174
174
|
], 6), [
|
|
175
|
-
[et, !a.hidden && (v(
|
|
175
|
+
[et, !a.hidden && (v(s) || a.isDot || a.$slots.content)]
|
|
176
176
|
])
|
|
177
177
|
]),
|
|
178
178
|
_: 3
|
|
@@ -180,8 +180,8 @@ const $t = (d) => d, en = {
|
|
|
180
180
|
], 2));
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
|
-
var
|
|
184
|
-
const
|
|
183
|
+
var an = /* @__PURE__ */ Ze(on, [["__file", "badge.vue"]]);
|
|
184
|
+
const rn = yt(an), dn = De({
|
|
185
185
|
a11y: {
|
|
186
186
|
type: Boolean,
|
|
187
187
|
default: !0
|
|
@@ -221,12 +221,12 @@ const an = yt(sn), rn = De({
|
|
|
221
221
|
}), T = {};
|
|
222
222
|
me({
|
|
223
223
|
name: "ElConfigProvider",
|
|
224
|
-
props:
|
|
225
|
-
setup(
|
|
226
|
-
const t = xt(
|
|
227
|
-
return J(() =>
|
|
228
|
-
var
|
|
229
|
-
Object.assign(T, (
|
|
224
|
+
props: dn,
|
|
225
|
+
setup(l, { slots: e }) {
|
|
226
|
+
const t = xt(l);
|
|
227
|
+
return J(() => l.message, (n) => {
|
|
228
|
+
var s, o;
|
|
229
|
+
Object.assign(T, (o = (s = t?.value) == null ? void 0 : s.message) != null ? o : {}, n ?? {});
|
|
230
230
|
}, { immediate: !0, deep: !0 }), () => be(e, "default", { config: t?.value });
|
|
231
231
|
}
|
|
232
232
|
});
|
|
@@ -236,7 +236,7 @@ const at = [
|
|
|
236
236
|
"info",
|
|
237
237
|
"warning",
|
|
238
238
|
"error"
|
|
239
|
-
], B =
|
|
239
|
+
], B = en({
|
|
240
240
|
customClass: "",
|
|
241
241
|
dangerouslyUseHTMLString: !1,
|
|
242
242
|
duration: 3e3,
|
|
@@ -252,7 +252,7 @@ const at = [
|
|
|
252
252
|
grouping: !1,
|
|
253
253
|
repeatNum: 1,
|
|
254
254
|
appendTo: Pe ? document.body : void 0
|
|
255
|
-
}),
|
|
255
|
+
}), ln = De({
|
|
256
256
|
customClass: {
|
|
257
257
|
type: String,
|
|
258
258
|
default: B.customClass
|
|
@@ -314,33 +314,33 @@ const at = [
|
|
|
314
314
|
type: Number,
|
|
315
315
|
default: B.repeatNum
|
|
316
316
|
}
|
|
317
|
-
}),
|
|
317
|
+
}), cn = {
|
|
318
318
|
destroy: () => !0
|
|
319
|
-
}, H =
|
|
320
|
-
const e = H.findIndex((
|
|
319
|
+
}, H = Rt([]), mn = (l) => {
|
|
320
|
+
const e = H.findIndex((s) => s.id === l), t = H[e];
|
|
321
321
|
let n;
|
|
322
322
|
return e > 0 && (n = H[e - 1]), { current: t, prev: n };
|
|
323
|
-
},
|
|
324
|
-
const { prev: e } =
|
|
323
|
+
}, hn = (l) => {
|
|
324
|
+
const { prev: e } = mn(l);
|
|
325
325
|
return e ? e.vm.exposed.bottom.value : 0;
|
|
326
|
-
},
|
|
326
|
+
}, un = (l, e) => H.findIndex((n) => n.id === l) > 0 ? 16 : e, pn = me({
|
|
327
327
|
name: "ElMessage"
|
|
328
|
-
}),
|
|
329
|
-
...
|
|
330
|
-
props:
|
|
331
|
-
emits:
|
|
332
|
-
setup(
|
|
333
|
-
const n =
|
|
328
|
+
}), gn = /* @__PURE__ */ me({
|
|
329
|
+
...pn,
|
|
330
|
+
props: ln,
|
|
331
|
+
emits: cn,
|
|
332
|
+
setup(l, { expose: e, emit: t }) {
|
|
333
|
+
const n = l, { Close: s } = Lt, o = _(!1), { ns: a, zIndex: d } = Et("message"), { currentZIndex: r, nextZIndex: i } = d, c = _(), m = _(!1), y = _(0);
|
|
334
334
|
let f;
|
|
335
335
|
const g = A(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), h = A(() => {
|
|
336
336
|
const b = n.type;
|
|
337
337
|
return { [a.bm("icon", b)]: b && Ne[b] };
|
|
338
|
-
}), E = A(() => n.icon || Ne[n.type] || ""), x = A(() =>
|
|
338
|
+
}), E = A(() => n.icon || Ne[n.type] || ""), x = A(() => hn(n.id)), I = A(() => un(n.id, n.offset) + x.value), K = A(() => y.value + I.value), Y = A(() => ({
|
|
339
339
|
top: `${I.value}px`,
|
|
340
340
|
zIndex: r.value
|
|
341
341
|
}));
|
|
342
342
|
function Z() {
|
|
343
|
-
n.duration !== 0 && ({ stop: f } =
|
|
343
|
+
n.duration !== 0 && ({ stop: f } = Mt(() => {
|
|
344
344
|
S();
|
|
345
345
|
}, n.duration));
|
|
346
346
|
}
|
|
@@ -350,25 +350,25 @@ const at = [
|
|
|
350
350
|
function S() {
|
|
351
351
|
m.value = !1, we(() => {
|
|
352
352
|
var b;
|
|
353
|
-
|
|
353
|
+
o.value || ((b = n.onClose) == null || b.call(n), t("destroy"));
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
|
-
function
|
|
357
|
-
b ===
|
|
356
|
+
function M({ code: b }) {
|
|
357
|
+
b === tn.esc && S();
|
|
358
358
|
}
|
|
359
359
|
return tt(() => {
|
|
360
360
|
Z(), i(), m.value = !0;
|
|
361
361
|
}), J(() => n.repeatNum, () => {
|
|
362
362
|
G(), Z();
|
|
363
|
-
}),
|
|
363
|
+
}), Gt(document, "keydown", M), Ut(c, () => {
|
|
364
364
|
y.value = c.value.getBoundingClientRect().height;
|
|
365
365
|
}), e({
|
|
366
366
|
visible: m,
|
|
367
367
|
bottom: K,
|
|
368
368
|
close: S
|
|
369
|
-
}), (b,
|
|
369
|
+
}), (b, F) => (D(), ge(xe, {
|
|
370
370
|
name: v(a).b("fade"),
|
|
371
|
-
onBeforeEnter: (W) =>
|
|
371
|
+
onBeforeEnter: (W) => o.value = !0,
|
|
372
372
|
onBeforeLeave: b.onClose,
|
|
373
373
|
onAfterLeave: (W) => b.$emit("destroy"),
|
|
374
374
|
persisted: ""
|
|
@@ -390,7 +390,7 @@ const at = [
|
|
|
390
390
|
onMouseenter: G,
|
|
391
391
|
onMouseleave: Z
|
|
392
392
|
}, [
|
|
393
|
-
b.repeatNum > 1 ? (D(), ge(v(
|
|
393
|
+
b.repeatNum > 1 ? (D(), ge(v(rn), {
|
|
394
394
|
key: 0,
|
|
395
395
|
value: b.repeatNum,
|
|
396
396
|
type: v(g),
|
|
@@ -401,7 +401,7 @@ const at = [
|
|
|
401
401
|
class: j([v(a).e("icon"), v(h)])
|
|
402
402
|
}, {
|
|
403
403
|
default: V(() => [
|
|
404
|
-
(D(), ge(
|
|
404
|
+
(D(), ge(Ot(v(E))))
|
|
405
405
|
]),
|
|
406
406
|
_: 1
|
|
407
407
|
}, 8, ["class"])) : q("v-if", !0),
|
|
@@ -420,10 +420,10 @@ const at = [
|
|
|
420
420
|
b.showClose ? (D(), ge(v(Be), {
|
|
421
421
|
key: 2,
|
|
422
422
|
class: j(v(a).e("closeBtn")),
|
|
423
|
-
onClick:
|
|
423
|
+
onClick: Ft(S, ["stop"])
|
|
424
424
|
}, {
|
|
425
425
|
default: V(() => [
|
|
426
|
-
|
|
426
|
+
z(v(s))
|
|
427
427
|
]),
|
|
428
428
|
_: 1
|
|
429
429
|
}, 8, ["class", "onClick"])) : q("v-if", !0)
|
|
@@ -435,10 +435,10 @@ const at = [
|
|
|
435
435
|
}, 8, ["name", "onBeforeEnter", "onBeforeLeave", "onAfterLeave"]));
|
|
436
436
|
}
|
|
437
437
|
});
|
|
438
|
-
var
|
|
439
|
-
let
|
|
440
|
-
const it = (
|
|
441
|
-
const e = !
|
|
438
|
+
var vn = /* @__PURE__ */ Ze(gn, [["__file", "message.vue"]]);
|
|
439
|
+
let fn = 1;
|
|
440
|
+
const it = (l) => {
|
|
441
|
+
const e = !l || Re(l) || nt(l) || Ie(l) ? { message: l } : l, t = {
|
|
442
442
|
...B,
|
|
443
443
|
...e
|
|
444
444
|
};
|
|
@@ -448,71 +448,71 @@ const it = (d) => {
|
|
|
448
448
|
let n = document.querySelector(t.appendTo);
|
|
449
449
|
kt(n) || (n = document.body), t.appendTo = n;
|
|
450
450
|
}
|
|
451
|
-
return
|
|
452
|
-
},
|
|
453
|
-
const e = H.indexOf(
|
|
451
|
+
return Me(T.grouping) && !t.grouping && (t.grouping = T.grouping), fe(T.duration) && t.duration === 3e3 && (t.duration = T.duration), fe(T.offset) && t.offset === 16 && (t.offset = T.offset), Me(T.showClose) && !t.showClose && (t.showClose = T.showClose), Me(T.plain) && !t.plain && (t.plain = T.plain), t;
|
|
452
|
+
}, yn = (l) => {
|
|
453
|
+
const e = H.indexOf(l);
|
|
454
454
|
if (e === -1)
|
|
455
455
|
return;
|
|
456
456
|
H.splice(e, 1);
|
|
457
|
-
const { handler: t } =
|
|
457
|
+
const { handler: t } = l;
|
|
458
458
|
t.close();
|
|
459
|
-
},
|
|
460
|
-
const n = `message_${
|
|
459
|
+
}, wn = ({ appendTo: l, ...e }, t) => {
|
|
460
|
+
const n = `message_${fn++}`, s = e.onClose, o = document.createElement("div"), a = {
|
|
461
461
|
...e,
|
|
462
462
|
id: n,
|
|
463
463
|
onClose: () => {
|
|
464
|
-
|
|
464
|
+
s?.(), yn(c);
|
|
465
465
|
},
|
|
466
466
|
onDestroy: () => {
|
|
467
|
-
Te(null,
|
|
467
|
+
Te(null, o);
|
|
468
468
|
}
|
|
469
|
-
},
|
|
469
|
+
}, d = z(vn, a, Ie(a.message) || nt(a.message) ? {
|
|
470
470
|
default: Ie(a.message) ? a.message : () => a.message
|
|
471
471
|
} : null);
|
|
472
|
-
|
|
473
|
-
const r =
|
|
472
|
+
d.appContext = t || ce._context, Te(d, o), l.appendChild(o.firstElementChild);
|
|
473
|
+
const r = d.component, c = {
|
|
474
474
|
id: n,
|
|
475
|
-
vnode:
|
|
475
|
+
vnode: d,
|
|
476
476
|
vm: r,
|
|
477
477
|
handler: {
|
|
478
478
|
close: () => {
|
|
479
479
|
r.exposed.close();
|
|
480
480
|
}
|
|
481
481
|
},
|
|
482
|
-
props:
|
|
482
|
+
props: d.component.props
|
|
483
483
|
};
|
|
484
484
|
return c;
|
|
485
|
-
}, ce = (
|
|
485
|
+
}, ce = (l = {}, e) => {
|
|
486
486
|
if (!Pe)
|
|
487
487
|
return { close: () => {
|
|
488
488
|
} };
|
|
489
|
-
const t = it(
|
|
489
|
+
const t = it(l);
|
|
490
490
|
if (t.grouping && H.length) {
|
|
491
|
-
const
|
|
491
|
+
const s = H.find(({ vnode: o }) => {
|
|
492
492
|
var a;
|
|
493
|
-
return ((a =
|
|
493
|
+
return ((a = o.props) == null ? void 0 : a.message) === t.message;
|
|
494
494
|
});
|
|
495
|
-
if (
|
|
496
|
-
return
|
|
495
|
+
if (s)
|
|
496
|
+
return s.props.repeatNum += 1, s.props.type = t.type, s.handler;
|
|
497
497
|
}
|
|
498
498
|
if (fe(T.max) && H.length >= T.max)
|
|
499
499
|
return { close: () => {
|
|
500
500
|
} };
|
|
501
|
-
const n =
|
|
501
|
+
const n = wn(t, e);
|
|
502
502
|
return H.push(n), n.handler;
|
|
503
503
|
};
|
|
504
|
-
at.forEach((
|
|
505
|
-
ce[
|
|
504
|
+
at.forEach((l) => {
|
|
505
|
+
ce[l] = (e = {}, t) => {
|
|
506
506
|
const n = it(e);
|
|
507
|
-
return ce({ ...n, type:
|
|
507
|
+
return ce({ ...n, type: l }, t);
|
|
508
508
|
};
|
|
509
509
|
});
|
|
510
|
-
function
|
|
510
|
+
function bn(l) {
|
|
511
511
|
const e = [...H];
|
|
512
512
|
for (const t of e)
|
|
513
|
-
(!
|
|
513
|
+
(!l || l === t.props.type) && t.handler.close();
|
|
514
514
|
}
|
|
515
|
-
ce.closeAll =
|
|
515
|
+
ce.closeAll = bn;
|
|
516
516
|
ce._context = null;
|
|
517
517
|
const k = It(ce, "$message");
|
|
518
518
|
class O extends Ae {
|
|
@@ -582,9 +582,9 @@ class O extends Ae {
|
|
|
582
582
|
*/
|
|
583
583
|
createCursor(e) {
|
|
584
584
|
return (t, n) => {
|
|
585
|
-
const
|
|
585
|
+
const s = this.domElement.style.cursor;
|
|
586
586
|
this.domElement.style.cursor = e, this.addEventRecord("clear", () => {
|
|
587
|
-
this.domElement.style.cursor =
|
|
587
|
+
this.domElement.style.cursor = s ?? "default";
|
|
588
588
|
}), t(n);
|
|
589
589
|
};
|
|
590
590
|
}
|
|
@@ -603,15 +603,15 @@ class O extends Ae {
|
|
|
603
603
|
* @returns
|
|
604
604
|
*/
|
|
605
605
|
createPointerMove(e) {
|
|
606
|
-
const t = this.editor, n = new
|
|
607
|
-
let
|
|
608
|
-
const
|
|
609
|
-
const r =
|
|
610
|
-
if (
|
|
611
|
-
const i = Math.abs(r.x -
|
|
612
|
-
i > c ? n.set(r.x,
|
|
613
|
-
} else if (
|
|
614
|
-
const i =
|
|
606
|
+
const t = this.editor, n = new L();
|
|
607
|
+
let s = null, o = null, a = null;
|
|
608
|
+
const d = t.addEventListener("pointerPositionChange", () => {
|
|
609
|
+
const r = L.from(t.pointerPosition);
|
|
610
|
+
if (s && t.eventInput.isKeyDown("shift")) {
|
|
611
|
+
const i = Math.abs(r.x - s.x), c = Math.abs(r.y - s.y);
|
|
612
|
+
i > c ? n.set(r.x, s.y) : n.set(s.x, r.y), e(n, !1);
|
|
613
|
+
} else if (o && a && t.eventInput.isKeyDown("alt")) {
|
|
614
|
+
const i = o.projectPoint(r, !1), c = a.projectPoint(r, !1);
|
|
615
615
|
i && c ? r.distance(i) < r.distance(c) ? n.copy(i) : n.copy(c) : i ? n.copy(i) : c && n.copy(c), e(n, !1);
|
|
616
616
|
} else {
|
|
617
617
|
const { point: i, find: c, line: m } = t.renderManager.adsorption();
|
|
@@ -620,10 +620,10 @@ class O extends Ae {
|
|
|
620
620
|
});
|
|
621
621
|
return {
|
|
622
622
|
destroy() {
|
|
623
|
-
|
|
623
|
+
d();
|
|
624
624
|
},
|
|
625
625
|
setBaseLine(r, i) {
|
|
626
|
-
if (
|
|
626
|
+
if (o = r, s = i, r && i) {
|
|
627
627
|
const c = r.normal();
|
|
628
628
|
a = new N(
|
|
629
629
|
i.clone().add(c.clone().multiplyScalar(10)),
|
|
@@ -634,7 +634,7 @@ class O extends Ae {
|
|
|
634
634
|
};
|
|
635
635
|
}
|
|
636
636
|
}
|
|
637
|
-
class
|
|
637
|
+
class xn extends O {
|
|
638
638
|
static name = "DrawLine";
|
|
639
639
|
container = new u.Group();
|
|
640
640
|
interruptKeys = ["escape"];
|
|
@@ -651,7 +651,7 @@ class bn extends O {
|
|
|
651
651
|
* @param next
|
|
652
652
|
*/
|
|
653
653
|
selectPoint(e) {
|
|
654
|
-
let t = this.parent?.findComponentByName("Editor"), n = null,
|
|
654
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, s = null, o = [], a = this.renderer.createCircle(L.zero(), { color: 65280 }), d = t.domContainer.domElement, r = new ye([], 16711935), i = new ye([
|
|
655
655
|
new u.Vector3(-1e4, 0, 0),
|
|
656
656
|
new u.Vector3(1e4, 0, 0),
|
|
657
657
|
new u.Vector3(0, -1e4, 0),
|
|
@@ -664,11 +664,11 @@ class bn extends O {
|
|
|
664
664
|
linewidth: 0.1
|
|
665
665
|
}), this.container.add(r);
|
|
666
666
|
const c = () => {
|
|
667
|
-
r.setPoint(...
|
|
667
|
+
r.setPoint(...o, n, s), i.position.copy(s), this.container.add(i), i.computeLineDistances();
|
|
668
668
|
}, m = new u.Vector3();
|
|
669
669
|
let y;
|
|
670
670
|
const f = this.createPointerMove((g, h, E) => {
|
|
671
|
-
m.set(g.x, g.y, 0), this.dispatchEvent({ type: "pointerMove", point: m }), y = E, h ? (a.position.set(g.x, g.y, 0), this.container.add(a),
|
|
671
|
+
m.set(g.x, g.y, 0), this.dispatchEvent({ type: "pointerMove", point: m }), y = E, h ? (a.position.set(g.x, g.y, 0), this.container.add(a), d.style.cursor = "none") : (a.removeFromParent(), d.style.cursor = "crosshair"), n && s && (c(), s.copy(m));
|
|
672
672
|
});
|
|
673
673
|
this.addEventRecord(
|
|
674
674
|
"clear",
|
|
@@ -676,21 +676,21 @@ class bn extends O {
|
|
|
676
676
|
t.eventInput.addEventListener("codeChange", async () => {
|
|
677
677
|
if (t.eventInput.isKeyDown("mouse_0")) {
|
|
678
678
|
if (!n) {
|
|
679
|
-
n = m.clone(),
|
|
679
|
+
n = m.clone(), s = m.clone(), c(), f.setBaseLine(y ?? null, L.from(n));
|
|
680
680
|
return;
|
|
681
681
|
}
|
|
682
|
-
|
|
683
|
-
const g = new N(
|
|
684
|
-
f.setBaseLine(g, g.end), n.copy(
|
|
682
|
+
s = m.clone(), o.push(n.clone(), s.clone());
|
|
683
|
+
const g = new N(L.from(n), L.from(s));
|
|
684
|
+
f.setBaseLine(g, g.end), n.copy(s), c();
|
|
685
685
|
} else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
|
|
686
|
-
if (
|
|
686
|
+
if (o.length) {
|
|
687
687
|
const { point: g } = t.renderManager.adsorption();
|
|
688
|
-
if (
|
|
689
|
-
const h = new N(
|
|
688
|
+
if (o.pop(), s?.copy(g), n?.copy(o.pop()), c(), o.length >= 2) {
|
|
689
|
+
const h = new N(L.from(o[o.length - 2]), L.from(o[o.length - 1]));
|
|
690
690
|
f.setBaseLine(h, h.end);
|
|
691
691
|
}
|
|
692
692
|
}
|
|
693
|
-
} else t.eventInput.isKeyDowns(this.confirmKeys) && e(
|
|
693
|
+
} else t.eventInput.isKeyDowns(this.confirmKeys) && e(o);
|
|
694
694
|
}),
|
|
695
695
|
function() {
|
|
696
696
|
r.removeFromParent(), a.removeFromParent(), i.removeFromParent();
|
|
@@ -702,8 +702,8 @@ class bn extends O {
|
|
|
702
702
|
*/
|
|
703
703
|
end(e, t) {
|
|
704
704
|
const n = [];
|
|
705
|
-
for (let
|
|
706
|
-
n.push(new N(
|
|
705
|
+
for (let s = 0; s < t.length; s += 2)
|
|
706
|
+
n.push(new N(L.from(t[s]), L.from(t[s + 1])));
|
|
707
707
|
e(n);
|
|
708
708
|
}
|
|
709
709
|
/** 执行完成
|
|
@@ -778,8 +778,8 @@ class rt extends O {
|
|
|
778
778
|
* @param next
|
|
779
779
|
*/
|
|
780
780
|
start() {
|
|
781
|
-
const e = this.editor, t = e.eventInput, n = new u.Mesh(),
|
|
782
|
-
let
|
|
781
|
+
const e = this.editor, t = e.eventInput, n = new u.Mesh(), s = e.domContainer.domElement;
|
|
782
|
+
let o = null;
|
|
783
783
|
n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new u.MeshBasicMaterial({ color: 55561 });
|
|
784
784
|
const a = () => {
|
|
785
785
|
const r = e.pointerPosition.clone(), i = e.pointerPosition.clone(), c = new u.Mesh();
|
|
@@ -818,40 +818,40 @@ class rt extends O {
|
|
|
818
818
|
this.removeSelectLineAll(), K.forEach((Y) => this.addSelectLine(Y.line)), this.updateSelectLinesGeometry();
|
|
819
819
|
};
|
|
820
820
|
document.addEventListener("mousemove", y), document.addEventListener("mouseup", f);
|
|
821
|
-
},
|
|
821
|
+
}, d = this.renderer.createText("", new u.Vector3(0, 0, 0), {
|
|
822
822
|
background: "rgba(0,0,0,0.5)",
|
|
823
823
|
padding: "2px",
|
|
824
824
|
borderRadius: "2px"
|
|
825
825
|
}, this.container);
|
|
826
|
-
|
|
826
|
+
d.visible = !1, this.addEventRecord(
|
|
827
827
|
"clear",
|
|
828
828
|
// 注册鼠标指针位置变化事件
|
|
829
829
|
e.addEventListener("pointerPositionChange", () => {
|
|
830
830
|
const { line: r } = e.renderManager.adsorption();
|
|
831
831
|
if (r) {
|
|
832
832
|
const i = r.expandToRectangle(0.025, "bothSides");
|
|
833
|
-
n.geometry = e.renderManager.createGeometry({ position: i.createGeometry() }, 6), this.container.add(n),
|
|
833
|
+
n.geometry = e.renderManager.createGeometry({ position: i.createGeometry() }, 6), this.container.add(n), s.style.cursor = "pointer", o = r;
|
|
834
834
|
const c = r.center;
|
|
835
|
-
|
|
835
|
+
d.element.innerText = parseInt(r.length() * 1e3 + "") + " mm", d.position.set(c.x, c.y, 0), d.visible = !0;
|
|
836
836
|
} else
|
|
837
|
-
n.removeFromParent(),
|
|
837
|
+
n.removeFromParent(), s.style.cursor = "default", o = null, d.visible = !1;
|
|
838
838
|
}),
|
|
839
839
|
t.addEventListener("codeChange", () => {
|
|
840
840
|
if (t.isKeyDown("mouse_0")) {
|
|
841
|
-
if (!
|
|
841
|
+
if (!o) return a();
|
|
842
842
|
if (t.isKeyDown("alt"))
|
|
843
|
-
return this.removeSelectLine(
|
|
844
|
-
t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(
|
|
843
|
+
return this.removeSelectLine(o);
|
|
844
|
+
t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(o);
|
|
845
845
|
} else if (t.isKeyDown("mouse_1")) {
|
|
846
|
-
if (!
|
|
847
|
-
this.removeSelectLine(
|
|
846
|
+
if (!o) return;
|
|
847
|
+
this.removeSelectLine(o);
|
|
848
848
|
} else if (t.isKeyDown("mouse_2")) {
|
|
849
|
-
if (!
|
|
850
|
-
this.addSelectLine(
|
|
849
|
+
if (!o) return;
|
|
850
|
+
this.addSelectLine(o);
|
|
851
851
|
} else t.isKeyDowns(["control", "z"]) ? e.commandManager.rollback() : t.isKeyDowns(["control", "y"]) && e.commandManager.revokeRollback();
|
|
852
852
|
}),
|
|
853
853
|
function() {
|
|
854
|
-
n.removeFromParent(),
|
|
854
|
+
n.removeFromParent(), d.removeFromParent();
|
|
855
855
|
}
|
|
856
856
|
);
|
|
857
857
|
}
|
|
@@ -862,7 +862,7 @@ class rt extends O {
|
|
|
862
862
|
this.canceEventRecord("clear"), this.removeSelectLineAll(), this.updateSelectLinesGeometry();
|
|
863
863
|
}
|
|
864
864
|
}
|
|
865
|
-
class
|
|
865
|
+
class Cn extends Xe {
|
|
866
866
|
list = [];
|
|
867
867
|
rollbacklist = [];
|
|
868
868
|
revokeRollbacklist = [];
|
|
@@ -890,7 +890,7 @@ class xn extends Xe {
|
|
|
890
890
|
return this.revokeRollbacklist.push(e), this;
|
|
891
891
|
}
|
|
892
892
|
}
|
|
893
|
-
class
|
|
893
|
+
class En extends Xe {
|
|
894
894
|
commandFlowMap = /* @__PURE__ */ new Map();
|
|
895
895
|
lock = !1;
|
|
896
896
|
abortController = null;
|
|
@@ -917,7 +917,7 @@ class Cn extends Xe {
|
|
|
917
917
|
*/
|
|
918
918
|
addCommandFlow(e) {
|
|
919
919
|
if (this.commandFlowMap.has(e)) throw new Error(`${e} 命令已经存在`);
|
|
920
|
-
const t = new
|
|
920
|
+
const t = new Cn();
|
|
921
921
|
return this.commandFlowMap.set(e, t), t;
|
|
922
922
|
}
|
|
923
923
|
executionPromise = null;
|
|
@@ -934,25 +934,25 @@ class Cn extends Xe {
|
|
|
934
934
|
currentName: this.currentName
|
|
935
935
|
}), this.executionPromise && await this.executionPromise, this.executionPromise = null, this.lock)
|
|
936
936
|
throw new Error("命令管理器已被 " + this.currentName + " 命令锁定,无法启动新的命令流,请退出或等待命令执行结束");
|
|
937
|
-
const
|
|
938
|
-
if (!
|
|
937
|
+
const s = this.commandFlowMap.get(e);
|
|
938
|
+
if (!s)
|
|
939
939
|
throw new Error(`命令流 ${e} 不存在`);
|
|
940
|
-
this.lock = !0, this.abortController = new AbortController(), this.currentName = e,
|
|
940
|
+
this.lock = !0, this.abortController = new AbortController(), this.currentName = e, s.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
|
|
941
941
|
try {
|
|
942
|
-
for (let
|
|
943
|
-
const a =
|
|
944
|
-
if (
|
|
945
|
-
this.resolve =
|
|
942
|
+
for (let o = n; o < s.list.length; o++) {
|
|
943
|
+
const a = s.list[o];
|
|
944
|
+
if (s.dispatchEvent({ type: "executing", index: o }), this.dispatchEvent({ type: "executing", name: e, index: o }), t = await new Promise((d) => {
|
|
945
|
+
this.resolve = d, a(d, t);
|
|
946
946
|
}), this.abortController.signal.aborted) {
|
|
947
|
-
|
|
947
|
+
s.dispatchEvent({ type: "executionInterrupt", index: o }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: o }), this.dispatchEvent({ type: "cancel", name: e });
|
|
948
948
|
break;
|
|
949
949
|
} else
|
|
950
|
-
|
|
950
|
+
s.dispatchEvent({ type: "executionCompleted", index: o, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: o, data: t });
|
|
951
951
|
}
|
|
952
|
-
} catch (
|
|
953
|
-
console.error(
|
|
952
|
+
} catch (o) {
|
|
953
|
+
console.error(o);
|
|
954
954
|
} finally {
|
|
955
|
-
this.abortController && !this.abortController.signal.aborted && (
|
|
955
|
+
this.abortController && !this.abortController.signal.aborted && (s.dispatchEvent({ type: "completed", data: t }), this.dispatchEvent({ type: "completed", name: e, data: t }), s.writeOperationList && (this.operationList.push({ name: e, data: t }), this.rollbackList.length = 0)), this.lock = !1, this.abortController = null, this.currentName = null, s.dispatchEvent({ type: "finally" }), this.dispatchEvent({ type: "finally", name: e }), this.executionResolve && (this.executionResolve(null), this.executionResolve = null);
|
|
956
956
|
}
|
|
957
957
|
return t;
|
|
958
958
|
}
|
|
@@ -970,7 +970,7 @@ class Cn extends Xe {
|
|
|
970
970
|
if (!e) return !1;
|
|
971
971
|
const t = this.commandFlowMap.get(e.name);
|
|
972
972
|
if (!t) return !1;
|
|
973
|
-
const n = t.rollbacklist.reduce((
|
|
973
|
+
const n = t.rollbacklist.reduce((s, o) => o(s), e.data);
|
|
974
974
|
return this.dispatchEvent({ type: "rollback", name: e.name }), this.rollbackList.push({
|
|
975
975
|
data: n,
|
|
976
976
|
name: e.name
|
|
@@ -988,69 +988,72 @@ class Cn extends Xe {
|
|
|
988
988
|
if (!e) return !1;
|
|
989
989
|
const t = this.commandFlowMap.get(e.name);
|
|
990
990
|
if (!t) return !1;
|
|
991
|
-
const n = t.revokeRollbacklist.reduce((
|
|
991
|
+
const n = t.revokeRollbacklist.reduce((s, o) => o(s), e.data);
|
|
992
992
|
return this.dispatchEvent({ type: "revokeRollback", name: e.name }), this.operationList.push({ name: e.name, data: n }), !0;
|
|
993
993
|
} catch (e) {
|
|
994
994
|
throw new Error(`撤回回滚失败:${e}`);
|
|
995
995
|
}
|
|
996
996
|
}
|
|
997
|
+
destroy() {
|
|
998
|
+
this.cancel(), this.commandFlowMap.clear(), this.lock = !1, this.abortController = null, this.resolve = null, this.executionResolve = null, this.executionPromise = null, this.currentName = null, this.operationList.length = 0, this.rollbackList.length = 0;
|
|
999
|
+
}
|
|
997
1000
|
}
|
|
998
|
-
const
|
|
999
|
-
__proto__: null,
|
|
1000
|
-
default: En
|
|
1001
|
-
}, Symbol.toStringTag, { value: "Module" })), Ln = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1001
|
+
const Ln = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5569'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M522.1888%20811.3152a412.1088%20412.1088%200%200%200-114.5344-269.7728l-244.48%20269.7728h359.0144zM450.816%20493.824c83.5072%2085.3504%20132.7104%20197.4784%20136.5504%20317.4912h417.5872v63.232H18.9952L676.1472%20149.4016l48.9472%2041.7792-274.2784%20302.6432z'%20%3e%3c/path%3e%3c/svg%3e", Mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1002
1002
|
__proto__: null,
|
|
1003
1003
|
default: Ln
|
|
1004
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1004
|
+
}, Symbol.toStringTag, { value: "Module" })), kn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", In = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1005
|
+
__proto__: null,
|
|
1006
|
+
default: kn
|
|
1007
|
+
}, Symbol.toStringTag, { value: "Module" })), Pn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e", Dn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1005
1008
|
__proto__: null,
|
|
1006
|
-
default:
|
|
1007
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1009
|
+
default: Pn
|
|
1010
|
+
}, Symbol.toStringTag, { value: "Module" })), An = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1008
1011
|
__proto__: null,
|
|
1009
|
-
default:
|
|
1010
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1012
|
+
default: An
|
|
1013
|
+
}, Symbol.toStringTag, { value: "Module" })), _n = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e", Nn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1011
1014
|
__proto__: null,
|
|
1012
|
-
default:
|
|
1013
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1015
|
+
default: _n
|
|
1016
|
+
}, Symbol.toStringTag, { value: "Module" })), Bn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902601497'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9801'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M761.344%20119.296H226.816c-18.944%200-39.424%2011.776-39.424%2030.72V921.6h614.4V148.48c0.512-18.944-22.016-29.184-40.448-29.184z%20m-537.6%20768c-2.048%200-2.048%200%200%200L221.696%20163.84c0-5.12%205.12-10.24%2010.24-10.24h522.24c8.704%200%2013.824%205.12%2013.824%2013.824v720.384s0%201.536-1.536%201.536h-15.36V194.56c0-16.896-8.704-24.064-29.184-24.064H266.24c-18.944%200-27.136%208.704-27.136%2024.064v692.736h-15.36z%20m49.152%200V204.8H716.8v682.496H272.896z'%20p-id='9802'%3e%3c/path%3e%3cpath%20d='M648.704%20508.416c-16.896%200-32.256%2013.824-32.256%2032.256%200%2016.896%2013.824%2032.256%2032.256%2032.256s32.256-13.824%2032.256-32.256c0-16.896-13.824-32.256-32.256-32.256z'%20p-id='9803'%3e%3c/path%3e%3c/svg%3e", Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1014
1017
|
__proto__: null,
|
|
1015
|
-
default:
|
|
1016
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1018
|
+
default: Bn
|
|
1019
|
+
}, Symbol.toStringTag, { value: "Module" })), On = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M491.80027198%20557.44938977c-10.0998647-15.14979706-20.19972802-25.24966037-35.34952507-35.34952507-15.14979706-10.0998647-30.29959271-15.14979706-50.49932211-15.14979704-55.54925309%200-100.99864286%2045.44938977-100.99864287%20100.99864285%200%2015.14979706%205.04993234%2035.34952507%2015.14979568%2050.49932212%2010.0998647%2015.14979706%2020.19972802%2030.29959271%2035.34952506%2035.34952508%2015.14979706%2010.0998647%2035.34952507%2015.14979706%2050.49932213%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864287%200-15.14979706-5.04993234-35.34952507-15.14979568-50.49932074z%20m-85.84884718%20100.99864286h-15.14979706c-20.19972802-5.04993234-30.29959271-20.19972802-35.34952507-35.34952507V612.99864286c0-30.29959271%2025.24966037-50.49932212%2050.49932213-50.49932074h10.09986469c15.14979706%205.04993234%2030.29959271%2015.14979706%2035.34952507%2035.34952507v15.14979567c5.04993234%2025.24966037-20.19972802%2045.44938977-45.44938976%2045.44938977z'%3e%3c/path%3e%3cpath%20d='M390.80162774%20658.44803263l-40.39945604%2040.39945743-227.24694747%20222.19701373-35.34952506-35.34952508%20227.24694745-227.24694608%2040.39945605-40.39945743c5.04993234%2020.19972802%2020.19972802%2035.34952507%2035.34952507%2040.39945743zM648.34816793%20405.9514248l-40.39945742%2040.3994574-116.14843853%20116.14843992-40.39945742%2035.34952507c-5.04993234-20.19972802-20.19972802-30.29959271-35.34952507-35.34952507l40.39945742-40.39945742%20116.14843853-111.09850756%2035.34952507-35.34952507c10.0998647%2015.14979706%2020.19972802%2025.24966037%2040.39945742%2030.29959273zM926.09443614%20133.25508894L749.34681078%20310.00271428l-40.3994574%2040.39945742c-5.04993234-20.19972802-15.14979706-35.34952507-30.29959272-40.39945742l35.34952506-40.39945742%20176.74762534-176.74762535%2035.34952508%2040.39945743z'%20%3e%3c/path%3e%3cpath%20d='M749.34681078%20310.00271428c-10.0998647-15.14979706-20.19972802-30.29959271-35.34952506-35.34952506-15.14979706-10.0998647-35.34952507-15.14979706-55.54925309-15.14979706-55.54925309%200-100.99864286%2045.44938977-100.99864286%20100.99864286%200%2020.19972802%205.04993234%2040.39945743%2015.14979567%2055.54925447%2010.0998647%2015.14979706%2020.19972802%2025.24966037%2035.34952507%2035.34952507%2015.14979706%2010.0998647%2030.29959271%2015.14979706%2050.49932212%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864286%200-25.24966037-5.04993234-40.39945743-10.09986471-55.54925309z%20m-90.89877815%2095.94871052h-10.0998647c-20.19972802-5.04993234-35.34952507-15.14979706-40.39945742-35.34952509%200-5.04993234-5.04993234-10.0998647-5.04993234-15.14979704%200-30.29959271%2025.24966037-50.49932212%2050.49932212-50.49932074%205.04993234%200%2010.0998647%200%2015.14979704%205.04993235%2015.14979706%205.04993234%2030.29959271%2020.19972802%2030.29959273%2040.39945742v10.09986332c10.0998647%2025.24966037-15.14979706%2045.44938977-40.39945743%2045.44938978z'%20%3e%3c/path%3e%3c/svg%3e", Fn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1017
1020
|
__proto__: null,
|
|
1018
|
-
default:
|
|
1019
|
-
}, Symbol.toStringTag, { value: "Module" })), zn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902422799'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1735'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M843.2%20726.4c-20.2%200-39.2%205.2-55.8%2014.3L283.8%20237.2c9-16.5%2014.1-35.4%2014.1-55.5%200-64.2-52.3-116.5-116.5-116.5S65%20117.4%2065%20181.6s52.3%20116.5%20116.5%20116.5c20.2%200%2039.2-5.2%2055.8-14.2l503.5%20503.5c-9%2016.5-14.1%2035.4-14.1%2055.5%200%2064.2%2052.3%20116.5%20116.5%20116.5s116.5-52.3%20116.5-116.5-52.3-116.5-116.5-116.5zM181.4%20232.1c-27.8%200-50.5-22.6-50.5-50.5s22.6-50.5%2050.5-50.5%2050.5%2022.6%2050.5%2050.5-22.6%2050.5-50.5%2050.5z%20m661.8%20661.3c-27.8%200-50.5-22.6-50.5-50.5%200-27.8%2022.6-50.5%2050.5-50.5s50.5%2022.6%2050.5%2050.5c0%2027.8-22.7%2050.5-50.5%2050.5z'%20fill='%23231815'%20p-id='1736'%3e%3c/path%3e%3c/svg%3e",
|
|
1021
|
+
default: On
|
|
1022
|
+
}, Symbol.toStringTag, { value: "Module" })), zn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902422799'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1735'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M843.2%20726.4c-20.2%200-39.2%205.2-55.8%2014.3L283.8%20237.2c9-16.5%2014.1-35.4%2014.1-55.5%200-64.2-52.3-116.5-116.5-116.5S65%20117.4%2065%20181.6s52.3%20116.5%20116.5%20116.5c20.2%200%2039.2-5.2%2055.8-14.2l503.5%20503.5c-9%2016.5-14.1%2035.4-14.1%2055.5%200%2064.2%2052.3%20116.5%20116.5%20116.5s116.5-52.3%20116.5-116.5-52.3-116.5-116.5-116.5zM181.4%20232.1c-27.8%200-50.5-22.6-50.5-50.5s22.6-50.5%2050.5-50.5%2050.5%2022.6%2050.5%2050.5-22.6%2050.5-50.5%2050.5z%20m661.8%20661.3c-27.8%200-50.5-22.6-50.5-50.5%200-27.8%2022.6-50.5%2050.5-50.5s50.5%2022.6%2050.5%2050.5c0%2027.8-22.7%2050.5-50.5%2050.5z'%20fill='%23231815'%20p-id='1736'%3e%3c/path%3e%3c/svg%3e", Kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1020
1023
|
__proto__: null,
|
|
1021
1024
|
default: zn
|
|
1022
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1025
|
+
}, Symbol.toStringTag, { value: "Module" })), Tn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M114.176%2046.528h618.496c37.312%200.064%2067.584%2030.336%2067.648%2067.648v618.56c0%2037.248-30.336%2067.584-67.648%2067.584H114.176A67.776%2067.776%200%200%201%2046.528%20732.8V114.176c0-37.312%2030.336-67.648%2067.648-67.648z%20m2.176%20686.208l616.32-2.24-2.176-616.32-614.144%202.176v616.32zM907.648%20291.2l2.176%20616.32H291.264a34.88%2034.88%200%201%200%200%2069.888h618.56c37.312%200%2067.648-30.336%2067.648-67.648V291.264a34.88%2034.88%200%201%200-69.824%200z'%20%3e%3c/path%3e%3c/svg%3e", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1023
1026
|
__proto__: null,
|
|
1024
|
-
default:
|
|
1025
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1027
|
+
default: Tn
|
|
1028
|
+
}, Symbol.toStringTag, { value: "Module" })), jn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e", Gn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1026
1029
|
__proto__: null,
|
|
1027
|
-
default:
|
|
1028
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1030
|
+
default: jn
|
|
1031
|
+
}, Symbol.toStringTag, { value: "Module" })), Qn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201048%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M310.04722%20451.334244A49.95122%2049.95122%200%200%201%20239.416195%20521.990244L27.473171%20310.04722a49.95122%2049.95122%200%200%201%200-70.631025L239.416195%2027.473171a49.95122%2049.95122%200%200%201%2070.631025%2070.631024l-126.651318%20126.626342L649.365854%20224.780488c220.709463%200%20399.609756%20178.900293%20399.609756%20399.609756s-178.900293%20399.609756-399.609756%20399.609756H124.878049a49.95122%2049.95122%200%201%201%200-99.902439h524.487805c165.513366%200%20299.707317-134.193951%20299.707317-299.707317s-134.193951-299.707317-299.707317-299.707317H183.395902l126.651318%20126.651317z'%3e%3c/path%3e%3c/svg%3e", Hn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1029
1032
|
__proto__: null,
|
|
1030
|
-
default:
|
|
1031
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1033
|
+
default: Qn
|
|
1034
|
+
}, Symbol.toStringTag, { value: "Module" })), Wn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11576'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M102.4%20302.08c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-20.48-5.12-40.96-5.12-51.2%2010.24l-148.48%20153.6-71.68-76.8C51.2%20158.72%2040.96%20158.72%2035.84%20158.72c-10.24%200-15.36%205.12-25.6%2010.24-5.12%205.12-10.24%2010.24-10.24%2020.48s5.12%2015.36%2010.24%2025.6L102.4%20302.08zM276.48%20409.6l-148.48%20153.6-71.68-71.68C51.2%20486.4%2040.96%20481.28%2035.84%20481.28c-10.24%200-15.36%205.12-25.6%2010.24-5.12%2010.24-10.24%2015.36-10.24%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20629.76c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24L322.56%20460.8c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-10.24-10.24-30.72-10.24-46.08%200z%20m0%20327.68l-148.48%20153.6L56.32%20819.2c-5.12-5.12-15.36-10.24-25.6-10.24s-15.36%205.12-25.6%2010.24c0%205.12-5.12%2015.36-5.12%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20957.44c5.12%205.12%2015.36%2010.24%2025.6%2010.24h5.12c10.24%200%2015.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-25.6-5.12-40.96-5.12-56.32%205.12zM1024%20153.6c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-61.44-25.6-61.44-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84-5.12%2066.56%2020.48%2066.56%2056.32z%20m0%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32s25.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m-5.12%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m0%200'%20%3e%3c/path%3e%3c/svg%3e", Jn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1032
1035
|
__proto__: null,
|
|
1033
|
-
default:
|
|
1034
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1036
|
+
default: Wn
|
|
1037
|
+
}, Symbol.toStringTag, { value: "Module" })), Un = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e", qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1035
1038
|
__proto__: null,
|
|
1036
|
-
default:
|
|
1037
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1039
|
+
default: Un
|
|
1040
|
+
}, Symbol.toStringTag, { value: "Module" })), Zn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='10587'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M64.21%20703.88h888.34M64.21%20667.88h888.34v72H64.21z'%3e%3c/path%3e%3cpath%20d='M509.58%20102.72v566.13M473.58%20102.72h72v566.14h-72z'%3e%3c/path%3e%3c/svg%3e", Yn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1038
1041
|
__proto__: null,
|
|
1039
|
-
default:
|
|
1040
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1042
|
+
default: Zn
|
|
1043
|
+
}, Symbol.toStringTag, { value: "Module" })), Xn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1759051895215'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1800'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M272.5888%20886.784v70.8608H203.2128V886.784h69.376z%20m416.256-256.6144l270.6944%20152.5248-270.6944%20148.1216v-114.8928H64.4608v-70.8608h624.384v-114.8928z%20m-416.256-26.88v70.912H203.2128v-70.912h69.376z%20m0-141.7216V532.48H203.2128V461.568h69.376z%20m-34.7136-398.336L385.024%20319.7952H272.5888V390.656H203.2128V319.8464H90.7776l147.0976-256.6656z'%20fill='%23444444'%20p-id='1801'%3e%3c/path%3e%3cpath%20d='M566.272%2073.3184l173.2608%20264.192V512h71.8848V337.5104l173.2608-264.192H898.048l-122.2656%20197.2224-122.88-197.2224H566.272z'%20fill='%230077FF'%20p-id='1802'%3e%3c/path%3e%3c/svg%3e", $n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1041
1044
|
__proto__: null,
|
|
1042
|
-
default:
|
|
1043
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1045
|
+
default: Xn
|
|
1046
|
+
}, Symbol.toStringTag, { value: "Module" })), es = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902547951'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5129'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M59.355%2091.776v867.881h867.881V91.776H59.356zM897.31%20929.73H89.282V121.703h808.027V929.73z'%20fill=''%20p-id='5130'%3e%3c/path%3e%3cpath%20d='M833.964%20185.048H152.627v681.337h681.337V185.048z%20m-355.632%20651.41H182.554V532.2h295.778v304.257z%20m0-334.184H182.554V214.975h295.778v287.299z%20m325.705%20334.184H508.259V532.2h295.778v304.257z%20m0-334.184H508.259V214.975h295.778v287.299z'%20fill=''%20p-id='5131'%3e%3c/path%3e%3c/svg%3e", ts = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1044
1047
|
__proto__: null,
|
|
1045
|
-
default:
|
|
1046
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1047
|
-
class
|
|
1048
|
+
default: es
|
|
1049
|
+
}, Symbol.toStringTag, { value: "Module" })), ns = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAKdUlEQVR4AeydbZrUKBRGq2YjOjvpWYntStSVjK5EdzLOSsr7arBLOkkBAcLHmacwlQQInMsZUvdP/3Xhv+oEbrfbk5XYz1P1gfLAC4KwCCCwQwBBduBwCwIIwhqAwA4BBNmBwy0IFBQEuBDonwCC9B9DZlCQAIIUhEvX/RNAkP5jyAwKEkCQgnDpun8CfQrSP3dm0AkBBOkkUAzzHAIIcg53ntoJAQTpJFAM8xwCCHIOd57aCQEE8QLFKQTuCSDIPQ2+Q8AjgCAeEE4hcE8AQe5p8B0CHgEE8YBwCoF7AghyT6Psd3rvkACCdBg0hlyPAILUY82TOiSAIB0GjSHXI4Ag9VjzpA4JIEiHQXs9ZK6UIoAgpcjS7xAEEGSIMDKJUgQQpBRZ+h2CAIIMEUYmUYoAgpQiO0q/k88DQSZfAEx/nwCC7PPh7uQEEGTyBcD09wkgyD4f7k5OAEEmXwBnTr+HZyNID1FijKcRQBAP/e12e2vl2cqHUsUe+c5K7OddqfG4fmMHNEN9BPGifL1ev9ulN1Y+FizP1nfsR21Kjun/2AHNUB9BVqJsknyyy1qMdpji89nm/HmKmUZOEkE2gNmCkSTaTTZqDHP5m831/TCz+TWRbP8iyA5KWzh/2+2RJfluc/zH5shngwCCbIC5u6wFNKIkmhM7x12g174iyBqVu2v2f1gtpBFft97b3L7dTZWvKwQQZAWKf8kWkn7Aqvi3ej1HjsDIIUggKJNEu8gImS0yVoExV7XXgugqZZXAIoleuVbvd3CRjFVkkBAkEphJ0mtmi4xVZKxVHUFEIb70ltnSrkfGKj7OFwRJgGa7iBacfpPomNBD9Sb8KE9EjiCJ4EwSZbVUEnuo1gw5DqCuKsiBcTbZ1CTRLtJyZouM1cGVgyAHAS6StPiqRcbqYGzVHEFE4WAxSVrLbJGxOhhT1xxBHInjx1YyW9rNyFgdj+fPHhDkJ4bj/9guooWp3yQ6Hu8wvQd+lKeze9VyFEFeTeyMCyaJsloqZzxez0QOUchYECQjTHVlkmgXOSOzRcZKAchcECQzUHW3SFLzVYuMlcAXKAhSAKq6NElqZbbIWAl4oYIghcAu3ZbObGmXImO1wC5xQJCHVNMr2C6iBazfJDqmd7Tdkh/l22yy3EGQLBi3OzFJlNVS2a6Udgc50rhFtUKQKFxplU0S7SI5M1tkrNJCEd0KQaKRpTVYJMnxqkXGKi0ESa0QJAlbWiOT5Ghmi4xVGvrkVgiSjC654UtmK64L7T5krOKYHa6NIIcRxnVgu4gWun6T6BjTmB/lMbQy1UWQTCBjujFJlNVSCW2GHKGkMtdDkMxAQ7szSbSLhGS2yFiFQi1QD0EKQA3tcpFk71WLjFUozEL1EKQQ2NBuTZKtzNahjFXo86m3TwBB9vnUuutntrSrkLGqRX/nOQiyA6fWLdtFJIR+k+iox/KjXBQaKAjSQBA0BJNEWS0V5BCQRgqCNBIIDcMk+WRFkuiU0gABBGkgCJ0NYarhIshU4WaysQQQJJYY9acigCBThZvJxhJAkFhi1J+KAIJMFe7WJ9ve+BCkvZgwooYIIEhDwWAo7RFAkPZiwogaIoAgDQWDobRHAEHaiwkjKkEgsU8ESQRHszkIIMgccWaWiQQQJBEczeYggCBzxJlZJhJAkERwNJuDQIggc5BglhBYIZBNkNvt9kSBQStrYGWtJ13KJsjy9K92pFwuMDiXgS3DPJ/cguQZFb1AoBECCNJIIBhGmwROFqRNKIwKAo4AgjgSHCGwQgBBVqBwCQKOAII4EhwhsEIAQVagcAkCjsC4grgZcoTAAQIIcgAeTccngCDjx5gZHiCAIAfg0XR8ArkF0V9KolwuMDiXQTZzswlyvV71ByenKMy1/VjnMiSbILkGRD8QaIkAgrQUDcbSHAEEaS4kDKglAgjSUjQYS3MEEKStkDCaxgggSGMBYThtEUCQtuLBaBojgCCNBYThtEUAQdqKB6NpjACCNBaQcsOh5xQCCJJCjTbTEECQaULNRFMIIEgKNdpMQwBBpgk1E00hgCAp1GjzJ4GBzxBk4OAyteMEEOQ4Q3oYmACCNBTc2+32bOVDQ0OafigI0sgSMDGebCj/Wvlo39/akU8DBBCkgSAsQuiP7rjR/Ldcc+fTHs+eOIKcHIFFBO0c/ki+Lvf865xXJIAgFWFvPEpy6PXKv63XrA9I4mOpe44gdXn/8TRb/FtyuHrP9uWdFT4nEUCQk8CbHFr8Ko9GoB/tZLYeUSp0H0EKgd3r1uTQK5V2j71q9/ckiV657q/x/RiBoNYIEoQpXyWTQwv9PmMV2jmZrVBSGeshSEaYj7pa5IjZOfwuyWz5RAqfI0hhwF73kkOvV97l4FPtPmS2gnEdr4ggxxkG9WC7x1E53HP0w57MlqNR+IgghQGre5NDi1pFpzmKfrST2cpB8kEfaYI86JTbLwRMDr1Safd4uZjnmyTRK1ee3uhllQCCrGLJc9Hk0AJOyViFDoDMViipxHoIkgjuUbNFjhI7h/9oMls+kYznCJIRpteV5NDrlXc5+6l2KTJb2bH+6hBBfnHI+q/tHrXkcONWAoDMlqOR8dicIBnndkpXJocWq0rt5+tHO5mtzNQRJCNQk0OvVNo9MvYa1ZUk0StXVCMqbxNAkG02UXdMDi3Mkhmr0PGQ2QolFVAPQQIgPaqyyHHmzuEPkcyWTyTxHEESwXnNJIder7zLp51qNyOzlQH/TIJkwPW6C9s9WpPDDVKJAjJbjkbiEUESwamZyaFFqKLTFot+tJPZOhAZBEmEZ3LolUq7R2IP1ZpJEr1yVXvgSA9CkIRomhxacC1krEJHT2YrlJRXD0E8II9OFzl62Dn8qZDZ8okEnCNIACSviuTQ69Xd5S6+atcjsxUZKgSJAGa7R69yuFkqoUBmy9EIOCJIACRVMTm0uFR02nPRj3YyW4ERRJAAUCaHXqm0ewTU7qKKJNErVxeDPXOQCPKAvsmhhdRTxurBjH7fJrP1G8X2FwTZZnNZ5Dh359gZX4ZbZLYeQESQfUCSQ69X+7X6vavdkczWTvwQZAOO7R6jy+FmrsQDmS1HwzsiiAdEpyaHFo2KTmco+tFOZmsl0giyAsUuvbHysWD5bH3HftSm5JhixzNFfQRZCfP1ev10LVjskV+sxH6+5B6T31/sgGaojyAzRJk5JhNAkGR0NJyBAILMEGXmmEwAQZLR0XAGAggyQ5Trz3GYJyLIMKFkIiUIIEgJqvQ5DAEEGSaUTKQEAQQpQZU+hyGAIMOEcpaJ1J0ngtTlzdM6I4AgnQWM4dYlgCB1efO0zgggSGcBY7h1CSBIXd48rWUCK2NDkBUoXIKAI4AgjgRHCKwQQJAVKFyCgCOAII4ERwisEECQFShcgoAjkEsQ1x9HCAxFAEGGCieTyU0AQXITpb+hCCDIUOFkMrkJIEhuovQ3FIEOBBmKN5PpjACCdBYwhluXAILU5c3TOiOAIJ0FjOHWJYAgdXnztM4IzC1IZ8FiuPUJIEh95jyxIwII0lGwGGp9AghSnzlP7IgAgnQULIZanwCCFGJOt2MQ+AEAAP//U3PGlQAAAAZJREFUAwA3ILMm/jaVEAAAAABJRU5ErkJggg==", ss = new u.TextureLoader(), os = ss.load(ns);
|
|
1050
|
+
class as extends Ae {
|
|
1048
1051
|
static name = "RenderManager";
|
|
1049
1052
|
container = new u.Group();
|
|
1050
1053
|
lines = [];
|
|
1051
|
-
pointVirtualGrid = new
|
|
1052
|
-
quadtree = new
|
|
1053
|
-
verticalReferenceLineFlag = new u.Mesh(new u.PlaneGeometry(0.3, 0.3), new u.MeshBasicMaterial({ map:
|
|
1054
|
+
pointVirtualGrid = new Fe();
|
|
1055
|
+
quadtree = new ze(new Ye());
|
|
1056
|
+
verticalReferenceLineFlag = new u.Mesh(new u.PlaneGeometry(0.3, 0.3), new u.MeshBasicMaterial({ map: os, color: 58111, transparent: !0 }));
|
|
1054
1057
|
onAddFromParent() {
|
|
1055
1058
|
const e = this.dxfLineModel;
|
|
1056
1059
|
this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new u.LineBasicMaterial({
|
|
@@ -1066,21 +1069,24 @@ class so extends Ae {
|
|
|
1066
1069
|
*/
|
|
1067
1070
|
reset() {
|
|
1068
1071
|
if (this.updatedMode === "self") {
|
|
1072
|
+
const n = this.lines.filter((o) => o.userData.isDoor);
|
|
1069
1073
|
this.updatedMode = null;
|
|
1074
|
+
const s = this.dxf.doorLineSegment.filter((o) => {
|
|
1075
|
+
for (let a = 0; a < n.length; a++) {
|
|
1076
|
+
const d = n[a];
|
|
1077
|
+
if (d.start.equal(o.start) && d.end.equal(o.end) || d.end.equal(o.start) && d.start.equal(o.end)) return !1;
|
|
1078
|
+
}
|
|
1079
|
+
return !0;
|
|
1080
|
+
});
|
|
1081
|
+
this.addLines(s.map((o) => (o.userData.isDoor = !0, o.userData.doorDirectConnection, o))), this.draw(!1);
|
|
1070
1082
|
return;
|
|
1071
1083
|
} else
|
|
1072
1084
|
this.updatedMode = "dxf";
|
|
1073
|
-
this.pointVirtualGrid = new
|
|
1085
|
+
this.pointVirtualGrid = new Fe();
|
|
1074
1086
|
const e = this.dxf.box.clone().expansion(Math.max(this.dxf.box.width, this.dxf.box.height) * 2);
|
|
1075
|
-
(e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
const n = t.clone();
|
|
1079
|
-
n.userData = {
|
|
1080
|
-
isDoor: !0,
|
|
1081
|
-
doorDirectConnection: !0
|
|
1082
|
-
}, this.addLine(n);
|
|
1083
|
-
}), this.draw();
|
|
1087
|
+
(e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new ze(e), this.lines.length = 0;
|
|
1088
|
+
const t = this.dxf.getLineSegments();
|
|
1089
|
+
this.addLines(t), this.draw();
|
|
1084
1090
|
}
|
|
1085
1091
|
/** 添加线段
|
|
1086
1092
|
* @param line
|
|
@@ -1101,11 +1107,11 @@ class so extends Ae {
|
|
|
1101
1107
|
for (let t = 0; t < e.length; t++) {
|
|
1102
1108
|
const n = e[t];
|
|
1103
1109
|
this.lines.push(n), this.pointVirtualGrid.insert(n.start, n), this.pointVirtualGrid.insert(n.end, n);
|
|
1104
|
-
const
|
|
1110
|
+
const s = {
|
|
1105
1111
|
line: n,
|
|
1106
1112
|
userData: void 0
|
|
1107
1113
|
};
|
|
1108
|
-
n.userData.quadtreeNode =
|
|
1114
|
+
n.userData.quadtreeNode = s, this.quadtree.insert(s);
|
|
1109
1115
|
}
|
|
1110
1116
|
}
|
|
1111
1117
|
/** 移除线段
|
|
@@ -1124,8 +1130,8 @@ class so extends Ae {
|
|
|
1124
1130
|
for (let t = 0; t < e.length; t++) {
|
|
1125
1131
|
const n = e[t];
|
|
1126
1132
|
n.userData.quadtreeNode && this.quadtree.remove(n.userData.quadtreeNode), this.pointVirtualGrid.remove(n.start), this.pointVirtualGrid.remove(n.end);
|
|
1127
|
-
const
|
|
1128
|
-
this.lines.splice(
|
|
1133
|
+
const s = this.lines.indexOf(n);
|
|
1134
|
+
this.lines.splice(s, 1);
|
|
1129
1135
|
}
|
|
1130
1136
|
this.draw();
|
|
1131
1137
|
}
|
|
@@ -1134,15 +1140,15 @@ class so extends Ae {
|
|
|
1134
1140
|
*/
|
|
1135
1141
|
draw(e = !0) {
|
|
1136
1142
|
this.container.clear();
|
|
1137
|
-
const t = [], n = [],
|
|
1138
|
-
this.lines.forEach((
|
|
1139
|
-
if (
|
|
1140
|
-
|
|
1141
|
-
}),
|
|
1142
|
-
const r =
|
|
1143
|
-
|
|
1144
|
-
}),
|
|
1145
|
-
const a =
|
|
1143
|
+
const t = [], n = [], s = [];
|
|
1144
|
+
this.lines.forEach((o) => {
|
|
1145
|
+
if (o.points.forEach((a) => {
|
|
1146
|
+
o.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
|
|
1147
|
+
}), o.userData.isWindow && o.userData.drawWindow && o.userData.drawWindow.forEach(({ width: a, p: d }) => {
|
|
1148
|
+
const r = L.from(d), i = o.direction(), c = r.clone().add(i.clone().multiplyScalar(a * 0.5)), m = r.clone().add(i.clone().multiplyScalar(-a * 0.5));
|
|
1149
|
+
s.push(c.x, c.y, 1e-3), s.push(m.x, m.y, 1e-3);
|
|
1150
|
+
}), o.userData.isVerticalReferenceLine) {
|
|
1151
|
+
const a = o.center;
|
|
1146
1152
|
this.verticalReferenceLineFlag.position.set(a.x, a.y, 0), this.container.add(this.verticalReferenceLineFlag);
|
|
1147
1153
|
}
|
|
1148
1154
|
}), t.length && this.renderer.createLineSegments({
|
|
@@ -1153,9 +1159,9 @@ class so extends Ae {
|
|
|
1153
1159
|
position: n
|
|
1154
1160
|
}, n.length / 3, {
|
|
1155
1161
|
color: 16776960
|
|
1156
|
-
}, this.container),
|
|
1157
|
-
position:
|
|
1158
|
-
},
|
|
1162
|
+
}, this.container), s.length && this.renderer.createLineSegments({
|
|
1163
|
+
position: s
|
|
1164
|
+
}, s.length / 3, {
|
|
1159
1165
|
color: 16711935
|
|
1160
1166
|
}, this.container), e && this.synchronizeDxf();
|
|
1161
1167
|
}
|
|
@@ -1164,18 +1170,18 @@ class so extends Ae {
|
|
|
1164
1170
|
* @returns
|
|
1165
1171
|
*/
|
|
1166
1172
|
adsorption(e = 0.04, t = this.pointVirtualGrid, n = this.quadtree) {
|
|
1167
|
-
const
|
|
1168
|
-
let a = n.queryCircle(
|
|
1173
|
+
const s = this.parent?.findComponentByName("Editor"), o = L.from(s.pointerPosition);
|
|
1174
|
+
let a = n.queryCircle(o, e);
|
|
1169
1175
|
if (a.length) {
|
|
1170
|
-
let
|
|
1171
|
-
if (a = a.filter((r, i) => !!
|
|
1172
|
-
const r = a[0].line, i =
|
|
1173
|
-
return r.start.distance(
|
|
1176
|
+
let d = a.map((r) => r.line.projectPoint(o));
|
|
1177
|
+
if (a = a.filter((r, i) => !!d[i]), d = d.filter((r, i) => !!d[i]), d.sort((r, i) => r && i ? r.distance(o) - i.distance(o) : 0), d.length) {
|
|
1178
|
+
const r = a[0].line, i = d[0];
|
|
1179
|
+
return r.start.distance(o) < e * 1.5 ? {
|
|
1174
1180
|
point: new u.Vector3(r.start.x, r.start.y, 0),
|
|
1175
1181
|
find: !0,
|
|
1176
1182
|
mode: "point",
|
|
1177
1183
|
line: r
|
|
1178
|
-
} : r.end.distance(
|
|
1184
|
+
} : r.end.distance(o) < e * 1.5 ? {
|
|
1179
1185
|
point: new u.Vector3(r.end.x, r.end.y, 0),
|
|
1180
1186
|
find: !0,
|
|
1181
1187
|
mode: "point",
|
|
@@ -1189,7 +1195,7 @@ class so extends Ae {
|
|
|
1189
1195
|
}
|
|
1190
1196
|
}
|
|
1191
1197
|
return {
|
|
1192
|
-
point: new u.Vector3(
|
|
1198
|
+
point: new u.Vector3(s.pointerPosition.x, s.pointerPosition.y, 0),
|
|
1193
1199
|
find: !1
|
|
1194
1200
|
};
|
|
1195
1201
|
}
|
|
@@ -1198,8 +1204,8 @@ class so extends Ae {
|
|
|
1198
1204
|
*/
|
|
1199
1205
|
createGeometry(e, t) {
|
|
1200
1206
|
const n = new u.BufferGeometry();
|
|
1201
|
-
return Object.keys(e).forEach((
|
|
1202
|
-
n.setAttribute("position", new u.BufferAttribute(new Float32Array(e[
|
|
1207
|
+
return Object.keys(e).forEach((s) => {
|
|
1208
|
+
n.setAttribute("position", new u.BufferAttribute(new Float32Array(e[s]), e[s].length / t));
|
|
1203
1209
|
}), n;
|
|
1204
1210
|
}
|
|
1205
1211
|
/**
|
|
@@ -1207,21 +1213,21 @@ class so extends Ae {
|
|
|
1207
1213
|
*/
|
|
1208
1214
|
toJson() {
|
|
1209
1215
|
return this.lines.map((e) => {
|
|
1210
|
-
const t = e.userData, n = t.drawWindow,
|
|
1216
|
+
const t = e.userData, n = t.drawWindow, s = this.quadtree.queryLineSegment(e).filter((o) => o.line !== e && !o.userData?.isDoor).map((o) => ({ index: this.lines.indexOf(o.line) }));
|
|
1211
1217
|
return {
|
|
1212
1218
|
start: e.start.toJson(this.dxf.originalZAverage),
|
|
1213
1219
|
end: e.end.toJson(this.dxf.originalZAverage),
|
|
1214
|
-
insetionArr:
|
|
1220
|
+
insetionArr: s,
|
|
1215
1221
|
isDoor: t.isDoor,
|
|
1216
1222
|
doorDirectConnection: t.isDoor,
|
|
1217
1223
|
length: e.length(),
|
|
1218
1224
|
isWindow: t.isWindow,
|
|
1219
1225
|
isVerticalReferenceLine: t.isVerticalReferenceLine,
|
|
1220
1226
|
wallWidth: e.userData.wallWidth,
|
|
1221
|
-
drawWindow: n && n.map((
|
|
1222
|
-
p: { x:
|
|
1223
|
-
width:
|
|
1224
|
-
full:
|
|
1227
|
+
drawWindow: n && n.map((o) => ({
|
|
1228
|
+
p: { x: o.p.x, y: o.p.y, z: o.p.z },
|
|
1229
|
+
width: o.width,
|
|
1230
|
+
full: o.full
|
|
1225
1231
|
}))
|
|
1226
1232
|
};
|
|
1227
1233
|
});
|
|
@@ -1237,10 +1243,8 @@ class so extends Ae {
|
|
|
1237
1243
|
}
|
|
1238
1244
|
this._timer && clearTimeout(this._timer), this._timer = setTimeout(() => {
|
|
1239
1245
|
this.updatedMode = "self";
|
|
1240
|
-
const e = this.dxf, t = this.toJson();
|
|
1241
|
-
e.set(t).then(() =>
|
|
1242
|
-
e.lineOffset();
|
|
1243
|
-
});
|
|
1246
|
+
const e = this.dxf, t = this.toJson(), n = this.parent?.findComponentByType(At);
|
|
1247
|
+
n.skipFindDoor = !0, e.set(t).then(() => e.lineOffset());
|
|
1244
1248
|
}, 10);
|
|
1245
1249
|
}
|
|
1246
1250
|
get renderer() {
|
|
@@ -1262,7 +1266,7 @@ class so extends Ae {
|
|
|
1262
1266
|
return this.parent?.findComponentByName("DxfLineModel");
|
|
1263
1267
|
}
|
|
1264
1268
|
}
|
|
1265
|
-
class
|
|
1269
|
+
class is extends O {
|
|
1266
1270
|
static name = "DrawDoorLine";
|
|
1267
1271
|
container = new u.Group();
|
|
1268
1272
|
interruptKeys = ["escape"];
|
|
@@ -1270,18 +1274,18 @@ class ao extends O {
|
|
|
1270
1274
|
commandName = "draw-door-line";
|
|
1271
1275
|
onAddFromParent(e) {
|
|
1272
1276
|
super.onAddFromParent(e);
|
|
1273
|
-
const t = e.findComponentByName("Editor"), n = t.eventInput,
|
|
1277
|
+
const t = e.findComponentByName("Editor"), n = t.eventInput, s = t.commandManager;
|
|
1274
1278
|
this.editor.container.add(this.container);
|
|
1275
|
-
const
|
|
1276
|
-
n.addKeyCombination(this.commandName, this.shortcutKeys),
|
|
1277
|
-
n.isKeyCombination(this.commandName) && await
|
|
1279
|
+
const o = this.commandManager.addCommandFlow("draw-door-line").add(this.createInterrupt()).add(this.createCursor("no-drop")).add(this.selectPoint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1280
|
+
n.addKeyCombination(this.commandName, this.shortcutKeys), o.addEventListener("finally", this.createFinally()), o.addEventListener("completed", (a) => this.completed(a.data)), n.addCancelDefaultBehavior(() => n.isOnlyKeyDowns(this.shortcutKeys)), n.addEventListener("codeChange", async () => {
|
|
1281
|
+
n.isKeyCombination(this.commandName) && await s.start(this.commandName);
|
|
1278
1282
|
});
|
|
1279
1283
|
}
|
|
1280
1284
|
/** 选择点
|
|
1281
1285
|
* @param next
|
|
1282
1286
|
*/
|
|
1283
1287
|
selectPoint(e) {
|
|
1284
|
-
let t = this.parent?.findComponentByName("Editor"), n = null,
|
|
1288
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, s = this.renderer.createCircle(L.zero(), { color: 65280 }), o = new ye([], 16711935), a = new ye([
|
|
1285
1289
|
new u.Vector3(-1e4, 0, 0),
|
|
1286
1290
|
new u.Vector3(1e4, 0, 0),
|
|
1287
1291
|
new u.Vector3(0, -1e4, 0),
|
|
@@ -1292,25 +1296,25 @@ class ao extends O {
|
|
|
1292
1296
|
dashSize: 0.1,
|
|
1293
1297
|
gapSize: 0.1,
|
|
1294
1298
|
linewidth: 0.1
|
|
1295
|
-
}), this.container.add(
|
|
1296
|
-
let
|
|
1299
|
+
}), this.container.add(o);
|
|
1300
|
+
let d = null;
|
|
1297
1301
|
this.addEventRecord(
|
|
1298
1302
|
"clear",
|
|
1299
1303
|
t.addEventListener("pointerPositionChange", () => {
|
|
1300
1304
|
const { point: r, find: i } = t.renderManager.adsorption();
|
|
1301
|
-
n &&
|
|
1305
|
+
n && o.setPoint(n, r), this.dispatchEvent({ type: "pointerMove", point: r }), i ? (s.position.set(r.x, r.y, 0), this.container.add(s), this.domElement.style.cursor = "none", d = r.clone()) : (d = null, s.removeFromParent(), this.domElement.style.cursor = "no-drop");
|
|
1302
1306
|
}),
|
|
1303
1307
|
t.eventInput.addEventListener("codeChange", async () => {
|
|
1304
|
-
if (t.eventInput.isKeyDown("mouse_0") &&
|
|
1308
|
+
if (t.eventInput.isKeyDown("mouse_0") && d) {
|
|
1305
1309
|
if (!n) {
|
|
1306
|
-
n =
|
|
1310
|
+
n = d.clone();
|
|
1307
1311
|
return;
|
|
1308
1312
|
}
|
|
1309
|
-
e([n.clone(),
|
|
1313
|
+
e([n.clone(), d.clone()]);
|
|
1310
1314
|
}
|
|
1311
1315
|
}),
|
|
1312
1316
|
function() {
|
|
1313
|
-
|
|
1317
|
+
o.removeFromParent(), s.removeFromParent(), a.removeFromParent();
|
|
1314
1318
|
}
|
|
1315
1319
|
);
|
|
1316
1320
|
}
|
|
@@ -1321,21 +1325,21 @@ class ao extends O {
|
|
|
1321
1325
|
*/
|
|
1322
1326
|
end(e, t) {
|
|
1323
1327
|
const n = [];
|
|
1324
|
-
for (let
|
|
1325
|
-
const
|
|
1328
|
+
for (let s = 0; s < t.length; s += 2) {
|
|
1329
|
+
const o = L.from(t[s]), a = L.from(t[s + 1]), d = this.renderManager.quadtree.queryCircle(o, 1e-3)[0].line, r = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
|
|
1326
1330
|
let i = null;
|
|
1327
|
-
|
|
1328
|
-
oldLine:
|
|
1331
|
+
d === r && (i = {
|
|
1332
|
+
oldLine: d,
|
|
1329
1333
|
newLine1: new N(
|
|
1330
|
-
|
|
1331
|
-
|
|
1334
|
+
d.start,
|
|
1335
|
+
d.start.distance(o) < d.start.distance(a) ? o.clone() : a.clone()
|
|
1332
1336
|
),
|
|
1333
1337
|
newLine2: new N(
|
|
1334
|
-
|
|
1335
|
-
|
|
1338
|
+
d.end,
|
|
1339
|
+
d.end.distance(o) < d.end.distance(a) ? o.clone() : a.clone()
|
|
1336
1340
|
)
|
|
1337
1341
|
});
|
|
1338
|
-
const c = new N(
|
|
1342
|
+
const c = new N(o, a);
|
|
1339
1343
|
c.userData.isDoor = !0, c.userData.doorDirectConnection = !0, n.push({
|
|
1340
1344
|
line: c,
|
|
1341
1345
|
option: i
|
|
@@ -1366,7 +1370,7 @@ class ao extends O {
|
|
|
1366
1370
|
return this.completed(e), e;
|
|
1367
1371
|
}
|
|
1368
1372
|
}
|
|
1369
|
-
class
|
|
1373
|
+
class rs extends O {
|
|
1370
1374
|
static name = "DrawWindow";
|
|
1371
1375
|
container = new u.Group();
|
|
1372
1376
|
interruptKeys = ["escape"];
|
|
@@ -1381,24 +1385,24 @@ class io extends O {
|
|
|
1381
1385
|
* @param next
|
|
1382
1386
|
*/
|
|
1383
1387
|
selectPointStart(e) {
|
|
1384
|
-
let t = null, n = this.renderer.createCircle(
|
|
1388
|
+
let t = null, n = this.renderer.createCircle(L.zero(), { color: 16711935 }), s = null;
|
|
1385
1389
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1386
|
-
const { point:
|
|
1387
|
-
this.dispatchEvent({ type: "pointerMove", point:
|
|
1390
|
+
const { point: o, line: a, find: d } = this.editor.renderManager.adsorption();
|
|
1391
|
+
this.dispatchEvent({ type: "pointerMove", point: o }), d ? (this.domElement.style.cursor = "none", n.position.copy(o), s = a, t = o.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
1388
1392
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1389
|
-
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line:
|
|
1393
|
+
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
|
|
1390
1394
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
1391
1395
|
}
|
|
1392
1396
|
/** 选择结束点
|
|
1393
1397
|
* @param next
|
|
1394
1398
|
*/
|
|
1395
1399
|
selectPointEnd(e, { point: t, line: n }) {
|
|
1396
|
-
let
|
|
1397
|
-
this.addEventRecord("clear").add(() =>
|
|
1398
|
-
const { point: a, find:
|
|
1399
|
-
this.dispatchEvent({ type: "pointerMove", point: a }),
|
|
1400
|
+
let s = null, o = this.renderer.createCircle(L.zero(), { color: 16711935 });
|
|
1401
|
+
this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1402
|
+
const { point: a, find: d, line: r } = this.editor.renderManager.adsorption();
|
|
1403
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), d && r === n ? (this.domElement.style.cursor = "none", o.position.copy(a), s = a.clone(), this.container.add(o)) : (this.domElement.style.cursor = "no-drop", s = null, o.removeFromParent());
|
|
1400
1404
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1401
|
-
this.eventInput.isKeyDown("mouse_0") &&
|
|
1405
|
+
this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
|
|
1402
1406
|
}));
|
|
1403
1407
|
}
|
|
1404
1408
|
/**
|
|
@@ -1406,13 +1410,13 @@ class io extends O {
|
|
|
1406
1410
|
* @param next
|
|
1407
1411
|
* @param points
|
|
1408
1412
|
*/
|
|
1409
|
-
end(e, { start: t, end: n, line:
|
|
1410
|
-
const
|
|
1413
|
+
end(e, { start: t, end: n, line: s }) {
|
|
1414
|
+
const o = new N(L.from(t), L.from(n)), a = o.center, d = o.length(), r = {
|
|
1411
1415
|
p: new u.Vector3(a.x, a.y, 0),
|
|
1412
|
-
width:
|
|
1413
|
-
full: Math.abs(
|
|
1416
|
+
width: d,
|
|
1417
|
+
full: Math.abs(d - s.length()) < 0.01
|
|
1414
1418
|
};
|
|
1415
|
-
e({ line:
|
|
1419
|
+
e({ line: s, doorDataItem: r });
|
|
1416
1420
|
}
|
|
1417
1421
|
/** 执行完成
|
|
1418
1422
|
*/
|
|
@@ -1425,8 +1429,8 @@ class io extends O {
|
|
|
1425
1429
|
rollback(e) {
|
|
1426
1430
|
const { doorDataItem: t, line: n } = e;
|
|
1427
1431
|
if (n.userData.drawWindow) {
|
|
1428
|
-
const
|
|
1429
|
-
|
|
1432
|
+
const s = n.userData.drawWindow.indexOf(t);
|
|
1433
|
+
s !== -1 && (n.userData.drawWindow.splice(s, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
|
|
1430
1434
|
}
|
|
1431
1435
|
return e;
|
|
1432
1436
|
}
|
|
@@ -1474,19 +1478,19 @@ class le extends O {
|
|
|
1474
1478
|
* @param id
|
|
1475
1479
|
* @returns
|
|
1476
1480
|
*/
|
|
1477
|
-
setLinePoint(e, t, n,
|
|
1481
|
+
setLinePoint(e, t, n, s = "all", o = [], a = St()) {
|
|
1478
1482
|
if (e.userData.setLinePointUUid === a) return [];
|
|
1479
1483
|
e.userData.setLinePointUUid = a;
|
|
1480
|
-
let
|
|
1481
|
-
(
|
|
1484
|
+
let d = [], r = [];
|
|
1485
|
+
(s === "start" || s === "all") && (d = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((y) => y.userData !== e)), (s === "end" || s === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((y) => y.userData !== e));
|
|
1482
1486
|
const i = e.clone();
|
|
1483
1487
|
let c = "";
|
|
1484
|
-
t && (e.start.equal(t) || (c = "start"),
|
|
1488
|
+
t && (e.start.equal(t) || (c = "start"), o.push({
|
|
1485
1489
|
point: e.start,
|
|
1486
1490
|
oldPoint: e.start.clone(),
|
|
1487
1491
|
newPoint: t,
|
|
1488
1492
|
line: e
|
|
1489
|
-
}), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"),
|
|
1493
|
+
}), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"), o.push({
|
|
1490
1494
|
point: e.end,
|
|
1491
1495
|
oldPoint: e.end.clone(),
|
|
1492
1496
|
newPoint: n,
|
|
@@ -1498,22 +1502,22 @@ class le extends O {
|
|
|
1498
1502
|
if (x.directionEqual(i))
|
|
1499
1503
|
if (I === "start") {
|
|
1500
1504
|
const K = e.projectPoint(x.end, !1);
|
|
1501
|
-
if (K) return this.setLinePoint(x, f, K, "end",
|
|
1505
|
+
if (K) return this.setLinePoint(x, f, K, "end", o, a);
|
|
1502
1506
|
} else {
|
|
1503
1507
|
const K = e.projectPoint(x.start, !1);
|
|
1504
|
-
if (K) return this.setLinePoint(x, K, f, "start",
|
|
1508
|
+
if (K) return this.setLinePoint(x, K, f, "start", o, a);
|
|
1505
1509
|
}
|
|
1506
1510
|
(c === "all" || g === c) && this.setLinePoint(
|
|
1507
1511
|
x,
|
|
1508
1512
|
x.start === E ? f : x.start,
|
|
1509
1513
|
x.end === E ? f : x.end,
|
|
1510
1514
|
x.start === E ? "end" : "start",
|
|
1511
|
-
|
|
1515
|
+
o,
|
|
1512
1516
|
a
|
|
1513
1517
|
);
|
|
1514
1518
|
});
|
|
1515
1519
|
};
|
|
1516
|
-
return m(
|
|
1520
|
+
return m(d, e.start, "start"), m(r, e.end, "end"), [...d, ...r];
|
|
1517
1521
|
}
|
|
1518
1522
|
/** 修正2
|
|
1519
1523
|
* 第一步:确定需要修复的线段
|
|
@@ -1527,16 +1531,16 @@ class le extends O {
|
|
|
1527
1531
|
*/
|
|
1528
1532
|
correction(e, t = [], n = /* @__PURE__ */ new Set()) {
|
|
1529
1533
|
n.add(e);
|
|
1530
|
-
const
|
|
1534
|
+
const s = this.renderManager.quadtree.queryLineSegment(e).filter(({ line: i }) => !(i === e || i.userData.isDoor || n.has(i))).map((i) => i.line), o = e.direction(), [a, d] = s.reduce((i, c) => {
|
|
1531
1535
|
const [m, y] = i;
|
|
1532
1536
|
return c.sameEndpoint(e) ? m.push(c) : y.push(c), i;
|
|
1533
1537
|
}, [[], []]);
|
|
1534
1538
|
a.forEach((i) => {
|
|
1535
|
-
const c = i.direction(), m =
|
|
1539
|
+
const c = i.direction(), m = o.angleBetween(c, "angle");
|
|
1536
1540
|
if (Math.abs(90 - m) > 45) return !1;
|
|
1537
1541
|
const f = e.sameEndpointAsStart(i) ? e.start : e.end, g = i.sameEndpointAsStart(e) ? i.end : i.start, h = new N(
|
|
1538
|
-
g.clone().add(
|
|
1539
|
-
g.clone().add(
|
|
1542
|
+
g.clone().add(o.clone().multiplyScalar(1)),
|
|
1543
|
+
g.clone().add(o.clone().multiplyScalar(-1))
|
|
1540
1544
|
), E = h.projectPoint(f, !1);
|
|
1541
1545
|
if (E) {
|
|
1542
1546
|
const x = [];
|
|
@@ -1549,14 +1553,14 @@ class le extends O {
|
|
|
1549
1553
|
), t.push(x);
|
|
1550
1554
|
}
|
|
1551
1555
|
return n.add(i), !1;
|
|
1552
|
-
}),
|
|
1556
|
+
}), o.copy(e.direction());
|
|
1553
1557
|
const r = (i, c, m) => {
|
|
1554
1558
|
const y = e.projectPoint(c);
|
|
1555
1559
|
if (y) i.copy(y);
|
|
1556
1560
|
else {
|
|
1557
1561
|
const f = new N(
|
|
1558
|
-
c.clone().add(
|
|
1559
|
-
c.clone().add(
|
|
1562
|
+
c.clone().add(o.clone().multiplyScalar(1)),
|
|
1563
|
+
c.clone().add(o.clone().multiplyScalar(-1))
|
|
1560
1564
|
), g = f.projectPoint(i, !1);
|
|
1561
1565
|
if (g) {
|
|
1562
1566
|
const h = [];
|
|
@@ -1570,7 +1574,7 @@ class le extends O {
|
|
|
1570
1574
|
}
|
|
1571
1575
|
}
|
|
1572
1576
|
};
|
|
1573
|
-
return
|
|
1577
|
+
return d.forEach((i) => {
|
|
1574
1578
|
if (e.containsPoint(i.start))
|
|
1575
1579
|
r(i.start, i.end, i);
|
|
1576
1580
|
else if (e.containsPoint(i.end))
|
|
@@ -1579,16 +1583,16 @@ class le extends O {
|
|
|
1579
1583
|
const c = e.getIntersection(i);
|
|
1580
1584
|
if (c) {
|
|
1581
1585
|
const m = new N(
|
|
1582
|
-
i.start.clone().add(
|
|
1583
|
-
i.start.clone().add(
|
|
1586
|
+
i.start.clone().add(o.clone().multiplyScalar(1)),
|
|
1587
|
+
i.start.clone().add(o.clone().multiplyScalar(-1))
|
|
1584
1588
|
), y = m.projectPoint(c, !1);
|
|
1585
1589
|
if (y) {
|
|
1586
1590
|
const h = [];
|
|
1587
1591
|
this.setLinePoint(i, y, i.end, "start", h), t.push(h);
|
|
1588
1592
|
}
|
|
1589
1593
|
const f = new N(
|
|
1590
|
-
i.end.clone().add(
|
|
1591
|
-
i.end.clone().add(
|
|
1594
|
+
i.end.clone().add(o.clone().multiplyScalar(1)),
|
|
1595
|
+
i.end.clone().add(o.clone().multiplyScalar(-1))
|
|
1592
1596
|
), g = f.projectPoint(c, !1);
|
|
1593
1597
|
if (g) {
|
|
1594
1598
|
const h = [];
|
|
@@ -1604,7 +1608,7 @@ class le extends O {
|
|
|
1604
1608
|
*/
|
|
1605
1609
|
axisAlignmentCorrection(e) {
|
|
1606
1610
|
const t = [...this.renderManager.lines];
|
|
1607
|
-
return { newLines:
|
|
1611
|
+
return { newLines: _t.correction(t, e, { groupMethod: "cross", fittingMethod: "max", crossAxistThreshold: 0.08 }), oldLines: t };
|
|
1608
1612
|
}
|
|
1609
1613
|
/** 开始
|
|
1610
1614
|
* @param next
|
|
@@ -1620,9 +1624,9 @@ class le extends O {
|
|
|
1620
1624
|
if (Array.isArray(e)) {
|
|
1621
1625
|
const t = [];
|
|
1622
1626
|
e.forEach((n) => {
|
|
1623
|
-
n.forEach((
|
|
1624
|
-
const { line:
|
|
1625
|
-
|
|
1627
|
+
n.forEach((s) => {
|
|
1628
|
+
const { line: o, newPoint: a, point: d } = s;
|
|
1629
|
+
d.copy(a), this.renderManager.removeLine(o), this.renderManager.addLine(o), o.userData.isWindow && t.push(o);
|
|
1626
1630
|
});
|
|
1627
1631
|
}), Ke(...t);
|
|
1628
1632
|
} else
|
|
@@ -1636,10 +1640,10 @@ class le extends O {
|
|
|
1636
1640
|
if (Array.isArray(e)) {
|
|
1637
1641
|
const t = [];
|
|
1638
1642
|
for (let n = e.length - 1; n >= 0; n--) {
|
|
1639
|
-
const
|
|
1640
|
-
for (let
|
|
1641
|
-
const a = o
|
|
1642
|
-
i.copy(r), this.renderManager.removeLine(
|
|
1643
|
+
const s = e[n];
|
|
1644
|
+
for (let o = s.length - 1; o >= 0; o--) {
|
|
1645
|
+
const a = s[o], { line: d, oldPoint: r, point: i } = a;
|
|
1646
|
+
i.copy(r), this.renderManager.removeLine(d), this.renderManager.addLine(d), d.userData.isWindow && t.push(d);
|
|
1643
1647
|
}
|
|
1644
1648
|
}
|
|
1645
1649
|
Ke(...t);
|
|
@@ -1677,9 +1681,9 @@ class $ extends O {
|
|
|
1677
1681
|
* @todo 合并所有
|
|
1678
1682
|
*/
|
|
1679
1683
|
mergeLines(e, t) {
|
|
1680
|
-
t = t.filter((
|
|
1681
|
-
const { newLines: n, deleteLines:
|
|
1682
|
-
n.length ? (e({ newLines: n, deleteLines:
|
|
1684
|
+
t = t.filter((o) => !o.userData.isDoor);
|
|
1685
|
+
const { newLines: n, deleteLines: s } = N.autoMergeLines(t);
|
|
1686
|
+
n.length ? (e({ newLines: n, deleteLines: s }), k({ message: "已合并", type: "success" })) : (k({ message: "合并失败,未找到共用点", type: "warning" }), this.commandManager.cancel());
|
|
1683
1687
|
}
|
|
1684
1688
|
/** 执行完成
|
|
1685
1689
|
* @param data
|
|
@@ -1758,14 +1762,14 @@ class te extends O {
|
|
|
1758
1762
|
* @param next
|
|
1759
1763
|
*/
|
|
1760
1764
|
connection(e, t) {
|
|
1761
|
-
let n,
|
|
1765
|
+
let n, s, o = 1 / 0;
|
|
1762
1766
|
for (let a = 0; a < 2; a++)
|
|
1763
|
-
for (let
|
|
1764
|
-
const r = t[0].points[a], i = t[1].points[
|
|
1765
|
-
c <
|
|
1767
|
+
for (let d = 0; d < 2; d++) {
|
|
1768
|
+
const r = t[0].points[a], i = t[1].points[d], c = r.distance(i);
|
|
1769
|
+
c < o && (n = r, s = i, o = c);
|
|
1766
1770
|
}
|
|
1767
|
-
if (n &&
|
|
1768
|
-
const a = new N(n.clone(),
|
|
1771
|
+
if (n && s) {
|
|
1772
|
+
const a = new N(n.clone(), s.clone());
|
|
1769
1773
|
e(a), k({ message: "连接成功", type: "success" });
|
|
1770
1774
|
} else this.cancel();
|
|
1771
1775
|
}
|
|
@@ -1811,26 +1815,26 @@ class ne extends O {
|
|
|
1811
1815
|
* @param next
|
|
1812
1816
|
*/
|
|
1813
1817
|
connection(e, t) {
|
|
1814
|
-
const n = t[0],
|
|
1815
|
-
if (!
|
|
1816
|
-
const a = n.points.map((c) => c.clone()),
|
|
1817
|
-
n.start.distance(
|
|
1818
|
-
const r = n.points.map((c) => c.clone()), i =
|
|
1819
|
-
e({ line1: n, line2:
|
|
1818
|
+
const n = t[0], s = t[1], o = t[0].getIntersection(t[1]);
|
|
1819
|
+
if (!o) return;
|
|
1820
|
+
const a = n.points.map((c) => c.clone()), d = s.points.map((c) => c.clone());
|
|
1821
|
+
n.start.distance(o) < n.end.distance(o) ? n.start.copy(o) : n.end.copy(o), s.start.distance(o) < s.end.distance(o) ? s.start.copy(o) : s.end.copy(o);
|
|
1822
|
+
const r = n.points.map((c) => c.clone()), i = s.points.map((c) => c.clone());
|
|
1823
|
+
e({ line1: n, line2: s, oldLine1: a, oldLine2: d, newLine1: r, newLine2: i }), k({ message: "连接成功", type: "success" });
|
|
1820
1824
|
}
|
|
1821
1825
|
/** 执行完成
|
|
1822
1826
|
* @param next
|
|
1823
1827
|
* @param selectLines
|
|
1824
1828
|
*/
|
|
1825
|
-
completed({ line1: e, line2: t, newLine1: n, newLine2:
|
|
1826
|
-
this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...
|
|
1829
|
+
completed({ line1: e, line2: t, newLine1: n, newLine2: s }) {
|
|
1830
|
+
this.renderManager.removeLine(e), this.renderManager.removeLine(t), e.set(...n), t.set(...s), this.renderManager.addLines([e, t]), this.renderManager.draw();
|
|
1827
1831
|
}
|
|
1828
1832
|
/** 回滚操作
|
|
1829
1833
|
* @param data
|
|
1830
1834
|
*/
|
|
1831
1835
|
rollback(e) {
|
|
1832
|
-
const { line1: t, line2: n, oldLine1:
|
|
1833
|
-
return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...
|
|
1836
|
+
const { line1: t, line2: n, oldLine1: s, oldLine2: o } = e;
|
|
1837
|
+
return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...s), n.set(...o), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
|
|
1834
1838
|
}
|
|
1835
1839
|
/** 撤回回滚
|
|
1836
1840
|
* @param lines
|
|
@@ -1840,15 +1844,15 @@ class ne extends O {
|
|
|
1840
1844
|
return this.completed(e), e;
|
|
1841
1845
|
}
|
|
1842
1846
|
}
|
|
1843
|
-
class
|
|
1847
|
+
class se extends O {
|
|
1844
1848
|
static name = "DeleteSelectWindow";
|
|
1845
1849
|
shortcutKeys = ["Q", "Delete"];
|
|
1846
1850
|
static commandName = "deleteSelectWindow";
|
|
1847
1851
|
onAddFromParent(e) {
|
|
1848
1852
|
super.onAddFromParent(e);
|
|
1849
|
-
const t = this.commandManager.addCommandFlow(
|
|
1850
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1851
|
-
this.eventInput.isKeyCombination(
|
|
1853
|
+
const t = this.commandManager.addCommandFlow(se.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1854
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(se.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1855
|
+
this.eventInput.isKeyCombination(se.commandName) && await this.commandManager.start(se.commandName, [...this.default.selectLines]);
|
|
1852
1856
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1853
1857
|
}
|
|
1854
1858
|
/**
|
|
@@ -1861,13 +1865,13 @@ class oe extends O {
|
|
|
1861
1865
|
* @param next
|
|
1862
1866
|
*/
|
|
1863
1867
|
end(e, t) {
|
|
1864
|
-
let n = !1,
|
|
1865
|
-
t.forEach((
|
|
1866
|
-
|
|
1867
|
-
line:
|
|
1868
|
-
drawDoorData:
|
|
1868
|
+
let n = !1, s = [];
|
|
1869
|
+
t.forEach((o) => {
|
|
1870
|
+
o.userData.isWindow && (s.push({
|
|
1871
|
+
line: o,
|
|
1872
|
+
drawDoorData: o.userData.drawDoorData
|
|
1869
1873
|
}), n = !0);
|
|
1870
|
-
}), n && k({ message: "删除窗户成功", type: "success" }), e(
|
|
1874
|
+
}), n && k({ message: "删除窗户成功", type: "success" }), e(s);
|
|
1871
1875
|
}
|
|
1872
1876
|
/**
|
|
1873
1877
|
* 完成
|
|
@@ -1897,16 +1901,16 @@ class oe extends O {
|
|
|
1897
1901
|
return this.completed(e), e;
|
|
1898
1902
|
}
|
|
1899
1903
|
}
|
|
1900
|
-
class
|
|
1904
|
+
class oe extends O {
|
|
1901
1905
|
static name = "SelectAll";
|
|
1902
1906
|
container = new u.Group();
|
|
1903
1907
|
shortcutKeys = ["control", "a"];
|
|
1904
1908
|
static commandName = "selectAll";
|
|
1905
1909
|
onAddFromParent(e) {
|
|
1906
1910
|
super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
|
|
1907
|
-
const t = this.commandManager.addCommandFlow(
|
|
1908
|
-
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1909
|
-
this.eventInput.isKeyCombination(
|
|
1911
|
+
const t = this.commandManager.addCommandFlow(oe.commandName).add(this.createInterrupt()).add(this.selectAll.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1912
|
+
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(oe.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1913
|
+
this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName);
|
|
1910
1914
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1911
1915
|
}
|
|
1912
1916
|
/** 开始
|
|
@@ -1957,19 +1961,19 @@ class ae extends O {
|
|
|
1957
1961
|
* @param selectLines
|
|
1958
1962
|
*/
|
|
1959
1963
|
viewAngle(e, t) {
|
|
1960
|
-
const [n,
|
|
1961
|
-
let a,
|
|
1962
|
-
n.sameEndpointAsStart(
|
|
1963
|
-
function m(S,
|
|
1964
|
-
const b =
|
|
1965
|
-
let W = Math.atan2(
|
|
1964
|
+
const [n, s] = t, o = Math.min(n.length() * 0.8, s.length() * 0.8);
|
|
1965
|
+
let a, d, r, i = 0, c = 0;
|
|
1966
|
+
n.sameEndpointAsStart(s) ? (a = n.start, d = n.end) : (a = n.end, d = n.start), s.sameEndpointAsStart(n) ? r = s.end : r = s.start;
|
|
1967
|
+
function m(S, M) {
|
|
1968
|
+
const b = M.x - S.x, F = M.y - S.y;
|
|
1969
|
+
let W = Math.atan2(F, b) * (180 / Math.PI);
|
|
1966
1970
|
return W < 0 && (W += 360), W;
|
|
1967
1971
|
}
|
|
1968
|
-
const y = m(a,
|
|
1969
|
-
function x(S,
|
|
1970
|
-
for (let b = S; b <=
|
|
1971
|
-
const
|
|
1972
|
-
E.push(
|
|
1972
|
+
const y = m(a, d), f = m(a, r), g = Math.min(y, f), h = Math.max(y, f), E = [];
|
|
1973
|
+
function x(S, M) {
|
|
1974
|
+
for (let b = S; b <= M; b++) {
|
|
1975
|
+
const F = Math.cos(b * Math.PI / 180) * o + a.x, W = Math.sin(b * Math.PI / 180) * o + a.y, he = Math.cos((b + 1) * Math.PI / 180) * o + a.x, Ce = Math.sin((b + 1) * Math.PI / 180) * o + a.y;
|
|
1976
|
+
E.push(F, W, 0, he, Ce, 0);
|
|
1973
1977
|
}
|
|
1974
1978
|
}
|
|
1975
1979
|
h - g > 180 ? (x(0, g), x(h, 360), i = 360 - (h - g), c = (h + i / 2) % 360) : (x(g, h), i = h - g, c = g + i / 2);
|
|
@@ -1977,7 +1981,7 @@ class ae extends O {
|
|
|
1977
1981
|
I.geometry = this.renderManager.createGeometry({
|
|
1978
1982
|
position: E
|
|
1979
1983
|
}, E.length / 3), I.material = new u.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(I);
|
|
1980
|
-
const K = Math.cos(c * Math.PI / 180) *
|
|
1984
|
+
const K = Math.cos(c * Math.PI / 180) * o + a.x, Y = Math.sin(c * Math.PI / 180) * o + a.y, Z = this.renderer.createText(Number(i.toFixed(2)), new u.Vector3(K, Y, 0), {
|
|
1981
1985
|
textShadow: "0px 0px 2px #000"
|
|
1982
1986
|
}, this.renderManager.container);
|
|
1983
1987
|
let G = 0;
|
|
@@ -2001,24 +2005,24 @@ class dt extends O {
|
|
|
2001
2005
|
* @param next
|
|
2002
2006
|
*/
|
|
2003
2007
|
selectPointStart(e) {
|
|
2004
|
-
let t = null, n = this.renderer.createCircle(
|
|
2008
|
+
let t = null, n = this.renderer.createCircle(L.zero(), { color: 16711935 }), s = null;
|
|
2005
2009
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2006
|
-
const { point:
|
|
2007
|
-
this.dispatchEvent({ type: "pointerMove", point:
|
|
2010
|
+
const { point: o, line: a, find: d } = this.editor.renderManager.adsorption();
|
|
2011
|
+
this.dispatchEvent({ type: "pointerMove", point: o }), d ? (this.domElement.style.cursor = "none", n.position.copy(o), s = a, t = o.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
2008
2012
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2009
|
-
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line:
|
|
2013
|
+
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: s }));
|
|
2010
2014
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
2011
2015
|
}
|
|
2012
2016
|
/** 选择结束点
|
|
2013
2017
|
* @param next
|
|
2014
2018
|
*/
|
|
2015
2019
|
selectPointEnd(e, { point: t, line: n }) {
|
|
2016
|
-
let
|
|
2017
|
-
this.addEventRecord("clear").add(() =>
|
|
2018
|
-
const { point: a, find:
|
|
2019
|
-
this.dispatchEvent({ type: "pointerMove", point: a }),
|
|
2020
|
+
let s = null, o = this.renderer.createCircle(L.zero(), { color: 16711935 });
|
|
2021
|
+
this.addEventRecord("clear").add(() => o.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2022
|
+
const { point: a, find: d, line: r } = this.editor.renderManager.adsorption();
|
|
2023
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), d && r === n ? (this.domElement.style.cursor = "none", o.position.copy(a), s = a.clone(), this.container.add(o)) : (this.domElement.style.cursor = "no-drop", s = null, o.removeFromParent());
|
|
2020
2024
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2021
|
-
this.eventInput.isKeyDown("mouse_0") &&
|
|
2025
|
+
this.eventInput.isKeyDown("mouse_0") && s && e({ line: n, start: t, end: s });
|
|
2022
2026
|
}));
|
|
2023
2027
|
}
|
|
2024
2028
|
/**
|
|
@@ -2026,17 +2030,17 @@ class dt extends O {
|
|
|
2026
2030
|
* @param next
|
|
2027
2031
|
* @param points
|
|
2028
2032
|
*/
|
|
2029
|
-
end(e, { start: t, end: n, line:
|
|
2030
|
-
const
|
|
2033
|
+
end(e, { start: t, end: n, line: s }) {
|
|
2034
|
+
const o = L.from(t), a = L.from(n);
|
|
2031
2035
|
e({
|
|
2032
|
-
oldLine:
|
|
2036
|
+
oldLine: s,
|
|
2033
2037
|
newLine1: new N(
|
|
2034
|
-
|
|
2035
|
-
|
|
2038
|
+
s.start,
|
|
2039
|
+
s.start.distance(o) < s.start.distance(a) ? o.clone() : a.clone()
|
|
2036
2040
|
),
|
|
2037
2041
|
newLine2: new N(
|
|
2038
|
-
|
|
2039
|
-
|
|
2042
|
+
s.end,
|
|
2043
|
+
s.end.distance(o) < s.end.distance(a) ? o.clone() : a.clone()
|
|
2040
2044
|
)
|
|
2041
2045
|
});
|
|
2042
2046
|
}
|
|
@@ -2087,31 +2091,31 @@ class ie extends O {
|
|
|
2087
2091
|
}), t[0].userData.isVerticalReferenceLine = !0, e(), this.renderManager.draw();
|
|
2088
2092
|
}
|
|
2089
2093
|
}
|
|
2090
|
-
const
|
|
2094
|
+
const ds = {
|
|
2091
2095
|
key: 0,
|
|
2092
2096
|
class: "mt-[5px] text-[#ccc] text-[11px] absolute left-[10px] bottom-[10px] rounded-[8px] min-w-[150px] bg-black/15 p-[10px]"
|
|
2093
|
-
},
|
|
2097
|
+
}, ls = { class: "text-start max-w-[150px]" }, cs = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, ms = {
|
|
2094
2098
|
key: 0,
|
|
2095
2099
|
class: "p-[5px] max-w-[200px]"
|
|
2096
|
-
},
|
|
2100
|
+
}, hs = { class: "text-[14px] flex flex-col" }, us = ["onClick"], ps = { class: "flex flex-row items-center" }, gs = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, vs = ["src"], fs = { class: "text-wrap" }, ys = {
|
|
2097
2101
|
key: 1,
|
|
2098
2102
|
class: "text-[#999]"
|
|
2099
|
-
},
|
|
2103
|
+
}, ws = {
|
|
2100
2104
|
style: { "--el-color-primary": "var(--primary-color)" },
|
|
2101
2105
|
class: "flex flex-row items-center justify-between gap-[5px] mt-[10px] text-[10px]"
|
|
2102
|
-
},
|
|
2106
|
+
}, bs = {
|
|
2103
2107
|
key: 0,
|
|
2104
2108
|
class: "flex flex-row items-center flex-wrap justify-between gap-[10px] mt-[10px] text-[10px]"
|
|
2105
|
-
},
|
|
2109
|
+
}, xs = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, Cs = ["onClick", "title"], Es = ["src"], Ls = /* @__PURE__ */ me({
|
|
2106
2110
|
__name: "EditorTool",
|
|
2107
2111
|
props: {
|
|
2108
2112
|
dxfSystem: {},
|
|
2109
2113
|
permission: {}
|
|
2110
2114
|
},
|
|
2111
|
-
setup(
|
|
2115
|
+
setup(l) {
|
|
2112
2116
|
function e(C, p, w = m.value.getBoundingClientRect(), U = y.value.getBoundingClientRect()) {
|
|
2113
|
-
const ue = w.width - U.width, pe = 0,
|
|
2114
|
-
C = Math.max(0, Math.min(C, ue)), p = Math.max(pe, Math.min(p,
|
|
2117
|
+
const ue = w.width - U.width, pe = 0, Le = w.height - U.height;
|
|
2118
|
+
C = Math.max(0, Math.min(C, ue)), p = Math.max(pe, Math.min(p, Le)), S.value = { left: C, top: p };
|
|
2115
2119
|
}
|
|
2116
2120
|
function t(C) {
|
|
2117
2121
|
g.value !== C.command && (g.value !== "default" && x.commandManager.cancel(), setTimeout(() => x.commandManager.start(C.command)));
|
|
@@ -2126,28 +2130,28 @@ const ro = {
|
|
|
2126
2130
|
}
|
|
2127
2131
|
}
|
|
2128
2132
|
}
|
|
2129
|
-
async function
|
|
2133
|
+
async function s() {
|
|
2130
2134
|
const C = await Dt.json();
|
|
2131
2135
|
Array.isArray(C) && (localStorage.removeItem("orbitControls"), n(C));
|
|
2132
2136
|
}
|
|
2133
|
-
function
|
|
2137
|
+
function o({ offsetX: C, offsetY: p }) {
|
|
2134
2138
|
E.mouseMoveEventProxylock = !0;
|
|
2135
2139
|
const w = document.body.style.cursor;
|
|
2136
2140
|
document.body.style.cursor = "move";
|
|
2137
2141
|
const U = (ue) => {
|
|
2138
|
-
const pe = m.value.getBoundingClientRect(),
|
|
2142
|
+
const pe = m.value.getBoundingClientRect(), Le = y.value.getBoundingClientRect();
|
|
2139
2143
|
e(
|
|
2140
2144
|
ue.pageX - pe.left - C,
|
|
2141
2145
|
ue.pageY - pe.top - p,
|
|
2142
2146
|
pe,
|
|
2143
|
-
|
|
2147
|
+
Le
|
|
2144
2148
|
), ue.stopPropagation(), document.body.style.cursor = "move";
|
|
2145
2149
|
}, Ee = () => {
|
|
2146
2150
|
document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup", Ee), document.body.style.cursor = w, E.mouseMoveEventProxylock = !1;
|
|
2147
2151
|
};
|
|
2148
2152
|
document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Ee);
|
|
2149
2153
|
}
|
|
2150
|
-
const a =
|
|
2154
|
+
const a = l, d = _(!0), r = _(!0), i = _(!0), c = _(!1), m = _(), y = _(), f = _(!0), g = _(""), h = zt(a.dxfSystem), E = h.findComponentByType(Pt), x = h.findComponentByType(lt), I = h.findComponentByType(rt), K = h.findComponentByType(Nt), Y = h.findComponentByType(Bt), Z = _(0), G = _(0), S = _({ left: 10, top: 100 }), M = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": Mn, "./assets/images/connection.svg": In, "./assets/images/cutLine.svg": Dn, "./assets/images/deleteSelectLine.svg": Sn, "./assets/images/deleteSelectWindow.svg": Nn, "./assets/images/door.svg": Rn, "./assets/images/intersectionConnection.svg": Fn, "./assets/images/line.svg": Kn, "./assets/images/mergeLine.svg": Vn, "./assets/images/revokeRollback.svg": Gn, "./assets/images/rollback.svg": Hn, "./assets/images/selectAll.svg": Jn, "./assets/images/selectPoint.svg": qn, "./assets/images/verticalCorrection.svg": Yn, "./assets/images/verticalLine.svg": $n, "./assets/images/window.svg": ts }), b = _(!1), F = _(0), W = _(!1), he = new ResizeObserver(() => e(S.value.left, S.value.top)), Ce = [
|
|
2151
2155
|
{ name: "开启绘制线段命令", shortcut: "Ctrl + L" },
|
|
2152
2156
|
{ name: "开启绘制门线命令", shortcut: "Ctrl + M" },
|
|
2153
2157
|
{ name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
|
|
@@ -2177,7 +2181,7 @@ const ro = {
|
|
|
2177
2181
|
{
|
|
2178
2182
|
command: "draw-line",
|
|
2179
2183
|
name: "绘制线段",
|
|
2180
|
-
src:
|
|
2184
|
+
src: M["./assets/images/line.svg"].default,
|
|
2181
2185
|
show: !0,
|
|
2182
2186
|
shortcut: "Ctrl + L"
|
|
2183
2187
|
},
|
|
@@ -2185,35 +2189,35 @@ const ro = {
|
|
|
2185
2189
|
command: "draw-door-line",
|
|
2186
2190
|
name: "绘制门线",
|
|
2187
2191
|
show: !0,
|
|
2188
|
-
src:
|
|
2192
|
+
src: M["./assets/images/door.svg"].default,
|
|
2189
2193
|
shortcut: "Ctrl + M"
|
|
2190
2194
|
},
|
|
2191
2195
|
{
|
|
2192
2196
|
command: "draw-window-line",
|
|
2193
2197
|
name: "绘制窗户线",
|
|
2194
2198
|
show: !0,
|
|
2195
|
-
src:
|
|
2199
|
+
src: M["./assets/images/window.svg"].default,
|
|
2196
2200
|
shortcut: "Ctrl + Q"
|
|
2197
2201
|
},
|
|
2198
2202
|
{
|
|
2199
2203
|
command: "point",
|
|
2200
2204
|
name: "点修改",
|
|
2201
2205
|
show: !0,
|
|
2202
|
-
src:
|
|
2206
|
+
src: M["./assets/images/selectPoint.svg"].default,
|
|
2203
2207
|
shortcut: "Ctrl + P"
|
|
2204
2208
|
},
|
|
2205
2209
|
{
|
|
2206
2210
|
command: dt.commandName,
|
|
2207
2211
|
name: "裁剪线段",
|
|
2208
2212
|
show: !0,
|
|
2209
|
-
src:
|
|
2213
|
+
src: M["./assets/images/cutLine.svg"].default,
|
|
2210
2214
|
shortcut: "Ctrl + X"
|
|
2211
2215
|
}
|
|
2212
2216
|
], mt = [
|
|
2213
2217
|
{
|
|
2214
2218
|
command: "",
|
|
2215
2219
|
name: "操作回滚",
|
|
2216
|
-
src:
|
|
2220
|
+
src: M["./assets/images/rollback.svg"].default,
|
|
2217
2221
|
show: A(() => Z.value !== 0),
|
|
2218
2222
|
shortcut: "Ctrl + Z",
|
|
2219
2223
|
action() {
|
|
@@ -2223,7 +2227,7 @@ const ro = {
|
|
|
2223
2227
|
{
|
|
2224
2228
|
command: "",
|
|
2225
2229
|
name: "撤销操作回滚",
|
|
2226
|
-
src:
|
|
2230
|
+
src: M["./assets/images/revokeRollback.svg"].default,
|
|
2227
2231
|
show: A(() => G.value !== 0),
|
|
2228
2232
|
shortcut: "Ctrl + Y",
|
|
2229
2233
|
class: "rotateY-[180deg]",
|
|
@@ -2234,29 +2238,29 @@ const ro = {
|
|
|
2234
2238
|
{
|
|
2235
2239
|
command: $.commandName,
|
|
2236
2240
|
name: "合并",
|
|
2237
|
-
src:
|
|
2238
|
-
show: A(() =>
|
|
2241
|
+
src: M["./assets/images/mergeLine.svg"].default,
|
|
2242
|
+
show: A(() => F.value === 2),
|
|
2239
2243
|
shortcut: "Ctrl + G"
|
|
2240
2244
|
},
|
|
2241
2245
|
{
|
|
2242
2246
|
command: te.commandName,
|
|
2243
2247
|
name: "两点连接",
|
|
2244
|
-
show: A(() =>
|
|
2245
|
-
src:
|
|
2248
|
+
show: A(() => F.value === 2),
|
|
2249
|
+
src: M["./assets/images/connection.svg"].default,
|
|
2246
2250
|
shortcut: "Shift + L"
|
|
2247
2251
|
},
|
|
2248
2252
|
{
|
|
2249
2253
|
command: ne.commandName,
|
|
2250
2254
|
name: "延长线交点连接",
|
|
2251
|
-
show: A(() =>
|
|
2252
|
-
src:
|
|
2255
|
+
show: A(() => F.value === 2),
|
|
2256
|
+
src: M["./assets/images/intersectionConnection.svg"].default,
|
|
2253
2257
|
shortcut: "Ctrl + Shift + L"
|
|
2254
2258
|
},
|
|
2255
2259
|
{
|
|
2256
2260
|
command: le.commandName,
|
|
2257
2261
|
name: "线段垂直纠正",
|
|
2258
|
-
show: A(() =>
|
|
2259
|
-
src:
|
|
2262
|
+
show: A(() => F.value === 1),
|
|
2263
|
+
src: M["./assets/images/verticalCorrection.svg"].default,
|
|
2260
2264
|
shortcut: `
|
|
2261
2265
|
Ctrl + C 垂直纠正
|
|
2262
2266
|
Shift + C 轴对齐垂直纠正
|
|
@@ -2266,45 +2270,45 @@ const ro = {
|
|
|
2266
2270
|
command: ie.commandName,
|
|
2267
2271
|
name: "y轴垂直基准线",
|
|
2268
2272
|
show: A(
|
|
2269
|
-
() =>
|
|
2273
|
+
() => F.value === 1 && !I.selectLines[0].userData.isDoor
|
|
2270
2274
|
),
|
|
2271
|
-
src:
|
|
2275
|
+
src: M["./assets/images/verticalLine.svg"].default,
|
|
2272
2276
|
shortcut: "V"
|
|
2273
2277
|
},
|
|
2274
2278
|
{
|
|
2275
2279
|
command: ae.commandName,
|
|
2276
2280
|
name: "角度显示",
|
|
2277
|
-
show: A(() =>
|
|
2278
|
-
src:
|
|
2281
|
+
show: A(() => F.value === 2 && I.selectLines[0].sameEndpoint(I.selectLines[1])),
|
|
2282
|
+
src: M["./assets/images/angle.svg"].default,
|
|
2279
2283
|
shortcut: "r"
|
|
2280
2284
|
},
|
|
2281
2285
|
{
|
|
2282
|
-
command:
|
|
2286
|
+
command: oe.commandName,
|
|
2283
2287
|
name: "全选",
|
|
2284
|
-
show: A(() =>
|
|
2285
|
-
src:
|
|
2288
|
+
show: A(() => F.value !== x.renderManager.lines.length),
|
|
2289
|
+
src: M["./assets/images/selectAll.svg"].default,
|
|
2286
2290
|
shortcut: "Ctrl + A"
|
|
2287
2291
|
},
|
|
2288
2292
|
{
|
|
2289
|
-
command:
|
|
2293
|
+
command: se.commandName,
|
|
2290
2294
|
name: "清除窗户",
|
|
2291
2295
|
show: A(() => W.value),
|
|
2292
|
-
src:
|
|
2296
|
+
src: M["./assets/images/deleteSelectWindow.svg"].default,
|
|
2293
2297
|
shortcut: "Q + Delete"
|
|
2294
2298
|
},
|
|
2295
2299
|
{
|
|
2296
2300
|
command: ee.commandName,
|
|
2297
2301
|
name: "删除",
|
|
2298
|
-
show: A(() =>
|
|
2299
|
-
src:
|
|
2302
|
+
show: A(() => F.value > 0),
|
|
2303
|
+
src: M["./assets/images/deleteSelectLine.svg"].default,
|
|
2300
2304
|
shortcut: "Delete"
|
|
2301
2305
|
}
|
|
2302
2306
|
];
|
|
2303
2307
|
J(S, () => localStorage.setItem("editorToolPosition", JSON.stringify(S.value))), J(b, () => localStorage.setItem("showShortcutKey", b.value + "")), J(f, () => {
|
|
2304
2308
|
localStorage.setItem("toolBarExpand", f.value + ""), f.value && we(() => e(S.value.left, S.value.top));
|
|
2305
|
-
}), J(
|
|
2309
|
+
}), J(d, () => h.Variable.set("originalLineVisible", d.value)), J(r, () => {
|
|
2306
2310
|
localStorage.setItem("dxfVisible", r.value + ""), h.Variable.set("dxfVisible", r.value);
|
|
2307
|
-
}), J(i, () => h.Variable.set("whiteModelVisible", i.value)), h.Variable.addEventListener("isLook", (C) => c.value = C.value), h.Variable.addEventListener("originalLineVisible", (C) =>
|
|
2311
|
+
}), J(i, () => h.Variable.set("whiteModelVisible", i.value)), h.Variable.addEventListener("isLook", (C) => c.value = C.value), h.Variable.addEventListener("originalLineVisible", (C) => d.value = C.value), h.Variable.addEventListener("dxfVisible", (C) => r.value = C.value), h.Variable.addEventListener("whiteModelVisible", (C) => i.value = C.value);
|
|
2308
2312
|
const ht = x.commandManager.addEventListener("started", (C) => {
|
|
2309
2313
|
g.value = C.name;
|
|
2310
2314
|
});
|
|
@@ -2316,7 +2320,7 @@ const ro = {
|
|
|
2316
2320
|
} else
|
|
2317
2321
|
we(() => he.observe(m.value));
|
|
2318
2322
|
}, 100), I.addEventListener("selectLineChange", () => {
|
|
2319
|
-
|
|
2323
|
+
F.value = I.selectLines.length, W.value = I.selectLines.some((C) => C.userData.isWindow);
|
|
2320
2324
|
}), ["rollback", "completed", "revokeRollback"].forEach((C) => {
|
|
2321
2325
|
x.commandManager.addEventListener(C, () => {
|
|
2322
2326
|
setTimeout(() => {
|
|
@@ -2324,22 +2328,22 @@ const ro = {
|
|
|
2324
2328
|
});
|
|
2325
2329
|
});
|
|
2326
2330
|
}), localStorage.getItem("dxfVisible") && (r.value = localStorage.getItem("dxfVisible") == "true");
|
|
2327
|
-
}),
|
|
2331
|
+
}), Kt(() => {
|
|
2328
2332
|
E.mouseMoveEventProxylock = !1, ht(), he.disconnect();
|
|
2329
2333
|
}), (C, p) => (D(), R("div", {
|
|
2330
2334
|
ref_key: "elRef",
|
|
2331
2335
|
ref: m,
|
|
2332
2336
|
class: "editorTool pointer-events-none overflow-hidden absolute left-0 top-0 w-full h-full z-[20] flex flex-row justify-between p-[5px] box-border select-none pointer-events-[all]"
|
|
2333
2337
|
}, [
|
|
2334
|
-
|
|
2338
|
+
z(xe, null, {
|
|
2335
2339
|
default: V(() => [
|
|
2336
|
-
b.value ? (D(), R("div",
|
|
2340
|
+
b.value ? (D(), R("div", ds, [
|
|
2337
2341
|
(D(), R(ve, null, ke(Ce, (w) => P("div", {
|
|
2338
2342
|
class: "p-[4px_0px] flex justify-between text-right border-b-1 border-b-[rgba(255,255,255,0.1)] last-of-type:border-b-0",
|
|
2339
2343
|
key: w.name
|
|
2340
2344
|
}, [
|
|
2341
|
-
P("p",
|
|
2342
|
-
P("span",
|
|
2345
|
+
P("p", ls, de(w.name), 1),
|
|
2346
|
+
P("span", cs, de(w.shortcut), 1)
|
|
2343
2347
|
])), 64))
|
|
2344
2348
|
])) : q("", !0)
|
|
2345
2349
|
]),
|
|
@@ -2353,10 +2357,10 @@ const ro = {
|
|
|
2353
2357
|
onMousedown: p[10] || (p[10] = (w) => w.stopPropagation())
|
|
2354
2358
|
}, [
|
|
2355
2359
|
P("div", {
|
|
2356
|
-
onMousedown:
|
|
2360
|
+
onMousedown: o,
|
|
2357
2361
|
class: j([{ "border-b-[#eee] border-b-1": f.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
|
|
2358
2362
|
}, [
|
|
2359
|
-
p[12] || (p[12] =
|
|
2363
|
+
p[12] || (p[12] = Tt('<div class="flex flex-row" data-v-1a5a6c9b><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-1a5a6c9b><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-1a5a6c9b><path d="M341.333333 298.666667a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0 298.666666a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z m85.333334 213.333334a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m256-512a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m85.333333 213.333333a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m-85.333333 384a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z" data-v-1a5a6c9b></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-1a5a6c9b>绘制工具</h5></div>', 1)),
|
|
2360
2364
|
P("div", {
|
|
2361
2365
|
onMousedown: p[0] || (p[0] = (w) => w.stopPropagation()),
|
|
2362
2366
|
onClick: p[1] || (p[1] = (w) => f.value = !f.value),
|
|
@@ -2375,8 +2379,8 @@ const ro = {
|
|
|
2375
2379
|
]), 2))
|
|
2376
2380
|
], 32)
|
|
2377
2381
|
], 34),
|
|
2378
|
-
f.value ? (D(), R("div",
|
|
2379
|
-
P("ul",
|
|
2382
|
+
f.value ? (D(), R("div", ms, [
|
|
2383
|
+
P("ul", hs, [
|
|
2380
2384
|
(D(), R(ve, null, ke(ct, (w) => (D(), R(ve, {
|
|
2381
2385
|
key: w.command
|
|
2382
2386
|
}, [
|
|
@@ -2388,16 +2392,16 @@ const ro = {
|
|
|
2388
2392
|
// '!cursor-no-drop': currentCommand !== item.command && currentCommand !== 'default',
|
|
2389
2393
|
}, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
|
|
2390
2394
|
}, [
|
|
2391
|
-
P("div",
|
|
2392
|
-
P("div",
|
|
2395
|
+
P("div", ps, [
|
|
2396
|
+
P("div", gs, [
|
|
2393
2397
|
P("img", {
|
|
2394
2398
|
class: "size-[14px]",
|
|
2395
2399
|
src: w.src,
|
|
2396
2400
|
alt: "",
|
|
2397
2401
|
srcset: ""
|
|
2398
|
-
}, null, 8,
|
|
2402
|
+
}, null, 8, vs)
|
|
2399
2403
|
]),
|
|
2400
|
-
P("span",
|
|
2404
|
+
P("span", fs, de(w.name), 1)
|
|
2401
2405
|
]),
|
|
2402
2406
|
g.value === w.command ? (D(), R("div", {
|
|
2403
2407
|
key: 0,
|
|
@@ -2416,30 +2420,30 @@ const ro = {
|
|
|
2416
2420
|
P("path", { d: "M511.104 0C228.821333 0 0 228.821333 0 511.104c0 282.282667 228.821333 511.104 511.104 511.104 282.282667 0 511.104-228.842667 511.104-511.104C1022.208 228.821333 793.386667 0 511.104 0zM511.104 898.496c-213.973333 0-387.434667-173.44-387.434667-387.413333 0-213.952 173.44-387.413333 387.434667-387.413333 213.952 0 387.392 173.44 387.392 387.413333C898.496 725.056 725.056 898.496 511.104 898.496z" }),
|
|
2417
2421
|
P("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
|
|
2418
2422
|
], -1)
|
|
2419
|
-
]))) : w.shortcut ? (D(), R("div",
|
|
2420
|
-
], 10,
|
|
2423
|
+
]))) : w.shortcut ? (D(), R("div", ys, de(w.shortcut), 1)) : q("", !0)
|
|
2424
|
+
], 10, us)) : q("", !0)
|
|
2421
2425
|
], 64))), 64))
|
|
2422
2426
|
]),
|
|
2423
|
-
P("div",
|
|
2424
|
-
|
|
2427
|
+
P("div", ws, [
|
|
2428
|
+
z(v(Oe), {
|
|
2425
2429
|
size: "small",
|
|
2426
2430
|
modelValue: b.value,
|
|
2427
2431
|
"onUpdate:modelValue": p[3] || (p[3] = (w) => b.value = w),
|
|
2428
2432
|
label: "快捷键提示"
|
|
2429
2433
|
}, null, 8, ["modelValue"]),
|
|
2430
|
-
|
|
2434
|
+
z(v(Oe), {
|
|
2431
2435
|
size: "small",
|
|
2432
2436
|
modelValue: r.value,
|
|
2433
2437
|
"onUpdate:modelValue": p[4] || (p[4] = (w) => r.value = w),
|
|
2434
2438
|
label: "dxf"
|
|
2435
2439
|
}, null, 8, ["modelValue"])
|
|
2436
2440
|
]),
|
|
2437
|
-
C.permission === "admin" ? (D(), R("div",
|
|
2438
|
-
|
|
2441
|
+
C.permission === "admin" ? (D(), R("div", bs, [
|
|
2442
|
+
z(v(re), {
|
|
2439
2443
|
style: { padding: "5px", "font-size": "10px" },
|
|
2440
2444
|
size: "small",
|
|
2441
2445
|
type: "success",
|
|
2442
|
-
onClick:
|
|
2446
|
+
onClick: s
|
|
2443
2447
|
}, {
|
|
2444
2448
|
default: V(() => p[14] || (p[14] = [
|
|
2445
2449
|
X(" 选择文件 ", -1)
|
|
@@ -2447,7 +2451,7 @@ const ro = {
|
|
|
2447
2451
|
_: 1,
|
|
2448
2452
|
__: [14]
|
|
2449
2453
|
}),
|
|
2450
|
-
|
|
2454
|
+
z(v(re), {
|
|
2451
2455
|
style: { padding: "5px", "font-size": "10px" },
|
|
2452
2456
|
size: "small",
|
|
2453
2457
|
type: "primary",
|
|
@@ -2459,7 +2463,7 @@ const ro = {
|
|
|
2459
2463
|
_: 1,
|
|
2460
2464
|
__: [15]
|
|
2461
2465
|
}),
|
|
2462
|
-
|
|
2466
|
+
z(v(re), {
|
|
2463
2467
|
style: { padding: "5px", "font-size": "10px" },
|
|
2464
2468
|
size: "small",
|
|
2465
2469
|
type: "primary",
|
|
@@ -2471,7 +2475,7 @@ const ro = {
|
|
|
2471
2475
|
_: 1,
|
|
2472
2476
|
__: [16]
|
|
2473
2477
|
}),
|
|
2474
|
-
|
|
2478
|
+
z(v(re), {
|
|
2475
2479
|
style: { padding: "5px", "font-size": "10px" },
|
|
2476
2480
|
size: "small",
|
|
2477
2481
|
type: "primary",
|
|
@@ -2483,7 +2487,7 @@ const ro = {
|
|
|
2483
2487
|
_: 1,
|
|
2484
2488
|
__: [17]
|
|
2485
2489
|
}),
|
|
2486
|
-
|
|
2490
|
+
z(v(re), {
|
|
2487
2491
|
style: { padding: "5px", "font-size": "10px" },
|
|
2488
2492
|
size: "small",
|
|
2489
2493
|
type: "primary",
|
|
@@ -2495,7 +2499,7 @@ const ro = {
|
|
|
2495
2499
|
_: 1,
|
|
2496
2500
|
__: [18]
|
|
2497
2501
|
}),
|
|
2498
|
-
|
|
2502
|
+
z(v(re), {
|
|
2499
2503
|
style: { padding: "5px", "font-size": "10px" },
|
|
2500
2504
|
size: "small",
|
|
2501
2505
|
type: "primary",
|
|
@@ -2508,10 +2512,10 @@ const ro = {
|
|
|
2508
2512
|
__: [19]
|
|
2509
2513
|
})
|
|
2510
2514
|
])) : q("", !0),
|
|
2511
|
-
|
|
2515
|
+
z(xe, null, {
|
|
2512
2516
|
default: V(() => [
|
|
2513
|
-
P("div",
|
|
2514
|
-
|
|
2517
|
+
P("div", xs, [
|
|
2518
|
+
z(Vt, null, {
|
|
2515
2519
|
default: V(() => [
|
|
2516
2520
|
(D(), R(ve, null, ke(mt, (w) => P("div", {
|
|
2517
2521
|
onClick: (U) => w.show.value && g.value === "default" && (w.action ? w.action() : v(x).commandManager.start(w.command, [...v(I).selectLines])),
|
|
@@ -2525,8 +2529,8 @@ const ro = {
|
|
|
2525
2529
|
P("img", {
|
|
2526
2530
|
class: "size-[14px]",
|
|
2527
2531
|
src: w.src
|
|
2528
|
-
}, null, 8,
|
|
2529
|
-
], 10,
|
|
2532
|
+
}, null, 8, Es)
|
|
2533
|
+
], 10, Cs)), 64))
|
|
2530
2534
|
]),
|
|
2531
2535
|
_: 1
|
|
2532
2536
|
})
|
|
@@ -2538,12 +2542,12 @@ const ro = {
|
|
|
2538
2542
|
], 38)
|
|
2539
2543
|
], 512));
|
|
2540
2544
|
}
|
|
2541
|
-
}),
|
|
2542
|
-
const t =
|
|
2543
|
-
for (const [n,
|
|
2544
|
-
t[n] =
|
|
2545
|
+
}), Ms = (l, e) => {
|
|
2546
|
+
const t = l.__vccOpts || l;
|
|
2547
|
+
for (const [n, s] of e)
|
|
2548
|
+
t[n] = s;
|
|
2545
2549
|
return t;
|
|
2546
|
-
},
|
|
2550
|
+
}, ks = /* @__PURE__ */ Ms(Ls, [["__scopeId", "data-v-1a5a6c9b"]]);
|
|
2547
2551
|
let lt = class extends Ae {
|
|
2548
2552
|
static name = "Editor";
|
|
2549
2553
|
container = new u.Group();
|
|
@@ -2568,7 +2572,7 @@ let lt = class extends Ae {
|
|
|
2568
2572
|
get domContainer() {
|
|
2569
2573
|
return this.parent?.findComponentByName("DomContainer");
|
|
2570
2574
|
}
|
|
2571
|
-
commandManager = new
|
|
2575
|
+
commandManager = new En();
|
|
2572
2576
|
plane = new u.Mesh(new u.PlaneGeometry(2e3, 2e3, 2, 2));
|
|
2573
2577
|
app;
|
|
2574
2578
|
domElement = document.createElement("div");
|
|
@@ -2598,20 +2602,20 @@ let lt = class extends Ae {
|
|
|
2598
2602
|
this.domContainer.domElement.parentElement && (this.domContainer.domElement.parentElement.appendChild(this.domElement), this.domContainer.domElement.parentElement.appendChild(this.imgEl), n());
|
|
2599
2603
|
});
|
|
2600
2604
|
setTimeout(() => {
|
|
2601
|
-
this.app =
|
|
2605
|
+
this.app = jt(ks, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
|
|
2602
2606
|
}), e.AngleCorrectionDxf.addEventListener("lineOffset", async () => {
|
|
2603
2607
|
this.imgEl.src && URL.revokeObjectURL(this.imgEl.src), setTimeout(async () => {
|
|
2604
2608
|
this.imgEl.src = URL.createObjectURL(await e.AngleCorrectionDxf.toDxfImageBlob("Centimeters", "image/png", "transparent"));
|
|
2605
2609
|
});
|
|
2606
|
-
}), this.domEventRegister.addEventListener("mousedown", (
|
|
2607
|
-
|
|
2610
|
+
}), this.domEventRegister.addEventListener("mousedown", (s) => {
|
|
2611
|
+
s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 && Object.assign(this.imgEl.style, {
|
|
2608
2612
|
width: `${Math.min(this.imgWidth * 10, this.renderer.width * 0.9)}px`,
|
|
2609
2613
|
height: `${Math.min(this.imgWidth * 10, this.renderer.height * 0.9)}px`,
|
|
2610
2614
|
background: "rgba(0,0,0,1)",
|
|
2611
2615
|
zIndex: 100
|
|
2612
2616
|
});
|
|
2613
|
-
}), this.domEventRegister.addEventListener("mousemove", (
|
|
2614
|
-
|
|
2617
|
+
}), this.domEventRegister.addEventListener("mousemove", (s) => {
|
|
2618
|
+
s.x < this.imgWidth + 10 && s.x > 10 && s.y < this.imgWidth && s.y > 10 || Object.assign(this.imgEl.style, {
|
|
2615
2619
|
width: `${this.imgWidth}px`,
|
|
2616
2620
|
height: `${this.imgWidth}px`,
|
|
2617
2621
|
background: "rgba(255,255,255,0.2)",
|
|
@@ -2634,8 +2638,8 @@ let lt = class extends Ae {
|
|
|
2634
2638
|
* 打开编辑器
|
|
2635
2639
|
*/
|
|
2636
2640
|
openEdit() {
|
|
2637
|
-
const e = this.renderer, t = this.domEventRegister, n = this.dxf,
|
|
2638
|
-
this.container.position.z = n.originalZAverage, e.scene.add(this.container),
|
|
2641
|
+
const e = this.renderer, t = this.domEventRegister, n = this.dxf, s = e.orbitControls, o = e.camera, a = n.box.center, d = e.camera.position.clone(), r = s?.target?.clone(), i = new u.Vector2(), c = new u.Raycaster(), m = this.coords, y = this.pointerPosition;
|
|
2642
|
+
this.container.position.z = n.originalZAverage, e.scene.add(this.container), s && (o.position.set(a.x, a.y, 15), s.target.set(a.x, a.y, 0), s.enableRotate = !1);
|
|
2639
2643
|
const f = () => {
|
|
2640
2644
|
e.renderer.getSize(i);
|
|
2641
2645
|
const g = t.pointer.x / i.x * 2 - 1, h = -(t.pointer.y / i.y * 2 - 1);
|
|
@@ -2647,7 +2651,7 @@ let lt = class extends Ae {
|
|
|
2647
2651
|
}));
|
|
2648
2652
|
};
|
|
2649
2653
|
t.addEventListener("mousemove", f), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
|
|
2650
|
-
t.removeEventListener("mousemove", f),
|
|
2654
|
+
t.removeEventListener("mousemove", f), s && (o.position.copy(d), s.enableRotate = !0, s.target.copy(r));
|
|
2651
2655
|
};
|
|
2652
2656
|
}
|
|
2653
2657
|
/**
|
|
@@ -2657,10 +2661,10 @@ let lt = class extends Ae {
|
|
|
2657
2661
|
typeof this._exitEditCallBack == "function" && (this._exitEditCallBack(), this._exitEditCallBack = void 0, this.commandManager.disabled = !0);
|
|
2658
2662
|
}
|
|
2659
2663
|
destroy() {
|
|
2660
|
-
super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount();
|
|
2664
|
+
super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount(), this.commandManager.destroy();
|
|
2661
2665
|
}
|
|
2662
2666
|
};
|
|
2663
|
-
class
|
|
2667
|
+
class Is extends O {
|
|
2664
2668
|
static name = "PointDrag";
|
|
2665
2669
|
container = new u.Group();
|
|
2666
2670
|
interruptKeys = ["escape"];
|
|
@@ -2675,15 +2679,15 @@ class Io extends O {
|
|
|
2675
2679
|
* @param next
|
|
2676
2680
|
*/
|
|
2677
2681
|
selectPoint(e) {
|
|
2678
|
-
let t = null, n = this.renderer.createCircle(
|
|
2679
|
-
const
|
|
2680
|
-
const { point: a, line:
|
|
2681
|
-
this.dispatchEvent({ type: "pointerMove", point: a }), r && i === "point" ? (this.domElement.style.cursor = "none", n.position.copy(a),
|
|
2682
|
+
let t = null, n = this.renderer.createCircle(L.zero(), { color: 16711935 }), s = null;
|
|
2683
|
+
const o = this.editor.addEventListener("pointerPositionChange", () => {
|
|
2684
|
+
const { point: a, line: d, find: r, mode: i } = this.editor.renderManager.adsorption();
|
|
2685
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), r && i === "point" ? (this.domElement.style.cursor = "none", n.position.copy(a), s = d, t = a.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
2682
2686
|
});
|
|
2683
|
-
this.addEventRecord("selectPointStart").add(
|
|
2684
|
-
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line:
|
|
2687
|
+
this.addEventRecord("selectPointStart").add(o).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2688
|
+
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: s }));
|
|
2685
2689
|
})), this.addEventRecord("clear").add(() => {
|
|
2686
|
-
n.removeFromParent(),
|
|
2690
|
+
n.removeFromParent(), o();
|
|
2687
2691
|
});
|
|
2688
2692
|
}
|
|
2689
2693
|
/** 拖拽点
|
|
@@ -2693,32 +2697,32 @@ class Io extends O {
|
|
|
2693
2697
|
*/
|
|
2694
2698
|
drag(e, { point: t, line: n }) {
|
|
2695
2699
|
this.domElement.style.cursor = "crosshair";
|
|
2696
|
-
const
|
|
2697
|
-
this.container.add(
|
|
2700
|
+
const s = n.start.equal(L.from(t)) ? "start" : "end", o = s == "start" ? new u.Vector3(n.end.x, n.end.y, 0) : new u.Vector3(n.start.x, n.start.y, 0), a = t.clone(), d = new ye([o, a], 16711935), r = this.renderer.createCircle(L.zero(), { color: 16711935, size: 10 });
|
|
2701
|
+
this.container.add(d), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2698
2702
|
let { point: i, find: c } = this.editor.renderManager.adsorption(), m = "none";
|
|
2699
2703
|
if (i) {
|
|
2700
2704
|
if (this.dispatchEvent({ type: "pointerMove", point: i }), this.eventInput.isKeyDown("shift")) {
|
|
2701
|
-
const y = n.projectPoint(
|
|
2705
|
+
const y = n.projectPoint(L.from(i), !1);
|
|
2702
2706
|
i.set(y?.x ?? i.x, y?.y ?? i.y, 0), c = !0, m = "crosshair";
|
|
2703
2707
|
}
|
|
2704
|
-
c ? (r.position.copy(i), this.container.add(r)) : (r.removeFromParent(), m = "crosshair"), a.copy(i),
|
|
2708
|
+
c ? (r.position.copy(i), this.container.add(r)) : (r.removeFromParent(), m = "crosshair"), a.copy(i), d.setPoint(o, a), this.domElement.style.cursor = m;
|
|
2705
2709
|
}
|
|
2706
2710
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2707
|
-
this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint:
|
|
2708
|
-
})).add(() => r.removeFromParent()).add(() =>
|
|
2711
|
+
this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: s === "end" ? n.end.clone() : n.start.clone(), line: n, mode: s }));
|
|
2712
|
+
})).add(() => r.removeFromParent()).add(() => d.removeFromParent());
|
|
2709
2713
|
}
|
|
2710
2714
|
/** 执行完成
|
|
2711
2715
|
*/
|
|
2712
2716
|
completed(e) {
|
|
2713
|
-
const { line: t, point: n, mode:
|
|
2714
|
-
this.renderManager.removeLine(t),
|
|
2717
|
+
const { line: t, point: n, mode: s } = e;
|
|
2718
|
+
this.renderManager.removeLine(t), s === "end" ? t.end.set(n.x, n.y) : s === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
|
|
2715
2719
|
}
|
|
2716
2720
|
/** 回滚操作
|
|
2717
2721
|
* @param data
|
|
2718
2722
|
*/
|
|
2719
2723
|
rollback(e) {
|
|
2720
|
-
const { line: t, oldPoint: n, mode:
|
|
2721
|
-
return
|
|
2724
|
+
const { line: t, oldPoint: n, mode: s } = e;
|
|
2725
|
+
return s === "end" ? t.end.set(n.x, n.y) : s === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw(), e;
|
|
2722
2726
|
}
|
|
2723
2727
|
/** 撤回回滚
|
|
2724
2728
|
* @param lines
|
|
@@ -2728,15 +2732,15 @@ class Io extends O {
|
|
|
2728
2732
|
return this.completed(e), e;
|
|
2729
2733
|
}
|
|
2730
2734
|
}
|
|
2731
|
-
function Je(
|
|
2732
|
-
|
|
2735
|
+
function Je(l, e = {}) {
|
|
2736
|
+
l.addComponent(new lt(e.viewPermission)), l.addComponent(new as()), l.addComponent(new rt()), l.addComponent(new xn()), l.addComponent(new is()), l.addComponent(new rs()), l.addComponent(new Is()), l.addComponent(new ee()), l.addComponent(new $()), l.addComponent(new le()), l.addComponent(new te()), l.addComponent(new ne()), l.addComponent(new se()), l.addComponent(new oe()), l.addComponent(new ae()), l.addComponent(new ie()), l.addComponent(new dt());
|
|
2733
2737
|
}
|
|
2734
|
-
const
|
|
2735
|
-
create(
|
|
2736
|
-
return (e) => Je(e,
|
|
2738
|
+
const Rs = Object.assign(Je, {
|
|
2739
|
+
create(l = {}) {
|
|
2740
|
+
return (e) => Je(e, l);
|
|
2737
2741
|
}
|
|
2738
2742
|
});
|
|
2739
2743
|
export {
|
|
2740
|
-
|
|
2744
|
+
Rs as Editor,
|
|
2741
2745
|
Je as Editor_
|
|
2742
2746
|
};
|