build-dxf 0.0.21 → 0.0.22
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 +29 -2
- package/src/index2.js +10 -10
- package/src/index3.js +601 -525
- package/src/utils/DxfSystem/components/AngleCorrectionDxf.d.ts +4 -1
- package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/CommandFlowComponent.d.ts +11 -0
- package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/Default.d.ts +2 -6
- package/src/utils/Quadtree/LineSegment.d.ts +0 -1
- package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/VerticalCorrection copy.d.ts +0 -82
package/src/index3.js
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
1
|
import * as m from "three";
|
|
2
|
-
import { i as mt, n as ht, r as Je, t as qe, c as
|
|
3
|
-
import { C as
|
|
2
|
+
import { i as mt, n as ht, r as Je, t as qe, c as Pe, d as ut, e as pt, f as De, g as Q, _ as Ze, u as gt, h as ve, j as Be, w as vt, k as ft, l as yt, p as wt, m as bt, o as Ct, T as Ne, q as Re, s as xt, v as Et, x as Oe, y as Ie, z as Le, A as Mt, B as Lt, L as fe, D as kt, b as Fe, E as ue, S as It } from "./selectLocalFile.js";
|
|
3
|
+
import { C as Se, P as A, L as B, B as Ye, E as Xe, b as Ke, Q as ze, u as Pt, W as Dt } 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 ot(
|
|
7
|
+
import { watch as W, ref as S, defineComponent as ce, computed as P, createElementBlock as R, openBlock as I, normalizeClass as j, unref as y, renderSlot as we, createVNode as z, Transition as be, withCtx as V, withDirectives as $e, createElementVNode as k, normalizeStyle as Ae, createTextVNode as ie, toDisplayString as re, vShow as et, shallowReactive as St, onMounted as tt, createBlock as pe, createCommentVNode as J, resolveDynamicComponent as At, Fragment as ge, withModifiers as _t, nextTick as ye, isVNode as nt, render as Te, toRaw as Bt, onUnmounted as Nt, renderList as ke, createStaticVNode as Rt, TransitionGroup as Ot, createApp as Ft } from "vue";
|
|
8
|
+
function ot(d) {
|
|
9
9
|
var e;
|
|
10
|
-
const t = Je(
|
|
10
|
+
const t = Je(d);
|
|
11
11
|
return (e = t?.$el) != null ? e : t;
|
|
12
12
|
}
|
|
13
|
-
const st =
|
|
14
|
-
function Kt(...
|
|
13
|
+
const st = Pe ? window : void 0;
|
|
14
|
+
function Kt(...d) {
|
|
15
15
|
let e, t, n, o;
|
|
16
|
-
if (mt(
|
|
16
|
+
if (mt(d[0]) || Array.isArray(d[0]) ? ([t, n, o] = d, e = st) : [e, t, n, o] = d, !e)
|
|
17
17
|
return ht;
|
|
18
18
|
Array.isArray(t) || (t = [t]), Array.isArray(n) || (n = [n]);
|
|
19
19
|
const s = [], a = () => {
|
|
20
|
-
s.forEach((
|
|
21
|
-
},
|
|
22
|
-
a(),
|
|
23
|
-
}, { immediate: !0, flush: "post" }),
|
|
24
|
-
|
|
20
|
+
s.forEach((c) => c()), s.length = 0;
|
|
21
|
+
}, r = (c, h, f, u) => (c.addEventListener(h, f, u), () => c.removeEventListener(h, f, u)), l = W(() => [ot(e), Je(o)], ([c, h]) => {
|
|
22
|
+
a(), c && s.push(...t.flatMap((f) => n.map((u) => r(c, f, u, h))));
|
|
23
|
+
}, { immediate: !0, flush: "post" }), i = () => {
|
|
24
|
+
l(), a();
|
|
25
25
|
};
|
|
26
|
-
return qe(
|
|
26
|
+
return qe(i), i;
|
|
27
27
|
}
|
|
28
|
-
function zt(
|
|
29
|
-
const t =
|
|
28
|
+
function zt(d, e = !1) {
|
|
29
|
+
const t = S(), n = () => t.value = !!d();
|
|
30
30
|
return n(), ut(n, e), t;
|
|
31
31
|
}
|
|
32
|
-
const
|
|
33
|
-
Ve
|
|
34
|
-
var Ge = Object.getOwnPropertySymbols, Tt = Object.prototype.hasOwnProperty,
|
|
32
|
+
const je = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Ve = "__vueuse_ssr_handlers__";
|
|
33
|
+
je[Ve] = je[Ve] || {};
|
|
34
|
+
var Ge = Object.getOwnPropertySymbols, Tt = Object.prototype.hasOwnProperty, jt = Object.prototype.propertyIsEnumerable, Vt = (d, e) => {
|
|
35
35
|
var t = {};
|
|
36
|
-
for (var n in
|
|
37
|
-
Tt.call(
|
|
38
|
-
if (
|
|
39
|
-
for (var n of Ge(
|
|
40
|
-
e.indexOf(n) < 0 &&
|
|
36
|
+
for (var n in d)
|
|
37
|
+
Tt.call(d, n) && e.indexOf(n) < 0 && (t[n] = d[n]);
|
|
38
|
+
if (d != null && Ge)
|
|
39
|
+
for (var n of Ge(d))
|
|
40
|
+
e.indexOf(n) < 0 && jt.call(d, n) && (t[n] = d[n]);
|
|
41
41
|
return t;
|
|
42
42
|
};
|
|
43
|
-
function Gt(
|
|
44
|
-
const n = t, { window: o = st } = n, s =
|
|
43
|
+
function Gt(d, e, t = {}) {
|
|
44
|
+
const n = t, { window: o = st } = n, s = Vt(n, ["window"]);
|
|
45
45
|
let a;
|
|
46
|
-
const
|
|
46
|
+
const r = zt(() => o && "ResizeObserver" in o), l = () => {
|
|
47
47
|
a && (a.disconnect(), a = void 0);
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
}, { immediate: !0, flush: "post" }),
|
|
51
|
-
|
|
48
|
+
}, i = W(() => ot(d), (h) => {
|
|
49
|
+
l(), r.value && o && h && (a = new ResizeObserver(e), a.observe(h, s));
|
|
50
|
+
}, { immediate: !0, flush: "post" }), c = () => {
|
|
51
|
+
l(), i();
|
|
52
52
|
};
|
|
53
|
-
return qe(
|
|
54
|
-
isSupported:
|
|
55
|
-
stop:
|
|
53
|
+
return qe(c), {
|
|
54
|
+
isSupported: r,
|
|
55
|
+
stop: c
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
58
|
var Qe;
|
|
59
|
-
(function(
|
|
60
|
-
|
|
59
|
+
(function(d) {
|
|
60
|
+
d.UP = "UP", d.RIGHT = "RIGHT", d.DOWN = "DOWN", d.LEFT = "LEFT", d.NONE = "NONE";
|
|
61
61
|
})(Qe || (Qe = {}));
|
|
62
|
-
var Qt = Object.defineProperty, He = Object.getOwnPropertySymbols, Ht = Object.prototype.hasOwnProperty, Wt = Object.prototype.propertyIsEnumerable, We = (
|
|
62
|
+
var Qt = Object.defineProperty, He = Object.getOwnPropertySymbols, Ht = Object.prototype.hasOwnProperty, Wt = Object.prototype.propertyIsEnumerable, We = (d, e, t) => e in d ? Qt(d, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[e] = t, Ut = (d, e) => {
|
|
63
63
|
for (var t in e || (e = {}))
|
|
64
|
-
Ht.call(e, t) && We(
|
|
64
|
+
Ht.call(e, t) && We(d, t, e[t]);
|
|
65
65
|
if (He)
|
|
66
66
|
for (var t of He(e))
|
|
67
|
-
Wt.call(e, t) && We(
|
|
68
|
-
return
|
|
67
|
+
Wt.call(e, t) && We(d, t, e[t]);
|
|
68
|
+
return d;
|
|
69
69
|
};
|
|
70
70
|
const Jt = {
|
|
71
71
|
easeInSine: [0.12, 0, 0.39, 0],
|
|
@@ -96,9 +96,9 @@ const Jt = {
|
|
|
96
96
|
Ut({
|
|
97
97
|
linear: pt
|
|
98
98
|
}, Jt);
|
|
99
|
-
const qt = (
|
|
99
|
+
const qt = (d) => d, Zt = {
|
|
100
100
|
esc: "Escape"
|
|
101
|
-
}, Yt =
|
|
101
|
+
}, Yt = De({
|
|
102
102
|
value: {
|
|
103
103
|
type: [String, Number],
|
|
104
104
|
default: ""
|
|
@@ -120,10 +120,10 @@ const qt = (r) => r, Zt = {
|
|
|
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: {
|
|
@@ -134,45 +134,45 @@ const qt = (r) => r, Zt = {
|
|
|
134
134
|
}), $t = /* @__PURE__ */ ce({
|
|
135
135
|
...Xt,
|
|
136
136
|
props: Yt,
|
|
137
|
-
setup(
|
|
138
|
-
const t =
|
|
139
|
-
var a,
|
|
137
|
+
setup(d, { expose: e }) {
|
|
138
|
+
const t = d, n = gt("badge"), o = P(() => t.isDot ? "" : ve(t.value) && ve(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), s = P(() => {
|
|
139
|
+
var a, r, l, i, c;
|
|
140
140
|
return [
|
|
141
141
|
{
|
|
142
142
|
backgroundColor: t.color,
|
|
143
|
-
marginRight: Be(-((
|
|
144
|
-
marginTop: Be((
|
|
143
|
+
marginRight: Be(-((r = (a = t.offset) == null ? void 0 : a[0]) != null ? r : 0)),
|
|
144
|
+
marginTop: Be((i = (l = t.offset) == null ? void 0 : l[1]) != null ? i : 0)
|
|
145
145
|
},
|
|
146
|
-
(
|
|
146
|
+
(c = t.badgeStyle) != null ? c : {}
|
|
147
147
|
];
|
|
148
148
|
});
|
|
149
149
|
return e({
|
|
150
150
|
content: o
|
|
151
|
-
}), (a,
|
|
152
|
-
class:
|
|
151
|
+
}), (a, r) => (I(), R("div", {
|
|
152
|
+
class: j(y(n).b())
|
|
153
153
|
}, [
|
|
154
154
|
we(a.$slots, "default"),
|
|
155
|
-
|
|
156
|
-
name: `${
|
|
155
|
+
z(be, {
|
|
156
|
+
name: `${y(n).namespace.value}-zoom-in-center`,
|
|
157
157
|
persisted: ""
|
|
158
158
|
}, {
|
|
159
|
-
default:
|
|
159
|
+
default: V(() => [
|
|
160
160
|
$e(k("sup", {
|
|
161
|
-
class:
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
class: j([
|
|
162
|
+
y(n).e("content"),
|
|
163
|
+
y(n).em("content", a.type),
|
|
164
|
+
y(n).is("fixed", !!a.$slots.default),
|
|
165
|
+
y(n).is("dot", a.isDot),
|
|
166
|
+
y(n).is("hide-zero", !a.showZero && t.value === 0),
|
|
167
167
|
a.badgeClass
|
|
168
168
|
]),
|
|
169
|
-
style:
|
|
169
|
+
style: Ae(y(s))
|
|
170
170
|
}, [
|
|
171
|
-
we(a.$slots, "content", { value:
|
|
172
|
-
ie(re(
|
|
171
|
+
we(a.$slots, "content", { value: y(o) }, () => [
|
|
172
|
+
ie(re(y(o)), 1)
|
|
173
173
|
])
|
|
174
174
|
], 6), [
|
|
175
|
-
[et, !a.hidden && (
|
|
175
|
+
[et, !a.hidden && (y(o) || a.isDot || a.$slots.content)]
|
|
176
176
|
])
|
|
177
177
|
]),
|
|
178
178
|
_: 3
|
|
@@ -181,36 +181,36 @@ const qt = (r) => r, Zt = {
|
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
183
|
var en = /* @__PURE__ */ Ze($t, [["__file", "badge.vue"]]);
|
|
184
|
-
const tn = vt(en), nn =
|
|
184
|
+
const tn = vt(en), nn = De({
|
|
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
192
|
size: yt,
|
|
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: {
|
|
@@ -218,15 +218,15 @@ const tn = vt(en), nn = Ae({
|
|
|
218
218
|
default: "el"
|
|
219
219
|
},
|
|
220
220
|
...ft
|
|
221
|
-
}),
|
|
221
|
+
}), T = {};
|
|
222
222
|
ce({
|
|
223
223
|
name: "ElConfigProvider",
|
|
224
224
|
props: nn,
|
|
225
|
-
setup(
|
|
226
|
-
const t = wt(
|
|
227
|
-
return
|
|
225
|
+
setup(d, { slots: e }) {
|
|
226
|
+
const t = wt(d);
|
|
227
|
+
return W(() => d.message, (n) => {
|
|
228
228
|
var o, s;
|
|
229
|
-
Object.assign(
|
|
229
|
+
Object.assign(T, (s = (o = t?.value) == null ? void 0 : o.message) != null ? s : {}, n ?? {});
|
|
230
230
|
}, { immediate: !0, deep: !0 }), () => we(e, "default", { config: t?.value });
|
|
231
231
|
}
|
|
232
232
|
});
|
|
@@ -236,7 +236,7 @@ const at = [
|
|
|
236
236
|
"info",
|
|
237
237
|
"warning",
|
|
238
238
|
"error"
|
|
239
|
-
],
|
|
239
|
+
], N = qt({
|
|
240
240
|
customClass: "",
|
|
241
241
|
dangerouslyUseHTMLString: !1,
|
|
242
242
|
duration: 3e3,
|
|
@@ -251,179 +251,179 @@ const at = [
|
|
|
251
251
|
zIndex: 0,
|
|
252
252
|
grouping: !1,
|
|
253
253
|
repeatNum: 1,
|
|
254
|
-
appendTo:
|
|
255
|
-
}), on =
|
|
254
|
+
appendTo: Pe ? document.body : void 0
|
|
255
|
+
}), on = De({
|
|
256
256
|
customClass: {
|
|
257
257
|
type: String,
|
|
258
|
-
default:
|
|
258
|
+
default: N.customClass
|
|
259
259
|
},
|
|
260
260
|
dangerouslyUseHTMLString: {
|
|
261
261
|
type: Boolean,
|
|
262
|
-
default:
|
|
262
|
+
default: N.dangerouslyUseHTMLString
|
|
263
263
|
},
|
|
264
264
|
duration: {
|
|
265
265
|
type: Number,
|
|
266
|
-
default:
|
|
266
|
+
default: N.duration
|
|
267
267
|
},
|
|
268
268
|
icon: {
|
|
269
269
|
type: bt,
|
|
270
|
-
default:
|
|
270
|
+
default: N.icon
|
|
271
271
|
},
|
|
272
272
|
id: {
|
|
273
273
|
type: String,
|
|
274
|
-
default:
|
|
274
|
+
default: N.id
|
|
275
275
|
},
|
|
276
276
|
message: {
|
|
277
|
-
type:
|
|
277
|
+
type: Q([
|
|
278
278
|
String,
|
|
279
279
|
Object,
|
|
280
280
|
Function
|
|
281
281
|
]),
|
|
282
|
-
default:
|
|
282
|
+
default: N.message
|
|
283
283
|
},
|
|
284
284
|
onClose: {
|
|
285
|
-
type:
|
|
286
|
-
default:
|
|
285
|
+
type: Q(Function),
|
|
286
|
+
default: N.onClose
|
|
287
287
|
},
|
|
288
288
|
showClose: {
|
|
289
289
|
type: Boolean,
|
|
290
|
-
default:
|
|
290
|
+
default: N.showClose
|
|
291
291
|
},
|
|
292
292
|
type: {
|
|
293
293
|
type: String,
|
|
294
294
|
values: at,
|
|
295
|
-
default:
|
|
295
|
+
default: N.type
|
|
296
296
|
},
|
|
297
297
|
plain: {
|
|
298
298
|
type: Boolean,
|
|
299
|
-
default:
|
|
299
|
+
default: N.plain
|
|
300
300
|
},
|
|
301
301
|
offset: {
|
|
302
302
|
type: Number,
|
|
303
|
-
default:
|
|
303
|
+
default: N.offset
|
|
304
304
|
},
|
|
305
305
|
zIndex: {
|
|
306
306
|
type: Number,
|
|
307
|
-
default:
|
|
307
|
+
default: N.zIndex
|
|
308
308
|
},
|
|
309
309
|
grouping: {
|
|
310
310
|
type: Boolean,
|
|
311
|
-
default:
|
|
311
|
+
default: N.grouping
|
|
312
312
|
},
|
|
313
313
|
repeatNum: {
|
|
314
314
|
type: Number,
|
|
315
|
-
default:
|
|
315
|
+
default: N.repeatNum
|
|
316
316
|
}
|
|
317
317
|
}), sn = {
|
|
318
318
|
destroy: () => !0
|
|
319
|
-
},
|
|
320
|
-
const e =
|
|
319
|
+
}, H = St([]), an = (d) => {
|
|
320
|
+
const e = H.findIndex((o) => o.id === d), t = H[e];
|
|
321
321
|
let n;
|
|
322
|
-
return e > 0 && (n =
|
|
323
|
-
}, rn = (
|
|
324
|
-
const { prev: e } = an(
|
|
322
|
+
return e > 0 && (n = H[e - 1]), { current: t, prev: n };
|
|
323
|
+
}, rn = (d) => {
|
|
324
|
+
const { prev: e } = an(d);
|
|
325
325
|
return e ? e.vm.exposed.bottom.value : 0;
|
|
326
|
-
}, dn = (
|
|
326
|
+
}, dn = (d, e) => H.findIndex((n) => n.id === d) > 0 ? 16 : e, ln = ce({
|
|
327
327
|
name: "ElMessage"
|
|
328
328
|
}), cn = /* @__PURE__ */ ce({
|
|
329
329
|
...ln,
|
|
330
330
|
props: on,
|
|
331
331
|
emits: sn,
|
|
332
|
-
setup(
|
|
333
|
-
const n =
|
|
334
|
-
let
|
|
335
|
-
const
|
|
336
|
-
const
|
|
337
|
-
return { [a.bm("icon",
|
|
338
|
-
}), E = P(() => n.icon || Ne[n.type] || ""),
|
|
332
|
+
setup(d, { expose: e, emit: t }) {
|
|
333
|
+
const n = d, { Close: o } = xt, s = S(!1), { ns: a, zIndex: r } = Ct("message"), { currentZIndex: l, nextZIndex: i } = r, c = S(), h = S(!1), f = S(0);
|
|
334
|
+
let u;
|
|
335
|
+
const p = P(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), g = P(() => {
|
|
336
|
+
const w = n.type;
|
|
337
|
+
return { [a.bm("icon", w)]: w && Ne[w] };
|
|
338
|
+
}), E = P(() => n.icon || Ne[n.type] || ""), C = P(() => rn(n.id)), D = P(() => dn(n.id, n.offset) + C.value), F = P(() => f.value + D.value), ae = P(() => ({
|
|
339
339
|
top: `${D.value}px`,
|
|
340
|
-
zIndex:
|
|
340
|
+
zIndex: l.value
|
|
341
341
|
}));
|
|
342
342
|
function q() {
|
|
343
|
-
n.duration !== 0 && ({ stop:
|
|
343
|
+
n.duration !== 0 && ({ stop: u } = Et(() => {
|
|
344
344
|
M();
|
|
345
345
|
}, n.duration));
|
|
346
346
|
}
|
|
347
347
|
function _() {
|
|
348
|
-
|
|
348
|
+
u?.();
|
|
349
349
|
}
|
|
350
350
|
function M() {
|
|
351
351
|
h.value = !1, ye(() => {
|
|
352
|
-
var
|
|
353
|
-
s.value || ((
|
|
352
|
+
var w;
|
|
353
|
+
s.value || ((w = n.onClose) == null || w.call(n), t("destroy"));
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
|
-
function
|
|
357
|
-
|
|
356
|
+
function K({ code: w }) {
|
|
357
|
+
w === Zt.esc && M();
|
|
358
358
|
}
|
|
359
359
|
return tt(() => {
|
|
360
|
-
q(),
|
|
361
|
-
}),
|
|
360
|
+
q(), i(), h.value = !0;
|
|
361
|
+
}), W(() => n.repeatNum, () => {
|
|
362
362
|
_(), q();
|
|
363
|
-
}), Kt(document, "keydown",
|
|
364
|
-
|
|
363
|
+
}), Kt(document, "keydown", K), Gt(c, () => {
|
|
364
|
+
f.value = c.value.getBoundingClientRect().height;
|
|
365
365
|
}), e({
|
|
366
366
|
visible: h,
|
|
367
|
-
bottom:
|
|
367
|
+
bottom: F,
|
|
368
368
|
close: M
|
|
369
|
-
}), (
|
|
370
|
-
name:
|
|
371
|
-
onBeforeEnter: (
|
|
372
|
-
onBeforeLeave:
|
|
373
|
-
onAfterLeave: (
|
|
369
|
+
}), (w, Z) => (I(), pe(be, {
|
|
370
|
+
name: y(a).b("fade"),
|
|
371
|
+
onBeforeEnter: (G) => s.value = !0,
|
|
372
|
+
onBeforeLeave: w.onClose,
|
|
373
|
+
onAfterLeave: (G) => w.$emit("destroy"),
|
|
374
374
|
persisted: ""
|
|
375
375
|
}, {
|
|
376
|
-
default:
|
|
376
|
+
default: V(() => [
|
|
377
377
|
$e(k("div", {
|
|
378
|
-
id:
|
|
378
|
+
id: w.id,
|
|
379
379
|
ref_key: "messageRef",
|
|
380
|
-
ref:
|
|
381
|
-
class:
|
|
382
|
-
|
|
383
|
-
{ [
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
380
|
+
ref: c,
|
|
381
|
+
class: j([
|
|
382
|
+
y(a).b(),
|
|
383
|
+
{ [y(a).m(w.type)]: w.type },
|
|
384
|
+
y(a).is("closable", w.showClose),
|
|
385
|
+
y(a).is("plain", w.plain),
|
|
386
|
+
w.customClass
|
|
387
387
|
]),
|
|
388
|
-
style:
|
|
388
|
+
style: Ae(y(ae)),
|
|
389
389
|
role: "alert",
|
|
390
390
|
onMouseenter: _,
|
|
391
391
|
onMouseleave: q
|
|
392
392
|
}, [
|
|
393
|
-
|
|
393
|
+
w.repeatNum > 1 ? (I(), pe(y(tn), {
|
|
394
394
|
key: 0,
|
|
395
|
-
value:
|
|
396
|
-
type:
|
|
397
|
-
class:
|
|
395
|
+
value: w.repeatNum,
|
|
396
|
+
type: y(p),
|
|
397
|
+
class: j(y(a).e("badge"))
|
|
398
398
|
}, null, 8, ["value", "type", "class"])) : J("v-if", !0),
|
|
399
|
-
|
|
399
|
+
y(E) ? (I(), pe(y(Re), {
|
|
400
400
|
key: 1,
|
|
401
|
-
class:
|
|
401
|
+
class: j([y(a).e("icon"), y(g)])
|
|
402
402
|
}, {
|
|
403
|
-
default:
|
|
404
|
-
(I(), pe(
|
|
403
|
+
default: V(() => [
|
|
404
|
+
(I(), pe(At(y(E))))
|
|
405
405
|
]),
|
|
406
406
|
_: 1
|
|
407
407
|
}, 8, ["class"])) : J("v-if", !0),
|
|
408
|
-
we(
|
|
409
|
-
|
|
408
|
+
we(w.$slots, "default", {}, () => [
|
|
409
|
+
w.dangerouslyUseHTMLString ? (I(), R(ge, { key: 1 }, [
|
|
410
410
|
J(" Caution here, message could've been compromised, never use user's input as message "),
|
|
411
411
|
k("p", {
|
|
412
|
-
class:
|
|
413
|
-
innerHTML:
|
|
412
|
+
class: j(y(a).e("content")),
|
|
413
|
+
innerHTML: w.message
|
|
414
414
|
}, null, 10, ["innerHTML"])
|
|
415
|
-
], 2112)) : (I(),
|
|
415
|
+
], 2112)) : (I(), R("p", {
|
|
416
416
|
key: 0,
|
|
417
|
-
class:
|
|
418
|
-
}, re(
|
|
417
|
+
class: j(y(a).e("content"))
|
|
418
|
+
}, re(w.message), 3))
|
|
419
419
|
]),
|
|
420
|
-
|
|
420
|
+
w.showClose ? (I(), pe(y(Re), {
|
|
421
421
|
key: 2,
|
|
422
|
-
class:
|
|
423
|
-
onClick:
|
|
422
|
+
class: j(y(a).e("closeBtn")),
|
|
423
|
+
onClick: _t(M, ["stop"])
|
|
424
424
|
}, {
|
|
425
|
-
default:
|
|
426
|
-
|
|
425
|
+
default: V(() => [
|
|
426
|
+
z(y(o))
|
|
427
427
|
]),
|
|
428
428
|
_: 1
|
|
429
429
|
}, 8, ["class", "onClick"])) : J("v-if", !0)
|
|
@@ -437,9 +437,9 @@ const at = [
|
|
|
437
437
|
});
|
|
438
438
|
var mn = /* @__PURE__ */ Ze(cn, [["__file", "message.vue"]]);
|
|
439
439
|
let hn = 1;
|
|
440
|
-
const it = (
|
|
441
|
-
const e = !
|
|
442
|
-
...
|
|
440
|
+
const it = (d) => {
|
|
441
|
+
const e = !d || Oe(d) || nt(d) || Ie(d) ? { message: d } : d, t = {
|
|
442
|
+
...N,
|
|
443
443
|
...e
|
|
444
444
|
};
|
|
445
445
|
if (!t.appendTo)
|
|
@@ -448,74 +448,74 @@ const it = (r) => {
|
|
|
448
448
|
let n = document.querySelector(t.appendTo);
|
|
449
449
|
Mt(n) || (n = document.body), t.appendTo = n;
|
|
450
450
|
}
|
|
451
|
-
return
|
|
452
|
-
}, un = (
|
|
453
|
-
const e =
|
|
451
|
+
return Le(T.grouping) && !t.grouping && (t.grouping = T.grouping), ve(T.duration) && t.duration === 3e3 && (t.duration = T.duration), ve(T.offset) && t.offset === 16 && (t.offset = T.offset), Le(T.showClose) && !t.showClose && (t.showClose = T.showClose), Le(T.plain) && !t.plain && (t.plain = T.plain), t;
|
|
452
|
+
}, un = (d) => {
|
|
453
|
+
const e = H.indexOf(d);
|
|
454
454
|
if (e === -1)
|
|
455
455
|
return;
|
|
456
|
-
|
|
457
|
-
const { handler: t } =
|
|
456
|
+
H.splice(e, 1);
|
|
457
|
+
const { handler: t } = d;
|
|
458
458
|
t.close();
|
|
459
|
-
}, pn = ({ appendTo:
|
|
459
|
+
}, pn = ({ appendTo: d, ...e }, t) => {
|
|
460
460
|
const n = `message_${hn++}`, o = e.onClose, s = document.createElement("div"), a = {
|
|
461
461
|
...e,
|
|
462
462
|
id: n,
|
|
463
463
|
onClose: () => {
|
|
464
|
-
o?.(), un(
|
|
464
|
+
o?.(), un(c);
|
|
465
465
|
},
|
|
466
466
|
onDestroy: () => {
|
|
467
467
|
Te(null, s);
|
|
468
468
|
}
|
|
469
|
-
},
|
|
470
|
-
default:
|
|
469
|
+
}, r = z(mn, a, Ie(a.message) || nt(a.message) ? {
|
|
470
|
+
default: Ie(a.message) ? a.message : () => a.message
|
|
471
471
|
} : null);
|
|
472
|
-
|
|
473
|
-
const
|
|
472
|
+
r.appContext = t || le._context, Te(r, s), d.appendChild(s.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
|
-
return
|
|
485
|
-
}, le = (
|
|
486
|
-
if (!
|
|
484
|
+
return c;
|
|
485
|
+
}, le = (d = {}, e) => {
|
|
486
|
+
if (!Pe)
|
|
487
487
|
return { close: () => {
|
|
488
488
|
} };
|
|
489
|
-
const t = it(
|
|
490
|
-
if (t.grouping &&
|
|
491
|
-
const o =
|
|
489
|
+
const t = it(d);
|
|
490
|
+
if (t.grouping && H.length) {
|
|
491
|
+
const o = H.find(({ vnode: s }) => {
|
|
492
492
|
var a;
|
|
493
493
|
return ((a = s.props) == null ? void 0 : a.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 (ve(
|
|
498
|
+
if (ve(T.max) && H.length >= T.max)
|
|
499
499
|
return { close: () => {
|
|
500
500
|
} };
|
|
501
501
|
const n = pn(t, e);
|
|
502
|
-
return
|
|
502
|
+
return H.push(n), n.handler;
|
|
503
503
|
};
|
|
504
|
-
at.forEach((
|
|
505
|
-
le[
|
|
504
|
+
at.forEach((d) => {
|
|
505
|
+
le[d] = (e = {}, t) => {
|
|
506
506
|
const n = it(e);
|
|
507
|
-
return le({ ...n, type:
|
|
507
|
+
return le({ ...n, type: d }, t);
|
|
508
508
|
};
|
|
509
509
|
});
|
|
510
|
-
function gn(
|
|
511
|
-
const e = [...
|
|
510
|
+
function gn(d) {
|
|
511
|
+
const e = [...H];
|
|
512
512
|
for (const t of e)
|
|
513
|
-
(!
|
|
513
|
+
(!d || d === t.props.type) && t.handler.close();
|
|
514
514
|
}
|
|
515
515
|
le.closeAll = gn;
|
|
516
516
|
le._context = null;
|
|
517
517
|
const L = Lt(le, "$message");
|
|
518
|
-
class
|
|
518
|
+
class O extends Se {
|
|
519
519
|
_renderer;
|
|
520
520
|
get renderer() {
|
|
521
521
|
return this._renderer || (this._renderer = this.parent?.findComponentByName("Renderer")), this._renderer;
|
|
@@ -597,8 +597,44 @@ class N extends Ce {
|
|
|
597
597
|
this.canceEventRecord("clear"), e.forEach((t) => this.canceEventRecord(t));
|
|
598
598
|
};
|
|
599
599
|
}
|
|
600
|
+
/**
|
|
601
|
+
* 创建鼠标移动
|
|
602
|
+
* @param callBack
|
|
603
|
+
* @returns
|
|
604
|
+
*/
|
|
605
|
+
createPointerMove(e) {
|
|
606
|
+
const t = this.editor, n = new A();
|
|
607
|
+
let o = null, s = null, a = null;
|
|
608
|
+
const r = t.addEventListener("pointerPositionChange", () => {
|
|
609
|
+
const l = A.from(t.pointerPosition);
|
|
610
|
+
if (o && t.eventInput.isKeyDown("shift")) {
|
|
611
|
+
const i = Math.abs(l.x - o.x), c = Math.abs(l.y - o.y);
|
|
612
|
+
i > c ? n.set(l.x, o.y) : n.set(o.x, l.y), e(n, !1);
|
|
613
|
+
} else if (s && a && t.eventInput.isKeyDown("alt")) {
|
|
614
|
+
const i = s.projectPoint(l, !1), c = a.projectPoint(l, !1);
|
|
615
|
+
i && c ? l.distance(i) < l.distance(c) ? n.copy(i) : n.copy(c) : i ? n.copy(i) : c && n.copy(c), e(n, !1);
|
|
616
|
+
} else {
|
|
617
|
+
const { point: i, find: c } = t.renderManager.adsorption();
|
|
618
|
+
n.copy(i), e(n, c);
|
|
619
|
+
}
|
|
620
|
+
});
|
|
621
|
+
return {
|
|
622
|
+
destroy() {
|
|
623
|
+
r();
|
|
624
|
+
},
|
|
625
|
+
setBaseLine(l, i) {
|
|
626
|
+
if (s = l, o = i, l && i) {
|
|
627
|
+
const c = l.normal();
|
|
628
|
+
a = new B(
|
|
629
|
+
i.clone().add(c.clone().multiplyScalar(10)),
|
|
630
|
+
i.clone().add(c.multiplyScalar(-10))
|
|
631
|
+
);
|
|
632
|
+
} else a = null;
|
|
633
|
+
}
|
|
634
|
+
};
|
|
635
|
+
}
|
|
600
636
|
}
|
|
601
|
-
class vn extends
|
|
637
|
+
class vn extends O {
|
|
602
638
|
static name = "DrawLine";
|
|
603
639
|
container = new m.Group();
|
|
604
640
|
interruptKeys = ["escape"];
|
|
@@ -615,50 +651,47 @@ class vn extends N {
|
|
|
615
651
|
* @param next
|
|
616
652
|
*/
|
|
617
653
|
selectPoint(e) {
|
|
618
|
-
let t = this.parent?.findComponentByName("Editor"), n = null, o = null, s = [], a = new m.Mesh(new m.SphereGeometry(0.
|
|
654
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, o = null, s = [], a = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 65280 })), r = t.domContainer.domElement, l = new fe([], 16711935), i = new fe([
|
|
619
655
|
new m.Vector3(-1e4, 0, 0),
|
|
620
656
|
new m.Vector3(1e4, 0, 0),
|
|
621
657
|
new m.Vector3(0, -1e4, 0),
|
|
622
658
|
new m.Vector3(0, 1e4, 0)
|
|
623
659
|
], 16711935);
|
|
624
|
-
|
|
660
|
+
i.material = new m.LineDashedMaterial({
|
|
625
661
|
color: 4235007,
|
|
626
662
|
dashSize: 0.1,
|
|
627
663
|
gapSize: 0.1,
|
|
628
664
|
linewidth: 0.1
|
|
629
|
-
}), this.container.add(
|
|
630
|
-
const
|
|
631
|
-
|
|
632
|
-
}, h = new m.Vector3()
|
|
665
|
+
}), this.container.add(l);
|
|
666
|
+
const c = () => {
|
|
667
|
+
l.setPoint(...s, n, o), i.position.copy(o), this.container.add(i), i.computeLineDistances();
|
|
668
|
+
}, h = new m.Vector3(), f = this.createPointerMove((u, p) => {
|
|
669
|
+
h.set(u.x, u.y, 0), this.dispatchEvent({ type: "pointerMove", point: h }), p ? (a.position.set(u.x, u.y, 0), this.container.add(a), r.style.cursor = "none") : (a.removeFromParent(), r.style.cursor = "crosshair"), n && o && (c(), o.copy(h));
|
|
670
|
+
});
|
|
633
671
|
this.addEventRecord(
|
|
634
672
|
"clear",
|
|
635
|
-
|
|
636
|
-
const { point: w, find: p } = t.renderManager.adsorption();
|
|
637
|
-
if (this.dispatchEvent({ type: "pointerMove", point: w }), p ? (a.position.set(w.x, w.y, 0), this.container.add(a), d.style.cursor = "none") : (a.removeFromParent(), d.style.cursor = "crosshair"), h.copy(w), !!(n && o)) {
|
|
638
|
-
if (t.eventInput.isKeyDown("shift")) {
|
|
639
|
-
const x = Math.abs(t.pointerPosition.x - n.x), y = Math.abs(t.pointerPosition.y - n.y);
|
|
640
|
-
x > y ? o.set(t.pointerPosition.x, n.y, 0) : o.set(n.x, t.pointerPosition.y, 0), l(), h.copy(o);
|
|
641
|
-
return;
|
|
642
|
-
}
|
|
643
|
-
o.set(t.pointerPosition.x, t.pointerPosition.y, 0), l();
|
|
644
|
-
}
|
|
645
|
-
}),
|
|
673
|
+
() => f.destroy(),
|
|
646
674
|
t.eventInput.addEventListener("codeChange", async () => {
|
|
647
675
|
if (t.eventInput.isKeyDown("mouse_0")) {
|
|
648
676
|
if (!n) {
|
|
649
|
-
n = h.clone(), o = h.clone(),
|
|
677
|
+
n = h.clone(), o = h.clone(), c(), f.setBaseLine(null, A.from(n));
|
|
650
678
|
return;
|
|
651
679
|
}
|
|
652
|
-
o = h.clone(), s.push(n.clone(), o.clone())
|
|
680
|
+
o = h.clone(), s.push(n.clone(), o.clone());
|
|
681
|
+
const u = new B(A.from(n), A.from(o));
|
|
682
|
+
f.setBaseLine(u, u.end), n.copy(o), c();
|
|
653
683
|
} else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
|
|
654
684
|
if (s.length) {
|
|
655
|
-
const { point:
|
|
656
|
-
s.pop(), o?.copy(
|
|
685
|
+
const { point: u } = t.renderManager.adsorption();
|
|
686
|
+
if (s.pop(), o?.copy(u), n?.copy(s.pop()), c(), s.length >= 2) {
|
|
687
|
+
const p = new B(A.from(s[s.length - 2]), A.from(s[s.length - 1]));
|
|
688
|
+
f.setBaseLine(p, p.end);
|
|
689
|
+
}
|
|
657
690
|
}
|
|
658
691
|
} else t.eventInput.isKeyDowns(this.confirmKeys) && e(s);
|
|
659
692
|
}),
|
|
660
693
|
function() {
|
|
661
|
-
|
|
694
|
+
l.removeFromParent(), a.removeFromParent(), i.removeFromParent();
|
|
662
695
|
}
|
|
663
696
|
);
|
|
664
697
|
}
|
|
@@ -668,7 +701,7 @@ class vn extends N {
|
|
|
668
701
|
end(e, t) {
|
|
669
702
|
const n = [];
|
|
670
703
|
for (let o = 0; o < t.length; o += 2)
|
|
671
|
-
n.push(new
|
|
704
|
+
n.push(new B(A.from(t[o]), A.from(t[o + 1])));
|
|
672
705
|
e(n);
|
|
673
706
|
}
|
|
674
707
|
/** 执行完成
|
|
@@ -690,16 +723,12 @@ class vn extends N {
|
|
|
690
723
|
return this.completed(e), e;
|
|
691
724
|
}
|
|
692
725
|
}
|
|
693
|
-
class
|
|
726
|
+
class _e extends O {
|
|
694
727
|
static name = "Default";
|
|
695
|
-
get editor() {
|
|
696
|
-
return this.parent?.findComponentByName("Editor");
|
|
697
|
-
}
|
|
698
|
-
renderer;
|
|
699
728
|
container = new m.Group();
|
|
700
729
|
onAddFromParent() {
|
|
701
730
|
const e = this.editor, t = e.commandManager;
|
|
702
|
-
|
|
731
|
+
e.container.add(this.container), t.addCommandFlow("default").add(this.start.bind(this)).addEventListener("finally", this.finally.bind(this)), t.addEventListener("startedBefore", (n) => {
|
|
703
732
|
n.currentName === "default" && n.name !== "default" && t.cancel();
|
|
704
733
|
}), t.addEventListener("finally", (n) => n.name !== "default" && t.start("default")), e.eventInput.addCancelDefaultBehavior(() => e.eventInput.isOnlyKeyDowns(["control", "g"]));
|
|
705
734
|
}
|
|
@@ -751,51 +780,51 @@ class Se extends Ce {
|
|
|
751
780
|
let s = null;
|
|
752
781
|
n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new m.MeshBasicMaterial({ color: 55561 });
|
|
753
782
|
const a = () => {
|
|
754
|
-
const
|
|
755
|
-
this.container.add(
|
|
783
|
+
const r = e.pointerPosition.clone(), l = e.pointerPosition.clone(), i = new m.Mesh();
|
|
784
|
+
this.container.add(i), i.position.z = 0.05, i.material = new m.MeshBasicMaterial({
|
|
756
785
|
color: 16777215,
|
|
757
786
|
transparent: !0,
|
|
758
787
|
opacity: 0.5
|
|
759
788
|
});
|
|
760
|
-
const
|
|
761
|
-
const
|
|
762
|
-
|
|
789
|
+
const c = () => {
|
|
790
|
+
const u = Math.min(r.x, l.x), p = Math.max(r.x, l.x), g = Math.min(r.y, l.y), E = Math.max(r.y, l.y), C = [
|
|
791
|
+
u,
|
|
763
792
|
E,
|
|
764
793
|
0,
|
|
765
|
-
|
|
766
|
-
|
|
794
|
+
p,
|
|
795
|
+
g,
|
|
767
796
|
0,
|
|
768
|
-
|
|
797
|
+
p,
|
|
769
798
|
E,
|
|
770
799
|
0,
|
|
771
|
-
|
|
800
|
+
u,
|
|
772
801
|
E,
|
|
773
802
|
0,
|
|
774
|
-
|
|
775
|
-
|
|
803
|
+
u,
|
|
804
|
+
g,
|
|
776
805
|
0,
|
|
777
|
-
|
|
778
|
-
|
|
806
|
+
p,
|
|
807
|
+
g,
|
|
779
808
|
0
|
|
780
809
|
];
|
|
781
|
-
|
|
810
|
+
i.geometry = e.renderManager.createGeometry({ position: C }, C.length / 3);
|
|
782
811
|
}, h = () => {
|
|
783
|
-
|
|
784
|
-
},
|
|
785
|
-
document.removeEventListener("mousemove", h), document.removeEventListener("mouseup",
|
|
786
|
-
const
|
|
787
|
-
this.removeSelectLineAll(), D.forEach((
|
|
812
|
+
l.copy(e.pointerPosition), c();
|
|
813
|
+
}, f = () => {
|
|
814
|
+
document.removeEventListener("mousemove", h), document.removeEventListener("mouseup", f), i.removeFromParent();
|
|
815
|
+
const u = Math.min(r.x, l.x), p = Math.max(r.x, l.x), g = Math.min(r.y, l.y), E = Math.max(r.y, l.y), C = new Ye(u, p, g, E), D = e.renderManager.quadtree.queryBox(C);
|
|
816
|
+
this.removeSelectLineAll(), D.forEach((F) => this.addSelectLine(F.line)), this.updateSelectLinesGeometry();
|
|
788
817
|
};
|
|
789
|
-
document.addEventListener("mousemove", h), document.addEventListener("mouseup",
|
|
818
|
+
document.addEventListener("mousemove", h), document.addEventListener("mouseup", f);
|
|
790
819
|
};
|
|
791
820
|
this.addEventRecord(
|
|
792
821
|
"clear",
|
|
793
822
|
// 注册鼠标指针位置变化事件
|
|
794
823
|
e.addEventListener("pointerPositionChange", () => {
|
|
795
|
-
const { line:
|
|
796
|
-
if (
|
|
797
|
-
const
|
|
798
|
-
n.geometry = e.renderManager.createGeometry({ position:
|
|
824
|
+
const { line: r } = e.renderManager.adsorption();
|
|
825
|
+
if (r) {
|
|
826
|
+
const l = r.expandToRectangle(0.025, "bothSides");
|
|
827
|
+
n.geometry = e.renderManager.createGeometry({ position: l.createGeometry() }, 6), this.container.add(n), o.style.cursor = "pointer", s = r;
|
|
799
828
|
} else
|
|
800
829
|
n.removeFromParent(), o.style.cursor = "default", s = null;
|
|
801
830
|
}),
|
|
@@ -904,8 +933,8 @@ class yn extends Xe {
|
|
|
904
933
|
try {
|
|
905
934
|
for (let s = n; s < o.list.length; s++) {
|
|
906
935
|
const a = o.list[s];
|
|
907
|
-
if (o.dispatchEvent({ type: "executing", index: s }), this.dispatchEvent({ type: "executing", name: e, index: s }), t = await new Promise((
|
|
908
|
-
this.resolve =
|
|
936
|
+
if (o.dispatchEvent({ type: "executing", index: s }), this.dispatchEvent({ type: "executing", name: e, index: s }), t = await new Promise((r) => {
|
|
937
|
+
this.resolve = r, a(r, t);
|
|
909
938
|
}), this.abortController.signal.aborted) {
|
|
910
939
|
o.dispatchEvent({ type: "executionInterrupt", index: s }), this.dispatchEvent({ type: "executionInterrupt", name: e, index: s }), this.dispatchEvent({ type: "cancel", name: e });
|
|
911
940
|
break;
|
|
@@ -973,12 +1002,12 @@ const wn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
|
|
|
973
1002
|
}, 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='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", Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
974
1003
|
__proto__: null,
|
|
975
1004
|
default: In
|
|
976
|
-
}, Symbol.toStringTag, { value: "Module" })), Dn = "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",
|
|
1005
|
+
}, Symbol.toStringTag, { value: "Module" })), Dn = "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", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
977
1006
|
__proto__: null,
|
|
978
1007
|
default: Dn
|
|
979
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1008
|
+
}, Symbol.toStringTag, { value: "Module" })), An = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='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", _n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
980
1009
|
__proto__: null,
|
|
981
|
-
default:
|
|
1010
|
+
default: An
|
|
982
1011
|
}, Symbol.toStringTag, { value: "Module" })), Bn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='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", Nn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
983
1012
|
__proto__: null,
|
|
984
1013
|
default: Bn
|
|
@@ -991,9 +1020,9 @@ const wn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
|
|
|
991
1020
|
}, Symbol.toStringTag, { value: "Module" })), zn = "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", Tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
992
1021
|
__proto__: null,
|
|
993
1022
|
default: zn
|
|
994
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1023
|
+
}, Symbol.toStringTag, { value: "Module" })), jn = "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", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
995
1024
|
__proto__: null,
|
|
996
|
-
default:
|
|
1025
|
+
default: jn
|
|
997
1026
|
}, 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='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e", Qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
998
1027
|
__proto__: null,
|
|
999
1028
|
default: Gn
|
|
@@ -1007,7 +1036,7 @@ const wn = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
|
|
|
1007
1036
|
__proto__: null,
|
|
1008
1037
|
default: qn
|
|
1009
1038
|
}, Symbol.toStringTag, { value: "Module" })), Yn = "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==", Xn = new m.TextureLoader(), $n = Xn.load(Yn);
|
|
1010
|
-
class eo extends
|
|
1039
|
+
class eo extends Se {
|
|
1011
1040
|
static name = "RenderManager";
|
|
1012
1041
|
container = new m.Group();
|
|
1013
1042
|
lines = [];
|
|
@@ -1099,9 +1128,9 @@ class eo extends Ce {
|
|
|
1099
1128
|
this.lines.forEach((s) => {
|
|
1100
1129
|
if (s.points.forEach((a) => {
|
|
1101
1130
|
s.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
|
|
1102
|
-
}), s.userData.isWindow && s.userData.drawWindow && s.userData.drawWindow.forEach(({ width: a, p:
|
|
1103
|
-
const
|
|
1104
|
-
o.push(
|
|
1131
|
+
}), s.userData.isWindow && s.userData.drawWindow && s.userData.drawWindow.forEach(({ width: a, p: r }) => {
|
|
1132
|
+
const l = A.from(r), i = s.direction(), c = l.clone().add(i.clone().multiplyScalar(a * 0.5)), h = l.clone().add(i.clone().multiplyScalar(-a * 0.5));
|
|
1133
|
+
o.push(c.x, c.y, 1e-3), o.push(h.x, h.y, 1e-3);
|
|
1105
1134
|
}), s.userData.isVerticalReferenceLine) {
|
|
1106
1135
|
const a = s.center;
|
|
1107
1136
|
this.verticalReferenceLineFlag.position.set(a.x, a.y, 0), this.container.add(this.verticalReferenceLineFlag);
|
|
@@ -1124,22 +1153,22 @@ class eo extends Ce {
|
|
|
1124
1153
|
* @param point
|
|
1125
1154
|
* @returns
|
|
1126
1155
|
*/
|
|
1127
|
-
adsorption(e = 0.
|
|
1128
|
-
const o = this.parent?.findComponentByName("Editor"), s =
|
|
1156
|
+
adsorption(e = 0.04, t = this.pointVirtualGrid, n = this.quadtree) {
|
|
1157
|
+
const o = this.parent?.findComponentByName("Editor"), s = A.from(o.pointerPosition), a = t.queryCircle(s, e).sort((l, i) => l.point.distance(s) - i.point.distance(s));
|
|
1129
1158
|
if (a.length) return {
|
|
1130
1159
|
point: new m.Vector3(a[0].point.x, a[0].point.y, 0),
|
|
1131
1160
|
find: !0,
|
|
1132
1161
|
mode: "point",
|
|
1133
1162
|
line: a[0].userData
|
|
1134
1163
|
};
|
|
1135
|
-
let
|
|
1136
|
-
if (
|
|
1137
|
-
let
|
|
1138
|
-
return
|
|
1139
|
-
point: new m.Vector3(
|
|
1164
|
+
let r = n.queryCircle(s, e);
|
|
1165
|
+
if (r.length) {
|
|
1166
|
+
let l = r.map((i) => i.line.projectPoint(s));
|
|
1167
|
+
return l.sort((i, c) => i && c ? i.distance(s) - c.distance(s) : 0), r = r.filter((i, c) => !!l[c]), l = l.filter((i, c) => !!l[c]), {
|
|
1168
|
+
point: new m.Vector3(l[0].x, l[0].y, 0),
|
|
1140
1169
|
find: !0,
|
|
1141
1170
|
mode: "line",
|
|
1142
|
-
line:
|
|
1171
|
+
line: r[0].line
|
|
1143
1172
|
};
|
|
1144
1173
|
}
|
|
1145
1174
|
return {
|
|
@@ -1215,7 +1244,7 @@ class eo extends Ce {
|
|
|
1215
1244
|
return this.parent?.findComponentByName("DxfLineModel");
|
|
1216
1245
|
}
|
|
1217
1246
|
}
|
|
1218
|
-
class to extends
|
|
1247
|
+
class to extends O {
|
|
1219
1248
|
static name = "DrawDoorLine";
|
|
1220
1249
|
container = new m.Group();
|
|
1221
1250
|
interruptKeys = ["escape"];
|
|
@@ -1234,7 +1263,7 @@ class to extends N {
|
|
|
1234
1263
|
* @param next
|
|
1235
1264
|
*/
|
|
1236
1265
|
selectPoint(e) {
|
|
1237
|
-
let t = this.parent?.findComponentByName("Editor"), n = null, o = new m.Mesh(new m.SphereGeometry(0.
|
|
1266
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, o = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 65280 })), s = new fe([], 16711935), a = new fe([
|
|
1238
1267
|
new m.Vector3(-1e4, 0, 0),
|
|
1239
1268
|
new m.Vector3(1e4, 0, 0),
|
|
1240
1269
|
new m.Vector3(0, -1e4, 0),
|
|
@@ -1246,20 +1275,20 @@ class to extends N {
|
|
|
1246
1275
|
gapSize: 0.1,
|
|
1247
1276
|
linewidth: 0.1
|
|
1248
1277
|
}), this.container.add(s);
|
|
1249
|
-
let
|
|
1278
|
+
let r = null;
|
|
1250
1279
|
this.addEventRecord(
|
|
1251
1280
|
"clear",
|
|
1252
1281
|
t.addEventListener("pointerPositionChange", () => {
|
|
1253
|
-
const { point:
|
|
1254
|
-
n && s.setPoint(n,
|
|
1282
|
+
const { point: l, find: i } = t.renderManager.adsorption();
|
|
1283
|
+
n && s.setPoint(n, l), this.dispatchEvent({ type: "pointerMove", point: l }), i ? (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");
|
|
1255
1284
|
}),
|
|
1256
1285
|
t.eventInput.addEventListener("codeChange", async () => {
|
|
1257
|
-
if (t.eventInput.isKeyDown("mouse_0") &&
|
|
1286
|
+
if (t.eventInput.isKeyDown("mouse_0") && r) {
|
|
1258
1287
|
if (!n) {
|
|
1259
|
-
n =
|
|
1288
|
+
n = r.clone();
|
|
1260
1289
|
return;
|
|
1261
1290
|
}
|
|
1262
|
-
e([n.clone(),
|
|
1291
|
+
e([n.clone(), r.clone()]);
|
|
1263
1292
|
}
|
|
1264
1293
|
}),
|
|
1265
1294
|
function() {
|
|
@@ -1275,23 +1304,23 @@ class to extends N {
|
|
|
1275
1304
|
end(e, t) {
|
|
1276
1305
|
const n = [];
|
|
1277
1306
|
for (let o = 0; o < t.length; o += 2) {
|
|
1278
|
-
const s =
|
|
1279
|
-
let
|
|
1280
|
-
|
|
1281
|
-
oldLine:
|
|
1282
|
-
newLine1: new
|
|
1283
|
-
|
|
1284
|
-
|
|
1307
|
+
const s = A.from(t[o]), a = A.from(t[o + 1]), r = this.renderManager.quadtree.queryCircle(s, 1e-3)[0].line, l = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
|
|
1308
|
+
let i = null;
|
|
1309
|
+
r === l && (i = {
|
|
1310
|
+
oldLine: r,
|
|
1311
|
+
newLine1: new B(
|
|
1312
|
+
r.start,
|
|
1313
|
+
r.start.distance(s) < r.start.distance(a) ? s.clone() : a.clone()
|
|
1285
1314
|
),
|
|
1286
|
-
newLine2: new
|
|
1287
|
-
|
|
1288
|
-
|
|
1315
|
+
newLine2: new B(
|
|
1316
|
+
r.end,
|
|
1317
|
+
r.end.distance(s) < r.end.distance(a) ? s.clone() : a.clone()
|
|
1289
1318
|
)
|
|
1290
1319
|
});
|
|
1291
|
-
const
|
|
1292
|
-
|
|
1293
|
-
line:
|
|
1294
|
-
option:
|
|
1320
|
+
const c = new B(s, a);
|
|
1321
|
+
c.userData.isDoor = !0, c.userData.doorDirectConnection = !0, n.push({
|
|
1322
|
+
line: c,
|
|
1323
|
+
option: i
|
|
1295
1324
|
});
|
|
1296
1325
|
}
|
|
1297
1326
|
e(n);
|
|
@@ -1319,7 +1348,7 @@ class to extends N {
|
|
|
1319
1348
|
return this.completed(e), e;
|
|
1320
1349
|
}
|
|
1321
1350
|
}
|
|
1322
|
-
class no extends
|
|
1351
|
+
class no extends O {
|
|
1323
1352
|
static name = "DrawWindow";
|
|
1324
1353
|
container = new m.Group();
|
|
1325
1354
|
interruptKeys = ["escape"];
|
|
@@ -1334,10 +1363,10 @@ class no extends N {
|
|
|
1334
1363
|
* @param next
|
|
1335
1364
|
*/
|
|
1336
1365
|
selectPointStart(e) {
|
|
1337
|
-
let t = null, n = new m.Mesh(new m.SphereGeometry(0.
|
|
1366
|
+
let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
|
|
1338
1367
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1339
|
-
const { point: s, line: a, find:
|
|
1340
|
-
this.dispatchEvent({ type: "pointerMove", point: s }),
|
|
1368
|
+
const { point: s, line: a, find: r } = this.editor.renderManager.adsorption();
|
|
1369
|
+
this.dispatchEvent({ type: "pointerMove", point: s }), r ? (this.domElement.style.cursor = "none", n.position.copy(s), o = a, t = s.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
1341
1370
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1342
1371
|
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
|
|
1343
1372
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
@@ -1346,10 +1375,10 @@ class no extends N {
|
|
|
1346
1375
|
* @param next
|
|
1347
1376
|
*/
|
|
1348
1377
|
selectPointEnd(e, { point: t, line: n }) {
|
|
1349
|
-
let o = null, s = new m.Mesh(new m.SphereGeometry(0.
|
|
1378
|
+
let o = null, s = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 }));
|
|
1350
1379
|
this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1351
|
-
const { point: a, find:
|
|
1352
|
-
this.dispatchEvent({ type: "pointerMove", point: a }),
|
|
1380
|
+
const { point: a, find: r, line: l } = this.editor.renderManager.adsorption();
|
|
1381
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), r && l === n ? (this.domElement.style.cursor = "none", s.position.copy(a), o = a.clone(), this.container.add(s)) : (this.domElement.style.cursor = "no-drop", o = null, s.removeFromParent());
|
|
1353
1382
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1354
1383
|
this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
|
|
1355
1384
|
}));
|
|
@@ -1360,12 +1389,12 @@ class no extends N {
|
|
|
1360
1389
|
* @param points
|
|
1361
1390
|
*/
|
|
1362
1391
|
end(e, { start: t, end: n, line: o }) {
|
|
1363
|
-
const s = new
|
|
1392
|
+
const s = new B(A.from(t), A.from(n)), a = s.center, r = s.length(), l = {
|
|
1364
1393
|
p: new m.Vector3(a.x, a.y, 0),
|
|
1365
|
-
width:
|
|
1366
|
-
full: Math.abs(
|
|
1394
|
+
width: r,
|
|
1395
|
+
full: Math.abs(r - o.length()) < 0.01
|
|
1367
1396
|
};
|
|
1368
|
-
e({ line: o, doorDataItem:
|
|
1397
|
+
e({ line: o, doorDataItem: l });
|
|
1369
1398
|
}
|
|
1370
1399
|
/** 执行完成
|
|
1371
1400
|
*/
|
|
@@ -1391,7 +1420,7 @@ class no extends N {
|
|
|
1391
1420
|
return this.completed(e), e;
|
|
1392
1421
|
}
|
|
1393
1422
|
}
|
|
1394
|
-
class de extends
|
|
1423
|
+
class de extends O {
|
|
1395
1424
|
static name = "VerticalCorrection";
|
|
1396
1425
|
container = new m.Group();
|
|
1397
1426
|
shortcutKeys = ["control", "c"];
|
|
@@ -1445,43 +1474,43 @@ class de extends N {
|
|
|
1445
1474
|
setLinePoint(e, t, n, o = "all", s = [], a = Pt()) {
|
|
1446
1475
|
if (e.userData.setLinePointUUid === a) return [];
|
|
1447
1476
|
e.userData.setLinePointUUid = a;
|
|
1448
|
-
let
|
|
1449
|
-
(o === "start" || o === "all") && (
|
|
1450
|
-
const
|
|
1451
|
-
let
|
|
1452
|
-
t && (e.start.equal(t) || (
|
|
1477
|
+
let r = [], l = [];
|
|
1478
|
+
(o === "start" || o === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((f) => f.userData !== e)), (o === "end" || o === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((f) => f.userData !== e));
|
|
1479
|
+
const i = e.clone();
|
|
1480
|
+
let c = "";
|
|
1481
|
+
t && (e.start.equal(t) || (c = "start"), s.push({
|
|
1453
1482
|
point: e.start,
|
|
1454
1483
|
oldPoint: e.start.clone(),
|
|
1455
1484
|
newPoint: t,
|
|
1456
1485
|
line: e
|
|
1457
|
-
}), e.start.copy(t)), n && (e.end.equal(n) || (
|
|
1486
|
+
}), e.start.copy(t)), n && (e.end.equal(n) || (c = c === "start" ? "all" : "end"), s.push({
|
|
1458
1487
|
point: e.end,
|
|
1459
1488
|
oldPoint: e.end.clone(),
|
|
1460
1489
|
newPoint: n,
|
|
1461
1490
|
line: e
|
|
1462
1491
|
}), e.end.copy(n));
|
|
1463
|
-
const h = (
|
|
1464
|
-
|
|
1465
|
-
const { point: E, userData:
|
|
1466
|
-
if (
|
|
1492
|
+
const h = (f, u, p) => {
|
|
1493
|
+
f.forEach((g) => {
|
|
1494
|
+
const { point: E, userData: C } = g, D = C.start === E ? "start" : "end";
|
|
1495
|
+
if (C.directionEqual(i))
|
|
1467
1496
|
if (D === "start") {
|
|
1468
|
-
const
|
|
1469
|
-
if (
|
|
1497
|
+
const F = e.projectPoint(C.end, !1);
|
|
1498
|
+
if (F) return this.setLinePoint(C, u, F, "end", s, a);
|
|
1470
1499
|
} else {
|
|
1471
|
-
const
|
|
1472
|
-
if (
|
|
1500
|
+
const F = e.projectPoint(C.start, !1);
|
|
1501
|
+
if (F) return this.setLinePoint(C, F, u, "start", s, a);
|
|
1473
1502
|
}
|
|
1474
|
-
(
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1503
|
+
(c === "all" || p === c) && this.setLinePoint(
|
|
1504
|
+
C,
|
|
1505
|
+
C.start === E ? u : C.start,
|
|
1506
|
+
C.end === E ? u : C.end,
|
|
1507
|
+
C.start === E ? "end" : "start",
|
|
1479
1508
|
s,
|
|
1480
1509
|
a
|
|
1481
1510
|
);
|
|
1482
1511
|
});
|
|
1483
1512
|
};
|
|
1484
|
-
return h(
|
|
1513
|
+
return h(r, e.start, "start"), h(l, e.end, "end"), [...r, ...l];
|
|
1485
1514
|
}
|
|
1486
1515
|
/** 修正2
|
|
1487
1516
|
* 第一步:确定需要修复的线段
|
|
@@ -1495,28 +1524,75 @@ class de extends N {
|
|
|
1495
1524
|
*/
|
|
1496
1525
|
correction(e, t = [], n = /* @__PURE__ */ new Set()) {
|
|
1497
1526
|
n.add(e);
|
|
1498
|
-
const o = this.renderManager.quadtree.queryLineSegment(e).filter(({ line: i }) => !(i === e || i.userData.isDoor || n.has(i))).map((i) => i.line), s = e.direction(), [a,
|
|
1499
|
-
const [
|
|
1500
|
-
return c.sameEndpoint(e) ?
|
|
1527
|
+
const o = this.renderManager.quadtree.queryLineSegment(e).filter(({ line: i }) => !(i === e || i.userData.isDoor || n.has(i))).map((i) => i.line), s = e.direction(), [a, r] = o.reduce((i, c) => {
|
|
1528
|
+
const [h, f] = i;
|
|
1529
|
+
return c.sameEndpoint(e) ? h.push(c) : f.push(c), i;
|
|
1501
1530
|
}, [[], []]);
|
|
1502
|
-
|
|
1503
|
-
const c = i.direction(),
|
|
1504
|
-
if (Math.abs(90 -
|
|
1505
|
-
const
|
|
1531
|
+
a.forEach((i) => {
|
|
1532
|
+
const c = i.direction(), h = s.angleBetween(c, "angle");
|
|
1533
|
+
if (Math.abs(90 - h) > 45) return !1;
|
|
1534
|
+
const u = e.sameEndpointAsStart(i) ? e.start : e.end, p = i.sameEndpointAsStart(e) ? i.end : i.start, g = new B(
|
|
1506
1535
|
p.clone().add(s.clone().multiplyScalar(1)),
|
|
1507
1536
|
p.clone().add(s.clone().multiplyScalar(-1))
|
|
1508
|
-
),
|
|
1509
|
-
if (
|
|
1510
|
-
const
|
|
1537
|
+
), E = g.projectPoint(u, !1);
|
|
1538
|
+
if (E) {
|
|
1539
|
+
const C = [];
|
|
1511
1540
|
this.setLinePoint(
|
|
1512
1541
|
i,
|
|
1513
|
-
i.start === p ?
|
|
1514
|
-
i.end === p ?
|
|
1542
|
+
i.start === p ? E : i.start,
|
|
1543
|
+
i.end === p ? E : i.end,
|
|
1515
1544
|
i.start === p ? "start" : "end",
|
|
1516
|
-
|
|
1517
|
-
), t.push(
|
|
1545
|
+
C
|
|
1546
|
+
), t.push(C);
|
|
1518
1547
|
}
|
|
1519
1548
|
return n.add(i), !1;
|
|
1549
|
+
}), s.copy(e.direction());
|
|
1550
|
+
const l = (i, c, h) => {
|
|
1551
|
+
const f = e.projectPoint(c);
|
|
1552
|
+
if (f) i.copy(f);
|
|
1553
|
+
else {
|
|
1554
|
+
const u = new B(
|
|
1555
|
+
c.clone().add(s.clone().multiplyScalar(1)),
|
|
1556
|
+
c.clone().add(s.clone().multiplyScalar(-1))
|
|
1557
|
+
), p = u.projectPoint(i, !1);
|
|
1558
|
+
if (p) {
|
|
1559
|
+
const g = [];
|
|
1560
|
+
this.setLinePoint(
|
|
1561
|
+
h,
|
|
1562
|
+
h.start === c ? p : h.start,
|
|
1563
|
+
h.end === c ? p : h.end,
|
|
1564
|
+
h.start === c ? "start" : "end",
|
|
1565
|
+
g
|
|
1566
|
+
), t.push(g);
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
};
|
|
1570
|
+
return r.forEach((i) => {
|
|
1571
|
+
if (e.containsPoint(i.start))
|
|
1572
|
+
l(i.start, i.end, i);
|
|
1573
|
+
else if (e.containsPoint(i.end))
|
|
1574
|
+
l(i.end, i.start, i);
|
|
1575
|
+
else {
|
|
1576
|
+
const c = e.getIntersection(i);
|
|
1577
|
+
if (c) {
|
|
1578
|
+
const h = new B(
|
|
1579
|
+
i.start.clone().add(s.clone().multiplyScalar(1)),
|
|
1580
|
+
i.start.clone().add(s.clone().multiplyScalar(-1))
|
|
1581
|
+
), f = h.projectPoint(c, !1);
|
|
1582
|
+
if (f) {
|
|
1583
|
+
const g = [];
|
|
1584
|
+
this.setLinePoint(i, f, i.end, "start", g), t.push(g);
|
|
1585
|
+
}
|
|
1586
|
+
const u = new B(
|
|
1587
|
+
i.end.clone().add(s.clone().multiplyScalar(1)),
|
|
1588
|
+
i.end.clone().add(s.clone().multiplyScalar(-1))
|
|
1589
|
+
), p = u.projectPoint(c, !1);
|
|
1590
|
+
if (p) {
|
|
1591
|
+
const g = [];
|
|
1592
|
+
this.setLinePoint(i, i.start, p, "end", g), t.push(g);
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1520
1596
|
}), this.recursion && o.forEach((i) => this.correction(i, t, n)), t;
|
|
1521
1597
|
}
|
|
1522
1598
|
/** 开始
|
|
@@ -1543,8 +1619,8 @@ class de extends N {
|
|
|
1543
1619
|
for (let t = e.length - 1; t >= 0; t--) {
|
|
1544
1620
|
const n = e[t];
|
|
1545
1621
|
for (let o = n.length - 1; o >= 0; o--) {
|
|
1546
|
-
const s = n[o], { line: a, oldPoint:
|
|
1547
|
-
|
|
1622
|
+
const s = n[o], { line: a, oldPoint: r, point: l } = s;
|
|
1623
|
+
l.copy(r), this.renderManager.removeLine(a), this.renderManager.addLine(a);
|
|
1548
1624
|
}
|
|
1549
1625
|
}
|
|
1550
1626
|
return this.renderManager.draw(), e;
|
|
@@ -1557,13 +1633,13 @@ class de extends N {
|
|
|
1557
1633
|
return this.completed(e), e;
|
|
1558
1634
|
}
|
|
1559
1635
|
}
|
|
1560
|
-
class Y extends
|
|
1636
|
+
class Y extends O {
|
|
1561
1637
|
static name = "MergeLine";
|
|
1562
1638
|
shortcutKeys = ["control", "g"];
|
|
1563
1639
|
static commandName = "merge-line";
|
|
1564
1640
|
onAddFromParent(e) {
|
|
1565
1641
|
super.onAddFromParent(e);
|
|
1566
|
-
const t = e.findComponentByType(
|
|
1642
|
+
const t = e.findComponentByType(_e), n = this.commandManager.addCommandFlow(Y.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.mergeLine.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1567
1643
|
n.addEventListener("finally", this.createFinally()), n.addEventListener("completed", (o) => this.completed(o.data)), this.eventInput.addKeyCombination(Y.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1568
1644
|
t?.selectLines.length === 2 && this.eventInput.isKeyCombination(Y.commandName) && await this.commandManager.start(Y.commandName, [...this.default.selectLines]);
|
|
1569
1645
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
@@ -1582,10 +1658,10 @@ class Y extends N {
|
|
|
1582
1658
|
const n = t[0], o = t[1];
|
|
1583
1659
|
for (let s = 0; s < n.points.length; s++) {
|
|
1584
1660
|
const a = n.points[s];
|
|
1585
|
-
for (let
|
|
1586
|
-
const
|
|
1587
|
-
if (a.equal(
|
|
1588
|
-
const
|
|
1661
|
+
for (let r = 0; r < o.points.length; r++) {
|
|
1662
|
+
const l = o.points[r];
|
|
1663
|
+
if (a.equal(l)) {
|
|
1664
|
+
const i = n.points[(s + 1) % 2], c = o.points[(r + 1) % 2], h = new B(i, c);
|
|
1589
1665
|
return e({ line1: n, line2: o, newLine: h }), L({ message: "已合并", type: "success" });
|
|
1590
1666
|
}
|
|
1591
1667
|
}
|
|
@@ -1612,7 +1688,7 @@ class Y extends N {
|
|
|
1612
1688
|
return this.completed(e), e;
|
|
1613
1689
|
}
|
|
1614
1690
|
}
|
|
1615
|
-
class X extends
|
|
1691
|
+
class X extends O {
|
|
1616
1692
|
static name = "DeleteSelectLine";
|
|
1617
1693
|
shortcutKeys = ["Delete"];
|
|
1618
1694
|
static commandName = "deleteSelectLine";
|
|
@@ -1647,7 +1723,7 @@ class X extends N {
|
|
|
1647
1723
|
return e.forEach((t) => this.renderManager.removeLine(t)), e;
|
|
1648
1724
|
}
|
|
1649
1725
|
}
|
|
1650
|
-
class $ extends
|
|
1726
|
+
class $ extends O {
|
|
1651
1727
|
static name = "ConnectionLine";
|
|
1652
1728
|
shortcutKeys = ["Shift", "L"];
|
|
1653
1729
|
static commandName = "connectionLine";
|
|
@@ -1670,12 +1746,12 @@ class $ extends N {
|
|
|
1670
1746
|
connection(e, t) {
|
|
1671
1747
|
let n, o, s = 1 / 0;
|
|
1672
1748
|
for (let a = 0; a < 2; a++)
|
|
1673
|
-
for (let
|
|
1674
|
-
const
|
|
1675
|
-
|
|
1749
|
+
for (let r = 0; r < 2; r++) {
|
|
1750
|
+
const l = t[0].points[a], i = t[1].points[r], c = l.distance(i);
|
|
1751
|
+
c < s && (n = l, o = i, s = c);
|
|
1676
1752
|
}
|
|
1677
1753
|
if (n && o) {
|
|
1678
|
-
const a = new
|
|
1754
|
+
const a = new B(n.clone(), o.clone());
|
|
1679
1755
|
e(a), L({ message: "连接成功", type: "success" });
|
|
1680
1756
|
} else this.cancel();
|
|
1681
1757
|
}
|
|
@@ -1700,7 +1776,7 @@ class $ extends N {
|
|
|
1700
1776
|
return this.completed(e), e;
|
|
1701
1777
|
}
|
|
1702
1778
|
}
|
|
1703
|
-
class ee extends
|
|
1779
|
+
class ee extends O {
|
|
1704
1780
|
static name = "IntersectionConnectionLine";
|
|
1705
1781
|
shortcutKeys = ["control", "Shift", "L"];
|
|
1706
1782
|
static commandName = "intersectionConnectionLine";
|
|
@@ -1723,10 +1799,10 @@ class ee extends N {
|
|
|
1723
1799
|
connection(e, t) {
|
|
1724
1800
|
const n = t[0], o = t[1], s = t[0].getIntersection(t[1]);
|
|
1725
1801
|
if (!s) return;
|
|
1726
|
-
const a = n.points.map((
|
|
1802
|
+
const a = n.points.map((c) => c.clone()), r = o.points.map((c) => c.clone());
|
|
1727
1803
|
n.start.distance(s) < n.end.distance(s) ? n.start.copy(s) : n.end.copy(s), o.start.distance(s) < o.end.distance(s) ? o.start.copy(s) : o.end.copy(s);
|
|
1728
|
-
const
|
|
1729
|
-
e({ line1: n, line2: o, oldLine1: a, oldLine2:
|
|
1804
|
+
const l = n.points.map((c) => c.clone()), i = o.points.map((c) => c.clone());
|
|
1805
|
+
e({ line1: n, line2: o, oldLine1: a, oldLine2: r, newLine1: l, newLine2: i }), L({ message: "连接成功", type: "success" });
|
|
1730
1806
|
}
|
|
1731
1807
|
/** 执行完成
|
|
1732
1808
|
* @param next
|
|
@@ -1750,7 +1826,7 @@ class ee extends N {
|
|
|
1750
1826
|
return this.completed(e), e;
|
|
1751
1827
|
}
|
|
1752
1828
|
}
|
|
1753
|
-
class te extends
|
|
1829
|
+
class te extends O {
|
|
1754
1830
|
static name = "DeleteSelectWindow";
|
|
1755
1831
|
shortcutKeys = ["Q", "Delete"];
|
|
1756
1832
|
static commandName = "deleteSelectWindow";
|
|
@@ -1807,7 +1883,7 @@ class te extends N {
|
|
|
1807
1883
|
return this.completed(e), e;
|
|
1808
1884
|
}
|
|
1809
1885
|
}
|
|
1810
|
-
class ne extends
|
|
1886
|
+
class ne extends O {
|
|
1811
1887
|
static name = "SelectAll";
|
|
1812
1888
|
container = new m.Group();
|
|
1813
1889
|
shortcutKeys = ["control", "a"];
|
|
@@ -1844,7 +1920,7 @@ class ne extends N {
|
|
|
1844
1920
|
return this.completed(e), e;
|
|
1845
1921
|
}
|
|
1846
1922
|
}
|
|
1847
|
-
class oe extends
|
|
1923
|
+
class oe extends O {
|
|
1848
1924
|
static name = "ViewAngle";
|
|
1849
1925
|
shortcutKeys = ["r"];
|
|
1850
1926
|
static commandName = "viewAngle";
|
|
@@ -1868,26 +1944,26 @@ class oe extends N {
|
|
|
1868
1944
|
*/
|
|
1869
1945
|
viewAngle(e, t) {
|
|
1870
1946
|
const [n, o] = t, s = Math.min(0.5, n.length(), o.length());
|
|
1871
|
-
let a,
|
|
1872
|
-
n.sameEndpointAsStart(o) ? (a = n.start,
|
|
1873
|
-
function h(M,
|
|
1874
|
-
const
|
|
1875
|
-
let
|
|
1876
|
-
return
|
|
1947
|
+
let a, r, l, i = 0, c = 0;
|
|
1948
|
+
n.sameEndpointAsStart(o) ? (a = n.start, r = n.end) : (a = n.end, r = n.start), o.sameEndpointAsStart(n) ? l = o.end : l = o.start;
|
|
1949
|
+
function h(M, K) {
|
|
1950
|
+
const w = K.x - M.x, Z = K.y - M.y;
|
|
1951
|
+
let G = Math.atan2(Z, w) * (180 / Math.PI);
|
|
1952
|
+
return G < 0 && (G += 360), G;
|
|
1877
1953
|
}
|
|
1878
|
-
const
|
|
1879
|
-
function
|
|
1880
|
-
for (let
|
|
1881
|
-
const Z = Math.cos(
|
|
1882
|
-
E.push(Z,
|
|
1954
|
+
const f = h(a, r), u = h(a, l), p = Math.min(f, u), g = Math.max(f, u), E = [];
|
|
1955
|
+
function C(M, K) {
|
|
1956
|
+
for (let w = M; w <= K; w++) {
|
|
1957
|
+
const Z = Math.cos(w * Math.PI / 180) * s + a.x, G = Math.sin(w * Math.PI / 180) * s + a.y, Ce = Math.cos((w + 1) * Math.PI / 180) * s + a.x, xe = Math.sin((w + 1) * Math.PI / 180) * s + a.y;
|
|
1958
|
+
E.push(Z, G, 0, Ce, xe, 0);
|
|
1883
1959
|
}
|
|
1884
1960
|
}
|
|
1885
|
-
|
|
1961
|
+
g - p > 180 ? (C(0, p), C(g, 360), i = 360 - (g - p), c = (g + i / 2) % 360) : (C(p, g), i = g - p, c = p + i / 2);
|
|
1886
1962
|
const D = new m.LineSegments();
|
|
1887
1963
|
D.geometry = this.renderManager.createGeometry({
|
|
1888
1964
|
position: E
|
|
1889
1965
|
}, E.length / 3), D.material = new m.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(D);
|
|
1890
|
-
const
|
|
1966
|
+
const F = Math.cos(c * Math.PI / 180) * s + a.x, ae = Math.sin(c * Math.PI / 180) * s + a.y, q = this.renderer.createText(Number(i.toFixed(2)), new m.Vector3(F, ae, 0), {
|
|
1891
1967
|
textShadow: "0px 0px 2px #000"
|
|
1892
1968
|
}, this.renderManager.container);
|
|
1893
1969
|
let _ = 0;
|
|
@@ -1896,7 +1972,7 @@ class oe extends N {
|
|
|
1896
1972
|
}));
|
|
1897
1973
|
}
|
|
1898
1974
|
}
|
|
1899
|
-
class rt extends
|
|
1975
|
+
class rt extends O {
|
|
1900
1976
|
static name = "ClippingLine";
|
|
1901
1977
|
container = new m.Group();
|
|
1902
1978
|
shortcutKeys = ["control", "x"];
|
|
@@ -1911,10 +1987,10 @@ class rt extends N {
|
|
|
1911
1987
|
* @param next
|
|
1912
1988
|
*/
|
|
1913
1989
|
selectPointStart(e) {
|
|
1914
|
-
let t = null, n = new m.Mesh(new m.SphereGeometry(0.
|
|
1990
|
+
let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
|
|
1915
1991
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1916
|
-
const { point: s, line: a, find:
|
|
1917
|
-
this.dispatchEvent({ type: "pointerMove", point: s }),
|
|
1992
|
+
const { point: s, line: a, find: r } = this.editor.renderManager.adsorption();
|
|
1993
|
+
this.dispatchEvent({ type: "pointerMove", point: s }), r ? (this.domElement.style.cursor = "none", n.position.copy(s), o = a, t = s.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
1918
1994
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1919
1995
|
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), e({ point: t, line: o }));
|
|
1920
1996
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
@@ -1923,10 +1999,10 @@ class rt extends N {
|
|
|
1923
1999
|
* @param next
|
|
1924
2000
|
*/
|
|
1925
2001
|
selectPointEnd(e, { point: t, line: n }) {
|
|
1926
|
-
let o = null, s = new m.Mesh(new m.SphereGeometry(0.
|
|
2002
|
+
let o = null, s = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 }));
|
|
1927
2003
|
this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1928
|
-
const { point: a, find:
|
|
1929
|
-
this.dispatchEvent({ type: "pointerMove", point: a }),
|
|
2004
|
+
const { point: a, find: r, line: l } = this.editor.renderManager.adsorption();
|
|
2005
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), r && l === n ? (this.domElement.style.cursor = "none", s.position.copy(a), o = a.clone(), this.container.add(s)) : (this.domElement.style.cursor = "no-drop", o = null, s.removeFromParent());
|
|
1930
2006
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1931
2007
|
this.eventInput.isKeyDown("mouse_0") && o && e({ line: n, start: t, end: o });
|
|
1932
2008
|
}));
|
|
@@ -1937,14 +2013,14 @@ class rt extends N {
|
|
|
1937
2013
|
* @param points
|
|
1938
2014
|
*/
|
|
1939
2015
|
end(e, { start: t, end: n, line: o }) {
|
|
1940
|
-
const s =
|
|
2016
|
+
const s = A.from(t), a = A.from(n);
|
|
1941
2017
|
e({
|
|
1942
2018
|
oldLine: o,
|
|
1943
|
-
newLine1: new
|
|
2019
|
+
newLine1: new B(
|
|
1944
2020
|
o.start,
|
|
1945
2021
|
o.start.distance(s) < o.start.distance(a) ? s.clone() : a.clone()
|
|
1946
2022
|
),
|
|
1947
|
-
newLine2: new
|
|
2023
|
+
newLine2: new B(
|
|
1948
2024
|
o.end,
|
|
1949
2025
|
o.end.distance(s) < o.end.distance(a) ? s.clone() : a.clone()
|
|
1950
2026
|
)
|
|
@@ -1969,7 +2045,7 @@ class rt extends N {
|
|
|
1969
2045
|
return this.completed(e), e;
|
|
1970
2046
|
}
|
|
1971
2047
|
}
|
|
1972
|
-
class se extends
|
|
2048
|
+
class se extends O {
|
|
1973
2049
|
static name = "VerticalReferenceLine";
|
|
1974
2050
|
shortcutKeys = ["v"];
|
|
1975
2051
|
static commandName = "VerticalReferenceLine";
|
|
@@ -2018,46 +2094,46 @@ const oo = {
|
|
|
2018
2094
|
dxfSystem: {},
|
|
2019
2095
|
permission: {}
|
|
2020
2096
|
},
|
|
2021
|
-
setup(
|
|
2022
|
-
function e(
|
|
2023
|
-
const me =
|
|
2024
|
-
|
|
2097
|
+
setup(d) {
|
|
2098
|
+
function e(x, v, b = h.value.getBoundingClientRect(), U = f.value.getBoundingClientRect()) {
|
|
2099
|
+
const me = b.width - U.width, he = 0, Me = b.height - U.height;
|
|
2100
|
+
x = Math.max(0, Math.min(x, me)), v = Math.max(he, Math.min(v, Me)), _.value = { left: x, top: v };
|
|
2025
2101
|
}
|
|
2026
|
-
function t(
|
|
2027
|
-
|
|
2102
|
+
function t(x) {
|
|
2103
|
+
p.value === x.command || p.value !== "default" || C.commandManager.start(x.command);
|
|
2028
2104
|
}
|
|
2029
|
-
function n(
|
|
2030
|
-
if (
|
|
2031
|
-
localStorage.setItem("lines", JSON.stringify(
|
|
2105
|
+
function n(x) {
|
|
2106
|
+
if (x) {
|
|
2107
|
+
localStorage.setItem("lines", JSON.stringify(x));
|
|
2032
2108
|
try {
|
|
2033
|
-
|
|
2034
|
-
} catch (
|
|
2035
|
-
console.log(
|
|
2109
|
+
g.Dxf.set(x), g.Dxf.lineOffset();
|
|
2110
|
+
} catch (v) {
|
|
2111
|
+
console.log(v);
|
|
2036
2112
|
}
|
|
2037
2113
|
}
|
|
2038
2114
|
}
|
|
2039
2115
|
async function o() {
|
|
2040
|
-
const
|
|
2041
|
-
Array.isArray(
|
|
2116
|
+
const x = await It.json();
|
|
2117
|
+
Array.isArray(x) && (localStorage.removeItem("orbitControls"), n(x));
|
|
2042
2118
|
}
|
|
2043
|
-
function s({ offsetX:
|
|
2119
|
+
function s({ offsetX: x, offsetY: v }) {
|
|
2044
2120
|
E.mouseMoveEventProxylock = !0;
|
|
2045
|
-
const
|
|
2121
|
+
const b = document.body.style.cursor;
|
|
2046
2122
|
document.body.style.cursor = "move";
|
|
2047
2123
|
const U = (me) => {
|
|
2048
|
-
const he = h.value.getBoundingClientRect(),
|
|
2124
|
+
const he = h.value.getBoundingClientRect(), Me = f.value.getBoundingClientRect();
|
|
2049
2125
|
e(
|
|
2050
|
-
me.pageX - he.left -
|
|
2051
|
-
me.pageY - he.top -
|
|
2126
|
+
me.pageX - he.left - x,
|
|
2127
|
+
me.pageY - he.top - v,
|
|
2052
2128
|
he,
|
|
2053
|
-
|
|
2129
|
+
Me
|
|
2054
2130
|
), me.stopPropagation(), document.body.style.cursor = "move";
|
|
2055
|
-
},
|
|
2056
|
-
document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup",
|
|
2131
|
+
}, Ee = () => {
|
|
2132
|
+
document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup", Ee), document.body.style.cursor = b, E.mouseMoveEventProxylock = !1;
|
|
2057
2133
|
};
|
|
2058
|
-
document.body.addEventListener("mousemove", U), document.addEventListener("mouseup",
|
|
2134
|
+
document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Ee);
|
|
2059
2135
|
}
|
|
2060
|
-
const a =
|
|
2136
|
+
const a = d, r = S(!0), l = S(!0), i = S(!0), c = S(!1), h = S(), f = S(), u = S(!0), p = S(""), g = Bt(a.dxfSystem), E = g.findComponentByType(kt), C = g.findComponentByType(dt), D = g.findComponentByType(_e), F = g.findComponentByType(Dt), ae = S(0), q = S(0), _ = S({ left: 10, top: 100 }), M = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": bn, "./assets/images/connection.svg": xn, "./assets/images/cutLine.svg": Mn, "./assets/images/deleteSelectLine.svg": kn, "./assets/images/deleteSelectWindow.svg": Pn, "./assets/images/door.svg": Sn, "./assets/images/intersectionConnection.svg": _n, "./assets/images/line.svg": Nn, "./assets/images/mergeLine.svg": On, "./assets/images/revokeRollback.svg": Kn, "./assets/images/rollback.svg": Tn, "./assets/images/selectAll.svg": Vn, "./assets/images/selectPoint.svg": Qn, "./assets/images/verticalCorrection.svg": Wn, "./assets/images/verticalLine.svg": Jn, "./assets/images/window.svg": Zn }), K = S(!1), w = S(0), Z = S(!1), G = new ResizeObserver(() => e(_.value.left, _.value.top)), Ce = [
|
|
2061
2137
|
{ name: "开启绘制线段命令", shortcut: "Ctrl + L" },
|
|
2062
2138
|
{ name: "开启绘制门线命令", shortcut: "Ctrl + M" },
|
|
2063
2139
|
{ name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
|
|
@@ -2077,7 +2153,7 @@ const oo = {
|
|
|
2077
2153
|
{ name: "取消命令", shortcut: "Esc" },
|
|
2078
2154
|
{ name: "回滚操作", shortcut: "Ctrl + Z" },
|
|
2079
2155
|
{ name: "取消回滚操作", shortcut: "Ctrl + Y" }
|
|
2080
|
-
],
|
|
2156
|
+
], xe = [
|
|
2081
2157
|
{
|
|
2082
2158
|
command: "default",
|
|
2083
2159
|
name: "默认",
|
|
@@ -2127,7 +2203,7 @@ const oo = {
|
|
|
2127
2203
|
show: P(() => ae.value !== 0),
|
|
2128
2204
|
shortcut: "Ctrl + Z",
|
|
2129
2205
|
action() {
|
|
2130
|
-
|
|
2206
|
+
C.commandManager.rollback();
|
|
2131
2207
|
}
|
|
2132
2208
|
},
|
|
2133
2209
|
{
|
|
@@ -2138,34 +2214,34 @@ const oo = {
|
|
|
2138
2214
|
shortcut: "Ctrl + Y",
|
|
2139
2215
|
class: "rotateY-[180deg]",
|
|
2140
2216
|
action() {
|
|
2141
|
-
|
|
2217
|
+
C.commandManager.revokeRollback();
|
|
2142
2218
|
}
|
|
2143
2219
|
},
|
|
2144
2220
|
{
|
|
2145
2221
|
command: Y.commandName,
|
|
2146
2222
|
name: "合并",
|
|
2147
2223
|
src: M["./assets/images/mergeLine.svg"].default,
|
|
2148
|
-
show: P(() =>
|
|
2224
|
+
show: P(() => w.value === 2),
|
|
2149
2225
|
shortcut: "Ctrl + G"
|
|
2150
2226
|
},
|
|
2151
2227
|
{
|
|
2152
2228
|
command: $.commandName,
|
|
2153
2229
|
name: "两点连接",
|
|
2154
|
-
show: P(() =>
|
|
2230
|
+
show: P(() => w.value === 2),
|
|
2155
2231
|
src: M["./assets/images/connection.svg"].default,
|
|
2156
2232
|
shortcut: "Shift + L"
|
|
2157
2233
|
},
|
|
2158
2234
|
{
|
|
2159
2235
|
command: ee.commandName,
|
|
2160
2236
|
name: "延长线交点连接",
|
|
2161
|
-
show: P(() =>
|
|
2237
|
+
show: P(() => w.value === 2),
|
|
2162
2238
|
src: M["./assets/images/intersectionConnection.svg"].default,
|
|
2163
2239
|
shortcut: "Ctrl + Shift + L"
|
|
2164
2240
|
},
|
|
2165
2241
|
{
|
|
2166
2242
|
command: de.commandName,
|
|
2167
2243
|
name: "线段垂直纠正",
|
|
2168
|
-
show: P(() =>
|
|
2244
|
+
show: P(() => w.value === 1),
|
|
2169
2245
|
src: M["./assets/images/verticalCorrection.svg"].default,
|
|
2170
2246
|
shortcut: "Ctrl + C 或 Ctrl + Shift + C"
|
|
2171
2247
|
},
|
|
@@ -2173,7 +2249,7 @@ const oo = {
|
|
|
2173
2249
|
command: se.commandName,
|
|
2174
2250
|
name: "y轴垂直基准线",
|
|
2175
2251
|
show: P(
|
|
2176
|
-
() =>
|
|
2252
|
+
() => w.value === 1 && !D.selectLines[0].userData.isDoor
|
|
2177
2253
|
),
|
|
2178
2254
|
src: M["./assets/images/verticalLine.svg"].default,
|
|
2179
2255
|
shortcut: "V"
|
|
@@ -2181,14 +2257,14 @@ const oo = {
|
|
|
2181
2257
|
{
|
|
2182
2258
|
command: oe.commandName,
|
|
2183
2259
|
name: "角度显示",
|
|
2184
|
-
show: P(() =>
|
|
2260
|
+
show: P(() => w.value === 2 && D.selectLines[0].sameEndpoint(D.selectLines[1])),
|
|
2185
2261
|
src: M["./assets/images/angle.svg"].default,
|
|
2186
2262
|
shortcut: "r"
|
|
2187
2263
|
},
|
|
2188
2264
|
{
|
|
2189
2265
|
command: ne.commandName,
|
|
2190
2266
|
name: "全选",
|
|
2191
|
-
show: P(() =>
|
|
2267
|
+
show: P(() => w.value !== C.renderManager.lines.length),
|
|
2192
2268
|
src: M["./assets/images/selectAll.svg"].default,
|
|
2193
2269
|
shortcut: "Ctrl + A"
|
|
2194
2270
|
},
|
|
@@ -2202,49 +2278,49 @@ const oo = {
|
|
|
2202
2278
|
{
|
|
2203
2279
|
command: X.commandName,
|
|
2204
2280
|
name: "删除",
|
|
2205
|
-
show: P(() =>
|
|
2281
|
+
show: P(() => w.value > 0),
|
|
2206
2282
|
src: M["./assets/images/deleteSelectLine.svg"].default,
|
|
2207
2283
|
shortcut: "Delete"
|
|
2208
2284
|
}
|
|
2209
2285
|
];
|
|
2210
|
-
|
|
2211
|
-
localStorage.setItem("toolBarExpand",
|
|
2212
|
-
}),
|
|
2213
|
-
const ct =
|
|
2214
|
-
|
|
2286
|
+
W(_, () => localStorage.setItem("editorToolPosition", JSON.stringify(_.value))), W(K, () => localStorage.setItem("showShortcutKey", K.value + "")), W(u, () => {
|
|
2287
|
+
localStorage.setItem("toolBarExpand", u.value + ""), u.value && ye(() => e(_.value.left, _.value.top));
|
|
2288
|
+
}), W(r, () => g.Variable.set("originalLineVisible", r.value)), W(l, () => g.Variable.set("dxfVisible", l.value)), W(i, () => g.Variable.set("whiteModelVisible", i.value)), g.Variable.addEventListener("isLook", (x) => c.value = x.value), g.Variable.addEventListener("originalLineVisible", (x) => r.value = x.value), g.Variable.addEventListener("dxfVisible", (x) => l.value = x.value), g.Variable.addEventListener("whiteModelVisible", (x) => i.value = x.value);
|
|
2289
|
+
const ct = C.commandManager.addEventListener("started", (x) => {
|
|
2290
|
+
p.value = x.name;
|
|
2215
2291
|
});
|
|
2216
|
-
return localStorage.getItem("showShortcutKey") && (
|
|
2217
|
-
|
|
2218
|
-
if (
|
|
2219
|
-
const { left:
|
|
2220
|
-
e(
|
|
2292
|
+
return localStorage.getItem("showShortcutKey") && (K.value = localStorage.getItem("showShortcutKey") === "true"), localStorage.getItem("toolBarExpand") && (u.value = localStorage.getItem("toolBarExpand") === "true"), tt(() => {
|
|
2293
|
+
f.value.style.display = "none", setTimeout(() => {
|
|
2294
|
+
if (f.value.style.display = "block", localStorage.getItem("editorToolPosition")) {
|
|
2295
|
+
const { left: x, top: v } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
|
|
2296
|
+
e(x, v), ye(() => G.observe(h.value));
|
|
2221
2297
|
} else
|
|
2222
|
-
ye(() =>
|
|
2298
|
+
ye(() => G.observe(h.value));
|
|
2223
2299
|
}, 100), D.addEventListener("selectLineChange", () => {
|
|
2224
|
-
|
|
2225
|
-
}), ["rollback", "completed", "revokeRollback"].forEach((
|
|
2226
|
-
|
|
2300
|
+
w.value = D.selectLines.length, Z.value = D.selectLines.some((x) => x.userData.isWindow);
|
|
2301
|
+
}), ["rollback", "completed", "revokeRollback"].forEach((x) => {
|
|
2302
|
+
C.commandManager.addEventListener(x, () => {
|
|
2227
2303
|
setTimeout(() => {
|
|
2228
|
-
ae.value =
|
|
2304
|
+
ae.value = C.commandManager.operationList.length, q.value = C.commandManager.rollbackList.length;
|
|
2229
2305
|
});
|
|
2230
2306
|
});
|
|
2231
2307
|
});
|
|
2232
2308
|
}), Nt(() => {
|
|
2233
|
-
E.mouseMoveEventProxylock = !1, ct(),
|
|
2234
|
-
}), (
|
|
2309
|
+
E.mouseMoveEventProxylock = !1, ct(), G.disconnect();
|
|
2310
|
+
}), (x, v) => (I(), R("div", {
|
|
2235
2311
|
ref_key: "elRef",
|
|
2236
2312
|
ref: h,
|
|
2237
2313
|
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]"
|
|
2238
2314
|
}, [
|
|
2239
|
-
|
|
2240
|
-
default:
|
|
2241
|
-
|
|
2242
|
-
(I(),
|
|
2315
|
+
z(be, null, {
|
|
2316
|
+
default: V(() => [
|
|
2317
|
+
K.value ? (I(), R("div", oo, [
|
|
2318
|
+
(I(), R(ge, null, ke(Ce, (b) => k("div", {
|
|
2243
2319
|
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",
|
|
2244
|
-
key:
|
|
2320
|
+
key: b.name
|
|
2245
2321
|
}, [
|
|
2246
|
-
k("p", so, re(
|
|
2247
|
-
k("span", ao, re(
|
|
2322
|
+
k("p", so, re(b.name), 1),
|
|
2323
|
+
k("span", ao, re(b.shortcut), 1)
|
|
2248
2324
|
])), 64))
|
|
2249
2325
|
])) : J("", !0)
|
|
2250
2326
|
]),
|
|
@@ -2252,64 +2328,64 @@ const oo = {
|
|
|
2252
2328
|
}),
|
|
2253
2329
|
k("div", {
|
|
2254
2330
|
ref_key: "toolBarRef",
|
|
2255
|
-
ref:
|
|
2256
|
-
style:
|
|
2257
|
-
class:
|
|
2258
|
-
onMousedown:
|
|
2331
|
+
ref: f,
|
|
2332
|
+
style: Ae({ left: _.value.left + "px", top: _.value.top + "px" }),
|
|
2333
|
+
class: j(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": u.value }]),
|
|
2334
|
+
onMousedown: v[9] || (v[9] = (b) => b.stopPropagation())
|
|
2259
2335
|
}, [
|
|
2260
2336
|
k("div", {
|
|
2261
2337
|
onMousedown: s,
|
|
2262
|
-
class:
|
|
2338
|
+
class: j([{ "border-b-[#eee] border-b-1": u.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
|
|
2263
2339
|
}, [
|
|
2264
|
-
|
|
2340
|
+
v[11] || (v[11] = Rt('<div class="flex flex-row" data-v-205ff80d><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-205ff80d><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-205ff80d><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-205ff80d></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-205ff80d>绘制工具</h5></div>', 1)),
|
|
2265
2341
|
k("div", {
|
|
2266
|
-
onMousedown:
|
|
2267
|
-
onClick:
|
|
2342
|
+
onMousedown: v[0] || (v[0] = (b) => b.stopPropagation()),
|
|
2343
|
+
onClick: v[1] || (v[1] = (b) => u.value = !u.value),
|
|
2268
2344
|
class: "cursor-pointer flex items-center p-[0px_5px]"
|
|
2269
2345
|
}, [
|
|
2270
|
-
(I(),
|
|
2346
|
+
(I(), R("svg", {
|
|
2271
2347
|
fill: "#666",
|
|
2272
|
-
class:
|
|
2348
|
+
class: j([{ "rotate-90": u.value }, "transition-all"]),
|
|
2273
2349
|
viewBox: "0 0 1024 1024",
|
|
2274
2350
|
version: "1.1",
|
|
2275
2351
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2276
2352
|
width: "12",
|
|
2277
2353
|
height: "12"
|
|
2278
|
-
},
|
|
2354
|
+
}, v[10] || (v[10] = [
|
|
2279
2355
|
k("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)
|
|
2280
2356
|
]), 2))
|
|
2281
2357
|
], 32)
|
|
2282
2358
|
], 34),
|
|
2283
|
-
|
|
2359
|
+
u.value ? (I(), R("div", io, [
|
|
2284
2360
|
k("ul", ro, [
|
|
2285
|
-
(I(),
|
|
2286
|
-
key:
|
|
2361
|
+
(I(), R(ge, null, ke(xe, (b) => (I(), R(ge, {
|
|
2362
|
+
key: b.command
|
|
2287
2363
|
}, [
|
|
2288
|
-
|
|
2364
|
+
b.show ? (I(), R("li", {
|
|
2289
2365
|
key: 0,
|
|
2290
|
-
onClick: (U) => t(
|
|
2291
|
-
class:
|
|
2292
|
-
"!bg-[var(--primary-color)] text-[#fff]":
|
|
2293
|
-
"!cursor-no-drop":
|
|
2366
|
+
onClick: (U) => t(b),
|
|
2367
|
+
class: j([{
|
|
2368
|
+
"!bg-[var(--primary-color)] text-[#fff]": p.value === b.command,
|
|
2369
|
+
"!cursor-no-drop": p.value !== b.command && p.value !== "default"
|
|
2294
2370
|
}, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
|
|
2295
2371
|
}, [
|
|
2296
2372
|
k("div", co, [
|
|
2297
2373
|
k("div", mo, [
|
|
2298
2374
|
k("img", {
|
|
2299
2375
|
class: "size-[14px]",
|
|
2300
|
-
src:
|
|
2376
|
+
src: b.src,
|
|
2301
2377
|
alt: "",
|
|
2302
2378
|
srcset: ""
|
|
2303
2379
|
}, null, 8, ho)
|
|
2304
2380
|
]),
|
|
2305
|
-
k("span", uo, re(
|
|
2381
|
+
k("span", uo, re(b.name), 1)
|
|
2306
2382
|
]),
|
|
2307
|
-
|
|
2383
|
+
p.value === b.command ? (I(), R("div", {
|
|
2308
2384
|
key: 0,
|
|
2309
2385
|
title: "取消命令(Esc)",
|
|
2310
2386
|
class: "active:scale-[0.7] transition-all",
|
|
2311
|
-
onClick:
|
|
2312
|
-
},
|
|
2387
|
+
onClick: v[2] || (v[2] = (U) => (y(C).cancelCommand(), U.stopPropagation()))
|
|
2388
|
+
}, v[12] || (v[12] = [
|
|
2313
2389
|
k("svg", {
|
|
2314
2390
|
fill: "#fff",
|
|
2315
2391
|
width: "16",
|
|
@@ -2321,103 +2397,103 @@ const oo = {
|
|
|
2321
2397
|
k("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" }),
|
|
2322
2398
|
k("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
|
|
2323
2399
|
], -1)
|
|
2324
|
-
]))) :
|
|
2400
|
+
]))) : b.shortcut ? (I(), R("div", po, re(b.shortcut), 1)) : J("", !0)
|
|
2325
2401
|
], 10, lo)) : J("", !0)
|
|
2326
2402
|
], 64))), 64))
|
|
2327
2403
|
]),
|
|
2328
2404
|
k("div", go, [
|
|
2329
|
-
|
|
2405
|
+
z(y(Fe), {
|
|
2330
2406
|
size: "small",
|
|
2331
|
-
modelValue:
|
|
2332
|
-
"onUpdate:modelValue":
|
|
2407
|
+
modelValue: K.value,
|
|
2408
|
+
"onUpdate:modelValue": v[3] || (v[3] = (b) => K.value = b),
|
|
2333
2409
|
label: "快捷键提示"
|
|
2334
2410
|
}, null, 8, ["modelValue"]),
|
|
2335
|
-
|
|
2411
|
+
z(y(Fe), {
|
|
2336
2412
|
size: "small",
|
|
2337
|
-
modelValue:
|
|
2338
|
-
"onUpdate:modelValue":
|
|
2413
|
+
modelValue: l.value,
|
|
2414
|
+
"onUpdate:modelValue": v[4] || (v[4] = (b) => l.value = b),
|
|
2339
2415
|
label: "dxf"
|
|
2340
2416
|
}, null, 8, ["modelValue"])
|
|
2341
2417
|
]),
|
|
2342
|
-
|
|
2343
|
-
|
|
2418
|
+
x.permission === "admin" ? (I(), R("div", vo, [
|
|
2419
|
+
z(y(ue), {
|
|
2344
2420
|
style: { padding: "5px", "font-size": "10px" },
|
|
2345
2421
|
size: "small",
|
|
2346
2422
|
type: "success",
|
|
2347
2423
|
onClick: o
|
|
2348
2424
|
}, {
|
|
2349
|
-
default:
|
|
2425
|
+
default: V(() => v[13] || (v[13] = [
|
|
2350
2426
|
ie(" 选择文件 ", -1)
|
|
2351
2427
|
])),
|
|
2352
2428
|
_: 1,
|
|
2353
2429
|
__: [13]
|
|
2354
2430
|
}),
|
|
2355
|
-
|
|
2431
|
+
z(y(ue), {
|
|
2356
2432
|
style: { padding: "5px", "font-size": "10px" },
|
|
2357
2433
|
size: "small",
|
|
2358
2434
|
type: "primary",
|
|
2359
|
-
onClick:
|
|
2435
|
+
onClick: v[5] || (v[5] = (b) => console.log(y(g).Dxf.originalData))
|
|
2360
2436
|
}, {
|
|
2361
|
-
default:
|
|
2437
|
+
default: V(() => v[14] || (v[14] = [
|
|
2362
2438
|
ie(" 打印Json ", -1)
|
|
2363
2439
|
])),
|
|
2364
2440
|
_: 1,
|
|
2365
2441
|
__: [14]
|
|
2366
2442
|
}),
|
|
2367
|
-
|
|
2443
|
+
z(y(ue), {
|
|
2368
2444
|
style: { padding: "5px", "font-size": "10px" },
|
|
2369
2445
|
size: "small",
|
|
2370
2446
|
type: "primary",
|
|
2371
|
-
onClick:
|
|
2447
|
+
onClick: v[6] || (v[6] = (b) => y(g).Dxf.download("test.dxf"))
|
|
2372
2448
|
}, {
|
|
2373
|
-
default:
|
|
2449
|
+
default: V(() => v[15] || (v[15] = [
|
|
2374
2450
|
ie(" 下载DXF ", -1)
|
|
2375
2451
|
])),
|
|
2376
2452
|
_: 1,
|
|
2377
2453
|
__: [15]
|
|
2378
2454
|
}),
|
|
2379
|
-
|
|
2455
|
+
z(y(ue), {
|
|
2380
2456
|
style: { padding: "5px", "font-size": "10px" },
|
|
2381
2457
|
size: "small",
|
|
2382
2458
|
type: "primary",
|
|
2383
|
-
onClick:
|
|
2459
|
+
onClick: v[7] || (v[7] = (b) => y(g).AngleCorrectionDxf.downloadImage("dxf.jpg"))
|
|
2384
2460
|
}, {
|
|
2385
|
-
default:
|
|
2461
|
+
default: V(() => v[16] || (v[16] = [
|
|
2386
2462
|
ie(" 下载JPG ", -1)
|
|
2387
2463
|
])),
|
|
2388
2464
|
_: 1,
|
|
2389
2465
|
__: [16]
|
|
2390
2466
|
}),
|
|
2391
|
-
|
|
2467
|
+
z(y(ue), {
|
|
2392
2468
|
style: { padding: "5px", "font-size": "10px" },
|
|
2393
2469
|
size: "small",
|
|
2394
2470
|
type: "primary",
|
|
2395
|
-
onClick:
|
|
2471
|
+
onClick: v[8] || (v[8] = (b) => y(F).downloadGltf("test.glb", !0))
|
|
2396
2472
|
}, {
|
|
2397
|
-
default:
|
|
2473
|
+
default: V(() => v[17] || (v[17] = [
|
|
2398
2474
|
ie(" 下载白膜 ", -1)
|
|
2399
2475
|
])),
|
|
2400
2476
|
_: 1,
|
|
2401
2477
|
__: [17]
|
|
2402
2478
|
})
|
|
2403
2479
|
])) : J("", !0),
|
|
2404
|
-
|
|
2405
|
-
default:
|
|
2480
|
+
z(be, null, {
|
|
2481
|
+
default: V(() => [
|
|
2406
2482
|
k("div", fo, [
|
|
2407
|
-
|
|
2408
|
-
default:
|
|
2409
|
-
(I(),
|
|
2410
|
-
onClick: (U) =>
|
|
2411
|
-
title: `${
|
|
2412
|
-
class:
|
|
2413
|
-
"opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !
|
|
2414
|
-
[
|
|
2483
|
+
z(Ot, null, {
|
|
2484
|
+
default: V(() => [
|
|
2485
|
+
(I(), R(ge, null, ke(lt, (b) => k("div", {
|
|
2486
|
+
onClick: (U) => b.show.value && p.value === "default" && (b.action ? b.action() : y(C).commandManager.start(b.command, [...y(D).selectLines])),
|
|
2487
|
+
title: `${b.name}(${b.shortcut})`,
|
|
2488
|
+
class: j(["size-[20px] flex justify-center items-center relative overflow-hidden active:scale-[0.8] border-1 border-[#ccc] rounded-[4px] transition-all cursor-pointer", {
|
|
2489
|
+
"opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !b.show.value || p.value !== "default",
|
|
2490
|
+
[b.class ?? ""]: !0
|
|
2415
2491
|
}]),
|
|
2416
|
-
key:
|
|
2492
|
+
key: b.command
|
|
2417
2493
|
}, [
|
|
2418
2494
|
k("img", {
|
|
2419
2495
|
class: "size-[14px]",
|
|
2420
|
-
src:
|
|
2496
|
+
src: b.src
|
|
2421
2497
|
}, null, 8, wo)
|
|
2422
2498
|
], 10, yo)), 64))
|
|
2423
2499
|
]),
|
|
@@ -2431,13 +2507,13 @@ const oo = {
|
|
|
2431
2507
|
], 38)
|
|
2432
2508
|
], 512));
|
|
2433
2509
|
}
|
|
2434
|
-
}), Co = (
|
|
2435
|
-
const t =
|
|
2510
|
+
}), Co = (d, e) => {
|
|
2511
|
+
const t = d.__vccOpts || d;
|
|
2436
2512
|
for (const [n, o] of e)
|
|
2437
2513
|
t[n] = o;
|
|
2438
2514
|
return t;
|
|
2439
2515
|
}, xo = /* @__PURE__ */ Co(bo, [["__scopeId", "data-v-205ff80d"]]);
|
|
2440
|
-
let dt = class extends
|
|
2516
|
+
let dt = class extends Se {
|
|
2441
2517
|
static name = "Editor";
|
|
2442
2518
|
container = new m.Group();
|
|
2443
2519
|
get renderer() {
|
|
@@ -2527,20 +2603,20 @@ let dt = class extends Ce {
|
|
|
2527
2603
|
* 打开编辑器
|
|
2528
2604
|
*/
|
|
2529
2605
|
openEdit() {
|
|
2530
|
-
const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, s = e.camera, a = n.box.center,
|
|
2606
|
+
const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, s = e.camera, a = n.box.center, r = e.camera.position.clone(), l = o?.target?.clone(), i = new m.Vector2(), c = new m.Raycaster(), h = this.coords, f = this.pointerPosition;
|
|
2531
2607
|
this.container.position.z = n.originalZAverage, e.scene.add(this.container), o && (s.position.set(a.x, a.y, 15), o.target.set(a.x, a.y, 0), o.enableRotate = !1);
|
|
2532
|
-
const
|
|
2533
|
-
e.renderer.getSize(
|
|
2534
|
-
const
|
|
2535
|
-
h.set(
|
|
2536
|
-
const E =
|
|
2537
|
-
E.length && (
|
|
2608
|
+
const u = () => {
|
|
2609
|
+
e.renderer.getSize(i);
|
|
2610
|
+
const p = t.pointer.x / i.x * 2 - 1, g = -(t.pointer.y / i.y * 2 - 1);
|
|
2611
|
+
h.set(p, g), c.setFromCamera(h, e.camera.children.length ? e.camera.children[0] : e.camera);
|
|
2612
|
+
const E = c.intersectObject(this.plane);
|
|
2613
|
+
E.length && (f.copy(E[0].point), this.dispatchEvent({
|
|
2538
2614
|
type: "pointerPositionChange",
|
|
2539
|
-
position:
|
|
2615
|
+
position: f
|
|
2540
2616
|
}));
|
|
2541
2617
|
};
|
|
2542
|
-
t.addEventListener("mousemove",
|
|
2543
|
-
t.removeEventListener("mousemove",
|
|
2618
|
+
t.addEventListener("mousemove", u), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
|
|
2619
|
+
t.removeEventListener("mousemove", u), o && (s.position.copy(r), o.enableRotate = !0, o.target.copy(l));
|
|
2544
2620
|
};
|
|
2545
2621
|
}
|
|
2546
2622
|
/**
|
|
@@ -2553,7 +2629,7 @@ let dt = class extends Ce {
|
|
|
2553
2629
|
super.destroy(), this.exitEdit(), this.renderer.scene.remove(this.container), this.domElement.remove(), this.app?.unmount();
|
|
2554
2630
|
}
|
|
2555
2631
|
};
|
|
2556
|
-
class Eo extends
|
|
2632
|
+
class Eo extends O {
|
|
2557
2633
|
static name = "PointDrag";
|
|
2558
2634
|
container = new m.Group();
|
|
2559
2635
|
interruptKeys = ["escape"];
|
|
@@ -2568,10 +2644,10 @@ class Eo extends N {
|
|
|
2568
2644
|
* @param next
|
|
2569
2645
|
*/
|
|
2570
2646
|
selectPoint(e) {
|
|
2571
|
-
let t = null, n = new m.Mesh(new m.SphereGeometry(0.
|
|
2647
|
+
let t = null, n = new m.Mesh(new m.SphereGeometry(0.04), new m.MeshBasicMaterial({ color: 16711935 })), o = null;
|
|
2572
2648
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2573
|
-
const { point: s, line: a, find:
|
|
2574
|
-
this.dispatchEvent({ type: "pointerMove", point: s }),
|
|
2649
|
+
const { point: s, line: a, find: r, mode: l } = this.editor.renderManager.adsorption();
|
|
2650
|
+
this.dispatchEvent({ type: "pointerMove", point: s }), r && l === "point" ? (this.domElement.style.cursor = "none", n.position.copy(s), o = a, t = s.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
2575
2651
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2576
2652
|
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: o }));
|
|
2577
2653
|
})), this.addEventRecord("clear").add(() => n.removeFromParent());
|
|
@@ -2583,19 +2659,19 @@ class Eo extends N {
|
|
|
2583
2659
|
*/
|
|
2584
2660
|
drag(e, { point: t, line: n }) {
|
|
2585
2661
|
this.domElement.style.cursor = "crosshair";
|
|
2586
|
-
const o = n.start.equal(
|
|
2587
|
-
this.container.add(
|
|
2588
|
-
let { point:
|
|
2589
|
-
if (
|
|
2590
|
-
if (this.dispatchEvent({ type: "pointerMove", point:
|
|
2591
|
-
const
|
|
2592
|
-
|
|
2662
|
+
const o = n.start.equal(A.from(t)) ? "start" : "end", s = o == "start" ? new m.Vector3(n.end.x, n.end.y, 0) : new m.Vector3(n.start.x, n.start.y, 0), a = t.clone(), r = new fe([s, a], 16711935), l = new m.Mesh(new m.SphereGeometry(0.03), new m.MeshBasicMaterial({ color: 16711935 }));
|
|
2663
|
+
this.container.add(r), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2664
|
+
let { point: i, find: c } = this.editor.renderManager.adsorption(), h = "none";
|
|
2665
|
+
if (i) {
|
|
2666
|
+
if (this.dispatchEvent({ type: "pointerMove", point: i }), this.eventInput.isKeyDown("shift")) {
|
|
2667
|
+
const f = n.projectPoint(A.from(i), !1);
|
|
2668
|
+
i.set(f?.x ?? i.x, f?.y ?? i.y, 0), c = !0, h = "crosshair";
|
|
2593
2669
|
}
|
|
2594
|
-
|
|
2670
|
+
c ? (l.position.copy(i), this.container.add(l)) : (l.removeFromParent(), h = "crosshair"), a.copy(i), r.setPoint(s, a), this.domElement.style.cursor = h;
|
|
2595
2671
|
}
|
|
2596
2672
|
})).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2597
2673
|
this.eventInput.isKeyDown("mouse_0") && (this.canceEventRecord("selectPointStart"), e({ point: a, oldPoint: o === "end" ? n.end.clone() : n.start.clone(), line: n, mode: o }));
|
|
2598
|
-
})).add(() =>
|
|
2674
|
+
})).add(() => l.removeFromParent()).add(() => r.removeFromParent());
|
|
2599
2675
|
}
|
|
2600
2676
|
/** 执行完成
|
|
2601
2677
|
*/
|
|
@@ -2618,15 +2694,15 @@ class Eo extends N {
|
|
|
2618
2694
|
return this.completed(e), e;
|
|
2619
2695
|
}
|
|
2620
2696
|
}
|
|
2621
|
-
function Ue(
|
|
2622
|
-
|
|
2697
|
+
function Ue(d, e = {}) {
|
|
2698
|
+
d.addComponent(new dt(e.viewPermission)), d.addComponent(new eo()), d.addComponent(new _e()), d.addComponent(new vn()), d.addComponent(new to()), d.addComponent(new no()), d.addComponent(new Eo()), d.addComponent(new X()), d.addComponent(new Y()), d.addComponent(new de()), d.addComponent(new $()), d.addComponent(new ee()), d.addComponent(new te()), d.addComponent(new ne()), d.addComponent(new oe()), d.addComponent(new se()), d.addComponent(new rt());
|
|
2623
2699
|
}
|
|
2624
|
-
const
|
|
2625
|
-
create(
|
|
2626
|
-
return (e) => Ue(e,
|
|
2700
|
+
const Ao = Object.assign(Ue, {
|
|
2701
|
+
create(d = {}) {
|
|
2702
|
+
return (e) => Ue(e, d);
|
|
2627
2703
|
}
|
|
2628
2704
|
});
|
|
2629
2705
|
export {
|
|
2630
|
-
|
|
2706
|
+
Ao as Editor,
|
|
2631
2707
|
Ue as Editor_
|
|
2632
2708
|
};
|