build-dxf 0.0.20-15 → 0.0.20-17
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/package.json +1 -1
- package/src/build.js +589 -435
- package/src/index.css +1 -1
- package/src/index3.js +785 -705
- package/src/utils/DxfSystem/components/AngleCorrectionDxf.d.ts +9 -0
- package/src/utils/DxfSystem/components/Dxf.d.ts +35 -5
- package/src/utils/DxfSystem/components/LineAnalysis.d.ts +3 -1
- package/src/utils/DxfSystem/index.d.ts +2 -0
- package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/VerticalCorrection.d.ts +20 -14
- package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/VerticalReferenceLine.d.ts +21 -0
- package/src/utils/DxfSystem/plugin/Editor/components/RenderManager.d.ts +4 -1
- package/src/utils/Quadtree/LineSegment.d.ts +1 -1
- package/src/utils/Quadtree/Point.d.ts +7 -1
- package/src/utils/deepClone.d.ts +6 -0
package/src/index3.js
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
1
|
import * as m from "three";
|
|
2
|
-
import { i as
|
|
3
|
-
import { C as
|
|
2
|
+
import { i as ct, n as mt, r as qe, t as Ue, c as Pe, d as ht, e as ut, f as Ae, g as Q, _ as Ze, u as pt, h as ye, j as _e, w as gt, k as vt, l as ft, p as yt, m as wt, o as bt, T as Ne, q as Oe, s as Ct, v as xt, x as Re, y as De, z as ke, A as Et, B as Mt, L as we, D as Lt, b as Ke, E as ge, S as kt } from "./selectLocalFile.js";
|
|
3
|
+
import { C as Ee, L as ce, P as W, B as Ye, E as Xe, b as Fe, Q as ze, W as It } 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
|
|
8
|
-
function
|
|
7
|
+
import { watch as J, ref as S, defineComponent as me, computed as B, createElementBlock as O, openBlock as P, normalizeClass as T, unref as g, renderSlot as Ce, createVNode as F, Transition as xe, withCtx as j, withDirectives as $e, createElementVNode as I, normalizeStyle as Se, createTextVNode as se, toDisplayString as ie, vShow as et, shallowReactive as Dt, onMounted as tt, createBlock as ve, createCommentVNode as Z, resolveDynamicComponent as Pt, Fragment as fe, withModifiers as At, nextTick as be, isVNode as nt, render as Te, toRaw as St, onUnmounted as Bt, renderList as Ie, createStaticVNode as _t, TransitionGroup as Nt, createApp as Ot } from "vue";
|
|
8
|
+
function ot(i) {
|
|
9
9
|
var e;
|
|
10
|
-
const t =
|
|
10
|
+
const t = qe(i);
|
|
11
11
|
return (e = t?.$el) != null ? e : t;
|
|
12
12
|
}
|
|
13
|
-
const
|
|
14
|
-
function
|
|
13
|
+
const at = Pe ? window : void 0;
|
|
14
|
+
function Rt(...i) {
|
|
15
15
|
let e, t, n, o;
|
|
16
|
-
if (
|
|
17
|
-
return
|
|
16
|
+
if (ct(i[0]) || Array.isArray(i[0]) ? ([t, n, o] = i, e = at) : [e, t, n, o] = i, !e)
|
|
17
|
+
return mt;
|
|
18
18
|
Array.isArray(t) || (t = [t]), Array.isArray(n) || (n = [n]);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
}, { immediate: !0, flush: "post" }),
|
|
24
|
-
|
|
19
|
+
const a = [], s = () => {
|
|
20
|
+
a.forEach((c) => c()), a.length = 0;
|
|
21
|
+
}, r = (c, h, y, w) => (c.addEventListener(h, y, w), () => c.removeEventListener(h, y, w)), l = J(() => [ot(e), qe(o)], ([c, h]) => {
|
|
22
|
+
s(), c && a.push(...t.flatMap((y) => n.map((w) => r(c, y, w, h))));
|
|
23
|
+
}, { immediate: !0, flush: "post" }), d = () => {
|
|
24
|
+
l(), s();
|
|
25
25
|
};
|
|
26
|
-
return Ue(
|
|
26
|
+
return Ue(d), d;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const t =
|
|
30
|
-
return n(),
|
|
28
|
+
function Kt(i, e = !1) {
|
|
29
|
+
const t = S(), n = () => t.value = !!i();
|
|
30
|
+
return n(), ht(n, e), t;
|
|
31
31
|
}
|
|
32
|
-
const Ve = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {},
|
|
33
|
-
Ve[
|
|
34
|
-
var
|
|
32
|
+
const Ve = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, je = "__vueuse_ssr_handlers__";
|
|
33
|
+
Ve[je] = Ve[je] || {};
|
|
34
|
+
var Ge = Object.getOwnPropertySymbols, Ft = Object.prototype.hasOwnProperty, zt = Object.prototype.propertyIsEnumerable, Tt = (i, e) => {
|
|
35
35
|
var t = {};
|
|
36
|
-
for (var n in
|
|
37
|
-
Ft.call(
|
|
38
|
-
if (
|
|
39
|
-
for (var n of
|
|
40
|
-
e.indexOf(n) < 0 &&
|
|
36
|
+
for (var n in i)
|
|
37
|
+
Ft.call(i, n) && e.indexOf(n) < 0 && (t[n] = i[n]);
|
|
38
|
+
if (i != null && Ge)
|
|
39
|
+
for (var n of Ge(i))
|
|
40
|
+
e.indexOf(n) < 0 && zt.call(i, n) && (t[n] = i[n]);
|
|
41
41
|
return t;
|
|
42
42
|
};
|
|
43
|
-
function Vt(
|
|
44
|
-
const n = t, { window: o =
|
|
45
|
-
let
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
|
|
43
|
+
function Vt(i, e, t = {}) {
|
|
44
|
+
const n = t, { window: o = at } = n, a = Tt(n, ["window"]);
|
|
45
|
+
let s;
|
|
46
|
+
const r = Kt(() => o && "ResizeObserver" in o), l = () => {
|
|
47
|
+
s && (s.disconnect(), s = void 0);
|
|
48
|
+
}, d = J(() => ot(i), (h) => {
|
|
49
|
+
l(), r.value && o && h && (s = new ResizeObserver(e), s.observe(h, a));
|
|
50
50
|
}, { immediate: !0, flush: "post" }), c = () => {
|
|
51
|
-
|
|
51
|
+
l(), d();
|
|
52
52
|
};
|
|
53
53
|
return Ue(c), {
|
|
54
|
-
isSupported:
|
|
54
|
+
isSupported: r,
|
|
55
55
|
stop: c
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
var
|
|
59
|
-
(function(
|
|
60
|
-
|
|
61
|
-
})(
|
|
62
|
-
var
|
|
58
|
+
var Qe;
|
|
59
|
+
(function(i) {
|
|
60
|
+
i.UP = "UP", i.RIGHT = "RIGHT", i.DOWN = "DOWN", i.LEFT = "LEFT", i.NONE = "NONE";
|
|
61
|
+
})(Qe || (Qe = {}));
|
|
62
|
+
var jt = Object.defineProperty, He = Object.getOwnPropertySymbols, Gt = Object.prototype.hasOwnProperty, Qt = Object.prototype.propertyIsEnumerable, Je = (i, e, t) => e in i ? jt(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t, Ht = (i, e) => {
|
|
63
63
|
for (var t in e || (e = {}))
|
|
64
|
-
|
|
65
|
-
if (
|
|
66
|
-
for (var t of
|
|
67
|
-
|
|
68
|
-
return
|
|
64
|
+
Gt.call(e, t) && Je(i, t, e[t]);
|
|
65
|
+
if (He)
|
|
66
|
+
for (var t of He(e))
|
|
67
|
+
Qt.call(e, t) && Je(i, t, e[t]);
|
|
68
|
+
return i;
|
|
69
69
|
};
|
|
70
|
-
const
|
|
70
|
+
const Jt = {
|
|
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 Ht = {
|
|
|
93
93
|
easeOutBack: [0.34, 1.56, 0.64, 1],
|
|
94
94
|
easeInOutBack: [0.68, -0.6, 0.32, 1.6]
|
|
95
95
|
};
|
|
96
|
-
|
|
97
|
-
linear:
|
|
98
|
-
},
|
|
99
|
-
const
|
|
96
|
+
Ht({
|
|
97
|
+
linear: ut
|
|
98
|
+
}, Jt);
|
|
99
|
+
const Wt = (i) => i, qt = {
|
|
100
100
|
esc: "Escape"
|
|
101
|
-
}, Ut =
|
|
101
|
+
}, Ut = Ae({
|
|
102
102
|
value: {
|
|
103
103
|
type: [String, Number],
|
|
104
104
|
default: ""
|
|
@@ -120,59 +120,59 @@ const $t = (r) => r, Wt = {
|
|
|
120
120
|
},
|
|
121
121
|
color: String,
|
|
122
122
|
badgeStyle: {
|
|
123
|
-
type:
|
|
123
|
+
type: Q([String, Object, Array])
|
|
124
124
|
},
|
|
125
125
|
offset: {
|
|
126
|
-
type:
|
|
126
|
+
type: Q(Array),
|
|
127
127
|
default: [0, 0]
|
|
128
128
|
},
|
|
129
129
|
badgeClass: {
|
|
130
130
|
type: String
|
|
131
131
|
}
|
|
132
|
-
}),
|
|
132
|
+
}), Zt = me({
|
|
133
133
|
name: "ElBadge"
|
|
134
|
-
}),
|
|
135
|
-
...
|
|
134
|
+
}), Yt = /* @__PURE__ */ me({
|
|
135
|
+
...Zt,
|
|
136
136
|
props: Ut,
|
|
137
|
-
setup(
|
|
138
|
-
const t =
|
|
139
|
-
var
|
|
137
|
+
setup(i, { expose: e }) {
|
|
138
|
+
const t = i, n = pt("badge"), o = B(() => t.isDot ? "" : ye(t.value) && ye(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), a = B(() => {
|
|
139
|
+
var s, r, l, d, c;
|
|
140
140
|
return [
|
|
141
141
|
{
|
|
142
142
|
backgroundColor: t.color,
|
|
143
|
-
marginRight:
|
|
144
|
-
marginTop:
|
|
143
|
+
marginRight: _e(-((r = (s = t.offset) == null ? void 0 : s[0]) != null ? r : 0)),
|
|
144
|
+
marginTop: _e((d = (l = t.offset) == null ? void 0 : l[1]) != null ? d : 0)
|
|
145
145
|
},
|
|
146
146
|
(c = t.badgeStyle) != null ? c : {}
|
|
147
147
|
];
|
|
148
148
|
});
|
|
149
149
|
return e({
|
|
150
150
|
content: o
|
|
151
|
-
}), (
|
|
152
|
-
class:
|
|
151
|
+
}), (s, r) => (P(), O("div", {
|
|
152
|
+
class: T(g(n).b())
|
|
153
153
|
}, [
|
|
154
|
-
|
|
155
|
-
F(
|
|
154
|
+
Ce(s.$slots, "default"),
|
|
155
|
+
F(xe, {
|
|
156
156
|
name: `${g(n).namespace.value}-zoom-in-center`,
|
|
157
157
|
persisted: ""
|
|
158
158
|
}, {
|
|
159
|
-
default:
|
|
160
|
-
|
|
161
|
-
class:
|
|
159
|
+
default: j(() => [
|
|
160
|
+
$e(I("sup", {
|
|
161
|
+
class: T([
|
|
162
162
|
g(n).e("content"),
|
|
163
|
-
g(n).em("content",
|
|
164
|
-
g(n).is("fixed", !!
|
|
165
|
-
g(n).is("dot",
|
|
166
|
-
g(n).is("hide-zero", !
|
|
167
|
-
|
|
163
|
+
g(n).em("content", s.type),
|
|
164
|
+
g(n).is("fixed", !!s.$slots.default),
|
|
165
|
+
g(n).is("dot", s.isDot),
|
|
166
|
+
g(n).is("hide-zero", !s.showZero && t.value === 0),
|
|
167
|
+
s.badgeClass
|
|
168
168
|
]),
|
|
169
|
-
style:
|
|
169
|
+
style: Se(g(a))
|
|
170
170
|
}, [
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
Ce(s.$slots, "content", { value: g(o) }, () => [
|
|
172
|
+
se(ie(g(o)), 1)
|
|
173
173
|
])
|
|
174
174
|
], 6), [
|
|
175
|
-
[
|
|
175
|
+
[et, !s.hidden && (g(o) || s.isDot || s.$slots.content)]
|
|
176
176
|
])
|
|
177
177
|
]),
|
|
178
178
|
_: 3
|
|
@@ -180,37 +180,37 @@ const $t = (r) => r, Wt = {
|
|
|
180
180
|
], 2));
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
|
-
var
|
|
184
|
-
const
|
|
183
|
+
var Xt = /* @__PURE__ */ Ze(Yt, [["__file", "badge.vue"]]);
|
|
184
|
+
const $t = gt(Xt), en = Ae({
|
|
185
185
|
a11y: {
|
|
186
186
|
type: Boolean,
|
|
187
187
|
default: !0
|
|
188
188
|
},
|
|
189
189
|
locale: {
|
|
190
|
-
type:
|
|
190
|
+
type: Q(Object)
|
|
191
191
|
},
|
|
192
|
-
size:
|
|
192
|
+
size: ft,
|
|
193
193
|
button: {
|
|
194
|
-
type:
|
|
194
|
+
type: Q(Object)
|
|
195
195
|
},
|
|
196
196
|
card: {
|
|
197
|
-
type:
|
|
197
|
+
type: Q(Object)
|
|
198
198
|
},
|
|
199
199
|
dialog: {
|
|
200
|
-
type:
|
|
200
|
+
type: Q(Object)
|
|
201
201
|
},
|
|
202
202
|
link: {
|
|
203
|
-
type:
|
|
203
|
+
type: Q(Object)
|
|
204
204
|
},
|
|
205
205
|
experimentalFeatures: {
|
|
206
|
-
type:
|
|
206
|
+
type: Q(Object)
|
|
207
207
|
},
|
|
208
208
|
keyboardNavigation: {
|
|
209
209
|
type: Boolean,
|
|
210
210
|
default: !0
|
|
211
211
|
},
|
|
212
212
|
message: {
|
|
213
|
-
type:
|
|
213
|
+
type: Q(Object)
|
|
214
214
|
},
|
|
215
215
|
zIndex: Number,
|
|
216
216
|
namespace: {
|
|
@@ -219,15 +219,15 @@ const Xt = pt(Zt), Jt = Pe({
|
|
|
219
219
|
},
|
|
220
220
|
...vt
|
|
221
221
|
}), z = {};
|
|
222
|
-
|
|
222
|
+
me({
|
|
223
223
|
name: "ElConfigProvider",
|
|
224
|
-
props:
|
|
225
|
-
setup(
|
|
226
|
-
const t =
|
|
227
|
-
return
|
|
228
|
-
var o,
|
|
229
|
-
Object.assign(z, (
|
|
230
|
-
}, { immediate: !0, deep: !0 }), () =>
|
|
224
|
+
props: en,
|
|
225
|
+
setup(i, { slots: e }) {
|
|
226
|
+
const t = yt(i);
|
|
227
|
+
return J(() => i.message, (n) => {
|
|
228
|
+
var o, a;
|
|
229
|
+
Object.assign(z, (a = (o = t?.value) == null ? void 0 : o.message) != null ? a : {}, n ?? {});
|
|
230
|
+
}, { immediate: !0, deep: !0 }), () => Ce(e, "default", { config: t?.value });
|
|
231
231
|
}
|
|
232
232
|
});
|
|
233
233
|
const st = [
|
|
@@ -236,7 +236,7 @@ const st = [
|
|
|
236
236
|
"info",
|
|
237
237
|
"warning",
|
|
238
238
|
"error"
|
|
239
|
-
], N =
|
|
239
|
+
], N = Wt({
|
|
240
240
|
customClass: "",
|
|
241
241
|
dangerouslyUseHTMLString: !1,
|
|
242
242
|
duration: 3e3,
|
|
@@ -251,8 +251,8 @@ const st = [
|
|
|
251
251
|
zIndex: 0,
|
|
252
252
|
grouping: !1,
|
|
253
253
|
repeatNum: 1,
|
|
254
|
-
appendTo:
|
|
255
|
-
}),
|
|
254
|
+
appendTo: Pe ? document.body : void 0
|
|
255
|
+
}), tn = Ae({
|
|
256
256
|
customClass: {
|
|
257
257
|
type: String,
|
|
258
258
|
default: N.customClass
|
|
@@ -266,7 +266,7 @@ const st = [
|
|
|
266
266
|
default: N.duration
|
|
267
267
|
},
|
|
268
268
|
icon: {
|
|
269
|
-
type:
|
|
269
|
+
type: wt,
|
|
270
270
|
default: N.icon
|
|
271
271
|
},
|
|
272
272
|
id: {
|
|
@@ -274,7 +274,7 @@ const st = [
|
|
|
274
274
|
default: N.id
|
|
275
275
|
},
|
|
276
276
|
message: {
|
|
277
|
-
type:
|
|
277
|
+
type: Q([
|
|
278
278
|
String,
|
|
279
279
|
Object,
|
|
280
280
|
Function
|
|
@@ -282,7 +282,7 @@ const st = [
|
|
|
282
282
|
default: N.message
|
|
283
283
|
},
|
|
284
284
|
onClose: {
|
|
285
|
-
type:
|
|
285
|
+
type: Q(Function),
|
|
286
286
|
default: N.onClose
|
|
287
287
|
},
|
|
288
288
|
showClose: {
|
|
@@ -314,208 +314,208 @@ const st = [
|
|
|
314
314
|
type: Number,
|
|
315
315
|
default: N.repeatNum
|
|
316
316
|
}
|
|
317
|
-
}),
|
|
317
|
+
}), nn = {
|
|
318
318
|
destroy: () => !0
|
|
319
|
-
},
|
|
320
|
-
const e =
|
|
319
|
+
}, H = Dt([]), on = (i) => {
|
|
320
|
+
const e = H.findIndex((o) => o.id === i), t = H[e];
|
|
321
321
|
let n;
|
|
322
|
-
return e > 0 && (n =
|
|
323
|
-
},
|
|
324
|
-
const { prev: e } =
|
|
322
|
+
return e > 0 && (n = H[e - 1]), { current: t, prev: n };
|
|
323
|
+
}, an = (i) => {
|
|
324
|
+
const { prev: e } = on(i);
|
|
325
325
|
return e ? e.vm.exposed.bottom.value : 0;
|
|
326
|
-
}, sn = (
|
|
326
|
+
}, sn = (i, e) => H.findIndex((n) => n.id === i) > 0 ? 16 : e, rn = me({
|
|
327
327
|
name: "ElMessage"
|
|
328
|
-
}),
|
|
329
|
-
...
|
|
330
|
-
props:
|
|
331
|
-
emits:
|
|
332
|
-
setup(
|
|
333
|
-
const n =
|
|
334
|
-
let
|
|
335
|
-
const
|
|
336
|
-
const
|
|
337
|
-
return { [
|
|
338
|
-
}),
|
|
339
|
-
top: `${
|
|
340
|
-
zIndex:
|
|
328
|
+
}), dn = /* @__PURE__ */ me({
|
|
329
|
+
...rn,
|
|
330
|
+
props: tn,
|
|
331
|
+
emits: nn,
|
|
332
|
+
setup(i, { expose: e, emit: t }) {
|
|
333
|
+
const n = i, { Close: o } = Ct, a = S(!1), { ns: s, zIndex: r } = bt("message"), { currentZIndex: l, nextZIndex: d } = r, c = S(), h = S(!1), y = S(0);
|
|
334
|
+
let w;
|
|
335
|
+
const b = B(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), f = B(() => {
|
|
336
|
+
const p = n.type;
|
|
337
|
+
return { [s.bm("icon", p)]: p && Ne[p] };
|
|
338
|
+
}), M = B(() => n.icon || Ne[n.type] || ""), L = B(() => an(n.id)), A = B(() => sn(n.id, n.offset) + L.value), G = B(() => y.value + A.value), E = B(() => ({
|
|
339
|
+
top: `${A.value}px`,
|
|
340
|
+
zIndex: l.value
|
|
341
341
|
}));
|
|
342
|
-
function
|
|
343
|
-
n.duration !== 0 && ({ stop:
|
|
344
|
-
|
|
342
|
+
function K() {
|
|
343
|
+
n.duration !== 0 && ({ stop: w } = xt(() => {
|
|
344
|
+
x();
|
|
345
345
|
}, n.duration));
|
|
346
346
|
}
|
|
347
|
-
function
|
|
348
|
-
|
|
347
|
+
function k() {
|
|
348
|
+
w?.();
|
|
349
349
|
}
|
|
350
|
-
function
|
|
351
|
-
h.value = !1,
|
|
352
|
-
var
|
|
353
|
-
|
|
350
|
+
function x() {
|
|
351
|
+
h.value = !1, be(() => {
|
|
352
|
+
var p;
|
|
353
|
+
a.value || ((p = n.onClose) == null || p.call(n), t("destroy"));
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
|
-
function
|
|
357
|
-
|
|
356
|
+
function _({ code: p }) {
|
|
357
|
+
p === qt.esc && x();
|
|
358
358
|
}
|
|
359
|
-
return
|
|
360
|
-
|
|
361
|
-
}),
|
|
362
|
-
|
|
363
|
-
}),
|
|
364
|
-
|
|
359
|
+
return tt(() => {
|
|
360
|
+
K(), d(), h.value = !0;
|
|
361
|
+
}), J(() => n.repeatNum, () => {
|
|
362
|
+
k(), K();
|
|
363
|
+
}), Rt(document, "keydown", _), Vt(c, () => {
|
|
364
|
+
y.value = c.value.getBoundingClientRect().height;
|
|
365
365
|
}), e({
|
|
366
366
|
visible: h,
|
|
367
|
-
bottom:
|
|
368
|
-
close:
|
|
369
|
-
}), (
|
|
370
|
-
name: g(
|
|
371
|
-
onBeforeEnter: (
|
|
372
|
-
onBeforeLeave:
|
|
373
|
-
onAfterLeave: (
|
|
367
|
+
bottom: G,
|
|
368
|
+
close: x
|
|
369
|
+
}), (p, q) => (P(), ve(xe, {
|
|
370
|
+
name: g(s).b("fade"),
|
|
371
|
+
onBeforeEnter: (R) => a.value = !0,
|
|
372
|
+
onBeforeLeave: p.onClose,
|
|
373
|
+
onAfterLeave: (R) => p.$emit("destroy"),
|
|
374
374
|
persisted: ""
|
|
375
375
|
}, {
|
|
376
|
-
default:
|
|
377
|
-
|
|
378
|
-
id:
|
|
376
|
+
default: j(() => [
|
|
377
|
+
$e(I("div", {
|
|
378
|
+
id: p.id,
|
|
379
379
|
ref_key: "messageRef",
|
|
380
380
|
ref: c,
|
|
381
|
-
class:
|
|
382
|
-
g(
|
|
383
|
-
{ [g(
|
|
384
|
-
g(
|
|
385
|
-
g(
|
|
386
|
-
|
|
381
|
+
class: T([
|
|
382
|
+
g(s).b(),
|
|
383
|
+
{ [g(s).m(p.type)]: p.type },
|
|
384
|
+
g(s).is("closable", p.showClose),
|
|
385
|
+
g(s).is("plain", p.plain),
|
|
386
|
+
p.customClass
|
|
387
387
|
]),
|
|
388
|
-
style:
|
|
388
|
+
style: Se(g(E)),
|
|
389
389
|
role: "alert",
|
|
390
|
-
onMouseenter:
|
|
391
|
-
onMouseleave:
|
|
390
|
+
onMouseenter: k,
|
|
391
|
+
onMouseleave: K
|
|
392
392
|
}, [
|
|
393
|
-
|
|
393
|
+
p.repeatNum > 1 ? (P(), ve(g($t), {
|
|
394
394
|
key: 0,
|
|
395
|
-
value:
|
|
396
|
-
type: g(
|
|
397
|
-
class:
|
|
398
|
-
}, null, 8, ["value", "type", "class"])) :
|
|
399
|
-
g(
|
|
395
|
+
value: p.repeatNum,
|
|
396
|
+
type: g(b),
|
|
397
|
+
class: T(g(s).e("badge"))
|
|
398
|
+
}, null, 8, ["value", "type", "class"])) : Z("v-if", !0),
|
|
399
|
+
g(M) ? (P(), ve(g(Oe), {
|
|
400
400
|
key: 1,
|
|
401
|
-
class:
|
|
401
|
+
class: T([g(s).e("icon"), g(f)])
|
|
402
402
|
}, {
|
|
403
|
-
default:
|
|
404
|
-
(
|
|
403
|
+
default: j(() => [
|
|
404
|
+
(P(), ve(Pt(g(M))))
|
|
405
405
|
]),
|
|
406
406
|
_: 1
|
|
407
|
-
}, 8, ["class"])) :
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
class:
|
|
413
|
-
innerHTML:
|
|
407
|
+
}, 8, ["class"])) : Z("v-if", !0),
|
|
408
|
+
Ce(p.$slots, "default", {}, () => [
|
|
409
|
+
p.dangerouslyUseHTMLString ? (P(), O(fe, { key: 1 }, [
|
|
410
|
+
Z(" Caution here, message could've been compromised, never use user's input as message "),
|
|
411
|
+
I("p", {
|
|
412
|
+
class: T(g(s).e("content")),
|
|
413
|
+
innerHTML: p.message
|
|
414
414
|
}, null, 10, ["innerHTML"])
|
|
415
|
-
], 2112)) : (
|
|
415
|
+
], 2112)) : (P(), O("p", {
|
|
416
416
|
key: 0,
|
|
417
|
-
class:
|
|
418
|
-
},
|
|
417
|
+
class: T(g(s).e("content"))
|
|
418
|
+
}, ie(p.message), 3))
|
|
419
419
|
]),
|
|
420
|
-
|
|
420
|
+
p.showClose ? (P(), ve(g(Oe), {
|
|
421
421
|
key: 2,
|
|
422
|
-
class:
|
|
423
|
-
onClick:
|
|
422
|
+
class: T(g(s).e("closeBtn")),
|
|
423
|
+
onClick: At(x, ["stop"])
|
|
424
424
|
}, {
|
|
425
|
-
default:
|
|
425
|
+
default: j(() => [
|
|
426
426
|
F(g(o))
|
|
427
427
|
]),
|
|
428
428
|
_: 1
|
|
429
|
-
}, 8, ["class", "onClick"])) :
|
|
429
|
+
}, 8, ["class", "onClick"])) : Z("v-if", !0)
|
|
430
430
|
], 46, ["id"]), [
|
|
431
|
-
[
|
|
431
|
+
[et, h.value]
|
|
432
432
|
])
|
|
433
433
|
]),
|
|
434
434
|
_: 3
|
|
435
435
|
}, 8, ["name", "onBeforeEnter", "onBeforeLeave", "onAfterLeave"]));
|
|
436
436
|
}
|
|
437
437
|
});
|
|
438
|
-
var
|
|
439
|
-
let
|
|
440
|
-
const
|
|
441
|
-
const e = !
|
|
438
|
+
var ln = /* @__PURE__ */ Ze(dn, [["__file", "message.vue"]]);
|
|
439
|
+
let cn = 1;
|
|
440
|
+
const it = (i) => {
|
|
441
|
+
const e = !i || Re(i) || nt(i) || De(i) ? { message: i } : i, t = {
|
|
442
442
|
...N,
|
|
443
443
|
...e
|
|
444
444
|
};
|
|
445
445
|
if (!t.appendTo)
|
|
446
446
|
t.appendTo = document.body;
|
|
447
|
-
else if (
|
|
447
|
+
else if (Re(t.appendTo)) {
|
|
448
448
|
let n = document.querySelector(t.appendTo);
|
|
449
|
-
|
|
449
|
+
Et(n) || (n = document.body), t.appendTo = n;
|
|
450
450
|
}
|
|
451
|
-
return
|
|
452
|
-
},
|
|
453
|
-
const e =
|
|
451
|
+
return ke(z.grouping) && !t.grouping && (t.grouping = z.grouping), ye(z.duration) && t.duration === 3e3 && (t.duration = z.duration), ye(z.offset) && t.offset === 16 && (t.offset = z.offset), ke(z.showClose) && !t.showClose && (t.showClose = z.showClose), ke(z.plain) && !t.plain && (t.plain = z.plain), t;
|
|
452
|
+
}, mn = (i) => {
|
|
453
|
+
const e = H.indexOf(i);
|
|
454
454
|
if (e === -1)
|
|
455
455
|
return;
|
|
456
|
-
|
|
457
|
-
const { handler: t } =
|
|
456
|
+
H.splice(e, 1);
|
|
457
|
+
const { handler: t } = i;
|
|
458
458
|
t.close();
|
|
459
|
-
},
|
|
460
|
-
const n = `message_${
|
|
459
|
+
}, hn = ({ appendTo: i, ...e }, t) => {
|
|
460
|
+
const n = `message_${cn++}`, o = e.onClose, a = document.createElement("div"), s = {
|
|
461
461
|
...e,
|
|
462
462
|
id: n,
|
|
463
463
|
onClose: () => {
|
|
464
|
-
o?.(),
|
|
464
|
+
o?.(), mn(c);
|
|
465
465
|
},
|
|
466
466
|
onDestroy: () => {
|
|
467
|
-
Te(null,
|
|
467
|
+
Te(null, a);
|
|
468
468
|
}
|
|
469
|
-
},
|
|
470
|
-
default:
|
|
469
|
+
}, r = F(ln, s, De(s.message) || nt(s.message) ? {
|
|
470
|
+
default: De(s.message) ? s.message : () => s.message
|
|
471
471
|
} : null);
|
|
472
|
-
|
|
473
|
-
const
|
|
472
|
+
r.appContext = t || le._context, Te(r, a), i.appendChild(a.firstElementChild);
|
|
473
|
+
const l = r.component, c = {
|
|
474
474
|
id: n,
|
|
475
|
-
vnode:
|
|
476
|
-
vm:
|
|
475
|
+
vnode: r,
|
|
476
|
+
vm: l,
|
|
477
477
|
handler: {
|
|
478
478
|
close: () => {
|
|
479
|
-
|
|
479
|
+
l.exposed.close();
|
|
480
480
|
}
|
|
481
481
|
},
|
|
482
|
-
props:
|
|
482
|
+
props: r.component.props
|
|
483
483
|
};
|
|
484
484
|
return c;
|
|
485
|
-
},
|
|
486
|
-
if (!
|
|
485
|
+
}, le = (i = {}, e) => {
|
|
486
|
+
if (!Pe)
|
|
487
487
|
return { close: () => {
|
|
488
488
|
} };
|
|
489
|
-
const t =
|
|
490
|
-
if (t.grouping &&
|
|
491
|
-
const o =
|
|
492
|
-
var
|
|
493
|
-
return ((
|
|
489
|
+
const t = it(i);
|
|
490
|
+
if (t.grouping && H.length) {
|
|
491
|
+
const o = H.find(({ vnode: a }) => {
|
|
492
|
+
var s;
|
|
493
|
+
return ((s = a.props) == null ? void 0 : s.message) === t.message;
|
|
494
494
|
});
|
|
495
495
|
if (o)
|
|
496
496
|
return o.props.repeatNum += 1, o.props.type = t.type, o.handler;
|
|
497
497
|
}
|
|
498
|
-
if (
|
|
498
|
+
if (ye(z.max) && H.length >= z.max)
|
|
499
499
|
return { close: () => {
|
|
500
500
|
} };
|
|
501
|
-
const n =
|
|
502
|
-
return
|
|
501
|
+
const n = hn(t, e);
|
|
502
|
+
return H.push(n), n.handler;
|
|
503
503
|
};
|
|
504
|
-
st.forEach((
|
|
505
|
-
|
|
506
|
-
const n =
|
|
507
|
-
return
|
|
504
|
+
st.forEach((i) => {
|
|
505
|
+
le[i] = (e = {}, t) => {
|
|
506
|
+
const n = it(e);
|
|
507
|
+
return le({ ...n, type: i }, t);
|
|
508
508
|
};
|
|
509
509
|
});
|
|
510
|
-
function
|
|
511
|
-
const e = [...
|
|
510
|
+
function un(i) {
|
|
511
|
+
const e = [...H];
|
|
512
512
|
for (const t of e)
|
|
513
|
-
(!
|
|
513
|
+
(!i || i === t.props.type) && t.handler.close();
|
|
514
514
|
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
const D = Mt(
|
|
518
|
-
class
|
|
515
|
+
le.closeAll = un;
|
|
516
|
+
le._context = null;
|
|
517
|
+
const D = Mt(le, "$message");
|
|
518
|
+
class V extends Ee {
|
|
519
519
|
_renderer;
|
|
520
520
|
get renderer() {
|
|
521
521
|
return this._renderer || (this._renderer = this.parent?.findComponentByName("Renderer")), this._renderer;
|
|
@@ -598,7 +598,7 @@ class K extends be {
|
|
|
598
598
|
};
|
|
599
599
|
}
|
|
600
600
|
}
|
|
601
|
-
class
|
|
601
|
+
class pn extends V {
|
|
602
602
|
static name = "DrawLine";
|
|
603
603
|
container = new m.Group();
|
|
604
604
|
interruptKeys = ["escape"];
|
|
@@ -615,29 +615,29 @@ class un extends K {
|
|
|
615
615
|
* @param next
|
|
616
616
|
*/
|
|
617
617
|
selectPoint(e) {
|
|
618
|
-
let t = this.parent?.findComponentByName("Editor"), n = null, o = null,
|
|
618
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, o = null, a = [], s = new m.Mesh(new m.SphereGeometry(0.05), new m.MeshBasicMaterial({ color: 65280 })), r = t.domContainer.domElement, l = new we([], 16711935), d = new we([
|
|
619
619
|
new m.Vector3(-1e4, 0, 0),
|
|
620
620
|
new m.Vector3(1e4, 0, 0),
|
|
621
621
|
new m.Vector3(0, -1e4, 0),
|
|
622
622
|
new m.Vector3(0, 1e4, 0)
|
|
623
623
|
], 16711935);
|
|
624
|
-
|
|
624
|
+
d.material = new m.LineDashedMaterial({
|
|
625
625
|
color: 4235007,
|
|
626
626
|
dashSize: 0.1,
|
|
627
627
|
gapSize: 0.1,
|
|
628
628
|
linewidth: 0.1
|
|
629
|
-
}), this.container.add(
|
|
629
|
+
}), this.container.add(l);
|
|
630
630
|
const c = () => {
|
|
631
|
-
|
|
631
|
+
l.setPoint(...a, n, o), d.position.copy(o), this.container.add(d), d.computeLineDistances();
|
|
632
632
|
}, h = new m.Vector3();
|
|
633
633
|
this.addEventRecord(
|
|
634
634
|
"clear",
|
|
635
635
|
t.addEventListener("pointerPositionChange", () => {
|
|
636
|
-
const { point:
|
|
637
|
-
if (this.dispatchEvent({ type: "pointerMove", point:
|
|
636
|
+
const { point: y, find: w } = t.renderManager.adsorption();
|
|
637
|
+
if (this.dispatchEvent({ type: "pointerMove", point: y }), w ? (s.position.set(y.x, y.y, 0), this.container.add(s), r.style.cursor = "none") : (s.removeFromParent(), r.style.cursor = "crosshair"), h.copy(y), !!(n && o)) {
|
|
638
638
|
if (t.eventInput.isKeyDown("shift")) {
|
|
639
|
-
const
|
|
640
|
-
|
|
639
|
+
const b = Math.abs(t.pointerPosition.x - n.x), f = Math.abs(t.pointerPosition.y - n.y);
|
|
640
|
+
b > f ? o.set(t.pointerPosition.x, n.y, 0) : o.set(n.x, t.pointerPosition.y, 0), c(), h.copy(o);
|
|
641
641
|
return;
|
|
642
642
|
}
|
|
643
643
|
o.set(t.pointerPosition.x, t.pointerPosition.y, 0), c();
|
|
@@ -649,16 +649,16 @@ class un extends K {
|
|
|
649
649
|
n = h.clone(), o = h.clone(), c();
|
|
650
650
|
return;
|
|
651
651
|
}
|
|
652
|
-
o = h.clone(),
|
|
652
|
+
o = h.clone(), a.push(n.clone(), o.clone()), n.copy(o), c();
|
|
653
653
|
} else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
|
|
654
|
-
if (
|
|
655
|
-
const { point:
|
|
656
|
-
|
|
654
|
+
if (a.length) {
|
|
655
|
+
const { point: y } = t.renderManager.adsorption();
|
|
656
|
+
a.pop(), o?.copy(y), n?.copy(a.pop()), c();
|
|
657
657
|
}
|
|
658
|
-
} else t.eventInput.isKeyDowns(this.confirmKeys) && e(
|
|
658
|
+
} else t.eventInput.isKeyDowns(this.confirmKeys) && e(a);
|
|
659
659
|
}),
|
|
660
660
|
function() {
|
|
661
|
-
|
|
661
|
+
l.removeFromParent(), s.removeFromParent(), d.removeFromParent();
|
|
662
662
|
}
|
|
663
663
|
);
|
|
664
664
|
}
|
|
@@ -668,7 +668,7 @@ class un extends K {
|
|
|
668
668
|
end(e, t) {
|
|
669
669
|
const n = [];
|
|
670
670
|
for (let o = 0; o < t.length; o += 2)
|
|
671
|
-
n.push(new
|
|
671
|
+
n.push(new ce(W.from(t[o]), W.from(t[o + 1])));
|
|
672
672
|
e(n);
|
|
673
673
|
}
|
|
674
674
|
/** 执行完成
|
|
@@ -690,7 +690,7 @@ class un extends K {
|
|
|
690
690
|
return this.completed(e), e;
|
|
691
691
|
}
|
|
692
692
|
}
|
|
693
|
-
class
|
|
693
|
+
class Be extends Ee {
|
|
694
694
|
static name = "Default";
|
|
695
695
|
get editor() {
|
|
696
696
|
return this.parent?.findComponentByName("Editor");
|
|
@@ -748,69 +748,69 @@ class Se extends be {
|
|
|
748
748
|
*/
|
|
749
749
|
start() {
|
|
750
750
|
const e = this.editor, t = e.eventInput, n = new m.Mesh(), o = e.domContainer.domElement;
|
|
751
|
-
let
|
|
751
|
+
let a = null;
|
|
752
752
|
n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new m.MeshBasicMaterial({ color: 55561 });
|
|
753
|
-
const
|
|
754
|
-
const
|
|
755
|
-
this.container.add(
|
|
753
|
+
const s = () => {
|
|
754
|
+
const r = e.pointerPosition.clone(), l = e.pointerPosition.clone(), d = new m.Mesh();
|
|
755
|
+
this.container.add(d), d.position.z = 0.05, d.material = new m.MeshBasicMaterial({
|
|
756
756
|
color: 16777215,
|
|
757
757
|
transparent: !0,
|
|
758
758
|
opacity: 0.5
|
|
759
759
|
});
|
|
760
760
|
const c = () => {
|
|
761
|
-
const
|
|
762
|
-
y,
|
|
763
|
-
_,
|
|
764
|
-
0,
|
|
765
|
-
x,
|
|
761
|
+
const w = Math.min(r.x, l.x), b = Math.max(r.x, l.x), f = Math.min(r.y, l.y), M = Math.max(r.y, l.y), L = [
|
|
766
762
|
w,
|
|
763
|
+
M,
|
|
767
764
|
0,
|
|
768
|
-
|
|
769
|
-
|
|
765
|
+
b,
|
|
766
|
+
f,
|
|
770
767
|
0,
|
|
771
|
-
|
|
772
|
-
|
|
768
|
+
b,
|
|
769
|
+
M,
|
|
773
770
|
0,
|
|
774
|
-
y,
|
|
775
771
|
w,
|
|
772
|
+
M,
|
|
776
773
|
0,
|
|
777
|
-
x,
|
|
778
774
|
w,
|
|
775
|
+
f,
|
|
776
|
+
0,
|
|
777
|
+
b,
|
|
778
|
+
f,
|
|
779
779
|
0
|
|
780
780
|
];
|
|
781
|
-
|
|
781
|
+
d.geometry = e.renderManager.createGeometry({ position: L }, L.length / 3);
|
|
782
782
|
}, h = () => {
|
|
783
|
-
|
|
784
|
-
},
|
|
785
|
-
document.removeEventListener("mousemove", h), document.removeEventListener("mouseup",
|
|
786
|
-
const
|
|
787
|
-
this.removeSelectLineAll(),
|
|
783
|
+
l.copy(e.pointerPosition), c();
|
|
784
|
+
}, y = () => {
|
|
785
|
+
document.removeEventListener("mousemove", h), document.removeEventListener("mouseup", y), d.removeFromParent();
|
|
786
|
+
const w = Math.min(r.x, l.x), b = Math.max(r.x, l.x), f = Math.min(r.y, l.y), M = Math.max(r.y, l.y), L = new Ye(w, b, f, M), A = e.renderManager.quadtree.queryBox(L);
|
|
787
|
+
this.removeSelectLineAll(), A.forEach((G) => this.addSelectLine(G.line)), this.updateSelectLinesGeometry();
|
|
788
788
|
};
|
|
789
|
-
document.addEventListener("mousemove", h), document.addEventListener("mouseup",
|
|
789
|
+
document.addEventListener("mousemove", h), document.addEventListener("mouseup", y);
|
|
790
790
|
};
|
|
791
791
|
this.addEventRecord(
|
|
792
792
|
"clear",
|
|
793
793
|
// 注册鼠标指针位置变化事件
|
|
794
794
|
e.addEventListener("pointerPositionChange", () => {
|
|
795
|
-
const { line:
|
|
796
|
-
if (
|
|
797
|
-
const
|
|
798
|
-
n.geometry = e.renderManager.createGeometry({ position:
|
|
795
|
+
const { line: r } = e.renderManager.adsorption(0.04);
|
|
796
|
+
if (r) {
|
|
797
|
+
const l = r.expandToRectangle(0.025, "bothSides");
|
|
798
|
+
n.geometry = e.renderManager.createGeometry({ position: l.createGeometry() }, 6), this.container.add(n), o.style.cursor = "pointer", a = r;
|
|
799
799
|
} else
|
|
800
|
-
n.removeFromParent(), o.style.cursor = "default",
|
|
800
|
+
n.removeFromParent(), o.style.cursor = "default", a = null;
|
|
801
801
|
}),
|
|
802
802
|
t.addEventListener("codeChange", () => {
|
|
803
803
|
if (t.isKeyDown("mouse_0")) {
|
|
804
|
-
if (!
|
|
804
|
+
if (!a) return s();
|
|
805
805
|
if (t.isKeyDown("alt"))
|
|
806
|
-
return this.removeSelectLine(
|
|
807
|
-
t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(
|
|
806
|
+
return this.removeSelectLine(a);
|
|
807
|
+
t.isKeyDown("control") || this.removeSelectLineAll(), this.addSelectLine(a);
|
|
808
808
|
} else if (t.isKeyDown("mouse_1")) {
|
|
809
|
-
if (!
|
|
810
|
-
this.removeSelectLine(
|
|
809
|
+
if (!a) return;
|
|
810
|
+
this.removeSelectLine(a);
|
|
811
811
|
} else if (t.isKeyDown("mouse_2")) {
|
|
812
|
-
if (!
|
|
813
|
-
this.addSelectLine(
|
|
812
|
+
if (!a) return;
|
|
813
|
+
this.addSelectLine(a);
|
|
814
814
|
} else t.isKeyDowns(["control", "z"]) ? e.commandManager.rollback() : t.isKeyDowns(["control", "y"]) && e.commandManager.revokeRollback();
|
|
815
815
|
}),
|
|
816
816
|
function() {
|
|
@@ -825,7 +825,7 @@ class Se extends be {
|
|
|
825
825
|
this.canceEventRecord("clear"), this.removeSelectLineAll(), this.updateSelectLinesGeometry();
|
|
826
826
|
}
|
|
827
827
|
}
|
|
828
|
-
class
|
|
828
|
+
class gn extends Xe {
|
|
829
829
|
list = [];
|
|
830
830
|
rollbacklist = [];
|
|
831
831
|
revokeRollbacklist = [];
|
|
@@ -853,7 +853,7 @@ class pn extends Ze {
|
|
|
853
853
|
return this.revokeRollbacklist.push(e), this;
|
|
854
854
|
}
|
|
855
855
|
}
|
|
856
|
-
class vn extends
|
|
856
|
+
class vn extends Xe {
|
|
857
857
|
commandFlowMap = /* @__PURE__ */ new Map();
|
|
858
858
|
lock = !1;
|
|
859
859
|
abortController = null;
|
|
@@ -880,7 +880,7 @@ class vn extends Ze {
|
|
|
880
880
|
*/
|
|
881
881
|
addCommandFlow(e) {
|
|
882
882
|
if (this.commandFlowMap.has(e)) throw new Error(`${e} 命令已经存在`);
|
|
883
|
-
const t = new
|
|
883
|
+
const t = new gn();
|
|
884
884
|
return this.commandFlowMap.set(e, t), t;
|
|
885
885
|
}
|
|
886
886
|
executionPromise = null;
|
|
@@ -902,18 +902,18 @@ class vn extends Ze {
|
|
|
902
902
|
throw new Error(`命令流 ${e} 不存在`);
|
|
903
903
|
this.lock = !0, this.abortController = new AbortController(), this.currentName = e, o.dispatchEvent({ type: "started" }), this.dispatchEvent({ type: "started", name: e });
|
|
904
904
|
try {
|
|
905
|
-
for (let
|
|
906
|
-
const
|
|
907
|
-
if (o.dispatchEvent({ type: "executing", index:
|
|
908
|
-
this.resolve =
|
|
905
|
+
for (let a = n; a < o.list.length; a++) {
|
|
906
|
+
const s = o.list[a];
|
|
907
|
+
if (o.dispatchEvent({ type: "executing", index: a }), this.dispatchEvent({ type: "executing", name: e, index: a }), t = await new Promise((r) => {
|
|
908
|
+
this.resolve = r, s(r, t);
|
|
909
909
|
}), this.abortController.signal.aborted) {
|
|
910
|
-
o.dispatchEvent({ type: "executionInterrupt", index:
|
|
910
|
+
o.dispatchEvent({ type: "executionInterrupt", index: a }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: a }), this.dispatchEvent({ type: "cancel", name: e });
|
|
911
911
|
break;
|
|
912
912
|
} else
|
|
913
|
-
o.dispatchEvent({ type: "executionCompleted", index:
|
|
913
|
+
o.dispatchEvent({ type: "executionCompleted", index: a, data: t }), this.dispatchEvent({ type: "executionCompleted", name: e, index: a, data: t });
|
|
914
914
|
}
|
|
915
|
-
} catch (
|
|
916
|
-
console.error(
|
|
915
|
+
} catch (a) {
|
|
916
|
+
console.error(a);
|
|
917
917
|
} finally {
|
|
918
918
|
this.abortController && !this.abortController.signal.aborted && (o.dispatchEvent({ type: "completed", data: t }), this.dispatchEvent({ type: "completed", name: e, data: t }), o.writeOperationList && (this.operationList.push({ name: e, data: t }), this.rollbackList.length = 0)), this.lock = !1, this.abortController = null, this.currentName = null, o.dispatchEvent({ type: "finally" }), this.dispatchEvent({ type: "finally", name: e }), this.executionResolve && (this.executionResolve(null), this.executionResolve = null);
|
|
919
919
|
}
|
|
@@ -933,7 +933,7 @@ class vn extends Ze {
|
|
|
933
933
|
if (!e) return !1;
|
|
934
934
|
const t = this.commandFlowMap.get(e.name);
|
|
935
935
|
if (!t) return !1;
|
|
936
|
-
const n = t.rollbacklist.reduce((o,
|
|
936
|
+
const n = t.rollbacklist.reduce((o, a) => a(o), e.data);
|
|
937
937
|
return this.dispatchEvent({ type: "rollback", name: e.name }), this.rollbackList.push({
|
|
938
938
|
data: n,
|
|
939
939
|
name: e.name
|
|
@@ -951,63 +951,64 @@ class vn extends Ze {
|
|
|
951
951
|
if (!e) return !1;
|
|
952
952
|
const t = this.commandFlowMap.get(e.name);
|
|
953
953
|
if (!t) return !1;
|
|
954
|
-
const n = t.revokeRollbacklist.reduce((o,
|
|
954
|
+
const n = t.revokeRollbacklist.reduce((o, a) => a(o), e.data);
|
|
955
955
|
return this.dispatchEvent({ type: "revokeRollback", name: e.name }), this.operationList.push({ name: e.name, data: n }), !0;
|
|
956
956
|
} catch (e) {
|
|
957
957
|
throw new Error(`撤回回滚失败:${e}`);
|
|
958
958
|
}
|
|
959
959
|
}
|
|
960
960
|
}
|
|
961
|
-
const
|
|
962
|
-
__proto__: null,
|
|
963
|
-
default: gn
|
|
964
|
-
}, Symbol.toStringTag, { value: "Module" })), yn = "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", wn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
961
|
+
const fn = "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", yn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
965
962
|
__proto__: null,
|
|
966
|
-
default:
|
|
967
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
963
|
+
default: fn
|
|
964
|
+
}, Symbol.toStringTag, { value: "Module" })), wn = "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", bn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
968
965
|
__proto__: null,
|
|
969
|
-
default:
|
|
970
|
-
}, Symbol.toStringTag, { value: "Module" })), Cn = "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='
|
|
966
|
+
default: wn
|
|
967
|
+
}, Symbol.toStringTag, { value: "Module" })), Cn = "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", xn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
971
968
|
__proto__: null,
|
|
972
969
|
default: Cn
|
|
973
|
-
}, Symbol.toStringTag, { value: "Module" })), En = "data:image/svg+xml,%
|
|
970
|
+
}, Symbol.toStringTag, { value: "Module" })), En = "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", Mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
974
971
|
__proto__: null,
|
|
975
972
|
default: En
|
|
976
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
977
|
-
__proto__: null,
|
|
978
|
-
default: Dn
|
|
979
|
-
}, Symbol.toStringTag, { value: "Module" })), kn = "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", Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
973
|
+
}, Symbol.toStringTag, { value: "Module" })), 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%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", kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
980
974
|
__proto__: null,
|
|
981
|
-
default:
|
|
982
|
-
}, Symbol.toStringTag, { value: "Module" })), In = "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='
|
|
975
|
+
default: Ln
|
|
976
|
+
}, Symbol.toStringTag, { value: "Module" })), In = "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", Dn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
983
977
|
__proto__: null,
|
|
984
978
|
default: In
|
|
985
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
979
|
+
}, 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%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", An = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
986
980
|
__proto__: null,
|
|
987
|
-
default:
|
|
988
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
981
|
+
default: Pn
|
|
982
|
+
}, Symbol.toStringTag, { value: "Module" })), Sn = "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", Bn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
989
983
|
__proto__: null,
|
|
990
|
-
default:
|
|
991
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
984
|
+
default: Sn
|
|
985
|
+
}, Symbol.toStringTag, { value: "Module" })), _n = "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", Nn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
992
986
|
__proto__: null,
|
|
993
|
-
default:
|
|
994
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
987
|
+
default: _n
|
|
988
|
+
}, Symbol.toStringTag, { value: "Module" })), On = "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", Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
989
|
+
__proto__: null,
|
|
990
|
+
default: On
|
|
991
|
+
}, Symbol.toStringTag, { value: "Module" })), Kn = "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", Fn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
995
992
|
__proto__: null,
|
|
996
993
|
default: Kn
|
|
997
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
994
|
+
}, 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='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", Tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
995
|
+
__proto__: null,
|
|
996
|
+
default: zn
|
|
997
|
+
}, Symbol.toStringTag, { value: "Module" })), Vn = "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", jn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
998
998
|
__proto__: null,
|
|
999
999
|
default: Vn
|
|
1000
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1000
|
+
}, Symbol.toStringTag, { value: "Module" })), Gn = "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", Qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1001
1001
|
__proto__: null,
|
|
1002
|
-
default:
|
|
1003
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
1004
|
-
class qn extends
|
|
1002
|
+
default: Gn
|
|
1003
|
+
}, Symbol.toStringTag, { value: "Module" })), Hn = "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==", Jn = new m.TextureLoader(), Wn = Jn.load(Hn);
|
|
1004
|
+
class qn extends Ee {
|
|
1005
1005
|
static name = "RenderManager";
|
|
1006
1006
|
container = new m.Group();
|
|
1007
1007
|
lines = [];
|
|
1008
1008
|
pointVirtualGrid = new Fe();
|
|
1009
|
-
quadtree = new
|
|
1009
|
+
quadtree = new ze(new Ye());
|
|
1010
1010
|
actionHistory = /* @__PURE__ */ new Set();
|
|
1011
|
+
verticalReferenceLineFlag = new m.Mesh(new m.PlaneGeometry(0.3, 0.3), new m.MeshBasicMaterial({ map: Wn, color: 58111, transparent: !0 }));
|
|
1011
1012
|
onAddFromParent() {
|
|
1012
1013
|
const e = this.dxfLineModel;
|
|
1013
1014
|
this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new m.LineBasicMaterial({
|
|
@@ -1029,7 +1030,7 @@ class qn extends be {
|
|
|
1029
1030
|
this.updatedMode = "dxf";
|
|
1030
1031
|
this.pointVirtualGrid = new Fe();
|
|
1031
1032
|
const e = this.dxf.box.clone().expansion(Math.max(this.dxf.box.width, this.dxf.box.height) * 2);
|
|
1032
|
-
(e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new
|
|
1033
|
+
(e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new ze(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
|
|
1033
1034
|
t.userData.isDoor && !t.userData.doorDirectConnection || this.addLine(t.clone());
|
|
1034
1035
|
}), this.dxf.doorLineSegment.forEach((t) => {
|
|
1035
1036
|
const n = t.clone();
|
|
@@ -1089,13 +1090,16 @@ class qn extends be {
|
|
|
1089
1090
|
draw(e = !0) {
|
|
1090
1091
|
this.container.clear();
|
|
1091
1092
|
const t = [], n = [], o = [];
|
|
1092
|
-
this.lines.forEach((
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
}),
|
|
1096
|
-
const
|
|
1093
|
+
this.lines.forEach((a) => {
|
|
1094
|
+
if (a.points.forEach((s) => {
|
|
1095
|
+
a.userData.isDoor ? n.push(s.x, s.y, 0) : t.push(s.x, s.y, 0);
|
|
1096
|
+
}), a.userData.isWindow && a.userData.drawWindow && a.userData.drawWindow.forEach(({ width: s, p: r }) => {
|
|
1097
|
+
const l = W.from(r), d = a.direction(), c = l.clone().add(d.clone().multiplyScalar(s * 0.5)), h = l.clone().add(d.clone().multiplyScalar(-s * 0.5));
|
|
1097
1098
|
o.push(c.x, c.y, 1e-3), o.push(h.x, h.y, 1e-3);
|
|
1098
|
-
})
|
|
1099
|
+
}), a.userData.isVerticalReferenceLine) {
|
|
1100
|
+
const s = a.center;
|
|
1101
|
+
this.verticalReferenceLineFlag.position.set(s.x, s.y, 0), this.container.add(this.verticalReferenceLineFlag);
|
|
1102
|
+
}
|
|
1099
1103
|
}), t.length && this.renderer.createLineSegments({
|
|
1100
1104
|
position: t
|
|
1101
1105
|
}, t.length / 3, {
|
|
@@ -1115,21 +1119,21 @@ class qn extends be {
|
|
|
1115
1119
|
* @returns
|
|
1116
1120
|
*/
|
|
1117
1121
|
adsorption(e = 0.1, t = this.pointVirtualGrid, n = this.quadtree) {
|
|
1118
|
-
const o = this.parent?.findComponentByName("Editor"),
|
|
1119
|
-
if (
|
|
1120
|
-
point: new m.Vector3(
|
|
1122
|
+
const o = this.parent?.findComponentByName("Editor"), a = W.from(o.pointerPosition), s = t.queryCircle(a, e).sort((l, d) => l.point.distance(a) - d.point.distance(a));
|
|
1123
|
+
if (s.length) return {
|
|
1124
|
+
point: new m.Vector3(s[0].point.x, s[0].point.y, 0),
|
|
1121
1125
|
find: !0,
|
|
1122
1126
|
mode: "point",
|
|
1123
|
-
line:
|
|
1127
|
+
line: s[0].userData
|
|
1124
1128
|
};
|
|
1125
|
-
let
|
|
1126
|
-
if (
|
|
1127
|
-
let
|
|
1128
|
-
return
|
|
1129
|
-
point: new m.Vector3(
|
|
1129
|
+
let r = n.queryCircle(a, e);
|
|
1130
|
+
if (r.length) {
|
|
1131
|
+
let l = r.map((d) => d.line.projectPoint(a));
|
|
1132
|
+
return l.sort((d, c) => d && c ? d.distance(a) - c.distance(a) : 0), r = r.filter((d, c) => !!l[c]), l = l.filter((d, c) => !!l[c]), {
|
|
1133
|
+
point: new m.Vector3(l[0].x, l[0].y, 0),
|
|
1130
1134
|
find: !0,
|
|
1131
1135
|
mode: "line",
|
|
1132
|
-
line:
|
|
1136
|
+
line: r[0].line
|
|
1133
1137
|
};
|
|
1134
1138
|
}
|
|
1135
1139
|
return {
|
|
@@ -1151,7 +1155,7 @@ class qn extends be {
|
|
|
1151
1155
|
*/
|
|
1152
1156
|
toJson() {
|
|
1153
1157
|
return this.lines.map((e) => {
|
|
1154
|
-
const t = e.userData, n = t.
|
|
1158
|
+
const t = e.userData, n = t.drawWindow, o = this.quadtree.queryLineSegment(e).filter((a) => a.line !== e && !a.userData?.isDoor).map((a) => ({ index: this.lines.indexOf(a.line) }));
|
|
1155
1159
|
return {
|
|
1156
1160
|
start: e.start.toJson(this.dxf.originalZAverage),
|
|
1157
1161
|
end: e.end.toJson(this.dxf.originalZAverage),
|
|
@@ -1160,10 +1164,11 @@ class qn extends be {
|
|
|
1160
1164
|
doorDirectConnection: t.isDoor,
|
|
1161
1165
|
length: e.length(),
|
|
1162
1166
|
isWindow: t.isWindow,
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
+
isVerticalReferenceLine: t.isVerticalReferenceLine,
|
|
1168
|
+
drawWindow: n && n.map((a) => ({
|
|
1169
|
+
p: { x: a.p.x, y: a.p.y, z: a.p.z },
|
|
1170
|
+
width: a.width,
|
|
1171
|
+
full: a.full
|
|
1167
1172
|
}))
|
|
1168
1173
|
};
|
|
1169
1174
|
});
|
|
@@ -1204,7 +1209,7 @@ class qn extends be {
|
|
|
1204
1209
|
return this.parent?.findComponentByName("DxfLineModel");
|
|
1205
1210
|
}
|
|
1206
1211
|
}
|
|
1207
|
-
class
|
|
1212
|
+
class Un extends V {
|
|
1208
1213
|
static name = "DrawDoorLine";
|
|
1209
1214
|
container = new m.Group();
|
|
1210
1215
|
interruptKeys = ["escape"];
|
|
@@ -1214,8 +1219,8 @@ class Hn extends K {
|
|
|
1214
1219
|
super.onAddFromParent(e);
|
|
1215
1220
|
const t = e.findComponentByName("Editor"), n = t.eventInput, o = t.commandManager;
|
|
1216
1221
|
this.editor.container.add(this.container);
|
|
1217
|
-
const
|
|
1218
|
-
n.addKeyCombination(this.commandName, this.shortcutKeys),
|
|
1222
|
+
const a = 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));
|
|
1223
|
+
n.addKeyCombination(this.commandName, this.shortcutKeys), a.addEventListener("finally", this.createFinally()), a.addEventListener("completed", (s) => this.completed(s.data)), n.addCancelDefaultBehavior(() => n.isOnlyKeyDowns(this.shortcutKeys)), n.addEventListener("codeChange", async () => {
|
|
1219
1224
|
n.isKeyCombination(this.commandName) && await o.start(this.commandName);
|
|
1220
1225
|
});
|
|
1221
1226
|
}
|
|
@@ -1223,36 +1228,36 @@ class Hn extends K {
|
|
|
1223
1228
|
* @param next
|
|
1224
1229
|
*/
|
|
1225
1230
|
selectPoint(e) {
|
|
1226
|
-
let t = this.parent?.findComponentByName("Editor"), n = null, o = new m.Mesh(new m.SphereGeometry(0.05), new m.MeshBasicMaterial({ color: 65280 })),
|
|
1231
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, o = new m.Mesh(new m.SphereGeometry(0.05), new m.MeshBasicMaterial({ color: 65280 })), a = new we([], 16711935), s = new we([
|
|
1227
1232
|
new m.Vector3(-1e4, 0, 0),
|
|
1228
1233
|
new m.Vector3(1e4, 0, 0),
|
|
1229
1234
|
new m.Vector3(0, -1e4, 0),
|
|
1230
1235
|
new m.Vector3(0, 1e4, 0)
|
|
1231
1236
|
], 16711935);
|
|
1232
|
-
|
|
1237
|
+
s.material = new m.LineDashedMaterial({
|
|
1233
1238
|
color: 4235007,
|
|
1234
1239
|
dashSize: 0.1,
|
|
1235
1240
|
gapSize: 0.1,
|
|
1236
1241
|
linewidth: 0.1
|
|
1237
|
-
}), this.container.add(
|
|
1238
|
-
let
|
|
1242
|
+
}), this.container.add(a);
|
|
1243
|
+
let r = null;
|
|
1239
1244
|
this.addEventRecord(
|
|
1240
1245
|
"clear",
|
|
1241
1246
|
t.addEventListener("pointerPositionChange", () => {
|
|
1242
|
-
const { point:
|
|
1243
|
-
n &&
|
|
1247
|
+
const { point: l, find: d } = t.renderManager.adsorption(0.05);
|
|
1248
|
+
n && a.setPoint(n, l), this.dispatchEvent({ type: "pointerMove", point: l }), d ? (o.position.set(l.x, l.y, 0), this.container.add(o), this.domElement.style.cursor = "none", r = l.clone()) : (r = null, o.removeFromParent(), this.domElement.style.cursor = "no-drop");
|
|
1244
1249
|
}),
|
|
1245
1250
|
t.eventInput.addEventListener("codeChange", async () => {
|
|
1246
|
-
if (t.eventInput.isKeyDown("mouse_0") &&
|
|
1251
|
+
if (t.eventInput.isKeyDown("mouse_0") && r) {
|
|
1247
1252
|
if (!n) {
|
|
1248
|
-
n =
|
|
1253
|
+
n = r.clone();
|
|
1249
1254
|
return;
|
|
1250
1255
|
}
|
|
1251
|
-
e([n.clone(),
|
|
1256
|
+
e([n.clone(), r.clone()]);
|
|
1252
1257
|
}
|
|
1253
1258
|
}),
|
|
1254
1259
|
function() {
|
|
1255
|
-
|
|
1260
|
+
a.removeFromParent(), o.removeFromParent(), s.removeFromParent();
|
|
1256
1261
|
}
|
|
1257
1262
|
);
|
|
1258
1263
|
}
|
|
@@ -1264,8 +1269,8 @@ class Hn extends K {
|
|
|
1264
1269
|
end(e, t) {
|
|
1265
1270
|
const n = [];
|
|
1266
1271
|
for (let o = 0; o < t.length; o += 2) {
|
|
1267
|
-
const
|
|
1268
|
-
|
|
1272
|
+
const a = new ce(W.from(t[o]), W.from(t[o + 1]));
|
|
1273
|
+
a.userData.isDoor = !0, a.userData.doorDirectConnection = !0, n.push(a);
|
|
1269
1274
|
}
|
|
1270
1275
|
e(n);
|
|
1271
1276
|
}
|
|
@@ -1288,7 +1293,7 @@ class Hn extends K {
|
|
|
1288
1293
|
return this.completed(e), e;
|
|
1289
1294
|
}
|
|
1290
1295
|
}
|
|
1291
|
-
class
|
|
1296
|
+
class Zn extends V {
|
|
1292
1297
|
static name = "DrawWindow";
|
|
1293
1298
|
container = new m.Group();
|
|
1294
1299
|
interruptKeys = ["escape"];
|
|
@@ -1305,8 +1310,8 @@ class $n extends K {
|
|
|
1305
1310
|
selectPointStart(e) {
|
|
1306
1311
|
let t = null, n = new m.Mesh(new m.SphereGeometry(0.05), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
|
|
1307
1312
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1308
|
-
const { point:
|
|
1309
|
-
this.dispatchEvent({ type: "pointerMove", point:
|
|
1313
|
+
const { point: a, line: s, find: r } = this.editor.renderManager.adsorption();
|
|
1314
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), r ? (this.domElement.style.cursor = "none", n.position.copy(a), o = s, t = a.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
1310
1315
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1311
1316
|
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
|
|
1312
1317
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
@@ -1315,10 +1320,10 @@ class $n extends K {
|
|
|
1315
1320
|
* @param next
|
|
1316
1321
|
*/
|
|
1317
1322
|
selectPointEnd(e, { point: t, line: n }) {
|
|
1318
|
-
let o = null,
|
|
1319
|
-
this.addEventRecord("clear").add(() =>
|
|
1320
|
-
const { point:
|
|
1321
|
-
this.dispatchEvent({ type: "pointerMove", point:
|
|
1323
|
+
let o = null, a = new m.Mesh(new m.SphereGeometry(0.05), new m.MeshBasicMaterial({ color: 16711935 }));
|
|
1324
|
+
this.addEventRecord("clear").add(() => a.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1325
|
+
const { point: s, find: r, line: l } = this.editor.renderManager.adsorption();
|
|
1326
|
+
this.dispatchEvent({ type: "pointerMove", point: s }), r && l === n ? (this.domElement.style.cursor = "none", a.position.copy(s), o = s.clone(), this.container.add(a)) : (this.domElement.style.cursor = "no-drop", o = null, a.removeFromParent());
|
|
1322
1327
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1323
1328
|
this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
|
|
1324
1329
|
}));
|
|
@@ -1329,26 +1334,26 @@ class $n extends K {
|
|
|
1329
1334
|
* @param points
|
|
1330
1335
|
*/
|
|
1331
1336
|
end(e, { start: t, end: n, line: o }) {
|
|
1332
|
-
const
|
|
1333
|
-
p: new m.Vector3(
|
|
1334
|
-
width:
|
|
1335
|
-
full: Math.abs(
|
|
1337
|
+
const a = new ce(W.from(t), W.from(n)), s = a.center, r = a.length(), l = {
|
|
1338
|
+
p: new m.Vector3(s.x, s.y, 0),
|
|
1339
|
+
width: r,
|
|
1340
|
+
full: Math.abs(r - o.length()) < 0.01
|
|
1336
1341
|
};
|
|
1337
|
-
e({ line: o, doorDataItem:
|
|
1342
|
+
e({ line: o, doorDataItem: l });
|
|
1338
1343
|
}
|
|
1339
1344
|
/** 执行完成
|
|
1340
1345
|
*/
|
|
1341
1346
|
completed({ doorDataItem: e, line: t }) {
|
|
1342
|
-
t.userData.isWindow = !0, t.userData.
|
|
1347
|
+
t.userData.isWindow = !0, t.userData.drawWindow || (t.userData.drawWindow = []), t.userData.drawWindow.push(e), this.renderManager.draw();
|
|
1343
1348
|
}
|
|
1344
1349
|
/** 回滚操作
|
|
1345
1350
|
* @param data
|
|
1346
1351
|
*/
|
|
1347
1352
|
rollback(e) {
|
|
1348
1353
|
const { doorDataItem: t, line: n } = e;
|
|
1349
|
-
if (n.userData.
|
|
1350
|
-
const o = n.userData.
|
|
1351
|
-
o !== -1 && (n.userData.
|
|
1354
|
+
if (n.userData.drawWindow) {
|
|
1355
|
+
const o = n.userData.drawWindow.indexOf(t);
|
|
1356
|
+
o !== -1 && (n.userData.drawWindow.splice(o, 1), n.userData.drawWindow.length === 0 && (delete n.userData.drawWindow, delete n.userData.isWindow), this.renderManager.draw());
|
|
1352
1357
|
}
|
|
1353
1358
|
return e;
|
|
1354
1359
|
}
|
|
@@ -1360,7 +1365,7 @@ class $n extends K {
|
|
|
1360
1365
|
return this.completed(e), e;
|
|
1361
1366
|
}
|
|
1362
1367
|
}
|
|
1363
|
-
class
|
|
1368
|
+
class de extends V {
|
|
1364
1369
|
static name = "VerticalCorrection";
|
|
1365
1370
|
container = new m.Group();
|
|
1366
1371
|
shortcutKeys = ["control", "c"];
|
|
@@ -1369,11 +1374,11 @@ class ae extends K {
|
|
|
1369
1374
|
recursion = !1;
|
|
1370
1375
|
onAddFromParent(e) {
|
|
1371
1376
|
super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
|
|
1372
|
-
const t = this.commandManager.addCommandFlow(
|
|
1377
|
+
const t = this.commandManager.addCommandFlow(de.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalCorrection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1373
1378
|
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), t.addEventListener("started", () => {
|
|
1374
1379
|
!this.eventInput.isOnlyKeyDowns(this.shortcutKeys) && !this.eventInput.isOnlyKeyDowns(this.shortcutKeys2) && (this.recursion = !1);
|
|
1375
1380
|
}), this.eventInput.addEventListener("codeChange", async () => {
|
|
1376
|
-
this.eventInput.isOnlyKeyDowns(this.shortcutKeys) ? (this.recursion = !1, this.commandManager.start(
|
|
1381
|
+
this.eventInput.isOnlyKeyDowns(this.shortcutKeys) ? (this.recursion = !1, this.commandManager.start(de.commandName, [...this.default.selectLines])) : this.eventInput.isOnlyKeyDowns(this.shortcutKeys2) && (this.recursion = !0, this.commandManager.start(de.commandName, [...this.default.selectLines]));
|
|
1377
1382
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys) || this.eventInput.isOnlyKeyDowns(this.shortcutKeys2));
|
|
1378
1383
|
}
|
|
1379
1384
|
/**
|
|
@@ -1389,7 +1394,7 @@ class ae extends K {
|
|
|
1389
1394
|
lineIsPathEnd(e) {
|
|
1390
1395
|
for (let t = 0; t < e.points.length; t++) {
|
|
1391
1396
|
const n = e.points[t];
|
|
1392
|
-
if (this.renderManager.pointVirtualGrid.queryPoint(n).filter((
|
|
1397
|
+
if (this.renderManager.pointVirtualGrid.queryPoint(n).filter((a) => !a.point.equal(n)).length === 0) return !0;
|
|
1393
1398
|
}
|
|
1394
1399
|
return !1;
|
|
1395
1400
|
}
|
|
@@ -1407,65 +1412,98 @@ class ae extends K {
|
|
|
1407
1412
|
* @param point2
|
|
1408
1413
|
*/
|
|
1409
1414
|
getSamePointAll(e, t) {
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
line: o.userData
|
|
1416
|
-
};
|
|
1417
|
-
return o.point.copy(s.newPoint), s;
|
|
1418
|
-
});
|
|
1415
|
+
const n = this.renderManager.pointVirtualGrid.queryPoint(e), o = n.filter((a) => t !== a.userData && a.userData?.directionEqual(t));
|
|
1416
|
+
return {
|
|
1417
|
+
queryList: n,
|
|
1418
|
+
parallelList: o
|
|
1419
|
+
};
|
|
1419
1420
|
}
|
|
1420
|
-
/**
|
|
1421
|
-
*
|
|
1422
|
-
* @param
|
|
1421
|
+
/**
|
|
1422
|
+
*
|
|
1423
|
+
* @param line
|
|
1424
|
+
* @param point
|
|
1425
|
+
* @param newPoint
|
|
1423
1426
|
*/
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
const i = a.direction(), d = s.angleBetween(i, "angle");
|
|
1432
|
-
if (!(Math.abs(90 - d) > 20))
|
|
1433
|
-
if (this.isTowLineSegmentConnect(e, a)) {
|
|
1434
|
-
const c = e.start.equal(a.start) || e.start.equal(a.end) ? e.start : e.end, h = a.start.equal(e.start) || a.start.equal(e.end) ? a.end : a.start, f = new ie(
|
|
1435
|
-
h.clone().add(s.clone().multiplyScalar(1)),
|
|
1436
|
-
h.clone().add(s.clone().multiplyScalar(-1))
|
|
1437
|
-
), y = f.projectPoint(c, !1);
|
|
1438
|
-
y && t.push(this.getSamePointAll(h, y));
|
|
1439
|
-
} else
|
|
1440
|
-
console.log("交点");
|
|
1441
|
-
}), this.recursion && o.forEach((a) => this.correction0(a, t, n)), t;
|
|
1427
|
+
setLine(e, t, n, o = []) {
|
|
1428
|
+
e.direction();
|
|
1429
|
+
const a = e.start.equal(t) ? e.start : e.end, s = e.start.equal(t) ? e.end : e.start;
|
|
1430
|
+
e.clone().set(a, s);
|
|
1431
|
+
const { queryList: r, parallelList: l } = this.getSamePointAll(a, e);
|
|
1432
|
+
r.forEach((d) => {
|
|
1433
|
+
});
|
|
1442
1434
|
}
|
|
1443
1435
|
/** 修正2
|
|
1444
1436
|
* 第一步:确定需要修复的线段
|
|
1445
1437
|
* 第二步:查找与该线段相交的其他线段
|
|
1446
1438
|
* 第三步:找出两端点相交的线段,其他为区间相交
|
|
1447
|
-
*
|
|
1448
|
-
*
|
|
1449
|
-
*
|
|
1439
|
+
* 第四步:修正相交的线段的另一个端点
|
|
1440
|
+
* 第五步:判断是否有方向一致的线段,有就调整,调整方法:查找连续平行的线段,求点在线段方向的投影,直到不平行的线段结束
|
|
1441
|
+
* 第六步: 中间线段采用投影修正
|
|
1450
1442
|
* @param targettLine
|
|
1451
1443
|
* @param vistedList
|
|
1452
1444
|
*/
|
|
1453
|
-
correction(e, t = [],
|
|
1454
|
-
if (
|
|
1455
|
-
|
|
1456
|
-
const
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1445
|
+
correction(e, t, n = [], o = /* @__PURE__ */ new Set()) {
|
|
1446
|
+
if (o.has(e)) return;
|
|
1447
|
+
o.add(e);
|
|
1448
|
+
const a = this.renderManager.quadtree.queryLineSegment(e).filter(({ line: d }) => !(d === e || d.userData.isDoor || o.has(d))).map((d) => d.line), s = e.direction(), [r, l] = a.reduce((d, c) => {
|
|
1449
|
+
const [h, y] = d;
|
|
1450
|
+
return t && (c.start.equal(t) || c.end.equal(t)) || (e.sameEndpoint(c) ? h.push(c) : y.push(c)), d;
|
|
1451
|
+
}, [[], []]);
|
|
1452
|
+
return r.filter((d) => {
|
|
1453
|
+
const c = d.direction(), h = s.angleBetween(c, "angle");
|
|
1454
|
+
if (Math.abs(90 - h) > 20) return !1;
|
|
1455
|
+
const w = e.sameEndpointAsStart(d) ? e.start : e.end, b = d.sameEndpointAsStart(e) ? d.end : d.start;
|
|
1456
|
+
if (o.has(b))
|
|
1457
|
+
return !1;
|
|
1458
|
+
const f = new ce(
|
|
1459
|
+
b.clone().add(s.clone().multiplyScalar(1)),
|
|
1460
|
+
b.clone().add(s.clone().multiplyScalar(-1))
|
|
1461
|
+
), M = f.projectPoint(w, !1);
|
|
1462
|
+
if (M) {
|
|
1463
|
+
const { queryList: L, parallelList: A } = this.getSamePointAll(b, d), G = L.map((E) => {
|
|
1464
|
+
const K = {
|
|
1465
|
+
point: E.point,
|
|
1466
|
+
oldPoint: E.point.clone(),
|
|
1467
|
+
newPoint: M,
|
|
1468
|
+
line: E.userData
|
|
1469
|
+
};
|
|
1470
|
+
return o.add(E.point), K;
|
|
1471
|
+
});
|
|
1472
|
+
if (A.length) {
|
|
1473
|
+
let E = A[0].userData, K = d, k = d.clone();
|
|
1474
|
+
k.start.equal(b) ? k.start.copy(M) : k.end.copy(M);
|
|
1475
|
+
const x = /* @__PURE__ */ new Set();
|
|
1476
|
+
for (; E && !x.has(E); ) {
|
|
1477
|
+
x.add(E);
|
|
1478
|
+
const _ = E.sameEndpointAsStart(K) ? E.end : E.start, p = k.projectPoint(_, !1);
|
|
1479
|
+
if (p) {
|
|
1480
|
+
const { queryList: q, parallelList: R } = this.getSamePointAll(_, E);
|
|
1481
|
+
if (K = E.clone(), q.forEach((Y) => {
|
|
1482
|
+
const he = {
|
|
1483
|
+
point: Y.point,
|
|
1484
|
+
oldPoint: Y.point.clone(),
|
|
1485
|
+
newPoint: p,
|
|
1486
|
+
line: Y.userData
|
|
1487
|
+
};
|
|
1488
|
+
G.push(he);
|
|
1489
|
+
}), R.length) {
|
|
1490
|
+
E = R[0].userData;
|
|
1491
|
+
continue;
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
E = null;
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
G.map((E) => E.point.copy(E.newPoint)), n.push(G);
|
|
1498
|
+
}
|
|
1499
|
+
return !1;
|
|
1500
|
+
}), this.recursion && a.forEach((d) => this.correction(d, void 0, n, o)), n;
|
|
1463
1501
|
}
|
|
1464
1502
|
/** 开始
|
|
1465
1503
|
* @param next
|
|
1466
1504
|
*/
|
|
1467
1505
|
verticalCorrection(e, t) {
|
|
1468
|
-
e(this.
|
|
1506
|
+
e(this.correction(t[0]));
|
|
1469
1507
|
}
|
|
1470
1508
|
/** 执行完成
|
|
1471
1509
|
* @param data
|
|
@@ -1473,8 +1511,8 @@ class ae extends K {
|
|
|
1473
1511
|
completed(e) {
|
|
1474
1512
|
e.forEach((t) => {
|
|
1475
1513
|
t.forEach((n) => {
|
|
1476
|
-
const { line: o, newPoint:
|
|
1477
|
-
|
|
1514
|
+
const { line: o, newPoint: a, point: s } = n;
|
|
1515
|
+
s.copy(a), this.renderManager.removeLine(o), this.renderManager.addLine(o);
|
|
1478
1516
|
});
|
|
1479
1517
|
}), this.renderManager.draw();
|
|
1480
1518
|
}
|
|
@@ -1482,12 +1520,14 @@ class ae extends K {
|
|
|
1482
1520
|
* @param data
|
|
1483
1521
|
*/
|
|
1484
1522
|
rollback(e) {
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
a
|
|
1489
|
-
|
|
1490
|
-
|
|
1523
|
+
for (let t = e.length - 1; t >= 0; t--) {
|
|
1524
|
+
const n = e[t];
|
|
1525
|
+
for (let o = n.length - 1; o >= 0; o--) {
|
|
1526
|
+
const a = n[o], { line: s, oldPoint: r, point: l } = a;
|
|
1527
|
+
l.copy(r), this.renderManager.removeLine(s), this.renderManager.addLine(s);
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1530
|
+
return this.renderManager.draw(), e;
|
|
1491
1531
|
}
|
|
1492
1532
|
/** 撤回回滚
|
|
1493
1533
|
* @param lines
|
|
@@ -1497,15 +1537,15 @@ class ae extends K {
|
|
|
1497
1537
|
return this.completed(e), e;
|
|
1498
1538
|
}
|
|
1499
1539
|
}
|
|
1500
|
-
class
|
|
1540
|
+
class X extends V {
|
|
1501
1541
|
static name = "MergeLine";
|
|
1502
1542
|
shortcutKeys = ["control", "g"];
|
|
1503
1543
|
static commandName = "merge-line";
|
|
1504
1544
|
onAddFromParent(e) {
|
|
1505
1545
|
super.onAddFromParent(e);
|
|
1506
|
-
const t = e.findComponentByType(
|
|
1507
|
-
n.addEventListener("finally", this.createFinally()), n.addEventListener("completed", (o) => this.completed(o.data)), this.eventInput.addKeyCombination(
|
|
1508
|
-
t?.selectLines.length === 2 && this.eventInput.isKeyCombination(
|
|
1546
|
+
const t = e.findComponentByType(Be), n = this.commandManager.addCommandFlow(X.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.mergeLine.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1547
|
+
n.addEventListener("finally", this.createFinally()), n.addEventListener("completed", (o) => this.completed(o.data)), this.eventInput.addKeyCombination(X.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1548
|
+
t?.selectLines.length === 2 && this.eventInput.isKeyCombination(X.commandName) && await this.commandManager.start(X.commandName, [...this.default.selectLines]);
|
|
1509
1549
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1510
1550
|
}
|
|
1511
1551
|
/**
|
|
@@ -1520,12 +1560,12 @@ class Q extends K {
|
|
|
1520
1560
|
*/
|
|
1521
1561
|
mergeLine(e, t) {
|
|
1522
1562
|
const n = t[0], o = t[1];
|
|
1523
|
-
for (let
|
|
1524
|
-
const
|
|
1525
|
-
for (let
|
|
1526
|
-
const
|
|
1527
|
-
if (
|
|
1528
|
-
const
|
|
1563
|
+
for (let a = 0; a < n.points.length; a++) {
|
|
1564
|
+
const s = n.points[a];
|
|
1565
|
+
for (let r = 0; r < o.points.length; r++) {
|
|
1566
|
+
const l = o.points[r];
|
|
1567
|
+
if (s.equal(l)) {
|
|
1568
|
+
const d = n.points[(a + 1) % 2], c = o.points[(r + 1) % 2], h = new ce(d, c);
|
|
1529
1569
|
return e({ line1: n, line2: o, newLine: h }), D({ message: "已合并", type: "success" });
|
|
1530
1570
|
}
|
|
1531
1571
|
}
|
|
@@ -1552,13 +1592,13 @@ class Q extends K {
|
|
|
1552
1592
|
return this.completed(e), e;
|
|
1553
1593
|
}
|
|
1554
1594
|
}
|
|
1555
|
-
class
|
|
1595
|
+
class $ extends V {
|
|
1556
1596
|
static name = "DeleteSelectLine";
|
|
1557
1597
|
shortcutKeys = ["Delete"];
|
|
1558
1598
|
static commandName = "deleteSelectLine";
|
|
1559
1599
|
onAddFromParent(e) {
|
|
1560
|
-
super.onAddFromParent(e), this.commandManager.addCommandFlow(
|
|
1561
|
-
this.eventInput.isKeyCombination(
|
|
1600
|
+
super.onAddFromParent(e), this.commandManager.addCommandFlow($.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.delete.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this)).addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination($.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1601
|
+
this.eventInput.isKeyCombination($.commandName) && await this.commandManager.start($.commandName, [...this.default.selectLines]);
|
|
1562
1602
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1563
1603
|
}
|
|
1564
1604
|
/**
|
|
@@ -1587,15 +1627,15 @@ class Z extends K {
|
|
|
1587
1627
|
return e.forEach((t) => this.renderManager.removeLine(t)), e;
|
|
1588
1628
|
}
|
|
1589
1629
|
}
|
|
1590
|
-
class
|
|
1630
|
+
class ee extends V {
|
|
1591
1631
|
static name = "ConnectionLine";
|
|
1592
1632
|
shortcutKeys = ["Shift", "L"];
|
|
1593
1633
|
static commandName = "connectionLine";
|
|
1594
1634
|
onAddFromParent(e) {
|
|
1595
1635
|
super.onAddFromParent(e);
|
|
1596
|
-
const t = this.commandManager.addCommandFlow(
|
|
1597
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1598
|
-
this.eventInput.isKeyCombination(
|
|
1636
|
+
const t = this.commandManager.addCommandFlow(ee.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1637
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(ee.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1638
|
+
this.eventInput.isKeyCombination(ee.commandName) && await this.commandManager.start(ee.commandName, [...this.default.selectLines]);
|
|
1599
1639
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1600
1640
|
}
|
|
1601
1641
|
/**
|
|
@@ -1608,15 +1648,15 @@ class X extends K {
|
|
|
1608
1648
|
* @param next
|
|
1609
1649
|
*/
|
|
1610
1650
|
connection(e, t) {
|
|
1611
|
-
let n, o,
|
|
1612
|
-
for (let
|
|
1613
|
-
for (let
|
|
1614
|
-
const
|
|
1615
|
-
c <
|
|
1651
|
+
let n, o, a = 1 / 0;
|
|
1652
|
+
for (let s = 0; s < 2; s++)
|
|
1653
|
+
for (let r = 0; r < 2; r++) {
|
|
1654
|
+
const l = t[0].points[s], d = t[1].points[r], c = l.distance(d);
|
|
1655
|
+
c < a && (n = l, o = d, a = c);
|
|
1616
1656
|
}
|
|
1617
1657
|
if (n && o) {
|
|
1618
|
-
const
|
|
1619
|
-
e(
|
|
1658
|
+
const s = new ce(n.clone(), o.clone());
|
|
1659
|
+
e(s), D({ message: "连接成功", type: "success" });
|
|
1620
1660
|
} else this.cancel();
|
|
1621
1661
|
}
|
|
1622
1662
|
/** 成功
|
|
@@ -1640,15 +1680,15 @@ class X extends K {
|
|
|
1640
1680
|
return this.completed(e), e;
|
|
1641
1681
|
}
|
|
1642
1682
|
}
|
|
1643
|
-
class
|
|
1683
|
+
class te extends V {
|
|
1644
1684
|
static name = "IntersectionConnectionLine";
|
|
1645
1685
|
shortcutKeys = ["control", "Shift", "L"];
|
|
1646
1686
|
static commandName = "intersectionConnectionLine";
|
|
1647
1687
|
onAddFromParent(e) {
|
|
1648
1688
|
super.onAddFromParent(e);
|
|
1649
|
-
const t = this.commandManager.addCommandFlow(
|
|
1650
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1651
|
-
this.eventInput.isKeyCombination(
|
|
1689
|
+
const t = this.commandManager.addCommandFlow(te.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1690
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(te.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1691
|
+
this.eventInput.isKeyCombination(te.commandName) && await this.commandManager.start(te.commandName, [...this.default.selectLines]);
|
|
1652
1692
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1653
1693
|
}
|
|
1654
1694
|
/**
|
|
@@ -1661,12 +1701,12 @@ class J extends K {
|
|
|
1661
1701
|
* @param next
|
|
1662
1702
|
*/
|
|
1663
1703
|
connection(e, t) {
|
|
1664
|
-
const n = t[0], o = t[1],
|
|
1665
|
-
if (!
|
|
1666
|
-
const
|
|
1667
|
-
n.start.distance(
|
|
1668
|
-
const
|
|
1669
|
-
e({ line1: n, line2: o, oldLine1:
|
|
1704
|
+
const n = t[0], o = t[1], a = t[0].getIntersection(t[1]);
|
|
1705
|
+
if (!a) return;
|
|
1706
|
+
const s = n.points.map((c) => c.clone()), r = o.points.map((c) => c.clone());
|
|
1707
|
+
n.start.distance(a) < n.end.distance(a) ? n.start.copy(a) : n.end.copy(a), o.start.distance(a) < o.end.distance(a) ? o.start.copy(a) : o.end.copy(a);
|
|
1708
|
+
const l = n.points.map((c) => c.clone()), d = o.points.map((c) => c.clone());
|
|
1709
|
+
e({ line1: n, line2: o, oldLine1: s, oldLine2: r, newLine1: l, newLine2: d }), D({ message: "连接成功", type: "success" });
|
|
1670
1710
|
}
|
|
1671
1711
|
/** 执行完成
|
|
1672
1712
|
* @param next
|
|
@@ -1679,8 +1719,8 @@ class J extends K {
|
|
|
1679
1719
|
* @param data
|
|
1680
1720
|
*/
|
|
1681
1721
|
rollback(e) {
|
|
1682
|
-
const { line1: t, line2: n, oldLine1: o, oldLine2:
|
|
1683
|
-
return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...o), n.set(...
|
|
1722
|
+
const { line1: t, line2: n, oldLine1: o, oldLine2: a } = e;
|
|
1723
|
+
return this.renderManager.removeLine(t), this.renderManager.removeLine(n), t.set(...o), n.set(...a), this.renderManager.addLines([t, n]), this.renderManager.draw(), e;
|
|
1684
1724
|
}
|
|
1685
1725
|
/** 撤回回滚
|
|
1686
1726
|
* @param lines
|
|
@@ -1690,15 +1730,15 @@ class J extends K {
|
|
|
1690
1730
|
return this.completed(e), e;
|
|
1691
1731
|
}
|
|
1692
1732
|
}
|
|
1693
|
-
class
|
|
1733
|
+
class ne extends V {
|
|
1694
1734
|
static name = "DeleteSelectWindow";
|
|
1695
1735
|
shortcutKeys = ["Q", "Delete"];
|
|
1696
1736
|
static commandName = "deleteSelectWindow";
|
|
1697
1737
|
onAddFromParent(e) {
|
|
1698
1738
|
super.onAddFromParent(e);
|
|
1699
|
-
const t = this.commandManager.addCommandFlow(
|
|
1700
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1701
|
-
this.eventInput.isKeyCombination(
|
|
1739
|
+
const t = this.commandManager.addCommandFlow(ne.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1740
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(ne.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1741
|
+
this.eventInput.isKeyCombination(ne.commandName) && await this.commandManager.start(ne.commandName, [...this.default.selectLines]);
|
|
1702
1742
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1703
1743
|
}
|
|
1704
1744
|
/**
|
|
@@ -1712,10 +1752,10 @@ class ee extends K {
|
|
|
1712
1752
|
*/
|
|
1713
1753
|
end(e, t) {
|
|
1714
1754
|
let n = !1, o = [];
|
|
1715
|
-
t.forEach((
|
|
1716
|
-
|
|
1717
|
-
line:
|
|
1718
|
-
drawDoorData:
|
|
1755
|
+
t.forEach((a) => {
|
|
1756
|
+
a.userData.isWindow && (o.push({
|
|
1757
|
+
line: a,
|
|
1758
|
+
drawDoorData: a.userData.drawDoorData
|
|
1719
1759
|
}), n = !0);
|
|
1720
1760
|
}), n && D({ message: "删除窗户成功", type: "success" }), e(o);
|
|
1721
1761
|
}
|
|
@@ -1747,16 +1787,16 @@ class ee extends K {
|
|
|
1747
1787
|
return this.completed(e), e;
|
|
1748
1788
|
}
|
|
1749
1789
|
}
|
|
1750
|
-
class
|
|
1790
|
+
class oe extends V {
|
|
1751
1791
|
static name = "SelectAll";
|
|
1752
1792
|
container = new m.Group();
|
|
1753
1793
|
shortcutKeys = ["control", "a"];
|
|
1754
1794
|
static commandName = "selectAll";
|
|
1755
1795
|
onAddFromParent(e) {
|
|
1756
1796
|
super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
|
|
1757
|
-
const t = this.commandManager.addCommandFlow(
|
|
1758
|
-
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1759
|
-
this.eventInput.isKeyCombination(
|
|
1797
|
+
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));
|
|
1798
|
+
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 () => {
|
|
1799
|
+
this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName);
|
|
1760
1800
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1761
1801
|
}
|
|
1762
1802
|
/** 开始
|
|
@@ -1784,15 +1824,15 @@ class te extends K {
|
|
|
1784
1824
|
return this.completed(e), e;
|
|
1785
1825
|
}
|
|
1786
1826
|
}
|
|
1787
|
-
class
|
|
1827
|
+
class ae extends V {
|
|
1788
1828
|
static name = "ViewAngle";
|
|
1789
1829
|
shortcutKeys = ["r"];
|
|
1790
1830
|
static commandName = "viewAngle";
|
|
1791
1831
|
onAddFromParent(e) {
|
|
1792
1832
|
super.onAddFromParent(e);
|
|
1793
|
-
const t = this.commandManager.addCommandFlow(
|
|
1794
|
-
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(
|
|
1795
|
-
this.eventInput.isKeyCombination(
|
|
1833
|
+
const t = this.commandManager.addCommandFlow(ae.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.viewAngle.bind(this));
|
|
1834
|
+
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(ae.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1835
|
+
this.eventInput.isKeyCombination(ae.commandName) && await this.commandManager.start(ae.commandName, [...this.default.selectLines]);
|
|
1796
1836
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1797
1837
|
}
|
|
1798
1838
|
/**
|
|
@@ -1807,96 +1847,96 @@ class ne extends K {
|
|
|
1807
1847
|
* @param selectLines
|
|
1808
1848
|
*/
|
|
1809
1849
|
viewAngle(e, t) {
|
|
1810
|
-
const [n, o] = t,
|
|
1811
|
-
let
|
|
1812
|
-
n.sameEndpointAsStart(o) ? (
|
|
1813
|
-
function h(
|
|
1814
|
-
const
|
|
1815
|
-
let
|
|
1816
|
-
return
|
|
1850
|
+
const [n, o] = t, a = Math.min(0.5, n.length(), o.length());
|
|
1851
|
+
let s, r, l, d = 0, c = 0;
|
|
1852
|
+
n.sameEndpointAsStart(o) ? (s = n.start, r = n.end) : (s = n.end, r = n.start), o.sameEndpointAsStart(n) ? l = o.end : l = o.start;
|
|
1853
|
+
function h(x, _) {
|
|
1854
|
+
const p = _.x - x.x, q = _.y - x.y;
|
|
1855
|
+
let R = Math.atan2(q, p) * (180 / Math.PI);
|
|
1856
|
+
return R < 0 && (R += 360), R;
|
|
1817
1857
|
}
|
|
1818
|
-
const
|
|
1819
|
-
function
|
|
1820
|
-
for (let
|
|
1821
|
-
const
|
|
1822
|
-
|
|
1858
|
+
const y = h(s, r), w = h(s, l), b = Math.min(y, w), f = Math.max(y, w), M = [];
|
|
1859
|
+
function L(x, _) {
|
|
1860
|
+
for (let p = x; p <= _; p++) {
|
|
1861
|
+
const q = Math.cos(p * Math.PI / 180) * a + s.x, R = Math.sin(p * Math.PI / 180) * a + s.y, Y = Math.cos((p + 1) * Math.PI / 180) * a + s.x, he = Math.sin((p + 1) * Math.PI / 180) * a + s.y;
|
|
1862
|
+
M.push(q, R, 0, Y, he, 0);
|
|
1823
1863
|
}
|
|
1824
1864
|
}
|
|
1825
|
-
|
|
1826
|
-
const
|
|
1827
|
-
|
|
1828
|
-
position:
|
|
1829
|
-
},
|
|
1830
|
-
const
|
|
1865
|
+
f - b > 180 ? (L(0, b), L(f, 360), d = 360 - (f - b), c = (f + d / 2) % 360) : (L(b, f), d = f - b, c = b + d / 2);
|
|
1866
|
+
const A = new m.LineSegments();
|
|
1867
|
+
A.geometry = this.renderManager.createGeometry({
|
|
1868
|
+
position: M
|
|
1869
|
+
}, M.length / 3), A.material = new m.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(A);
|
|
1870
|
+
const G = Math.cos(c * Math.PI / 180) * a + s.x, E = Math.sin(c * Math.PI / 180) * a + s.y, K = this.renderer.createText(Number(d.toFixed(2)), new m.Vector3(G, E, 0), {
|
|
1831
1871
|
textShadow: "0px 0px 2px #000"
|
|
1832
1872
|
}, this.renderManager.container);
|
|
1833
|
-
let
|
|
1834
|
-
this.addEventRecord("clear").add(() =>
|
|
1835
|
-
this.eventInput.isOnlyKeyDown("enter") ? e() : this.eventInput.isOnlyKeyDown("mouse_0") && (
|
|
1873
|
+
let k = 0;
|
|
1874
|
+
this.addEventRecord("clear").add(() => A.removeFromParent()).add(() => K.removeFromParent()).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1875
|
+
this.eventInput.isOnlyKeyDown("enter") ? e() : this.eventInput.isOnlyKeyDown("mouse_0") && (k++, k === 1 ? setTimeout(() => k = 0, 500) : k === 2 && (e(), k = 0));
|
|
1836
1876
|
}));
|
|
1837
1877
|
}
|
|
1838
1878
|
}
|
|
1839
|
-
const
|
|
1879
|
+
const Yn = {
|
|
1840
1880
|
key: 0,
|
|
1841
1881
|
class: "mt-[5px] text-[#ccc] text-[11px] absolute left-[10px] bottom-[10px] rounded-[8px] min-w-[150px] bg-black/15 p-[10px]"
|
|
1842
|
-
},
|
|
1882
|
+
}, Xn = { class: "text-start max-w-[150px]" }, $n = { class: "inline-block ml-[10px] text-[var(--color-primary)]" }, eo = {
|
|
1843
1883
|
key: 0,
|
|
1844
1884
|
class: "p-[5px] max-w-[200px]"
|
|
1845
|
-
},
|
|
1885
|
+
}, to = { class: "text-[14px] flex flex-col" }, no = ["onClick"], oo = { class: "flex flex-row items-center" }, ao = { class: "flex justify-center items-center size-[20px] bg-[#f0f0f0] rounded-[2px] mr-[10px]" }, so = ["src"], io = { class: "text-wrap" }, ro = {
|
|
1846
1886
|
key: 1,
|
|
1847
1887
|
class: "text-[#999]"
|
|
1848
|
-
},
|
|
1888
|
+
}, lo = {
|
|
1849
1889
|
style: { "--el-color-primary": "var(--primary-color)" },
|
|
1850
1890
|
class: "flex flex-row items-center justify-between gap-[10px] mt-[10px] text-[10px]"
|
|
1851
|
-
},
|
|
1891
|
+
}, co = {
|
|
1852
1892
|
key: 0,
|
|
1853
1893
|
class: "flex flex-row items-center flex-wrap justify-between gap-[10px] mt-[10px] text-[10px]"
|
|
1854
|
-
},
|
|
1894
|
+
}, mo = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, ho = ["onClick", "title"], uo = ["src"], po = /* @__PURE__ */ me({
|
|
1855
1895
|
__name: "EditorTool",
|
|
1856
1896
|
props: {
|
|
1857
1897
|
dxfSystem: {},
|
|
1858
1898
|
permission: {}
|
|
1859
1899
|
},
|
|
1860
|
-
setup(
|
|
1861
|
-
function e(
|
|
1862
|
-
const
|
|
1863
|
-
|
|
1900
|
+
setup(i) {
|
|
1901
|
+
function e(C, u, v = h.value.getBoundingClientRect(), U = y.value.getBoundingClientRect()) {
|
|
1902
|
+
const ue = v.width - U.width, pe = 0, Le = v.height - U.height;
|
|
1903
|
+
C = Math.max(0, Math.min(C, ue)), u = Math.max(pe, Math.min(u, Le)), k.value = { left: C, top: u };
|
|
1864
1904
|
}
|
|
1865
|
-
function t(
|
|
1866
|
-
|
|
1905
|
+
function t(C) {
|
|
1906
|
+
b.value === C.command || b.value !== "default" || L.commandManager.start(C.command);
|
|
1867
1907
|
}
|
|
1868
|
-
function n(
|
|
1869
|
-
if (
|
|
1870
|
-
localStorage.setItem("lines", JSON.stringify(
|
|
1908
|
+
function n(C) {
|
|
1909
|
+
if (C) {
|
|
1910
|
+
localStorage.setItem("lines", JSON.stringify(C));
|
|
1871
1911
|
try {
|
|
1872
|
-
|
|
1873
|
-
} catch (
|
|
1874
|
-
console.log(
|
|
1912
|
+
f.Dxf.set(C), f.Dxf.lineOffset();
|
|
1913
|
+
} catch (u) {
|
|
1914
|
+
console.log(u);
|
|
1875
1915
|
}
|
|
1876
1916
|
}
|
|
1877
1917
|
}
|
|
1878
1918
|
async function o() {
|
|
1879
|
-
const
|
|
1880
|
-
Array.isArray(
|
|
1919
|
+
const C = await kt.json();
|
|
1920
|
+
Array.isArray(C) && (localStorage.removeItem("orbitControls"), n(C));
|
|
1881
1921
|
}
|
|
1882
|
-
function
|
|
1883
|
-
|
|
1922
|
+
function a({ offsetX: C, offsetY: u }) {
|
|
1923
|
+
M.mouseMoveEventProxylock = !0;
|
|
1884
1924
|
const v = document.body.style.cursor;
|
|
1885
1925
|
document.body.style.cursor = "move";
|
|
1886
|
-
const
|
|
1887
|
-
const
|
|
1926
|
+
const U = (ue) => {
|
|
1927
|
+
const pe = h.value.getBoundingClientRect(), Le = y.value.getBoundingClientRect();
|
|
1888
1928
|
e(
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
),
|
|
1929
|
+
ue.pageX - pe.left - C,
|
|
1930
|
+
ue.pageY - pe.top - u,
|
|
1931
|
+
pe,
|
|
1932
|
+
Le
|
|
1933
|
+
), ue.stopPropagation(), document.body.style.cursor = "move";
|
|
1894
1934
|
}, Me = () => {
|
|
1895
|
-
document.body.removeEventListener("mousemove",
|
|
1935
|
+
document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup", Me), document.body.style.cursor = v, M.mouseMoveEventProxylock = !1;
|
|
1896
1936
|
};
|
|
1897
|
-
document.body.addEventListener("mousemove",
|
|
1937
|
+
document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Me);
|
|
1898
1938
|
}
|
|
1899
|
-
const
|
|
1939
|
+
const s = i, r = S(!0), l = S(!0), d = S(!0), c = S(!1), h = S(), y = S(), w = S(!0), b = S(""), f = St(s.dxfSystem), M = f.findComponentByType(Lt), L = f.findComponentByType(rt), A = f.findComponentByType(Be), G = f.findComponentByType(It), E = S(0), K = S(0), k = S({ left: 10, top: 10 }), x = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": yn, "./assets/images/connection.svg": bn, "./assets/images/deleteSelectLine.svg": xn, "./assets/images/deleteSelectWindow.svg": Mn, "./assets/images/door.svg": kn, "./assets/images/intersectionConnection.svg": Dn, "./assets/images/line.svg": An, "./assets/images/mergeLine.svg": Bn, "./assets/images/revokeRollback.svg": Nn, "./assets/images/rollback.svg": Rn, "./assets/images/selectAll.svg": Fn, "./assets/images/selectPoint.svg": Tn, "./assets/images/verticalCorrection.svg": jn, "./assets/images/window.svg": Qn }), _ = S(!1), p = S(0), q = S(!1), R = new ResizeObserver(() => e(k.value.left, k.value.top)), Y = [
|
|
1900
1940
|
{ name: "开启绘制线段命令", shortcut: "Ctrl + L" },
|
|
1901
1941
|
{ name: "开启绘制门线命令", shortcut: "Ctrl + M" },
|
|
1902
1942
|
{ name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
|
|
@@ -1916,7 +1956,7 @@ const Wn = {
|
|
|
1916
1956
|
{ name: "取消命令", shortcut: "Esc" },
|
|
1917
1957
|
{ name: "回滚操作", shortcut: "Ctrl + Z" },
|
|
1918
1958
|
{ name: "取消回滚操作", shortcut: "Ctrl + Y" }
|
|
1919
|
-
],
|
|
1959
|
+
], he = [
|
|
1920
1960
|
{
|
|
1921
1961
|
command: "default",
|
|
1922
1962
|
name: "默认",
|
|
@@ -1926,7 +1966,7 @@ const Wn = {
|
|
|
1926
1966
|
{
|
|
1927
1967
|
command: "draw-line",
|
|
1928
1968
|
name: "绘制线段",
|
|
1929
|
-
src:
|
|
1969
|
+
src: x["./assets/images/line.svg"].default,
|
|
1930
1970
|
show: !0,
|
|
1931
1971
|
shortcut: "Ctrl + L"
|
|
1932
1972
|
},
|
|
@@ -1934,206 +1974,206 @@ const Wn = {
|
|
|
1934
1974
|
command: "draw-door-line",
|
|
1935
1975
|
name: "绘制门线",
|
|
1936
1976
|
show: !0,
|
|
1937
|
-
src:
|
|
1977
|
+
src: x["./assets/images/door.svg"].default,
|
|
1938
1978
|
shortcut: "Ctrl + M"
|
|
1939
1979
|
},
|
|
1940
1980
|
{
|
|
1941
1981
|
command: "draw-window-line",
|
|
1942
1982
|
name: "绘制窗户线",
|
|
1943
1983
|
show: !0,
|
|
1944
|
-
src:
|
|
1984
|
+
src: x["./assets/images/window.svg"].default,
|
|
1945
1985
|
shortcut: "Ctrl + Q"
|
|
1946
1986
|
},
|
|
1947
1987
|
{
|
|
1948
1988
|
command: "point",
|
|
1949
1989
|
name: "点修改",
|
|
1950
1990
|
show: !0,
|
|
1951
|
-
src:
|
|
1991
|
+
src: x["./assets/images/selectPoint.svg"].default,
|
|
1952
1992
|
shortcut: "Ctrl + P"
|
|
1953
1993
|
}
|
|
1954
|
-
],
|
|
1994
|
+
], dt = [
|
|
1955
1995
|
{
|
|
1956
1996
|
command: "",
|
|
1957
1997
|
name: "操作回滚",
|
|
1958
|
-
src:
|
|
1959
|
-
show:
|
|
1998
|
+
src: x["./assets/images/rollback.svg"].default,
|
|
1999
|
+
show: B(() => E.value !== 0),
|
|
1960
2000
|
shortcut: "Ctrl + Z",
|
|
1961
2001
|
action() {
|
|
1962
|
-
|
|
2002
|
+
L.commandManager.rollback();
|
|
1963
2003
|
}
|
|
1964
2004
|
},
|
|
1965
2005
|
{
|
|
1966
2006
|
command: "",
|
|
1967
2007
|
name: "撤销操作回滚",
|
|
1968
|
-
src:
|
|
1969
|
-
show:
|
|
2008
|
+
src: x["./assets/images/revokeRollback.svg"].default,
|
|
2009
|
+
show: B(() => K.value !== 0),
|
|
1970
2010
|
shortcut: "Ctrl + Y",
|
|
1971
2011
|
class: "rotateY-[180deg]",
|
|
1972
2012
|
action() {
|
|
1973
|
-
|
|
2013
|
+
L.commandManager.revokeRollback();
|
|
1974
2014
|
}
|
|
1975
2015
|
},
|
|
1976
2016
|
{
|
|
1977
|
-
command:
|
|
2017
|
+
command: X.commandName,
|
|
1978
2018
|
name: "合并",
|
|
1979
|
-
src:
|
|
1980
|
-
show:
|
|
2019
|
+
src: x["./assets/images/mergeLine.svg"].default,
|
|
2020
|
+
show: B(() => p.value === 2),
|
|
1981
2021
|
shortcut: "Ctrl + G"
|
|
1982
2022
|
},
|
|
1983
2023
|
{
|
|
1984
|
-
command:
|
|
2024
|
+
command: ee.commandName,
|
|
1985
2025
|
name: "两点连接",
|
|
1986
|
-
show:
|
|
1987
|
-
src:
|
|
2026
|
+
show: B(() => p.value === 2),
|
|
2027
|
+
src: x["./assets/images/connection.svg"].default,
|
|
1988
2028
|
shortcut: "Shift + L"
|
|
1989
2029
|
},
|
|
1990
2030
|
{
|
|
1991
|
-
command:
|
|
2031
|
+
command: te.commandName,
|
|
1992
2032
|
name: "延长线交点连接",
|
|
1993
|
-
show:
|
|
1994
|
-
src:
|
|
2033
|
+
show: B(() => p.value === 2),
|
|
2034
|
+
src: x["./assets/images/intersectionConnection.svg"].default,
|
|
1995
2035
|
shortcut: "Ctrl + Shift + L"
|
|
1996
2036
|
},
|
|
1997
2037
|
{
|
|
1998
|
-
command:
|
|
2038
|
+
command: de.commandName,
|
|
1999
2039
|
name: "线段垂直纠正",
|
|
2000
|
-
show:
|
|
2001
|
-
src:
|
|
2040
|
+
show: B(() => p.value === 1),
|
|
2041
|
+
src: x["./assets/images/verticalCorrection.svg"].default,
|
|
2002
2042
|
shortcut: "Ctrl + C 或 Ctrl + Shift + C"
|
|
2003
2043
|
},
|
|
2004
2044
|
{
|
|
2005
|
-
command:
|
|
2045
|
+
command: ae.commandName,
|
|
2006
2046
|
name: "角度显示",
|
|
2007
|
-
show:
|
|
2008
|
-
src:
|
|
2047
|
+
show: B(() => p.value === 2 && A.selectLines[0].sameEndpoint(A.selectLines[1])),
|
|
2048
|
+
src: x["./assets/images/angle.svg"].default,
|
|
2009
2049
|
shortcut: "r"
|
|
2010
2050
|
},
|
|
2011
2051
|
{
|
|
2012
|
-
command:
|
|
2052
|
+
command: oe.commandName,
|
|
2013
2053
|
name: "全选",
|
|
2014
|
-
show:
|
|
2015
|
-
src:
|
|
2054
|
+
show: B(() => p.value !== L.renderManager.lines.length),
|
|
2055
|
+
src: x["./assets/images/selectAll.svg"].default,
|
|
2016
2056
|
shortcut: "Ctrl + A"
|
|
2017
2057
|
},
|
|
2018
2058
|
{
|
|
2019
|
-
command:
|
|
2059
|
+
command: ne.commandName,
|
|
2020
2060
|
name: "清除窗户",
|
|
2021
|
-
show:
|
|
2022
|
-
src:
|
|
2061
|
+
show: B(() => q.value),
|
|
2062
|
+
src: x["./assets/images/deleteSelectWindow.svg"].default,
|
|
2023
2063
|
shortcut: "Q + Delete"
|
|
2024
2064
|
},
|
|
2025
2065
|
{
|
|
2026
|
-
command:
|
|
2066
|
+
command: $.commandName,
|
|
2027
2067
|
name: "删除",
|
|
2028
|
-
show:
|
|
2029
|
-
src:
|
|
2068
|
+
show: B(() => p.value > 0),
|
|
2069
|
+
src: x["./assets/images/deleteSelectLine.svg"].default,
|
|
2030
2070
|
shortcut: "Delete"
|
|
2031
2071
|
}
|
|
2032
2072
|
];
|
|
2033
|
-
|
|
2034
|
-
localStorage.setItem("toolBarExpand",
|
|
2035
|
-
}),
|
|
2036
|
-
const
|
|
2037
|
-
|
|
2073
|
+
J(k, () => localStorage.setItem("editorToolPosition", JSON.stringify(k.value))), J(_, () => localStorage.setItem("showShortcutKey", _.value + "")), J(w, () => {
|
|
2074
|
+
localStorage.setItem("toolBarExpand", w.value + ""), w.value && be(() => e(k.value.left, k.value.top));
|
|
2075
|
+
}), J(r, () => f.Variable.set("originalLineVisible", r.value)), J(l, () => f.Variable.set("dxfVisible", l.value)), J(d, () => f.Variable.set("whiteModelVisible", d.value)), f.Variable.addEventListener("isLook", (C) => c.value = C.value), f.Variable.addEventListener("originalLineVisible", (C) => r.value = C.value), f.Variable.addEventListener("dxfVisible", (C) => l.value = C.value), f.Variable.addEventListener("whiteModelVisible", (C) => d.value = C.value);
|
|
2076
|
+
const lt = L.commandManager.addEventListener("started", (C) => {
|
|
2077
|
+
b.value = C.name;
|
|
2038
2078
|
});
|
|
2039
|
-
return localStorage.getItem("showShortcutKey") && (
|
|
2040
|
-
|
|
2041
|
-
if (
|
|
2042
|
-
const { left:
|
|
2043
|
-
e(
|
|
2079
|
+
return localStorage.getItem("showShortcutKey") && (_.value = localStorage.getItem("showShortcutKey") === "true"), localStorage.getItem("toolBarExpand") && (w.value = localStorage.getItem("toolBarExpand") === "true"), tt(() => {
|
|
2080
|
+
y.value.style.display = "none", setTimeout(() => {
|
|
2081
|
+
if (y.value.style.display = "block", localStorage.getItem("editorToolPosition")) {
|
|
2082
|
+
const { left: C, top: u } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
|
|
2083
|
+
e(C, u), be(() => R.observe(h.value));
|
|
2044
2084
|
} else
|
|
2045
|
-
|
|
2046
|
-
}, 100),
|
|
2047
|
-
|
|
2048
|
-
}), ["rollback", "completed", "revokeRollback"].forEach((
|
|
2049
|
-
|
|
2085
|
+
be(() => R.observe(h.value));
|
|
2086
|
+
}, 100), A.addEventListener("selectLineChange", () => {
|
|
2087
|
+
p.value = A.selectLines.length, q.value = A.selectLines.some((C) => C.userData.isWindow);
|
|
2088
|
+
}), ["rollback", "completed", "revokeRollback"].forEach((C) => {
|
|
2089
|
+
L.commandManager.addEventListener(C, () => {
|
|
2050
2090
|
setTimeout(() => {
|
|
2051
|
-
|
|
2091
|
+
E.value = L.commandManager.operationList.length, K.value = L.commandManager.rollbackList.length;
|
|
2052
2092
|
});
|
|
2053
2093
|
});
|
|
2054
2094
|
});
|
|
2055
|
-
}),
|
|
2056
|
-
|
|
2057
|
-
}), (
|
|
2095
|
+
}), Bt(() => {
|
|
2096
|
+
M.mouseMoveEventProxylock = !1, lt(), R.disconnect();
|
|
2097
|
+
}), (C, u) => (P(), O("div", {
|
|
2058
2098
|
ref_key: "elRef",
|
|
2059
2099
|
ref: h,
|
|
2060
2100
|
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]"
|
|
2061
2101
|
}, [
|
|
2062
|
-
F(
|
|
2063
|
-
default:
|
|
2064
|
-
|
|
2065
|
-
(
|
|
2102
|
+
F(xe, null, {
|
|
2103
|
+
default: j(() => [
|
|
2104
|
+
_.value ? (P(), O("div", Yn, [
|
|
2105
|
+
(P(), O(fe, null, Ie(Y, (v) => I("div", {
|
|
2066
2106
|
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",
|
|
2067
2107
|
key: v.name
|
|
2068
2108
|
}, [
|
|
2069
|
-
|
|
2070
|
-
|
|
2109
|
+
I("p", Xn, ie(v.name), 1),
|
|
2110
|
+
I("span", $n, ie(v.shortcut), 1)
|
|
2071
2111
|
])), 64))
|
|
2072
|
-
])) :
|
|
2112
|
+
])) : Z("", !0)
|
|
2073
2113
|
]),
|
|
2074
2114
|
_: 1
|
|
2075
2115
|
}),
|
|
2076
|
-
|
|
2116
|
+
I("div", {
|
|
2077
2117
|
ref_key: "toolBarRef",
|
|
2078
|
-
ref:
|
|
2079
|
-
style:
|
|
2080
|
-
class:
|
|
2081
|
-
onMousedown:
|
|
2118
|
+
ref: y,
|
|
2119
|
+
style: Se({ left: k.value.left + "px", top: k.value.top + "px" }),
|
|
2120
|
+
class: T(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": w.value }]),
|
|
2121
|
+
onMousedown: u[9] || (u[9] = (v) => v.stopPropagation())
|
|
2082
2122
|
}, [
|
|
2083
|
-
|
|
2084
|
-
onMousedown:
|
|
2085
|
-
class:
|
|
2123
|
+
I("div", {
|
|
2124
|
+
onMousedown: a,
|
|
2125
|
+
class: T([{ "border-b-[#eee] border-b-1": w.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
|
|
2086
2126
|
}, [
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
onMousedown:
|
|
2090
|
-
onClick:
|
|
2127
|
+
u[11] || (u[11] = _t('<div class="flex flex-row" data-v-304aacf0><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-304aacf0><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-304aacf0><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-304aacf0></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-304aacf0>绘制工具</h5></div>', 1)),
|
|
2128
|
+
I("div", {
|
|
2129
|
+
onMousedown: u[0] || (u[0] = (v) => v.stopPropagation()),
|
|
2130
|
+
onClick: u[1] || (u[1] = (v) => w.value = !w.value),
|
|
2091
2131
|
class: "cursor-pointer flex items-center p-[0px_5px]"
|
|
2092
2132
|
}, [
|
|
2093
|
-
(
|
|
2133
|
+
(P(), O("svg", {
|
|
2094
2134
|
fill: "#666",
|
|
2095
|
-
class:
|
|
2135
|
+
class: T([{ "rotate-90": w.value }, "transition-all"]),
|
|
2096
2136
|
viewBox: "0 0 1024 1024",
|
|
2097
2137
|
version: "1.1",
|
|
2098
2138
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2099
2139
|
width: "12",
|
|
2100
2140
|
height: "12"
|
|
2101
|
-
},
|
|
2102
|
-
|
|
2141
|
+
}, u[10] || (u[10] = [
|
|
2142
|
+
I("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
|
|
2103
2143
|
]), 2))
|
|
2104
2144
|
], 32)
|
|
2105
2145
|
], 34),
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
(
|
|
2146
|
+
w.value ? (P(), O("div", eo, [
|
|
2147
|
+
I("ul", to, [
|
|
2148
|
+
(P(), O(fe, null, Ie(he, (v) => (P(), O(fe, {
|
|
2109
2149
|
key: v.command
|
|
2110
2150
|
}, [
|
|
2111
|
-
v.show ? (
|
|
2151
|
+
v.show ? (P(), O("li", {
|
|
2112
2152
|
key: 0,
|
|
2113
|
-
onClick: (
|
|
2114
|
-
class:
|
|
2115
|
-
"!bg-[var(--primary-color)] text-[#fff]":
|
|
2116
|
-
"!cursor-no-drop":
|
|
2153
|
+
onClick: (U) => t(v),
|
|
2154
|
+
class: T([{
|
|
2155
|
+
"!bg-[var(--primary-color)] text-[#fff]": b.value === v.command,
|
|
2156
|
+
"!cursor-no-drop": b.value !== v.command && b.value !== "default"
|
|
2117
2157
|
}, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
|
|
2118
2158
|
}, [
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2159
|
+
I("div", oo, [
|
|
2160
|
+
I("div", ao, [
|
|
2161
|
+
I("img", {
|
|
2122
2162
|
class: "size-[14px]",
|
|
2123
2163
|
src: v.src,
|
|
2124
2164
|
alt: "",
|
|
2125
2165
|
srcset: ""
|
|
2126
|
-
}, null, 8,
|
|
2166
|
+
}, null, 8, so)
|
|
2127
2167
|
]),
|
|
2128
|
-
|
|
2168
|
+
I("span", io, ie(v.name), 1)
|
|
2129
2169
|
]),
|
|
2130
|
-
|
|
2170
|
+
b.value === v.command ? (P(), O("div", {
|
|
2131
2171
|
key: 0,
|
|
2132
2172
|
title: "取消命令(Esc)",
|
|
2133
2173
|
class: "active:scale-[0.7] transition-all",
|
|
2134
|
-
onClick:
|
|
2135
|
-
},
|
|
2136
|
-
|
|
2174
|
+
onClick: u[2] || (u[2] = (U) => (g(L).cancelCommand(), U.stopPropagation()))
|
|
2175
|
+
}, u[12] || (u[12] = [
|
|
2176
|
+
I("svg", {
|
|
2137
2177
|
fill: "#fff",
|
|
2138
2178
|
width: "16",
|
|
2139
2179
|
height: "16",
|
|
@@ -2141,96 +2181,108 @@ const Wn = {
|
|
|
2141
2181
|
version: "1.1",
|
|
2142
2182
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2143
2183
|
}, [
|
|
2144
|
-
|
|
2145
|
-
|
|
2184
|
+
I("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" }),
|
|
2185
|
+
I("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
|
|
2146
2186
|
], -1)
|
|
2147
|
-
]))) : v.shortcut ? (
|
|
2148
|
-
], 10,
|
|
2187
|
+
]))) : v.shortcut ? (P(), O("div", ro, ie(v.shortcut), 1)) : Z("", !0)
|
|
2188
|
+
], 10, no)) : Z("", !0)
|
|
2149
2189
|
], 64))), 64))
|
|
2150
2190
|
]),
|
|
2151
|
-
|
|
2152
|
-
F(g(
|
|
2191
|
+
I("div", lo, [
|
|
2192
|
+
F(g(Ke), {
|
|
2153
2193
|
size: "small",
|
|
2154
|
-
modelValue:
|
|
2155
|
-
"onUpdate:modelValue":
|
|
2194
|
+
modelValue: _.value,
|
|
2195
|
+
"onUpdate:modelValue": u[3] || (u[3] = (v) => _.value = v),
|
|
2156
2196
|
label: "快捷键提示"
|
|
2157
2197
|
}, null, 8, ["modelValue"]),
|
|
2158
|
-
F(g(
|
|
2198
|
+
F(g(Ke), {
|
|
2159
2199
|
size: "small",
|
|
2160
|
-
modelValue:
|
|
2161
|
-
"onUpdate:modelValue":
|
|
2200
|
+
modelValue: l.value,
|
|
2201
|
+
"onUpdate:modelValue": u[4] || (u[4] = (v) => l.value = v),
|
|
2162
2202
|
label: "dxf"
|
|
2163
2203
|
}, null, 8, ["modelValue"])
|
|
2164
2204
|
]),
|
|
2165
|
-
|
|
2205
|
+
C.permission === "admin" ? (P(), O("div", co, [
|
|
2166
2206
|
F(g(ge), {
|
|
2167
2207
|
style: { padding: "5px", "font-size": "10px" },
|
|
2168
2208
|
size: "small",
|
|
2169
2209
|
type: "success",
|
|
2170
2210
|
onClick: o
|
|
2171
2211
|
}, {
|
|
2172
|
-
default:
|
|
2173
|
-
|
|
2212
|
+
default: j(() => u[13] || (u[13] = [
|
|
2213
|
+
se(" 选择文件 ", -1)
|
|
2174
2214
|
])),
|
|
2175
2215
|
_: 1,
|
|
2176
|
-
__: [
|
|
2216
|
+
__: [13]
|
|
2177
2217
|
}),
|
|
2178
2218
|
F(g(ge), {
|
|
2179
2219
|
style: { padding: "5px", "font-size": "10px" },
|
|
2180
2220
|
size: "small",
|
|
2181
2221
|
type: "primary",
|
|
2182
|
-
onClick:
|
|
2222
|
+
onClick: u[5] || (u[5] = (v) => console.log(g(f).Dxf.originalData))
|
|
2183
2223
|
}, {
|
|
2184
|
-
default:
|
|
2185
|
-
|
|
2224
|
+
default: j(() => u[14] || (u[14] = [
|
|
2225
|
+
se(" 打印Json ", -1)
|
|
2186
2226
|
])),
|
|
2187
2227
|
_: 1,
|
|
2188
|
-
__: [
|
|
2228
|
+
__: [14]
|
|
2189
2229
|
}),
|
|
2190
2230
|
F(g(ge), {
|
|
2191
2231
|
style: { padding: "5px", "font-size": "10px" },
|
|
2192
2232
|
size: "small",
|
|
2193
2233
|
type: "primary",
|
|
2194
|
-
onClick:
|
|
2234
|
+
onClick: u[6] || (u[6] = (v) => g(f).Dxf.download("test.dxf"))
|
|
2195
2235
|
}, {
|
|
2196
|
-
default:
|
|
2197
|
-
|
|
2236
|
+
default: j(() => u[15] || (u[15] = [
|
|
2237
|
+
se(" 下载DXF ", -1)
|
|
2198
2238
|
])),
|
|
2199
2239
|
_: 1,
|
|
2200
|
-
__: [
|
|
2240
|
+
__: [15]
|
|
2201
2241
|
}),
|
|
2202
2242
|
F(g(ge), {
|
|
2203
2243
|
style: { padding: "5px", "font-size": "10px" },
|
|
2204
2244
|
size: "small",
|
|
2205
2245
|
type: "primary",
|
|
2206
|
-
onClick:
|
|
2246
|
+
onClick: u[7] || (u[7] = (v) => g(f).AngleCorrectionDxf.downloadImage("dxf.jpg"))
|
|
2207
2247
|
}, {
|
|
2208
|
-
default:
|
|
2209
|
-
|
|
2248
|
+
default: j(() => u[16] || (u[16] = [
|
|
2249
|
+
se(" 下载JPG ", -1)
|
|
2210
2250
|
])),
|
|
2211
2251
|
_: 1,
|
|
2212
|
-
__: [
|
|
2252
|
+
__: [16]
|
|
2253
|
+
}),
|
|
2254
|
+
F(g(ge), {
|
|
2255
|
+
style: { padding: "5px", "font-size": "10px" },
|
|
2256
|
+
size: "small",
|
|
2257
|
+
type: "primary",
|
|
2258
|
+
onClick: u[8] || (u[8] = (v) => g(G).downloadGltf("test.glb", !0))
|
|
2259
|
+
}, {
|
|
2260
|
+
default: j(() => u[17] || (u[17] = [
|
|
2261
|
+
se(" 下载白膜 ", -1)
|
|
2262
|
+
])),
|
|
2263
|
+
_: 1,
|
|
2264
|
+
__: [17]
|
|
2213
2265
|
})
|
|
2214
|
-
])) :
|
|
2215
|
-
F(
|
|
2216
|
-
default:
|
|
2217
|
-
|
|
2218
|
-
F(
|
|
2219
|
-
default:
|
|
2220
|
-
(
|
|
2221
|
-
onClick: (
|
|
2266
|
+
])) : Z("", !0),
|
|
2267
|
+
F(xe, null, {
|
|
2268
|
+
default: j(() => [
|
|
2269
|
+
I("div", mo, [
|
|
2270
|
+
F(Nt, null, {
|
|
2271
|
+
default: j(() => [
|
|
2272
|
+
(P(), O(fe, null, Ie(dt, (v) => I("div", {
|
|
2273
|
+
onClick: (U) => v.show.value && b.value === "default" && (v.action ? v.action() : g(L).commandManager.start(v.command, [...g(A).selectLines])),
|
|
2222
2274
|
title: `${v.name}(${v.shortcut})`,
|
|
2223
|
-
class:
|
|
2224
|
-
"opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !v.show.value ||
|
|
2275
|
+
class: T(["size-[20px] flex justify-center items-center relative overflow-hidden active:scale-[0.8] border-1 border-[#ccc] rounded-[4px] transition-all cursor-pointer", {
|
|
2276
|
+
"opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !v.show.value || b.value !== "default",
|
|
2225
2277
|
[v.class ?? ""]: !0
|
|
2226
2278
|
}]),
|
|
2227
2279
|
key: v.command
|
|
2228
2280
|
}, [
|
|
2229
|
-
|
|
2281
|
+
I("img", {
|
|
2230
2282
|
class: "size-[14px]",
|
|
2231
2283
|
src: v.src
|
|
2232
|
-
}, null, 8,
|
|
2233
|
-
], 10,
|
|
2284
|
+
}, null, 8, uo)
|
|
2285
|
+
], 10, ho)), 64))
|
|
2234
2286
|
]),
|
|
2235
2287
|
_: 1
|
|
2236
2288
|
})
|
|
@@ -2238,17 +2290,17 @@ const Wn = {
|
|
|
2238
2290
|
]),
|
|
2239
2291
|
_: 1
|
|
2240
2292
|
})
|
|
2241
|
-
])) :
|
|
2293
|
+
])) : Z("", !0)
|
|
2242
2294
|
], 38)
|
|
2243
2295
|
], 512));
|
|
2244
2296
|
}
|
|
2245
|
-
}),
|
|
2246
|
-
const t =
|
|
2297
|
+
}), go = (i, e) => {
|
|
2298
|
+
const t = i.__vccOpts || i;
|
|
2247
2299
|
for (const [n, o] of e)
|
|
2248
2300
|
t[n] = o;
|
|
2249
2301
|
return t;
|
|
2250
|
-
},
|
|
2251
|
-
let rt = class extends
|
|
2302
|
+
}, vo = /* @__PURE__ */ go(po, [["__scopeId", "data-v-304aacf0"]]);
|
|
2303
|
+
let rt = class extends Ee {
|
|
2252
2304
|
static name = "Editor";
|
|
2253
2305
|
container = new m.Group();
|
|
2254
2306
|
get renderer() {
|
|
@@ -2288,7 +2340,7 @@ let rt = class extends be {
|
|
|
2288
2340
|
this.domContainer.domElement.parentElement && (this.domContainer.domElement.parentElement.appendChild(this.domElement), t());
|
|
2289
2341
|
});
|
|
2290
2342
|
setTimeout(() => {
|
|
2291
|
-
this.app =
|
|
2343
|
+
this.app = Ot(vo, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
|
|
2292
2344
|
});
|
|
2293
2345
|
}
|
|
2294
2346
|
/**
|
|
@@ -2306,20 +2358,20 @@ let rt = class extends be {
|
|
|
2306
2358
|
* 打开编辑器
|
|
2307
2359
|
*/
|
|
2308
2360
|
openEdit() {
|
|
2309
|
-
const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls,
|
|
2310
|
-
this.container.position.z = n.originalZAverage, e.scene.add(this.container), o && (
|
|
2311
|
-
const
|
|
2312
|
-
e.renderer.getSize(
|
|
2313
|
-
const
|
|
2314
|
-
h.set(
|
|
2315
|
-
const
|
|
2316
|
-
|
|
2361
|
+
const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, a = e.camera, s = n.box.center, r = e.camera.position.clone(), l = o?.target?.clone(), d = new m.Vector2(), c = new m.Raycaster(), h = this.coords, y = this.pointerPosition;
|
|
2362
|
+
this.container.position.z = n.originalZAverage, e.scene.add(this.container), o && (a.position.set(s.x, s.y, 15), o.target.set(s.x, s.y, 0), o.enableRotate = !1);
|
|
2363
|
+
const w = () => {
|
|
2364
|
+
e.renderer.getSize(d);
|
|
2365
|
+
const b = t.pointer.x / d.x * 2 - 1, f = -(t.pointer.y / d.y * 2 - 1);
|
|
2366
|
+
h.set(b, f), c.setFromCamera(h, e.camera.children.length ? e.camera.children[0] : e.camera);
|
|
2367
|
+
const M = c.intersectObject(this.plane);
|
|
2368
|
+
M.length && (y.copy(M[0].point), this.dispatchEvent({
|
|
2317
2369
|
type: "pointerPositionChange",
|
|
2318
|
-
position:
|
|
2370
|
+
position: y
|
|
2319
2371
|
}));
|
|
2320
2372
|
};
|
|
2321
|
-
t.addEventListener("mousemove",
|
|
2322
|
-
t.removeEventListener("mousemove",
|
|
2373
|
+
t.addEventListener("mousemove", w), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
|
|
2374
|
+
t.removeEventListener("mousemove", w), o && (a.position.copy(r), o.enableRotate = !0, o.target.copy(l));
|
|
2323
2375
|
};
|
|
2324
2376
|
}
|
|
2325
2377
|
/**
|
|
@@ -2332,7 +2384,7 @@ let rt = class extends be {
|
|
|
2332
2384
|
super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount();
|
|
2333
2385
|
}
|
|
2334
2386
|
};
|
|
2335
|
-
class
|
|
2387
|
+
class fo extends V {
|
|
2336
2388
|
static name = "PointDrag";
|
|
2337
2389
|
container = new m.Group();
|
|
2338
2390
|
interruptKeys = ["escape"];
|
|
@@ -2349,8 +2401,8 @@ class uo extends K {
|
|
|
2349
2401
|
selectPoint(e) {
|
|
2350
2402
|
let t = null, n = new m.Mesh(new m.SphereGeometry(0.05), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
|
|
2351
2403
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2352
|
-
const { point:
|
|
2353
|
-
this.dispatchEvent({ type: "pointerMove", point:
|
|
2404
|
+
const { point: a, line: s, find: r, mode: l } = this.editor.renderManager.adsorption();
|
|
2405
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), r && l === "point" ? (this.domElement.style.cursor = "none", n.position.copy(a), o = s, t = a.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
2354
2406
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2355
2407
|
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: o }));
|
|
2356
2408
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
@@ -2362,19 +2414,19 @@ class uo extends K {
|
|
|
2362
2414
|
*/
|
|
2363
2415
|
drag(e, { point: t, line: n }) {
|
|
2364
2416
|
this.domElement.style.cursor = "crosshair";
|
|
2365
|
-
const o = n.start.equal(
|
|
2366
|
-
this.container.add(
|
|
2367
|
-
let { point:
|
|
2368
|
-
if (
|
|
2369
|
-
if (this.dispatchEvent({ type: "pointerMove", point:
|
|
2370
|
-
const
|
|
2371
|
-
|
|
2417
|
+
const o = n.start.equal(W.from(t)) ? "start" : "end", a = o == "start" ? new m.Vector3(n.end.x, n.end.y, 0) : new m.Vector3(n.start.x, n.start.y, 0), s = t.clone(), r = new we([a, s], 16711935), l = new m.Mesh(new m.SphereGeometry(0.03), new m.MeshBasicMaterial({ color: 16711935 }));
|
|
2418
|
+
this.container.add(r), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2419
|
+
let { point: d, find: c } = this.editor.renderManager.adsorption(), h = "none";
|
|
2420
|
+
if (d) {
|
|
2421
|
+
if (this.dispatchEvent({ type: "pointerMove", point: d }), this.eventInput.isKeyDown("shift")) {
|
|
2422
|
+
const y = n.projectPoint(W.from(d), !1);
|
|
2423
|
+
d.set(y?.x ?? d.x, y?.y ?? d.y, 0), c = !0, h = "crosshair";
|
|
2372
2424
|
}
|
|
2373
|
-
c ? (
|
|
2425
|
+
c ? (l.position.copy(d), this.container.add(l)) : (l.removeFromParent(), h = "crosshair"), s.copy(d), r.setPoint(a, s), this.domElement.style.cursor = h;
|
|
2374
2426
|
}
|
|
2375
2427
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2376
|
-
this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point:
|
|
2377
|
-
})).add(() =>
|
|
2428
|
+
this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: s, oldPoint: o === "end" ? n.end.clone() : n.start.clone(), line: n, mode: o }));
|
|
2429
|
+
})).add(() => l.removeFromParent()).add(() => r.removeFromParent());
|
|
2378
2430
|
}
|
|
2379
2431
|
/** 执行完成
|
|
2380
2432
|
*/
|
|
@@ -2397,15 +2449,43 @@ class uo extends K {
|
|
|
2397
2449
|
return this.completed(e), e;
|
|
2398
2450
|
}
|
|
2399
2451
|
}
|
|
2400
|
-
|
|
2401
|
-
|
|
2452
|
+
class re extends V {
|
|
2453
|
+
static name = "VerticalReferenceLine";
|
|
2454
|
+
shortcutKeys = ["v"];
|
|
2455
|
+
static commandName = "VerticalReferenceLine";
|
|
2456
|
+
onAddFromParent(e) {
|
|
2457
|
+
super.onAddFromParent(e);
|
|
2458
|
+
const t = this.commandManager.addCommandFlow(re.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalReferenceLine.bind(this));
|
|
2459
|
+
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(re.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
2460
|
+
this.eventInput.isKeyCombination(re.commandName) && await this.commandManager.start(re.commandName, [...this.default.selectLines]);
|
|
2461
|
+
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
2462
|
+
}
|
|
2463
|
+
/**
|
|
2464
|
+
* 进入命令约束
|
|
2465
|
+
*/
|
|
2466
|
+
constraint(e, t) {
|
|
2467
|
+
Array.isArray(t) ? t.length !== 1 ? (D({ message: "请选择一条线段", type: "warning" }), this.cancel()) : e(t) : (D({ message: "进入命令失败", type: "warning" }), this.cancel());
|
|
2468
|
+
}
|
|
2469
|
+
/**
|
|
2470
|
+
*
|
|
2471
|
+
* @param next
|
|
2472
|
+
* @param selectLines
|
|
2473
|
+
*/
|
|
2474
|
+
verticalReferenceLine(e, t) {
|
|
2475
|
+
this.renderManager.lines.forEach((n) => {
|
|
2476
|
+
delete n.userData.isVerticalReferenceLine;
|
|
2477
|
+
}), t[0].userData.isVerticalReferenceLine = !0, e(), this.renderManager.draw();
|
|
2478
|
+
}
|
|
2479
|
+
}
|
|
2480
|
+
function We(i, e = {}) {
|
|
2481
|
+
i.addComponent(new rt(e.viewPermission)), i.addComponent(new qn()), i.addComponent(new Be()), i.addComponent(new pn()), i.addComponent(new Un()), i.addComponent(new Zn()), i.addComponent(new fo()), i.addComponent(new $()), i.addComponent(new X()), i.addComponent(new de()), i.addComponent(new ee()), i.addComponent(new te()), i.addComponent(new ne()), i.addComponent(new oe()), i.addComponent(new ae()), i.addComponent(new re());
|
|
2402
2482
|
}
|
|
2403
|
-
const
|
|
2404
|
-
create(
|
|
2405
|
-
return (e) =>
|
|
2483
|
+
const Lo = Object.assign(We, {
|
|
2484
|
+
create(i = {}) {
|
|
2485
|
+
return (e) => We(e, i);
|
|
2406
2486
|
}
|
|
2407
2487
|
});
|
|
2408
2488
|
export {
|
|
2409
|
-
|
|
2410
|
-
|
|
2489
|
+
Lo as Editor,
|
|
2490
|
+
We as Editor_
|
|
2411
2491
|
};
|