build-dxf 0.0.37 → 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/package.json +1 -1
- package/src/build.js +1679 -1507
- package/src/index.css +1 -1
- package/src/index3.js +504 -498
- package/src/utils/DxfSystem/DxfSystem.d.ts +1 -0
- package/src/utils/DxfSystem/plugin/Editor/components/RenderManager.d.ts +2 -1
- package/src/utils/DxfSystem/plugin/RenderPlugin/pages/Dxf.vue.d.ts +1 -1
- package/src/utils/DxfSystem/type.d.ts +22 -5
- package/src/utils/DxfSystem/utils/findVerticalReference.d.ts +2 -0
- package/src/utils/DxfSystem/utils/lineSegmentClipping.d.ts +3 -2
- package/src/utils/Quadtree/LineSegment.d.ts +13 -2
package/src/index3.js
CHANGED
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { i as ut, n as pt, r as
|
|
3
|
-
import { C as
|
|
1
|
+
import * as u from "three";
|
|
2
|
+
import { i as ut, n as pt, r as Ue, t as qe, c as Pe, d as gt, e as vt, f as De, g as Q, _ as Ze, u as ft, h as fe, j as Se, w as yt, k as wt, l as bt, p as xt, m as Ct, o as Et, T as Ne, q as Be, s as Mt, v as Lt, x as Re, y as Ie, z as Le, A as kt, B as It, L as ye, D as Pt, b as Oe, E as re, S as Dt } from "./selectLocalFile.js";
|
|
3
|
+
import { C as Ae, P as M, L as N, B as Ye, E as Xe, b as ze, Q as Fe, u as At, A as _t, r as Ke, W as St, T as Nt } from "./build.js";
|
|
4
4
|
import "clipper-lib";
|
|
5
5
|
import "dxf-writer";
|
|
6
6
|
import "three/addons/controls/OrbitControls.js";
|
|
7
|
-
import { watch as J, ref as
|
|
8
|
-
function
|
|
7
|
+
import { watch as J, ref as S, defineComponent as me, computed as A, createElementBlock as R, openBlock as D, normalizeClass as V, unref as v, renderSlot as be, createVNode as F, Transition as xe, withCtx as j, withDirectives as $e, createElementVNode as P, normalizeStyle as _e, createTextVNode as X, toDisplayString as de, vShow as et, shallowReactive as Bt, onMounted as tt, createBlock as ge, createCommentVNode as q, resolveDynamicComponent as Rt, Fragment as ve, withModifiers as Ot, nextTick as we, isVNode as nt, render as Te, toRaw as zt, onUnmounted as Ft, renderList as ke, createStaticVNode as Kt, TransitionGroup as Tt, createApp as jt } from "vue";
|
|
8
|
+
function ot(d) {
|
|
9
9
|
var e;
|
|
10
|
-
const t =
|
|
10
|
+
const t = Ue(d);
|
|
11
11
|
return (e = t?.$el) != null ? e : t;
|
|
12
12
|
}
|
|
13
|
-
const
|
|
14
|
-
function
|
|
13
|
+
const st = Pe ? window : void 0;
|
|
14
|
+
function Vt(...d) {
|
|
15
15
|
let e, t, n, o;
|
|
16
|
-
if (ut(d[0]) || Array.isArray(d[0]) ? ([t, n, o] = d, e =
|
|
16
|
+
if (ut(d[0]) || Array.isArray(d[0]) ? ([t, n, o] = d, e = st) : [e, t, n, o] = d, !e)
|
|
17
17
|
return pt;
|
|
18
18
|
Array.isArray(t) || (t = [t]), Array.isArray(n) || (n = [n]);
|
|
19
19
|
const s = [], a = () => {
|
|
20
20
|
s.forEach((c) => c()), s.length = 0;
|
|
21
|
-
}, l = (c, m,
|
|
22
|
-
a(), c && s.push(...t.flatMap((
|
|
21
|
+
}, l = (c, m, y, f) => (c.addEventListener(m, y, f), () => c.removeEventListener(m, y, f)), r = J(() => [ot(e), Ue(o)], ([c, m]) => {
|
|
22
|
+
a(), c && s.push(...t.flatMap((y) => n.map((f) => l(c, y, f, m))));
|
|
23
23
|
}, { immediate: !0, flush: "post" }), i = () => {
|
|
24
24
|
r(), a();
|
|
25
25
|
};
|
|
26
|
-
return
|
|
26
|
+
return qe(i), i;
|
|
27
27
|
}
|
|
28
28
|
function Gt(d, e = !1) {
|
|
29
|
-
const t =
|
|
29
|
+
const t = S(), n = () => t.value = !!d();
|
|
30
30
|
return n(), gt(n, e), t;
|
|
31
31
|
}
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
var
|
|
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, Qt = Object.prototype.hasOwnProperty, Ht = Object.prototype.propertyIsEnumerable, Wt = (d, e) => {
|
|
35
35
|
var t = {};
|
|
36
36
|
for (var n in d)
|
|
37
37
|
Qt.call(d, n) && e.indexOf(n) < 0 && (t[n] = d[n]);
|
|
38
|
-
if (d != null &&
|
|
39
|
-
for (var n of
|
|
38
|
+
if (d != null && Ge)
|
|
39
|
+
for (var n of Ge(d))
|
|
40
40
|
e.indexOf(n) < 0 && Ht.call(d, n) && (t[n] = d[n]);
|
|
41
41
|
return t;
|
|
42
42
|
};
|
|
43
43
|
function Jt(d, e, t = {}) {
|
|
44
|
-
const n = t, { window: o =
|
|
44
|
+
const n = t, { window: o = st } = n, s = Wt(n, ["window"]);
|
|
45
45
|
let a;
|
|
46
46
|
const l = Gt(() => o && "ResizeObserver" in o), r = () => {
|
|
47
47
|
a && (a.disconnect(), a = void 0);
|
|
48
|
-
}, i = J(() =>
|
|
48
|
+
}, i = J(() => ot(d), (m) => {
|
|
49
49
|
r(), l.value && o && m && (a = new ResizeObserver(e), a.observe(m, s));
|
|
50
50
|
}, { immediate: !0, flush: "post" }), c = () => {
|
|
51
51
|
r(), i();
|
|
52
52
|
};
|
|
53
|
-
return
|
|
53
|
+
return qe(c), {
|
|
54
54
|
isSupported: l,
|
|
55
55
|
stop: c
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
var
|
|
58
|
+
var Qe;
|
|
59
59
|
(function(d) {
|
|
60
60
|
d.UP = "UP", d.RIGHT = "RIGHT", d.DOWN = "DOWN", d.LEFT = "LEFT", d.NONE = "NONE";
|
|
61
|
-
})(
|
|
62
|
-
var Ut = Object.defineProperty,
|
|
61
|
+
})(Qe || (Qe = {}));
|
|
62
|
+
var Ut = Object.defineProperty, He = Object.getOwnPropertySymbols, qt = Object.prototype.hasOwnProperty, Zt = Object.prototype.propertyIsEnumerable, We = (d, e, t) => e in d ? Ut(d, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[e] = t, Yt = (d, e) => {
|
|
63
63
|
for (var t in e || (e = {}))
|
|
64
|
-
qt.call(e, t) &&
|
|
65
|
-
if (
|
|
66
|
-
for (var t of
|
|
67
|
-
Zt.call(e, t) &&
|
|
64
|
+
qt.call(e, t) && We(d, t, e[t]);
|
|
65
|
+
if (He)
|
|
66
|
+
for (var t of He(e))
|
|
67
|
+
Zt.call(e, t) && We(d, t, e[t]);
|
|
68
68
|
return d;
|
|
69
69
|
};
|
|
70
70
|
const Xt = {
|
|
@@ -98,7 +98,7 @@ Yt({
|
|
|
98
98
|
}, Xt);
|
|
99
99
|
const $t = (d) => d, en = {
|
|
100
100
|
esc: "Escape"
|
|
101
|
-
}, tn =
|
|
101
|
+
}, tn = De({
|
|
102
102
|
value: {
|
|
103
103
|
type: [String, Number],
|
|
104
104
|
default: ""
|
|
@@ -135,7 +135,7 @@ const $t = (d) => d, en = {
|
|
|
135
135
|
...nn,
|
|
136
136
|
props: tn,
|
|
137
137
|
setup(d, { expose: e }) {
|
|
138
|
-
const t = d, n = ft("badge"), o =
|
|
138
|
+
const t = d, n = ft("badge"), o = A(() => t.isDot ? "" : fe(t.value) && fe(t.max) ? t.max < t.value ? `${t.max}+` : `${t.value}` : `${t.value}`), s = A(() => {
|
|
139
139
|
var a, l, r, i, c;
|
|
140
140
|
return [
|
|
141
141
|
{
|
|
@@ -148,16 +148,16 @@ const $t = (d) => d, en = {
|
|
|
148
148
|
});
|
|
149
149
|
return e({
|
|
150
150
|
content: o
|
|
151
|
-
}), (a, l) => (
|
|
151
|
+
}), (a, l) => (D(), R("div", {
|
|
152
152
|
class: V(v(n).b())
|
|
153
153
|
}, [
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
be(a.$slots, "default"),
|
|
155
|
+
F(xe, {
|
|
156
156
|
name: `${v(n).namespace.value}-zoom-in-center`,
|
|
157
157
|
persisted: ""
|
|
158
158
|
}, {
|
|
159
|
-
default:
|
|
160
|
-
|
|
159
|
+
default: j(() => [
|
|
160
|
+
$e(P("sup", {
|
|
161
161
|
class: V([
|
|
162
162
|
v(n).e("content"),
|
|
163
163
|
v(n).em("content", a.type),
|
|
@@ -166,13 +166,13 @@ const $t = (d) => d, en = {
|
|
|
166
166
|
v(n).is("hide-zero", !a.showZero && t.value === 0),
|
|
167
167
|
a.badgeClass
|
|
168
168
|
]),
|
|
169
|
-
style:
|
|
169
|
+
style: _e(v(s))
|
|
170
170
|
}, [
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
be(a.$slots, "content", { value: v(o) }, () => [
|
|
172
|
+
X(de(v(o)), 1)
|
|
173
173
|
])
|
|
174
174
|
], 6), [
|
|
175
|
-
[
|
|
175
|
+
[et, !a.hidden && (v(o) || a.isDot || a.$slots.content)]
|
|
176
176
|
])
|
|
177
177
|
]),
|
|
178
178
|
_: 3
|
|
@@ -180,8 +180,8 @@ const $t = (d) => d, en = {
|
|
|
180
180
|
], 2));
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
|
-
var sn = /* @__PURE__ */
|
|
184
|
-
const an = yt(sn), rn =
|
|
183
|
+
var sn = /* @__PURE__ */ Ze(on, [["__file", "badge.vue"]]);
|
|
184
|
+
const an = yt(sn), rn = De({
|
|
185
185
|
a11y: {
|
|
186
186
|
type: Boolean,
|
|
187
187
|
default: !0
|
|
@@ -218,7 +218,7 @@ const an = yt(sn), rn = Pe({
|
|
|
218
218
|
default: "el"
|
|
219
219
|
},
|
|
220
220
|
...wt
|
|
221
|
-
}),
|
|
221
|
+
}), T = {};
|
|
222
222
|
me({
|
|
223
223
|
name: "ElConfigProvider",
|
|
224
224
|
props: rn,
|
|
@@ -226,17 +226,17 @@ me({
|
|
|
226
226
|
const t = xt(d);
|
|
227
227
|
return J(() => d.message, (n) => {
|
|
228
228
|
var o, s;
|
|
229
|
-
Object.assign(
|
|
230
|
-
}, { immediate: !0, deep: !0 }), () =>
|
|
229
|
+
Object.assign(T, (s = (o = t?.value) == null ? void 0 : o.message) != null ? s : {}, n ?? {});
|
|
230
|
+
}, { immediate: !0, deep: !0 }), () => be(e, "default", { config: t?.value });
|
|
231
231
|
}
|
|
232
232
|
});
|
|
233
|
-
const
|
|
233
|
+
const at = [
|
|
234
234
|
"primary",
|
|
235
235
|
"success",
|
|
236
236
|
"info",
|
|
237
237
|
"warning",
|
|
238
238
|
"error"
|
|
239
|
-
],
|
|
239
|
+
], B = $t({
|
|
240
240
|
customClass: "",
|
|
241
241
|
dangerouslyUseHTMLString: !1,
|
|
242
242
|
duration: 3e3,
|
|
@@ -251,27 +251,27 @@ const st = [
|
|
|
251
251
|
zIndex: 0,
|
|
252
252
|
grouping: !1,
|
|
253
253
|
repeatNum: 1,
|
|
254
|
-
appendTo:
|
|
255
|
-
}), dn =
|
|
254
|
+
appendTo: Pe ? document.body : void 0
|
|
255
|
+
}), dn = De({
|
|
256
256
|
customClass: {
|
|
257
257
|
type: String,
|
|
258
|
-
default:
|
|
258
|
+
default: B.customClass
|
|
259
259
|
},
|
|
260
260
|
dangerouslyUseHTMLString: {
|
|
261
261
|
type: Boolean,
|
|
262
|
-
default:
|
|
262
|
+
default: B.dangerouslyUseHTMLString
|
|
263
263
|
},
|
|
264
264
|
duration: {
|
|
265
265
|
type: Number,
|
|
266
|
-
default:
|
|
266
|
+
default: B.duration
|
|
267
267
|
},
|
|
268
268
|
icon: {
|
|
269
269
|
type: Ct,
|
|
270
|
-
default:
|
|
270
|
+
default: B.icon
|
|
271
271
|
},
|
|
272
272
|
id: {
|
|
273
273
|
type: String,
|
|
274
|
-
default:
|
|
274
|
+
default: B.id
|
|
275
275
|
},
|
|
276
276
|
message: {
|
|
277
277
|
type: Q([
|
|
@@ -279,44 +279,44 @@ const st = [
|
|
|
279
279
|
Object,
|
|
280
280
|
Function
|
|
281
281
|
]),
|
|
282
|
-
default:
|
|
282
|
+
default: B.message
|
|
283
283
|
},
|
|
284
284
|
onClose: {
|
|
285
285
|
type: Q(Function),
|
|
286
|
-
default:
|
|
286
|
+
default: B.onClose
|
|
287
287
|
},
|
|
288
288
|
showClose: {
|
|
289
289
|
type: Boolean,
|
|
290
|
-
default:
|
|
290
|
+
default: B.showClose
|
|
291
291
|
},
|
|
292
292
|
type: {
|
|
293
293
|
type: String,
|
|
294
|
-
values:
|
|
295
|
-
default:
|
|
294
|
+
values: at,
|
|
295
|
+
default: B.type
|
|
296
296
|
},
|
|
297
297
|
plain: {
|
|
298
298
|
type: Boolean,
|
|
299
|
-
default:
|
|
299
|
+
default: B.plain
|
|
300
300
|
},
|
|
301
301
|
offset: {
|
|
302
302
|
type: Number,
|
|
303
|
-
default:
|
|
303
|
+
default: B.offset
|
|
304
304
|
},
|
|
305
305
|
zIndex: {
|
|
306
306
|
type: Number,
|
|
307
|
-
default:
|
|
307
|
+
default: B.zIndex
|
|
308
308
|
},
|
|
309
309
|
grouping: {
|
|
310
310
|
type: Boolean,
|
|
311
|
-
default:
|
|
311
|
+
default: B.grouping
|
|
312
312
|
},
|
|
313
313
|
repeatNum: {
|
|
314
314
|
type: Number,
|
|
315
|
-
default:
|
|
315
|
+
default: B.repeatNum
|
|
316
316
|
}
|
|
317
317
|
}), ln = {
|
|
318
318
|
destroy: () => !0
|
|
319
|
-
}, H =
|
|
319
|
+
}, H = Bt([]), cn = (d) => {
|
|
320
320
|
const e = H.findIndex((o) => o.id === d), t = H[e];
|
|
321
321
|
let n;
|
|
322
322
|
return e > 0 && (n = H[e - 1]), { current: t, prev: n };
|
|
@@ -330,125 +330,125 @@ const st = [
|
|
|
330
330
|
props: dn,
|
|
331
331
|
emits: ln,
|
|
332
332
|
setup(d, { expose: e, emit: t }) {
|
|
333
|
-
const n = d, { Close: o } =
|
|
333
|
+
const n = d, { Close: o } = Mt, s = S(!1), { ns: a, zIndex: l } = Et("message"), { currentZIndex: r, nextZIndex: i } = l, c = S(), m = S(!1), y = S(0);
|
|
334
334
|
let f;
|
|
335
|
-
const
|
|
336
|
-
const
|
|
337
|
-
return { [a.bm("icon",
|
|
338
|
-
}), E =
|
|
339
|
-
top: `${
|
|
335
|
+
const g = A(() => n.type ? n.type === "error" ? "danger" : n.type : "info"), h = A(() => {
|
|
336
|
+
const b = n.type;
|
|
337
|
+
return { [a.bm("icon", b)]: b && Ne[b] };
|
|
338
|
+
}), E = A(() => n.icon || Ne[n.type] || ""), x = A(() => mn(n.id)), I = A(() => hn(n.id, n.offset) + x.value), K = A(() => y.value + I.value), Y = A(() => ({
|
|
339
|
+
top: `${I.value}px`,
|
|
340
340
|
zIndex: r.value
|
|
341
341
|
}));
|
|
342
|
-
function
|
|
343
|
-
n.duration !== 0 && ({ stop: f } =
|
|
344
|
-
|
|
342
|
+
function Z() {
|
|
343
|
+
n.duration !== 0 && ({ stop: f } = Lt(() => {
|
|
344
|
+
_();
|
|
345
345
|
}, n.duration));
|
|
346
346
|
}
|
|
347
|
-
function
|
|
347
|
+
function G() {
|
|
348
348
|
f?.();
|
|
349
349
|
}
|
|
350
|
-
function
|
|
351
|
-
m.value = !1,
|
|
352
|
-
var
|
|
353
|
-
s.value || ((
|
|
350
|
+
function _() {
|
|
351
|
+
m.value = !1, we(() => {
|
|
352
|
+
var b;
|
|
353
|
+
s.value || ((b = n.onClose) == null || b.call(n), t("destroy"));
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
|
-
function
|
|
357
|
-
|
|
356
|
+
function L({ code: b }) {
|
|
357
|
+
b === en.esc && _();
|
|
358
358
|
}
|
|
359
|
-
return
|
|
360
|
-
|
|
359
|
+
return tt(() => {
|
|
360
|
+
Z(), i(), m.value = !0;
|
|
361
361
|
}), J(() => n.repeatNum, () => {
|
|
362
|
-
|
|
363
|
-
}),
|
|
364
|
-
|
|
362
|
+
G(), Z();
|
|
363
|
+
}), Vt(document, "keydown", L), Jt(c, () => {
|
|
364
|
+
y.value = c.value.getBoundingClientRect().height;
|
|
365
365
|
}), e({
|
|
366
366
|
visible: m,
|
|
367
|
-
bottom:
|
|
368
|
-
close:
|
|
369
|
-
}), (
|
|
367
|
+
bottom: K,
|
|
368
|
+
close: _
|
|
369
|
+
}), (b, z) => (D(), ge(xe, {
|
|
370
370
|
name: v(a).b("fade"),
|
|
371
|
-
onBeforeEnter: (
|
|
372
|
-
onBeforeLeave:
|
|
373
|
-
onAfterLeave: (
|
|
371
|
+
onBeforeEnter: (W) => s.value = !0,
|
|
372
|
+
onBeforeLeave: b.onClose,
|
|
373
|
+
onAfterLeave: (W) => b.$emit("destroy"),
|
|
374
374
|
persisted: ""
|
|
375
375
|
}, {
|
|
376
|
-
default:
|
|
377
|
-
|
|
378
|
-
id:
|
|
376
|
+
default: j(() => [
|
|
377
|
+
$e(P("div", {
|
|
378
|
+
id: b.id,
|
|
379
379
|
ref_key: "messageRef",
|
|
380
380
|
ref: c,
|
|
381
381
|
class: V([
|
|
382
382
|
v(a).b(),
|
|
383
|
-
{ [v(a).m(
|
|
384
|
-
v(a).is("closable",
|
|
385
|
-
v(a).is("plain",
|
|
386
|
-
|
|
383
|
+
{ [v(a).m(b.type)]: b.type },
|
|
384
|
+
v(a).is("closable", b.showClose),
|
|
385
|
+
v(a).is("plain", b.plain),
|
|
386
|
+
b.customClass
|
|
387
387
|
]),
|
|
388
|
-
style:
|
|
388
|
+
style: _e(v(Y)),
|
|
389
389
|
role: "alert",
|
|
390
|
-
onMouseenter:
|
|
391
|
-
onMouseleave:
|
|
390
|
+
onMouseenter: G,
|
|
391
|
+
onMouseleave: Z
|
|
392
392
|
}, [
|
|
393
|
-
|
|
393
|
+
b.repeatNum > 1 ? (D(), ge(v(an), {
|
|
394
394
|
key: 0,
|
|
395
|
-
value:
|
|
396
|
-
type: v(
|
|
395
|
+
value: b.repeatNum,
|
|
396
|
+
type: v(g),
|
|
397
397
|
class: V(v(a).e("badge"))
|
|
398
398
|
}, null, 8, ["value", "type", "class"])) : q("v-if", !0),
|
|
399
|
-
v(E) ? (
|
|
399
|
+
v(E) ? (D(), ge(v(Be), {
|
|
400
400
|
key: 1,
|
|
401
401
|
class: V([v(a).e("icon"), v(h)])
|
|
402
402
|
}, {
|
|
403
|
-
default:
|
|
404
|
-
(
|
|
403
|
+
default: j(() => [
|
|
404
|
+
(D(), ge(Rt(v(E))))
|
|
405
405
|
]),
|
|
406
406
|
_: 1
|
|
407
407
|
}, 8, ["class"])) : q("v-if", !0),
|
|
408
|
-
|
|
409
|
-
|
|
408
|
+
be(b.$slots, "default", {}, () => [
|
|
409
|
+
b.dangerouslyUseHTMLString ? (D(), R(ve, { key: 1 }, [
|
|
410
410
|
q(" Caution here, message could've been compromised, never use user's input as message "),
|
|
411
411
|
P("p", {
|
|
412
412
|
class: V(v(a).e("content")),
|
|
413
|
-
innerHTML:
|
|
413
|
+
innerHTML: b.message
|
|
414
414
|
}, null, 10, ["innerHTML"])
|
|
415
|
-
], 2112)) : (
|
|
415
|
+
], 2112)) : (D(), R("p", {
|
|
416
416
|
key: 0,
|
|
417
417
|
class: V(v(a).e("content"))
|
|
418
|
-
}, de(
|
|
418
|
+
}, de(b.message), 3))
|
|
419
419
|
]),
|
|
420
|
-
|
|
420
|
+
b.showClose ? (D(), ge(v(Be), {
|
|
421
421
|
key: 2,
|
|
422
422
|
class: V(v(a).e("closeBtn")),
|
|
423
|
-
onClick: Ot(
|
|
423
|
+
onClick: Ot(_, ["stop"])
|
|
424
424
|
}, {
|
|
425
|
-
default:
|
|
426
|
-
|
|
425
|
+
default: j(() => [
|
|
426
|
+
F(v(o))
|
|
427
427
|
]),
|
|
428
428
|
_: 1
|
|
429
429
|
}, 8, ["class", "onClick"])) : q("v-if", !0)
|
|
430
430
|
], 46, ["id"]), [
|
|
431
|
-
[
|
|
431
|
+
[et, m.value]
|
|
432
432
|
])
|
|
433
433
|
]),
|
|
434
434
|
_: 3
|
|
435
435
|
}, 8, ["name", "onBeforeEnter", "onBeforeLeave", "onAfterLeave"]));
|
|
436
436
|
}
|
|
437
437
|
});
|
|
438
|
-
var gn = /* @__PURE__ */
|
|
438
|
+
var gn = /* @__PURE__ */ Ze(pn, [["__file", "message.vue"]]);
|
|
439
439
|
let vn = 1;
|
|
440
|
-
const
|
|
441
|
-
const e = !d ||
|
|
442
|
-
...
|
|
440
|
+
const it = (d) => {
|
|
441
|
+
const e = !d || Re(d) || nt(d) || Ie(d) ? { message: d } : d, t = {
|
|
442
|
+
...B,
|
|
443
443
|
...e
|
|
444
444
|
};
|
|
445
445
|
if (!t.appendTo)
|
|
446
446
|
t.appendTo = document.body;
|
|
447
|
-
else if (
|
|
447
|
+
else if (Re(t.appendTo)) {
|
|
448
448
|
let n = document.querySelector(t.appendTo);
|
|
449
449
|
kt(n) || (n = document.body), t.appendTo = n;
|
|
450
450
|
}
|
|
451
|
-
return Le(
|
|
451
|
+
return Le(T.grouping) && !t.grouping && (t.grouping = T.grouping), fe(T.duration) && t.duration === 3e3 && (t.duration = T.duration), fe(T.offset) && t.offset === 16 && (t.offset = T.offset), Le(T.showClose) && !t.showClose && (t.showClose = T.showClose), Le(T.plain) && !t.plain && (t.plain = T.plain), t;
|
|
452
452
|
}, fn = (d) => {
|
|
453
453
|
const e = H.indexOf(d);
|
|
454
454
|
if (e === -1)
|
|
@@ -464,12 +464,12 @@ const at = (d) => {
|
|
|
464
464
|
o?.(), fn(c);
|
|
465
465
|
},
|
|
466
466
|
onDestroy: () => {
|
|
467
|
-
|
|
467
|
+
Te(null, s);
|
|
468
468
|
}
|
|
469
|
-
}, l =
|
|
470
|
-
default:
|
|
469
|
+
}, l = F(gn, a, Ie(a.message) || nt(a.message) ? {
|
|
470
|
+
default: Ie(a.message) ? a.message : () => a.message
|
|
471
471
|
} : null);
|
|
472
|
-
l.appContext = t || ce._context,
|
|
472
|
+
l.appContext = t || ce._context, Te(l, s), d.appendChild(s.firstElementChild);
|
|
473
473
|
const r = l.component, c = {
|
|
474
474
|
id: n,
|
|
475
475
|
vnode: l,
|
|
@@ -483,10 +483,10 @@ const at = (d) => {
|
|
|
483
483
|
};
|
|
484
484
|
return c;
|
|
485
485
|
}, ce = (d = {}, e) => {
|
|
486
|
-
if (!
|
|
486
|
+
if (!Pe)
|
|
487
487
|
return { close: () => {
|
|
488
488
|
} };
|
|
489
|
-
const t =
|
|
489
|
+
const t = it(d);
|
|
490
490
|
if (t.grouping && H.length) {
|
|
491
491
|
const o = H.find(({ vnode: s }) => {
|
|
492
492
|
var a;
|
|
@@ -495,15 +495,15 @@ const at = (d) => {
|
|
|
495
495
|
if (o)
|
|
496
496
|
return o.props.repeatNum += 1, o.props.type = t.type, o.handler;
|
|
497
497
|
}
|
|
498
|
-
if (
|
|
498
|
+
if (fe(T.max) && H.length >= T.max)
|
|
499
499
|
return { close: () => {
|
|
500
500
|
} };
|
|
501
501
|
const n = yn(t, e);
|
|
502
502
|
return H.push(n), n.handler;
|
|
503
503
|
};
|
|
504
|
-
|
|
504
|
+
at.forEach((d) => {
|
|
505
505
|
ce[d] = (e = {}, t) => {
|
|
506
|
-
const n =
|
|
506
|
+
const n = it(e);
|
|
507
507
|
return ce({ ...n, type: d }, t);
|
|
508
508
|
};
|
|
509
509
|
});
|
|
@@ -515,7 +515,7 @@ function wn(d) {
|
|
|
515
515
|
ce.closeAll = wn;
|
|
516
516
|
ce._context = null;
|
|
517
517
|
const k = It(ce, "$message");
|
|
518
|
-
class O extends
|
|
518
|
+
class O extends Ae {
|
|
519
519
|
_renderer;
|
|
520
520
|
get renderer() {
|
|
521
521
|
return this._renderer || (this._renderer = this.parent?.findComponentByName("Renderer")), this._renderer;
|
|
@@ -603,10 +603,10 @@ class O extends De {
|
|
|
603
603
|
* @returns
|
|
604
604
|
*/
|
|
605
605
|
createPointerMove(e) {
|
|
606
|
-
const t = this.editor, n = new
|
|
606
|
+
const t = this.editor, n = new M();
|
|
607
607
|
let o = null, s = null, a = null;
|
|
608
608
|
const l = t.addEventListener("pointerPositionChange", () => {
|
|
609
|
-
const r =
|
|
609
|
+
const r = M.from(t.pointerPosition);
|
|
610
610
|
if (o && t.eventInput.isKeyDown("shift")) {
|
|
611
611
|
const i = Math.abs(r.x - o.x), c = Math.abs(r.y - o.y);
|
|
612
612
|
i > c ? n.set(r.x, o.y) : n.set(o.x, r.y), e(n, !1);
|
|
@@ -625,7 +625,7 @@ class O extends De {
|
|
|
625
625
|
setBaseLine(r, i) {
|
|
626
626
|
if (s = r, o = i, r && i) {
|
|
627
627
|
const c = r.normal();
|
|
628
|
-
a = new
|
|
628
|
+
a = new N(
|
|
629
629
|
i.clone().add(c.clone().multiplyScalar(10)),
|
|
630
630
|
i.clone().add(c.multiplyScalar(-10))
|
|
631
631
|
);
|
|
@@ -636,7 +636,7 @@ class O extends De {
|
|
|
636
636
|
}
|
|
637
637
|
class bn extends O {
|
|
638
638
|
static name = "DrawLine";
|
|
639
|
-
container = new
|
|
639
|
+
container = new u.Group();
|
|
640
640
|
interruptKeys = ["escape"];
|
|
641
641
|
withdrawalKeys = ["control", "z"];
|
|
642
642
|
shortcutKeys = ["control", "l"];
|
|
@@ -651,13 +651,13 @@ class bn extends O {
|
|
|
651
651
|
* @param next
|
|
652
652
|
*/
|
|
653
653
|
selectPoint(e) {
|
|
654
|
-
let t = this.parent?.findComponentByName("Editor"), n = null, o = null, s = [], a = this.renderer.createCircle(
|
|
655
|
-
new
|
|
656
|
-
new
|
|
657
|
-
new
|
|
658
|
-
new
|
|
654
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, o = null, s = [], a = this.renderer.createCircle(M.zero(), { color: 65280 }), l = t.domContainer.domElement, r = new ye([], 16711935), i = new ye([
|
|
655
|
+
new u.Vector3(-1e4, 0, 0),
|
|
656
|
+
new u.Vector3(1e4, 0, 0),
|
|
657
|
+
new u.Vector3(0, -1e4, 0),
|
|
658
|
+
new u.Vector3(0, 1e4, 0)
|
|
659
659
|
], 16711935);
|
|
660
|
-
i.material = new
|
|
660
|
+
i.material = new u.LineDashedMaterial({
|
|
661
661
|
color: 4235007,
|
|
662
662
|
dashSize: 0.1,
|
|
663
663
|
gapSize: 0.1,
|
|
@@ -665,10 +665,10 @@ class bn extends O {
|
|
|
665
665
|
}), this.container.add(r);
|
|
666
666
|
const c = () => {
|
|
667
667
|
r.setPoint(...s, n, o), i.position.copy(o), this.container.add(i), i.computeLineDistances();
|
|
668
|
-
}, m = new
|
|
669
|
-
let
|
|
670
|
-
const f = this.createPointerMove((
|
|
671
|
-
m.set(
|
|
668
|
+
}, m = new u.Vector3();
|
|
669
|
+
let y;
|
|
670
|
+
const f = this.createPointerMove((g, h, E) => {
|
|
671
|
+
m.set(g.x, g.y, 0), this.dispatchEvent({ type: "pointerMove", point: m }), y = E, h ? (a.position.set(g.x, g.y, 0), this.container.add(a), l.style.cursor = "none") : (a.removeFromParent(), l.style.cursor = "crosshair"), n && o && (c(), o.copy(m));
|
|
672
672
|
});
|
|
673
673
|
this.addEventRecord(
|
|
674
674
|
"clear",
|
|
@@ -676,17 +676,17 @@ class bn extends O {
|
|
|
676
676
|
t.eventInput.addEventListener("codeChange", async () => {
|
|
677
677
|
if (t.eventInput.isKeyDown("mouse_0")) {
|
|
678
678
|
if (!n) {
|
|
679
|
-
n = m.clone(), o = m.clone(), c(), f.setBaseLine(
|
|
679
|
+
n = m.clone(), o = m.clone(), c(), f.setBaseLine(y ?? null, M.from(n));
|
|
680
680
|
return;
|
|
681
681
|
}
|
|
682
682
|
o = m.clone(), s.push(n.clone(), o.clone());
|
|
683
|
-
const
|
|
684
|
-
f.setBaseLine(
|
|
683
|
+
const g = new N(M.from(n), M.from(o));
|
|
684
|
+
f.setBaseLine(g, g.end), n.copy(o), c();
|
|
685
685
|
} else if (t.eventInput.isOnlyKeyDowns(this.withdrawalKeys)) {
|
|
686
686
|
if (s.length) {
|
|
687
|
-
const { point:
|
|
688
|
-
if (s.pop(), o?.copy(
|
|
689
|
-
const h = new
|
|
687
|
+
const { point: g } = t.renderManager.adsorption();
|
|
688
|
+
if (s.pop(), o?.copy(g), n?.copy(s.pop()), c(), s.length >= 2) {
|
|
689
|
+
const h = new N(M.from(s[s.length - 2]), M.from(s[s.length - 1]));
|
|
690
690
|
f.setBaseLine(h, h.end);
|
|
691
691
|
}
|
|
692
692
|
}
|
|
@@ -703,13 +703,13 @@ class bn extends O {
|
|
|
703
703
|
end(e, t) {
|
|
704
704
|
const n = [];
|
|
705
705
|
for (let o = 0; o < t.length; o += 2)
|
|
706
|
-
n.push(new
|
|
706
|
+
n.push(new N(M.from(t[o]), M.from(t[o + 1])));
|
|
707
707
|
e(n);
|
|
708
708
|
}
|
|
709
709
|
/** 执行完成
|
|
710
710
|
*/
|
|
711
711
|
completed(e) {
|
|
712
|
-
this.renderManager.addLines(e), this.renderManager.draw();
|
|
712
|
+
this.renderManager.addLines(e), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
|
|
713
713
|
}
|
|
714
714
|
/** 回滚操作
|
|
715
715
|
* @param data
|
|
@@ -725,9 +725,9 @@ class bn extends O {
|
|
|
725
725
|
return this.completed(e), e;
|
|
726
726
|
}
|
|
727
727
|
}
|
|
728
|
-
class
|
|
728
|
+
class rt extends O {
|
|
729
729
|
static name = "Default";
|
|
730
|
-
container = new
|
|
730
|
+
container = new u.Group();
|
|
731
731
|
onAddFromParent() {
|
|
732
732
|
const e = this.editor, t = e.commandManager;
|
|
733
733
|
e.container.add(this.container), t.addCommandFlow("default").add(this.start.bind(this)).addEventListener("finally", this.finally.bind(this)), t.addEventListener("startedBefore", (n) => {
|
|
@@ -735,7 +735,7 @@ class it extends O {
|
|
|
735
735
|
}), t.addEventListener("finally", (n) => n.name !== "default" && t.start("default")), e.eventInput.addCancelDefaultBehavior(() => e.eventInput.isOnlyKeyDowns(["control", "g"]));
|
|
736
736
|
}
|
|
737
737
|
selectLines = [];
|
|
738
|
-
selectLineObject3D = new
|
|
738
|
+
selectLineObject3D = new u.Mesh();
|
|
739
739
|
/** 添加选择的线段
|
|
740
740
|
* @param lineSegment
|
|
741
741
|
*/
|
|
@@ -778,47 +778,47 @@ class it extends O {
|
|
|
778
778
|
* @param next
|
|
779
779
|
*/
|
|
780
780
|
start() {
|
|
781
|
-
const e = this.editor, t = e.eventInput, n = new
|
|
781
|
+
const e = this.editor, t = e.eventInput, n = new u.Mesh(), o = e.domContainer.domElement;
|
|
782
782
|
let s = null;
|
|
783
|
-
n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new
|
|
783
|
+
n.position.z = 1e-3, this.selectLineObject3D.position.z = n.position.z + 1e-3, n.material = new u.MeshBasicMaterial({ color: 55561 });
|
|
784
784
|
const a = () => {
|
|
785
|
-
const r = e.pointerPosition.clone(), i = e.pointerPosition.clone(), c = new
|
|
786
|
-
this.container.add(c), c.position.z = 0.05, c.material = new
|
|
785
|
+
const r = e.pointerPosition.clone(), i = e.pointerPosition.clone(), c = new u.Mesh();
|
|
786
|
+
this.container.add(c), c.position.z = 0.05, c.material = new u.MeshBasicMaterial({
|
|
787
787
|
color: 16777215,
|
|
788
788
|
transparent: !0,
|
|
789
789
|
opacity: 0.5
|
|
790
790
|
});
|
|
791
791
|
const m = () => {
|
|
792
|
-
const
|
|
793
|
-
|
|
794
|
-
|
|
792
|
+
const g = Math.min(r.x, i.x), h = Math.max(r.x, i.x), E = Math.min(r.y, i.y), x = Math.max(r.y, i.y), I = [
|
|
793
|
+
g,
|
|
794
|
+
x,
|
|
795
795
|
0,
|
|
796
796
|
h,
|
|
797
797
|
E,
|
|
798
798
|
0,
|
|
799
799
|
h,
|
|
800
|
-
|
|
800
|
+
x,
|
|
801
801
|
0,
|
|
802
|
-
|
|
803
|
-
|
|
802
|
+
g,
|
|
803
|
+
x,
|
|
804
804
|
0,
|
|
805
|
-
|
|
805
|
+
g,
|
|
806
806
|
E,
|
|
807
807
|
0,
|
|
808
808
|
h,
|
|
809
809
|
E,
|
|
810
810
|
0
|
|
811
811
|
];
|
|
812
|
-
c.geometry = e.renderManager.createGeometry({ position:
|
|
813
|
-
},
|
|
812
|
+
c.geometry = e.renderManager.createGeometry({ position: I }, I.length / 3);
|
|
813
|
+
}, y = () => {
|
|
814
814
|
i.copy(e.pointerPosition), m();
|
|
815
815
|
}, f = () => {
|
|
816
|
-
document.removeEventListener("mousemove",
|
|
817
|
-
const
|
|
818
|
-
this.removeSelectLineAll(),
|
|
816
|
+
document.removeEventListener("mousemove", y), document.removeEventListener("mouseup", f), c.removeFromParent();
|
|
817
|
+
const g = Math.min(r.x, i.x), h = Math.max(r.x, i.x), E = Math.min(r.y, i.y), x = Math.max(r.y, i.y), I = new Ye(g, h, E, x), K = e.renderManager.quadtree.queryBox(I);
|
|
818
|
+
this.removeSelectLineAll(), K.forEach((Y) => this.addSelectLine(Y.line)), this.updateSelectLinesGeometry();
|
|
819
819
|
};
|
|
820
|
-
document.addEventListener("mousemove",
|
|
821
|
-
}, l = this.renderer.createText("", new
|
|
820
|
+
document.addEventListener("mousemove", y), document.addEventListener("mouseup", f);
|
|
821
|
+
}, l = this.renderer.createText("", new u.Vector3(0, 0, 0), {
|
|
822
822
|
background: "rgba(0,0,0,0.5)",
|
|
823
823
|
padding: "2px",
|
|
824
824
|
borderRadius: "2px"
|
|
@@ -862,7 +862,7 @@ class it extends O {
|
|
|
862
862
|
this.canceEventRecord("clear"), this.removeSelectLineAll(), this.updateSelectLinesGeometry();
|
|
863
863
|
}
|
|
864
864
|
}
|
|
865
|
-
class xn extends
|
|
865
|
+
class xn extends Xe {
|
|
866
866
|
list = [];
|
|
867
867
|
rollbacklist = [];
|
|
868
868
|
revokeRollbacklist = [];
|
|
@@ -890,7 +890,7 @@ class xn extends Ye {
|
|
|
890
890
|
return this.revokeRollbacklist.push(e), this;
|
|
891
891
|
}
|
|
892
892
|
}
|
|
893
|
-
class Cn extends
|
|
893
|
+
class Cn extends Xe {
|
|
894
894
|
commandFlowMap = /* @__PURE__ */ new Map();
|
|
895
895
|
lock = !1;
|
|
896
896
|
abortController = null;
|
|
@@ -995,24 +995,24 @@ class Cn extends Ye {
|
|
|
995
995
|
}
|
|
996
996
|
}
|
|
997
997
|
}
|
|
998
|
-
const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5569'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M522.1888%20811.3152a412.1088%20412.1088%200%200%200-114.5344-269.7728l-244.48%20269.7728h359.0144zM450.816%20493.824c83.5072%2085.3504%20132.7104%20197.4784%20136.5504%20317.4912h417.5872v63.232H18.9952L676.1472%20149.4016l48.9472%2041.7792-274.2784%20302.6432z'%20%3e%3c/path%3e%3c/svg%3e",
|
|
998
|
+
const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5569'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M522.1888%20811.3152a412.1088%20412.1088%200%200%200-114.5344-269.7728l-244.48%20269.7728h359.0144zM450.816%20493.824c83.5072%2085.3504%20132.7104%20197.4784%20136.5504%20317.4912h417.5872v63.232H18.9952L676.1472%20149.4016l48.9472%2041.7792-274.2784%20302.6432z'%20%3e%3c/path%3e%3c/svg%3e", Mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
999
999
|
__proto__: null,
|
|
1000
1000
|
default: En
|
|
1001
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1001
|
+
}, Symbol.toStringTag, { value: "Module" })), Ln = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e", kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1002
1002
|
__proto__: null,
|
|
1003
|
-
default:
|
|
1003
|
+
default: Ln
|
|
1004
1004
|
}, Symbol.toStringTag, { value: "Module" })), In = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e", Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1005
1005
|
__proto__: null,
|
|
1006
1006
|
default: In
|
|
1007
1007
|
}, Symbol.toStringTag, { value: "Module" })), Dn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e", An = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1008
1008
|
__proto__: null,
|
|
1009
1009
|
default: Dn
|
|
1010
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1010
|
+
}, Symbol.toStringTag, { value: "Module" })), _n = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e", Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1011
1011
|
__proto__: null,
|
|
1012
|
-
default:
|
|
1013
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1012
|
+
default: _n
|
|
1013
|
+
}, Symbol.toStringTag, { value: "Module" })), Nn = "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", Bn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1014
1014
|
__proto__: null,
|
|
1015
|
-
default:
|
|
1015
|
+
default: Nn
|
|
1016
1016
|
}, Symbol.toStringTag, { value: "Module" })), Rn = "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", On = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1017
1017
|
__proto__: null,
|
|
1018
1018
|
default: Rn
|
|
@@ -1022,9 +1022,9 @@ const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
|
|
|
1022
1022
|
}, Symbol.toStringTag, { value: "Module" })), Kn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M114.176%2046.528h618.496c37.312%200.064%2067.584%2030.336%2067.648%2067.648v618.56c0%2037.248-30.336%2067.584-67.648%2067.584H114.176A67.776%2067.776%200%200%201%2046.528%20732.8V114.176c0-37.312%2030.336-67.648%2067.648-67.648z%20m2.176%20686.208l616.32-2.24-2.176-616.32-614.144%202.176v616.32zM907.648%20291.2l2.176%20616.32H291.264a34.88%2034.88%200%201%200%200%2069.888h618.56c37.312%200%2067.648-30.336%2067.648-67.648V291.264a34.88%2034.88%200%201%200-69.824%200z'%20%3e%3c/path%3e%3c/svg%3e", Tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1023
1023
|
__proto__: null,
|
|
1024
1024
|
default: Kn
|
|
1025
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1025
|
+
}, Symbol.toStringTag, { value: "Module" })), jn = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e", Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1026
1026
|
__proto__: null,
|
|
1027
|
-
default:
|
|
1027
|
+
default: jn
|
|
1028
1028
|
}, Symbol.toStringTag, { value: "Module" })), Gn = "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", Qn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1029
1029
|
__proto__: null,
|
|
1030
1030
|
default: Gn
|
|
@@ -1043,17 +1043,17 @@ const En = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!
|
|
|
1043
1043
|
}, Symbol.toStringTag, { value: "Module" })), $n = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902547951'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5129'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M59.355%2091.776v867.881h867.881V91.776H59.356zM897.31%20929.73H89.282V121.703h808.027V929.73z'%20fill=''%20p-id='5130'%3e%3c/path%3e%3cpath%20d='M833.964%20185.048H152.627v681.337h681.337V185.048z%20m-355.632%20651.41H182.554V532.2h295.778v304.257z%20m0-334.184H182.554V214.975h295.778v287.299z%20m325.705%20334.184H508.259V532.2h295.778v304.257z%20m0-334.184H508.259V214.975h295.778v287.299z'%20fill=''%20p-id='5131'%3e%3c/path%3e%3c/svg%3e", eo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1044
1044
|
__proto__: null,
|
|
1045
1045
|
default: $n
|
|
1046
|
-
}, Symbol.toStringTag, { value: "Module" })), to = "data:image/png;base64,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", no = new
|
|
1047
|
-
class so extends
|
|
1046
|
+
}, Symbol.toStringTag, { value: "Module" })), to = "data:image/png;base64,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", no = new u.TextureLoader(), oo = no.load(to);
|
|
1047
|
+
class so extends Ae {
|
|
1048
1048
|
static name = "RenderManager";
|
|
1049
|
-
container = new
|
|
1049
|
+
container = new u.Group();
|
|
1050
1050
|
lines = [];
|
|
1051
|
-
pointVirtualGrid = new
|
|
1052
|
-
quadtree = new
|
|
1053
|
-
verticalReferenceLineFlag = new
|
|
1051
|
+
pointVirtualGrid = new ze();
|
|
1052
|
+
quadtree = new Fe(new Ye());
|
|
1053
|
+
verticalReferenceLineFlag = new u.Mesh(new u.PlaneGeometry(0.3, 0.3), new u.MeshBasicMaterial({ map: oo, color: 58111, transparent: !0 }));
|
|
1054
1054
|
onAddFromParent() {
|
|
1055
1055
|
const e = this.dxfLineModel;
|
|
1056
|
-
this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new
|
|
1056
|
+
this.editor.container.add(this.container), this.editor.container.add(e.dxfModelGroup), e.dxfLineModel.material = new u.LineBasicMaterial({
|
|
1057
1057
|
transparent: !0,
|
|
1058
1058
|
opacity: 0.5,
|
|
1059
1059
|
color: 16777215
|
|
@@ -1070,9 +1070,9 @@ class so extends De {
|
|
|
1070
1070
|
return;
|
|
1071
1071
|
} else
|
|
1072
1072
|
this.updatedMode = "dxf";
|
|
1073
|
-
this.pointVirtualGrid = new
|
|
1073
|
+
this.pointVirtualGrid = new ze();
|
|
1074
1074
|
const e = this.dxf.box.clone().expansion(Math.max(this.dxf.box.width, this.dxf.box.height) * 2);
|
|
1075
|
-
(e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new
|
|
1075
|
+
(e.width === 0 || e.height === 0) && e.set(-200, -200, 200, 200), this.quadtree = new Fe(e), this.lines.length = 0, this.dxf.lineSegments.forEach((t) => {
|
|
1076
1076
|
t.userData.isDoor || this.addLine(t.clone());
|
|
1077
1077
|
}), this.dxf.doorLineSegment.forEach((t) => {
|
|
1078
1078
|
const n = t.clone();
|
|
@@ -1139,7 +1139,7 @@ class so extends De {
|
|
|
1139
1139
|
if (s.points.forEach((a) => {
|
|
1140
1140
|
s.userData.isDoor ? n.push(a.x, a.y, 0) : t.push(a.x, a.y, 0);
|
|
1141
1141
|
}), s.userData.isWindow && s.userData.drawWindow && s.userData.drawWindow.forEach(({ width: a, p: l }) => {
|
|
1142
|
-
const r =
|
|
1142
|
+
const r = M.from(l), i = s.direction(), c = r.clone().add(i.clone().multiplyScalar(a * 0.5)), m = r.clone().add(i.clone().multiplyScalar(-a * 0.5));
|
|
1143
1143
|
o.push(c.x, c.y, 1e-3), o.push(m.x, m.y, 1e-3);
|
|
1144
1144
|
}), s.userData.isVerticalReferenceLine) {
|
|
1145
1145
|
const a = s.center;
|
|
@@ -1164,24 +1164,24 @@ class so extends De {
|
|
|
1164
1164
|
* @returns
|
|
1165
1165
|
*/
|
|
1166
1166
|
adsorption(e = 0.04, t = this.pointVirtualGrid, n = this.quadtree) {
|
|
1167
|
-
const o = this.parent?.findComponentByName("Editor"), s =
|
|
1167
|
+
const o = this.parent?.findComponentByName("Editor"), s = M.from(o.pointerPosition);
|
|
1168
1168
|
let a = n.queryCircle(s, e);
|
|
1169
1169
|
if (a.length) {
|
|
1170
1170
|
let l = a.map((r) => r.line.projectPoint(s));
|
|
1171
1171
|
if (a = a.filter((r, i) => !!l[i]), l = l.filter((r, i) => !!l[i]), l.sort((r, i) => r && i ? r.distance(s) - i.distance(s) : 0), l.length) {
|
|
1172
1172
|
const r = a[0].line, i = l[0];
|
|
1173
1173
|
return r.start.distance(s) < e * 1.5 ? {
|
|
1174
|
-
point: new
|
|
1174
|
+
point: new u.Vector3(r.start.x, r.start.y, 0),
|
|
1175
1175
|
find: !0,
|
|
1176
1176
|
mode: "point",
|
|
1177
1177
|
line: r
|
|
1178
1178
|
} : r.end.distance(s) < e * 1.5 ? {
|
|
1179
|
-
point: new
|
|
1179
|
+
point: new u.Vector3(r.end.x, r.end.y, 0),
|
|
1180
1180
|
find: !0,
|
|
1181
1181
|
mode: "point",
|
|
1182
1182
|
line: r
|
|
1183
1183
|
} : {
|
|
1184
|
-
point: new
|
|
1184
|
+
point: new u.Vector3(i.x, i.y, 0),
|
|
1185
1185
|
find: !0,
|
|
1186
1186
|
mode: "line",
|
|
1187
1187
|
line: r
|
|
@@ -1189,7 +1189,7 @@ class so extends De {
|
|
|
1189
1189
|
}
|
|
1190
1190
|
}
|
|
1191
1191
|
return {
|
|
1192
|
-
point: new
|
|
1192
|
+
point: new u.Vector3(o.pointerPosition.x, o.pointerPosition.y, 0),
|
|
1193
1193
|
find: !1
|
|
1194
1194
|
};
|
|
1195
1195
|
}
|
|
@@ -1197,9 +1197,9 @@ class so extends De {
|
|
|
1197
1197
|
* @param rectangle
|
|
1198
1198
|
*/
|
|
1199
1199
|
createGeometry(e, t) {
|
|
1200
|
-
const n = new
|
|
1200
|
+
const n = new u.BufferGeometry();
|
|
1201
1201
|
return Object.keys(e).forEach((o) => {
|
|
1202
|
-
n.setAttribute("position", new
|
|
1202
|
+
n.setAttribute("position", new u.BufferAttribute(new Float32Array(e[o]), e[o].length / t));
|
|
1203
1203
|
}), n;
|
|
1204
1204
|
}
|
|
1205
1205
|
/**
|
|
@@ -1264,7 +1264,7 @@ class so extends De {
|
|
|
1264
1264
|
}
|
|
1265
1265
|
class ao extends O {
|
|
1266
1266
|
static name = "DrawDoorLine";
|
|
1267
|
-
container = new
|
|
1267
|
+
container = new u.Group();
|
|
1268
1268
|
interruptKeys = ["escape"];
|
|
1269
1269
|
shortcutKeys = ["control", "m"];
|
|
1270
1270
|
commandName = "draw-door-line";
|
|
@@ -1281,13 +1281,13 @@ class ao extends O {
|
|
|
1281
1281
|
* @param next
|
|
1282
1282
|
*/
|
|
1283
1283
|
selectPoint(e) {
|
|
1284
|
-
let t = this.parent?.findComponentByName("Editor"), n = null, o = this.renderer.createCircle(
|
|
1285
|
-
new
|
|
1286
|
-
new
|
|
1287
|
-
new
|
|
1288
|
-
new
|
|
1284
|
+
let t = this.parent?.findComponentByName("Editor"), n = null, o = this.renderer.createCircle(M.zero(), { color: 65280 }), s = new ye([], 16711935), a = new ye([
|
|
1285
|
+
new u.Vector3(-1e4, 0, 0),
|
|
1286
|
+
new u.Vector3(1e4, 0, 0),
|
|
1287
|
+
new u.Vector3(0, -1e4, 0),
|
|
1288
|
+
new u.Vector3(0, 1e4, 0)
|
|
1289
1289
|
], 16711935);
|
|
1290
|
-
a.material = new
|
|
1290
|
+
a.material = new u.LineDashedMaterial({
|
|
1291
1291
|
color: 4235007,
|
|
1292
1292
|
dashSize: 0.1,
|
|
1293
1293
|
gapSize: 0.1,
|
|
@@ -1322,20 +1322,20 @@ class ao extends O {
|
|
|
1322
1322
|
end(e, t) {
|
|
1323
1323
|
const n = [];
|
|
1324
1324
|
for (let o = 0; o < t.length; o += 2) {
|
|
1325
|
-
const s =
|
|
1325
|
+
const s = M.from(t[o]), a = M.from(t[o + 1]), l = this.renderManager.quadtree.queryCircle(s, 1e-3)[0].line, r = this.renderManager.quadtree.queryCircle(a, 1e-3)[0].line;
|
|
1326
1326
|
let i = null;
|
|
1327
1327
|
l === r && (i = {
|
|
1328
1328
|
oldLine: l,
|
|
1329
|
-
newLine1: new
|
|
1329
|
+
newLine1: new N(
|
|
1330
1330
|
l.start,
|
|
1331
1331
|
l.start.distance(s) < l.start.distance(a) ? s.clone() : a.clone()
|
|
1332
1332
|
),
|
|
1333
|
-
newLine2: new
|
|
1333
|
+
newLine2: new N(
|
|
1334
1334
|
l.end,
|
|
1335
1335
|
l.end.distance(s) < l.end.distance(a) ? s.clone() : a.clone()
|
|
1336
1336
|
)
|
|
1337
1337
|
});
|
|
1338
|
-
const c = new
|
|
1338
|
+
const c = new N(s, a);
|
|
1339
1339
|
c.userData.isDoor = !0, c.userData.doorDirectConnection = !0, n.push({
|
|
1340
1340
|
line: c,
|
|
1341
1341
|
option: i
|
|
@@ -1348,7 +1348,7 @@ class ao extends O {
|
|
|
1348
1348
|
completed(e) {
|
|
1349
1349
|
e.forEach(({ line: t, option: n }) => {
|
|
1350
1350
|
this.renderManager.addLine(t), n && (this.renderManager.removeLine(n.oldLine), this.renderManager.addLines([n.newLine1, n.newLine2]));
|
|
1351
|
-
}), this.renderManager.draw();
|
|
1351
|
+
}), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
|
|
1352
1352
|
}
|
|
1353
1353
|
/** 回滚操作
|
|
1354
1354
|
* @param data
|
|
@@ -1368,7 +1368,7 @@ class ao extends O {
|
|
|
1368
1368
|
}
|
|
1369
1369
|
class io extends O {
|
|
1370
1370
|
static name = "DrawWindow";
|
|
1371
|
-
container = new
|
|
1371
|
+
container = new u.Group();
|
|
1372
1372
|
interruptKeys = ["escape"];
|
|
1373
1373
|
shortcutKeys = ["control", "q"];
|
|
1374
1374
|
commandName = "draw-window-line";
|
|
@@ -1381,7 +1381,7 @@ class io extends O {
|
|
|
1381
1381
|
* @param next
|
|
1382
1382
|
*/
|
|
1383
1383
|
selectPointStart(e) {
|
|
1384
|
-
let t = null, n = this.renderer.createCircle(
|
|
1384
|
+
let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
|
|
1385
1385
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1386
1386
|
const { point: s, line: a, find: l } = this.editor.renderManager.adsorption();
|
|
1387
1387
|
this.dispatchEvent({ type: "pointerMove", point: s }), l ? (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());
|
|
@@ -1393,7 +1393,7 @@ class io extends O {
|
|
|
1393
1393
|
* @param next
|
|
1394
1394
|
*/
|
|
1395
1395
|
selectPointEnd(e, { point: t, line: n }) {
|
|
1396
|
-
let o = null, s = this.renderer.createCircle(
|
|
1396
|
+
let o = null, s = this.renderer.createCircle(M.zero(), { color: 16711935 });
|
|
1397
1397
|
this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
1398
1398
|
const { point: a, find: l, line: r } = this.editor.renderManager.adsorption();
|
|
1399
1399
|
this.dispatchEvent({ type: "pointerMove", point: a }), l && r === 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());
|
|
@@ -1407,8 +1407,8 @@ class io extends O {
|
|
|
1407
1407
|
* @param points
|
|
1408
1408
|
*/
|
|
1409
1409
|
end(e, { start: t, end: n, line: o }) {
|
|
1410
|
-
const s = new
|
|
1411
|
-
p: new
|
|
1410
|
+
const s = new N(M.from(t), M.from(n)), a = s.center, l = s.length(), r = {
|
|
1411
|
+
p: new u.Vector3(a.x, a.y, 0),
|
|
1412
1412
|
width: l,
|
|
1413
1413
|
full: Math.abs(l - o.length()) < 0.01
|
|
1414
1414
|
};
|
|
@@ -1417,7 +1417,7 @@ class io extends O {
|
|
|
1417
1417
|
/** 执行完成
|
|
1418
1418
|
*/
|
|
1419
1419
|
completed({ doorDataItem: e, line: t }) {
|
|
1420
|
-
t.userData.isWindow = !0, t.userData.drawWindow || (t.userData.drawWindow = []), t.userData.drawWindow.push(e), this.renderManager.draw();
|
|
1420
|
+
t.userData.isWindow = !0, t.userData.drawWindow || (t.userData.drawWindow = []), t.userData.drawWindow.push(e), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
|
|
1421
1421
|
}
|
|
1422
1422
|
/** 回滚操作
|
|
1423
1423
|
* @param data
|
|
@@ -1440,7 +1440,7 @@ class io extends O {
|
|
|
1440
1440
|
}
|
|
1441
1441
|
class le extends O {
|
|
1442
1442
|
static name = "VerticalCorrection";
|
|
1443
|
-
container = new
|
|
1443
|
+
container = new u.Group();
|
|
1444
1444
|
shortcutKeys = ["control", "c"];
|
|
1445
1445
|
shortcutKeys3 = ["shift", "c"];
|
|
1446
1446
|
static commandName = "verticalCorrection";
|
|
@@ -1478,7 +1478,7 @@ class le extends O {
|
|
|
1478
1478
|
if (e.userData.setLinePointUUid === a) return [];
|
|
1479
1479
|
e.userData.setLinePointUUid = a;
|
|
1480
1480
|
let l = [], r = [];
|
|
1481
|
-
(o === "start" || o === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((
|
|
1481
|
+
(o === "start" || o === "all") && (l = this.renderManager.pointVirtualGrid.queryPoint(e.start).filter((y) => y.userData !== e)), (o === "end" || o === "all") && (r = this.renderManager.pointVirtualGrid.queryPoint(e.end).filter((y) => y.userData !== e));
|
|
1482
1482
|
const i = e.clone();
|
|
1483
1483
|
let c = "";
|
|
1484
1484
|
t && (e.start.equal(t) || (c = "start"), s.push({
|
|
@@ -1492,22 +1492,22 @@ class le extends O {
|
|
|
1492
1492
|
newPoint: n,
|
|
1493
1493
|
line: e
|
|
1494
1494
|
}), e.end.copy(n));
|
|
1495
|
-
const m = (
|
|
1496
|
-
|
|
1497
|
-
const { point: E, userData:
|
|
1498
|
-
if (
|
|
1499
|
-
if (
|
|
1500
|
-
const
|
|
1501
|
-
if (
|
|
1495
|
+
const m = (y, f, g) => {
|
|
1496
|
+
y.forEach((h) => {
|
|
1497
|
+
const { point: E, userData: x } = h, I = x.start === E ? "start" : "end";
|
|
1498
|
+
if (x.directionEqual(i))
|
|
1499
|
+
if (I === "start") {
|
|
1500
|
+
const K = e.projectPoint(x.end, !1);
|
|
1501
|
+
if (K) return this.setLinePoint(x, f, K, "end", s, a);
|
|
1502
1502
|
} else {
|
|
1503
|
-
const
|
|
1504
|
-
if (
|
|
1503
|
+
const K = e.projectPoint(x.start, !1);
|
|
1504
|
+
if (K) return this.setLinePoint(x, K, f, "start", s, a);
|
|
1505
1505
|
}
|
|
1506
|
-
(c === "all" ||
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1506
|
+
(c === "all" || g === c) && this.setLinePoint(
|
|
1507
|
+
x,
|
|
1508
|
+
x.start === E ? f : x.start,
|
|
1509
|
+
x.end === E ? f : x.end,
|
|
1510
|
+
x.start === E ? "end" : "start",
|
|
1511
1511
|
s,
|
|
1512
1512
|
a
|
|
1513
1513
|
);
|
|
@@ -1528,42 +1528,42 @@ class le extends O {
|
|
|
1528
1528
|
correction(e, t = [], n = /* @__PURE__ */ new Set()) {
|
|
1529
1529
|
n.add(e);
|
|
1530
1530
|
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, l] = o.reduce((i, c) => {
|
|
1531
|
-
const [m,
|
|
1532
|
-
return c.sameEndpoint(e) ? m.push(c) :
|
|
1531
|
+
const [m, y] = i;
|
|
1532
|
+
return c.sameEndpoint(e) ? m.push(c) : y.push(c), i;
|
|
1533
1533
|
}, [[], []]);
|
|
1534
1534
|
a.forEach((i) => {
|
|
1535
1535
|
const c = i.direction(), m = s.angleBetween(c, "angle");
|
|
1536
1536
|
if (Math.abs(90 - m) > 45) return !1;
|
|
1537
|
-
const f = e.sameEndpointAsStart(i) ? e.start : e.end,
|
|
1538
|
-
|
|
1539
|
-
|
|
1537
|
+
const f = e.sameEndpointAsStart(i) ? e.start : e.end, g = i.sameEndpointAsStart(e) ? i.end : i.start, h = new N(
|
|
1538
|
+
g.clone().add(s.clone().multiplyScalar(1)),
|
|
1539
|
+
g.clone().add(s.clone().multiplyScalar(-1))
|
|
1540
1540
|
), E = h.projectPoint(f, !1);
|
|
1541
1541
|
if (E) {
|
|
1542
|
-
const
|
|
1542
|
+
const x = [];
|
|
1543
1543
|
this.setLinePoint(
|
|
1544
1544
|
i,
|
|
1545
|
-
i.start ===
|
|
1546
|
-
i.end ===
|
|
1547
|
-
i.start ===
|
|
1548
|
-
|
|
1549
|
-
), t.push(
|
|
1545
|
+
i.start === g ? E : i.start,
|
|
1546
|
+
i.end === g ? E : i.end,
|
|
1547
|
+
i.start === g ? "start" : "end",
|
|
1548
|
+
x
|
|
1549
|
+
), t.push(x);
|
|
1550
1550
|
}
|
|
1551
1551
|
return n.add(i), !1;
|
|
1552
1552
|
}), s.copy(e.direction());
|
|
1553
1553
|
const r = (i, c, m) => {
|
|
1554
|
-
const
|
|
1555
|
-
if (
|
|
1554
|
+
const y = e.projectPoint(c);
|
|
1555
|
+
if (y) i.copy(y);
|
|
1556
1556
|
else {
|
|
1557
|
-
const f = new
|
|
1557
|
+
const f = new N(
|
|
1558
1558
|
c.clone().add(s.clone().multiplyScalar(1)),
|
|
1559
1559
|
c.clone().add(s.clone().multiplyScalar(-1))
|
|
1560
|
-
),
|
|
1561
|
-
if (
|
|
1560
|
+
), g = f.projectPoint(i, !1);
|
|
1561
|
+
if (g) {
|
|
1562
1562
|
const h = [];
|
|
1563
1563
|
this.setLinePoint(
|
|
1564
1564
|
m,
|
|
1565
|
-
m.start === c ?
|
|
1566
|
-
m.end === c ?
|
|
1565
|
+
m.start === c ? g : m.start,
|
|
1566
|
+
m.end === c ? g : m.end,
|
|
1567
1567
|
m.start === c ? "start" : "end",
|
|
1568
1568
|
h
|
|
1569
1569
|
), t.push(h);
|
|
@@ -1578,21 +1578,21 @@ class le extends O {
|
|
|
1578
1578
|
else {
|
|
1579
1579
|
const c = e.getIntersection(i);
|
|
1580
1580
|
if (c) {
|
|
1581
|
-
const m = new
|
|
1581
|
+
const m = new N(
|
|
1582
1582
|
i.start.clone().add(s.clone().multiplyScalar(1)),
|
|
1583
1583
|
i.start.clone().add(s.clone().multiplyScalar(-1))
|
|
1584
|
-
),
|
|
1585
|
-
if (
|
|
1584
|
+
), y = m.projectPoint(c, !1);
|
|
1585
|
+
if (y) {
|
|
1586
1586
|
const h = [];
|
|
1587
|
-
this.setLinePoint(i,
|
|
1587
|
+
this.setLinePoint(i, y, i.end, "start", h), t.push(h);
|
|
1588
1588
|
}
|
|
1589
|
-
const f = new
|
|
1589
|
+
const f = new N(
|
|
1590
1590
|
i.end.clone().add(s.clone().multiplyScalar(1)),
|
|
1591
1591
|
i.end.clone().add(s.clone().multiplyScalar(-1))
|
|
1592
|
-
),
|
|
1593
|
-
if (
|
|
1592
|
+
), g = f.projectPoint(c, !1);
|
|
1593
|
+
if (g) {
|
|
1594
1594
|
const h = [];
|
|
1595
|
-
this.setLinePoint(i, i.start,
|
|
1595
|
+
this.setLinePoint(i, i.start, g, "end", h), t.push(h);
|
|
1596
1596
|
}
|
|
1597
1597
|
}
|
|
1598
1598
|
}
|
|
@@ -1604,7 +1604,7 @@ class le extends O {
|
|
|
1604
1604
|
*/
|
|
1605
1605
|
axisAlignmentCorrection(e) {
|
|
1606
1606
|
const t = [...this.renderManager.lines];
|
|
1607
|
-
return { newLines:
|
|
1607
|
+
return { newLines: _t.correction.call(this, t, e), oldLines: t };
|
|
1608
1608
|
}
|
|
1609
1609
|
/** 开始
|
|
1610
1610
|
* @param next
|
|
@@ -1624,7 +1624,7 @@ class le extends O {
|
|
|
1624
1624
|
const { line: s, newPoint: a, point: l } = o;
|
|
1625
1625
|
l.copy(a), this.renderManager.removeLine(s), this.renderManager.addLine(s), s.userData.isWindow && t.push(s);
|
|
1626
1626
|
});
|
|
1627
|
-
}),
|
|
1627
|
+
}), Ke(...t);
|
|
1628
1628
|
} else
|
|
1629
1629
|
this.renderManager.removeLines(e.oldLines), this.renderManager.addLines(e.newLines);
|
|
1630
1630
|
this.renderManager.draw();
|
|
@@ -1642,7 +1642,7 @@ class le extends O {
|
|
|
1642
1642
|
i.copy(r), this.renderManager.removeLine(l), this.renderManager.addLine(l), l.userData.isWindow && t.push(l);
|
|
1643
1643
|
}
|
|
1644
1644
|
}
|
|
1645
|
-
|
|
1645
|
+
Ke(...t);
|
|
1646
1646
|
} else
|
|
1647
1647
|
this.renderManager.removeLines(e.newLines), this.renderManager.addLines(e.oldLines);
|
|
1648
1648
|
return this.renderManager.draw(), e;
|
|
@@ -1655,15 +1655,15 @@ class le extends O {
|
|
|
1655
1655
|
return this.completed(e), e;
|
|
1656
1656
|
}
|
|
1657
1657
|
}
|
|
1658
|
-
class
|
|
1658
|
+
class $ extends O {
|
|
1659
1659
|
static name = "MergeLine";
|
|
1660
1660
|
shortcutKeys = ["control", "g"];
|
|
1661
1661
|
static commandName = "merge-line";
|
|
1662
1662
|
onAddFromParent(e) {
|
|
1663
1663
|
super.onAddFromParent(e);
|
|
1664
|
-
const t = this.commandManager.addCommandFlow(
|
|
1665
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1666
|
-
this.eventInput.isKeyCombination(
|
|
1664
|
+
const t = this.commandManager.addCommandFlow($.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.mergeLines.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1665
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination($.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1666
|
+
this.eventInput.isKeyCombination($.commandName) && await this.commandManager.start($.commandName, [...this.default.selectLines]);
|
|
1667
1667
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1668
1668
|
}
|
|
1669
1669
|
/**
|
|
@@ -1678,7 +1678,7 @@ class X extends O {
|
|
|
1678
1678
|
*/
|
|
1679
1679
|
mergeLines(e, t) {
|
|
1680
1680
|
t = t.filter((s) => !s.userData.isDoor);
|
|
1681
|
-
const { newLines: n, deleteLines: o } =
|
|
1681
|
+
const { newLines: n, deleteLines: o } = N.autoMergeLines(t);
|
|
1682
1682
|
n.length ? (e({ newLines: n, deleteLines: o }), k({ message: "已合并", type: "success" })) : (k({ message: "合并失败,未找到共用点", type: "warning" }), this.commandManager.cancel());
|
|
1683
1683
|
}
|
|
1684
1684
|
/** 执行完成
|
|
@@ -1702,13 +1702,13 @@ class X extends O {
|
|
|
1702
1702
|
return this.completed(e), e;
|
|
1703
1703
|
}
|
|
1704
1704
|
}
|
|
1705
|
-
class
|
|
1705
|
+
class ee extends O {
|
|
1706
1706
|
static name = "DeleteSelectLine";
|
|
1707
1707
|
shortcutKeys = ["Delete"];
|
|
1708
1708
|
static commandName = "deleteSelectLine";
|
|
1709
1709
|
onAddFromParent(e) {
|
|
1710
|
-
super.onAddFromParent(e), this.commandManager.addCommandFlow(
|
|
1711
|
-
this.eventInput.isKeyCombination(
|
|
1710
|
+
super.onAddFromParent(e), this.commandManager.addCommandFlow(ee.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.delete.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this)).addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(ee.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1711
|
+
this.eventInput.isKeyCombination(ee.commandName) && await this.commandManager.start(ee.commandName, [...this.default.selectLines]);
|
|
1712
1712
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1713
1713
|
}
|
|
1714
1714
|
/**
|
|
@@ -1737,15 +1737,15 @@ class $ extends O {
|
|
|
1737
1737
|
return e.forEach((t) => this.renderManager.removeLine(t)), e;
|
|
1738
1738
|
}
|
|
1739
1739
|
}
|
|
1740
|
-
class
|
|
1740
|
+
class te extends O {
|
|
1741
1741
|
static name = "ConnectionLine";
|
|
1742
1742
|
shortcutKeys = ["Shift", "L"];
|
|
1743
1743
|
static commandName = "connectionLine";
|
|
1744
1744
|
onAddFromParent(e) {
|
|
1745
1745
|
super.onAddFromParent(e);
|
|
1746
|
-
const t = this.commandManager.addCommandFlow(
|
|
1747
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1748
|
-
this.eventInput.isKeyCombination(
|
|
1746
|
+
const t = this.commandManager.addCommandFlow(te.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1747
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(te.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1748
|
+
this.eventInput.isKeyCombination(te.commandName) && await this.commandManager.start(te.commandName, [...this.default.selectLines]);
|
|
1749
1749
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1750
1750
|
}
|
|
1751
1751
|
/**
|
|
@@ -1765,7 +1765,7 @@ class ee extends O {
|
|
|
1765
1765
|
c < s && (n = r, o = i, s = c);
|
|
1766
1766
|
}
|
|
1767
1767
|
if (n && o) {
|
|
1768
|
-
const a = new
|
|
1768
|
+
const a = new N(n.clone(), o.clone());
|
|
1769
1769
|
e(a), k({ message: "连接成功", type: "success" });
|
|
1770
1770
|
} else this.cancel();
|
|
1771
1771
|
}
|
|
@@ -1790,15 +1790,15 @@ class ee extends O {
|
|
|
1790
1790
|
return this.completed(e), e;
|
|
1791
1791
|
}
|
|
1792
1792
|
}
|
|
1793
|
-
class
|
|
1793
|
+
class ne extends O {
|
|
1794
1794
|
static name = "IntersectionConnectionLine";
|
|
1795
1795
|
shortcutKeys = ["control", "Shift", "L"];
|
|
1796
1796
|
static commandName = "intersectionConnectionLine";
|
|
1797
1797
|
onAddFromParent(e) {
|
|
1798
1798
|
super.onAddFromParent(e);
|
|
1799
|
-
const t = this.commandManager.addCommandFlow(
|
|
1800
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1801
|
-
this.eventInput.isKeyCombination(
|
|
1799
|
+
const t = this.commandManager.addCommandFlow(ne.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.connection.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1800
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(ne.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1801
|
+
this.eventInput.isKeyCombination(ne.commandName) && await this.commandManager.start(ne.commandName, [...this.default.selectLines]);
|
|
1802
1802
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1803
1803
|
}
|
|
1804
1804
|
/**
|
|
@@ -1840,15 +1840,15 @@ class te extends O {
|
|
|
1840
1840
|
return this.completed(e), e;
|
|
1841
1841
|
}
|
|
1842
1842
|
}
|
|
1843
|
-
class
|
|
1843
|
+
class oe extends O {
|
|
1844
1844
|
static name = "DeleteSelectWindow";
|
|
1845
1845
|
shortcutKeys = ["Q", "Delete"];
|
|
1846
1846
|
static commandName = "deleteSelectWindow";
|
|
1847
1847
|
onAddFromParent(e) {
|
|
1848
1848
|
super.onAddFromParent(e);
|
|
1849
|
-
const t = this.commandManager.addCommandFlow(
|
|
1850
|
-
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1851
|
-
this.eventInput.isKeyCombination(
|
|
1849
|
+
const t = this.commandManager.addCommandFlow(oe.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.end.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1850
|
+
t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(oe.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1851
|
+
this.eventInput.isKeyCombination(oe.commandName) && await this.commandManager.start(oe.commandName, [...this.default.selectLines]);
|
|
1852
1852
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1853
1853
|
}
|
|
1854
1854
|
/**
|
|
@@ -1897,16 +1897,16 @@ class ne extends O {
|
|
|
1897
1897
|
return this.completed(e), e;
|
|
1898
1898
|
}
|
|
1899
1899
|
}
|
|
1900
|
-
class
|
|
1900
|
+
class se extends O {
|
|
1901
1901
|
static name = "SelectAll";
|
|
1902
|
-
container = new
|
|
1902
|
+
container = new u.Group();
|
|
1903
1903
|
shortcutKeys = ["control", "a"];
|
|
1904
1904
|
static commandName = "selectAll";
|
|
1905
1905
|
onAddFromParent(e) {
|
|
1906
1906
|
super.onAddFromParent(e), this.editor.container.add(this.container), this.container.position.z = 1e-3;
|
|
1907
|
-
const t = this.commandManager.addCommandFlow(
|
|
1908
|
-
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(
|
|
1909
|
-
this.eventInput.isKeyCombination(
|
|
1907
|
+
const t = this.commandManager.addCommandFlow(se.commandName).add(this.createInterrupt()).add(this.selectAll.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
|
|
1908
|
+
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), t.addEventListener("completed", (n) => this.completed(n.data)), this.eventInput.addKeyCombination(se.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1909
|
+
this.eventInput.isKeyCombination(se.commandName) && await this.commandManager.start(se.commandName);
|
|
1910
1910
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1911
1911
|
}
|
|
1912
1912
|
/** 开始
|
|
@@ -1934,15 +1934,15 @@ class oe extends O {
|
|
|
1934
1934
|
return this.completed(e), e;
|
|
1935
1935
|
}
|
|
1936
1936
|
}
|
|
1937
|
-
class
|
|
1937
|
+
class ae extends O {
|
|
1938
1938
|
static name = "ViewAngle";
|
|
1939
1939
|
shortcutKeys = ["r"];
|
|
1940
1940
|
static commandName = "viewAngle";
|
|
1941
1941
|
onAddFromParent(e) {
|
|
1942
1942
|
super.onAddFromParent(e);
|
|
1943
|
-
const t = this.commandManager.addCommandFlow(
|
|
1944
|
-
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(
|
|
1945
|
-
this.eventInput.isKeyCombination(
|
|
1943
|
+
const t = this.commandManager.addCommandFlow(ae.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.viewAngle.bind(this));
|
|
1944
|
+
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(ae.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
1945
|
+
this.eventInput.isKeyCombination(ae.commandName) && await this.commandManager.start(ae.commandName, [...this.default.selectLines]);
|
|
1946
1946
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
1947
1947
|
}
|
|
1948
1948
|
/**
|
|
@@ -1960,32 +1960,35 @@ class se extends O {
|
|
|
1960
1960
|
const [n, o] = t, s = Math.min(n.length() * 0.8, o.length() * 0.8);
|
|
1961
1961
|
let a, l, r, i = 0, c = 0;
|
|
1962
1962
|
n.sameEndpointAsStart(o) ? (a = n.start, l = n.end) : (a = n.end, l = n.start), o.sameEndpointAsStart(n) ? r = o.end : r = o.start;
|
|
1963
|
-
function m(
|
|
1964
|
-
const
|
|
1965
|
-
let
|
|
1966
|
-
return
|
|
1963
|
+
function m(_, L) {
|
|
1964
|
+
const b = L.x - _.x, z = L.y - _.y;
|
|
1965
|
+
let W = Math.atan2(z, b) * (180 / Math.PI);
|
|
1966
|
+
return W < 0 && (W += 360), W;
|
|
1967
1967
|
}
|
|
1968
|
-
const
|
|
1969
|
-
function
|
|
1970
|
-
for (let
|
|
1971
|
-
const
|
|
1972
|
-
E.push(
|
|
1968
|
+
const y = m(a, l), f = m(a, r), g = Math.min(y, f), h = Math.max(y, f), E = [];
|
|
1969
|
+
function x(_, L) {
|
|
1970
|
+
for (let b = _; b <= L; b++) {
|
|
1971
|
+
const z = Math.cos(b * Math.PI / 180) * s + a.x, W = Math.sin(b * Math.PI / 180) * s + a.y, he = Math.cos((b + 1) * Math.PI / 180) * s + a.x, Ce = Math.sin((b + 1) * Math.PI / 180) * s + a.y;
|
|
1972
|
+
E.push(z, W, 0, he, Ce, 0);
|
|
1973
1973
|
}
|
|
1974
1974
|
}
|
|
1975
|
-
h -
|
|
1976
|
-
const
|
|
1977
|
-
|
|
1975
|
+
h - g > 180 ? (x(0, g), x(h, 360), i = 360 - (h - g), c = (h + i / 2) % 360) : (x(g, h), i = h - g, c = g + i / 2);
|
|
1976
|
+
const I = new u.LineSegments();
|
|
1977
|
+
I.geometry = this.renderManager.createGeometry({
|
|
1978
1978
|
position: E
|
|
1979
|
-
}, E.length / 3),
|
|
1980
|
-
const
|
|
1981
|
-
this.renderer.createText(Number(i.toFixed(2)), new p.Vector3(F, Z, 0), {
|
|
1979
|
+
}, E.length / 3), I.material = new u.LineBasicMaterial({ color: 16711935 }), this.renderManager.container.add(I);
|
|
1980
|
+
const K = Math.cos(c * Math.PI / 180) * s + a.x, Y = Math.sin(c * Math.PI / 180) * s + a.y, Z = this.renderer.createText(Number(i.toFixed(2)), new u.Vector3(K, Y, 0), {
|
|
1982
1981
|
textShadow: "0px 0px 2px #000"
|
|
1983
|
-
}, this.renderManager.container)
|
|
1982
|
+
}, this.renderManager.container);
|
|
1983
|
+
let G = 0;
|
|
1984
|
+
this.addEventRecord("clear").add(() => I.removeFromParent()).add(() => Z.removeFromParent()).add(this.eventInput.addEventListener("codeChange", () => {
|
|
1985
|
+
this.eventInput.isOnlyKeyDown("enter") ? e() : this.eventInput.isOnlyKeyDown("mouse_0") && (G++, G === 1 ? setTimeout(() => G = 0, 500) : G === 2 && (e(), G = 0));
|
|
1986
|
+
}));
|
|
1984
1987
|
}
|
|
1985
1988
|
}
|
|
1986
|
-
class
|
|
1989
|
+
class dt extends O {
|
|
1987
1990
|
static name = "ClippingLine";
|
|
1988
|
-
container = new
|
|
1991
|
+
container = new u.Group();
|
|
1989
1992
|
shortcutKeys = ["control", "x"];
|
|
1990
1993
|
commandName = "clippingLine";
|
|
1991
1994
|
static commandName = "clippingLine";
|
|
@@ -1998,7 +2001,7 @@ class rt extends O {
|
|
|
1998
2001
|
* @param next
|
|
1999
2002
|
*/
|
|
2000
2003
|
selectPointStart(e) {
|
|
2001
|
-
let t = null, n = this.renderer.createCircle(
|
|
2004
|
+
let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
|
|
2002
2005
|
this.addEventRecord("selectPointStart").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2003
2006
|
const { point: s, line: a, find: l } = this.editor.renderManager.adsorption();
|
|
2004
2007
|
this.dispatchEvent({ type: "pointerMove", point: s }), l ? (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());
|
|
@@ -2010,7 +2013,7 @@ class rt extends O {
|
|
|
2010
2013
|
* @param next
|
|
2011
2014
|
*/
|
|
2012
2015
|
selectPointEnd(e, { point: t, line: n }) {
|
|
2013
|
-
let o = null, s = this.renderer.createCircle(
|
|
2016
|
+
let o = null, s = this.renderer.createCircle(M.zero(), { color: 16711935 });
|
|
2014
2017
|
this.addEventRecord("clear").add(() => s.removeFromParent()).add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2015
2018
|
const { point: a, find: l, line: r } = this.editor.renderManager.adsorption();
|
|
2016
2019
|
this.dispatchEvent({ type: "pointerMove", point: a }), l && r === 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());
|
|
@@ -2024,14 +2027,14 @@ class rt extends O {
|
|
|
2024
2027
|
* @param points
|
|
2025
2028
|
*/
|
|
2026
2029
|
end(e, { start: t, end: n, line: o }) {
|
|
2027
|
-
const s =
|
|
2030
|
+
const s = M.from(t), a = M.from(n);
|
|
2028
2031
|
e({
|
|
2029
2032
|
oldLine: o,
|
|
2030
|
-
newLine1: new
|
|
2033
|
+
newLine1: new N(
|
|
2031
2034
|
o.start,
|
|
2032
2035
|
o.start.distance(s) < o.start.distance(a) ? s.clone() : a.clone()
|
|
2033
2036
|
),
|
|
2034
|
-
newLine2: new
|
|
2037
|
+
newLine2: new N(
|
|
2035
2038
|
o.end,
|
|
2036
2039
|
o.end.distance(s) < o.end.distance(a) ? s.clone() : a.clone()
|
|
2037
2040
|
)
|
|
@@ -2040,7 +2043,7 @@ class rt extends O {
|
|
|
2040
2043
|
/** 执行完成
|
|
2041
2044
|
*/
|
|
2042
2045
|
completed(e) {
|
|
2043
|
-
this.renderManager.removeLine(e.oldLine), this.renderManager.addLines([e.newLine1, e.newLine2]), this.renderManager.draw();
|
|
2046
|
+
this.renderManager.removeLine(e.oldLine), this.renderManager.addLines([e.newLine1, e.newLine2]), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
|
|
2044
2047
|
}
|
|
2045
2048
|
/** 回滚操作
|
|
2046
2049
|
* @param data
|
|
@@ -2056,15 +2059,15 @@ class rt extends O {
|
|
|
2056
2059
|
return this.completed(e), e;
|
|
2057
2060
|
}
|
|
2058
2061
|
}
|
|
2059
|
-
class
|
|
2062
|
+
class ie extends O {
|
|
2060
2063
|
static name = "VerticalReferenceLine";
|
|
2061
2064
|
shortcutKeys = ["v"];
|
|
2062
2065
|
static commandName = "VerticalReferenceLine";
|
|
2063
2066
|
onAddFromParent(e) {
|
|
2064
2067
|
super.onAddFromParent(e);
|
|
2065
|
-
const t = this.commandManager.addCommandFlow(
|
|
2066
|
-
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(
|
|
2067
|
-
this.eventInput.isKeyCombination(
|
|
2068
|
+
const t = this.commandManager.addCommandFlow(ie.commandName).add(this.createInterrupt()).add(this.constraint.bind(this)).add(this.verticalReferenceLine.bind(this));
|
|
2069
|
+
t.writeOperationList = !1, t.addEventListener("finally", this.createFinally()), this.eventInput.addKeyCombination(ie.commandName, this.shortcutKeys), this.eventInput.addEventListener("codeChange", async () => {
|
|
2070
|
+
this.eventInput.isKeyCombination(ie.commandName) && await this.commandManager.start(ie.commandName, [...this.default.selectLines]);
|
|
2068
2071
|
}), this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
|
|
2069
2072
|
}
|
|
2070
2073
|
/**
|
|
@@ -2099,27 +2102,27 @@ const ro = {
|
|
|
2099
2102
|
}, bo = {
|
|
2100
2103
|
key: 0,
|
|
2101
2104
|
class: "flex flex-row items-center flex-wrap justify-between gap-[10px] mt-[10px] text-[10px]"
|
|
2102
|
-
}, xo = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, Co = ["onClick", "title"], Eo = ["src"],
|
|
2105
|
+
}, xo = { class: "flex-wrap border-t-1 border-t-[#eee] mt-[5px] pt-[5px] flex items-center gap-[10px]" }, Co = ["onClick", "title"], Eo = ["src"], Mo = /* @__PURE__ */ me({
|
|
2103
2106
|
__name: "EditorTool",
|
|
2104
2107
|
props: {
|
|
2105
2108
|
dxfSystem: {},
|
|
2106
2109
|
permission: {}
|
|
2107
2110
|
},
|
|
2108
2111
|
setup(d) {
|
|
2109
|
-
function e(C,
|
|
2110
|
-
const
|
|
2111
|
-
C = Math.max(0, Math.min(C,
|
|
2112
|
+
function e(C, p, w = m.value.getBoundingClientRect(), U = y.value.getBoundingClientRect()) {
|
|
2113
|
+
const ue = w.width - U.width, pe = 0, Me = w.height - U.height;
|
|
2114
|
+
C = Math.max(0, Math.min(C, ue)), p = Math.max(pe, Math.min(p, Me)), _.value = { left: C, top: p };
|
|
2112
2115
|
}
|
|
2113
2116
|
function t(C) {
|
|
2114
|
-
|
|
2117
|
+
g.value !== C.command && (g.value !== "default" && x.commandManager.cancel(), setTimeout(() => x.commandManager.start(C.command)));
|
|
2115
2118
|
}
|
|
2116
2119
|
function n(C) {
|
|
2117
2120
|
if (C) {
|
|
2118
2121
|
localStorage.setItem("lines", JSON.stringify(C));
|
|
2119
2122
|
try {
|
|
2120
2123
|
h.Dxf.set(C), h.Dxf.lineOffset();
|
|
2121
|
-
} catch (
|
|
2122
|
-
console.log(
|
|
2124
|
+
} catch (p) {
|
|
2125
|
+
console.log(p);
|
|
2123
2126
|
}
|
|
2124
2127
|
}
|
|
2125
2128
|
}
|
|
@@ -2127,24 +2130,24 @@ const ro = {
|
|
|
2127
2130
|
const C = await Dt.json();
|
|
2128
2131
|
Array.isArray(C) && (localStorage.removeItem("orbitControls"), n(C));
|
|
2129
2132
|
}
|
|
2130
|
-
function s({ offsetX: C, offsetY:
|
|
2133
|
+
function s({ offsetX: C, offsetY: p }) {
|
|
2131
2134
|
E.mouseMoveEventProxylock = !0;
|
|
2132
|
-
const
|
|
2135
|
+
const w = document.body.style.cursor;
|
|
2133
2136
|
document.body.style.cursor = "move";
|
|
2134
|
-
const U = (
|
|
2135
|
-
const
|
|
2137
|
+
const U = (ue) => {
|
|
2138
|
+
const pe = m.value.getBoundingClientRect(), Me = y.value.getBoundingClientRect();
|
|
2136
2139
|
e(
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
),
|
|
2142
|
-
},
|
|
2143
|
-
document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup",
|
|
2140
|
+
ue.pageX - pe.left - C,
|
|
2141
|
+
ue.pageY - pe.top - p,
|
|
2142
|
+
pe,
|
|
2143
|
+
Me
|
|
2144
|
+
), ue.stopPropagation(), document.body.style.cursor = "move";
|
|
2145
|
+
}, Ee = () => {
|
|
2146
|
+
document.body.removeEventListener("mousemove", U), document.removeEventListener("mouseup", Ee), document.body.style.cursor = w, E.mouseMoveEventProxylock = !1;
|
|
2144
2147
|
};
|
|
2145
|
-
document.body.addEventListener("mousemove", U), document.addEventListener("mouseup",
|
|
2148
|
+
document.body.addEventListener("mousemove", U), document.addEventListener("mouseup", Ee);
|
|
2146
2149
|
}
|
|
2147
|
-
const a = d, l =
|
|
2150
|
+
const a = d, l = S(!0), r = S(!0), i = S(!0), c = S(!1), m = S(), y = S(), f = S(!0), g = S(""), h = zt(a.dxfSystem), E = h.findComponentByType(Pt), x = h.findComponentByType(lt), I = h.findComponentByType(rt), K = h.findComponentByType(St), Y = h.findComponentByType(Nt), Z = S(0), G = S(0), _ = S({ left: 10, top: 100 }), L = /* @__PURE__ */ Object.assign({ "./assets/images/angle.svg": Mn, "./assets/images/connection.svg": kn, "./assets/images/cutLine.svg": Pn, "./assets/images/deleteSelectLine.svg": An, "./assets/images/deleteSelectWindow.svg": Sn, "./assets/images/door.svg": Bn, "./assets/images/intersectionConnection.svg": On, "./assets/images/line.svg": Fn, "./assets/images/mergeLine.svg": Tn, "./assets/images/revokeRollback.svg": Vn, "./assets/images/rollback.svg": Qn, "./assets/images/selectAll.svg": Wn, "./assets/images/selectPoint.svg": Un, "./assets/images/verticalCorrection.svg": Zn, "./assets/images/verticalLine.svg": Xn, "./assets/images/window.svg": eo }), b = S(!1), z = S(0), W = S(!1), he = new ResizeObserver(() => e(_.value.left, _.value.top)), Ce = [
|
|
2148
2151
|
{ name: "开启绘制线段命令", shortcut: "Ctrl + L" },
|
|
2149
2152
|
{ name: "开启绘制门线命令", shortcut: "Ctrl + M" },
|
|
2150
2153
|
{ name: "开启绘制窗户线命令", shortcut: "Ctrl + Q" },
|
|
@@ -2174,7 +2177,7 @@ const ro = {
|
|
|
2174
2177
|
{
|
|
2175
2178
|
command: "draw-line",
|
|
2176
2179
|
name: "绘制线段",
|
|
2177
|
-
src:
|
|
2180
|
+
src: L["./assets/images/line.svg"].default,
|
|
2178
2181
|
show: !0,
|
|
2179
2182
|
shortcut: "Ctrl + L"
|
|
2180
2183
|
},
|
|
@@ -2182,159 +2185,159 @@ const ro = {
|
|
|
2182
2185
|
command: "draw-door-line",
|
|
2183
2186
|
name: "绘制门线",
|
|
2184
2187
|
show: !0,
|
|
2185
|
-
src:
|
|
2188
|
+
src: L["./assets/images/door.svg"].default,
|
|
2186
2189
|
shortcut: "Ctrl + M"
|
|
2187
2190
|
},
|
|
2188
2191
|
{
|
|
2189
2192
|
command: "draw-window-line",
|
|
2190
2193
|
name: "绘制窗户线",
|
|
2191
2194
|
show: !0,
|
|
2192
|
-
src:
|
|
2195
|
+
src: L["./assets/images/window.svg"].default,
|
|
2193
2196
|
shortcut: "Ctrl + Q"
|
|
2194
2197
|
},
|
|
2195
2198
|
{
|
|
2196
2199
|
command: "point",
|
|
2197
2200
|
name: "点修改",
|
|
2198
2201
|
show: !0,
|
|
2199
|
-
src:
|
|
2202
|
+
src: L["./assets/images/selectPoint.svg"].default,
|
|
2200
2203
|
shortcut: "Ctrl + P"
|
|
2201
2204
|
},
|
|
2202
2205
|
{
|
|
2203
|
-
command:
|
|
2206
|
+
command: dt.commandName,
|
|
2204
2207
|
name: "裁剪线段",
|
|
2205
2208
|
show: !0,
|
|
2206
|
-
src:
|
|
2209
|
+
src: L["./assets/images/cutLine.svg"].default,
|
|
2207
2210
|
shortcut: "Ctrl + X"
|
|
2208
2211
|
}
|
|
2209
2212
|
], mt = [
|
|
2210
2213
|
{
|
|
2211
2214
|
command: "",
|
|
2212
2215
|
name: "操作回滚",
|
|
2213
|
-
src:
|
|
2214
|
-
show:
|
|
2216
|
+
src: L["./assets/images/rollback.svg"].default,
|
|
2217
|
+
show: A(() => Z.value !== 0),
|
|
2215
2218
|
shortcut: "Ctrl + Z",
|
|
2216
2219
|
action() {
|
|
2217
|
-
|
|
2220
|
+
x.commandManager.rollback();
|
|
2218
2221
|
}
|
|
2219
2222
|
},
|
|
2220
2223
|
{
|
|
2221
2224
|
command: "",
|
|
2222
2225
|
name: "撤销操作回滚",
|
|
2223
|
-
src:
|
|
2224
|
-
show:
|
|
2226
|
+
src: L["./assets/images/revokeRollback.svg"].default,
|
|
2227
|
+
show: A(() => G.value !== 0),
|
|
2225
2228
|
shortcut: "Ctrl + Y",
|
|
2226
2229
|
class: "rotateY-[180deg]",
|
|
2227
2230
|
action() {
|
|
2228
|
-
|
|
2231
|
+
x.commandManager.revokeRollback();
|
|
2229
2232
|
}
|
|
2230
2233
|
},
|
|
2231
2234
|
{
|
|
2232
|
-
command:
|
|
2235
|
+
command: $.commandName,
|
|
2233
2236
|
name: "合并",
|
|
2234
|
-
src:
|
|
2235
|
-
show:
|
|
2237
|
+
src: L["./assets/images/mergeLine.svg"].default,
|
|
2238
|
+
show: A(() => z.value === 2),
|
|
2236
2239
|
shortcut: "Ctrl + G"
|
|
2237
2240
|
},
|
|
2238
2241
|
{
|
|
2239
|
-
command:
|
|
2242
|
+
command: te.commandName,
|
|
2240
2243
|
name: "两点连接",
|
|
2241
|
-
show:
|
|
2242
|
-
src:
|
|
2244
|
+
show: A(() => z.value === 2),
|
|
2245
|
+
src: L["./assets/images/connection.svg"].default,
|
|
2243
2246
|
shortcut: "Shift + L"
|
|
2244
2247
|
},
|
|
2245
2248
|
{
|
|
2246
|
-
command:
|
|
2249
|
+
command: ne.commandName,
|
|
2247
2250
|
name: "延长线交点连接",
|
|
2248
|
-
show:
|
|
2249
|
-
src:
|
|
2251
|
+
show: A(() => z.value === 2),
|
|
2252
|
+
src: L["./assets/images/intersectionConnection.svg"].default,
|
|
2250
2253
|
shortcut: "Ctrl + Shift + L"
|
|
2251
2254
|
},
|
|
2252
2255
|
{
|
|
2253
2256
|
command: le.commandName,
|
|
2254
2257
|
name: "线段垂直纠正",
|
|
2255
|
-
show:
|
|
2256
|
-
src:
|
|
2258
|
+
show: A(() => z.value === 1),
|
|
2259
|
+
src: L["./assets/images/verticalCorrection.svg"].default,
|
|
2257
2260
|
shortcut: `
|
|
2258
2261
|
Ctrl + C 垂直纠正
|
|
2259
2262
|
Shift + C 轴对齐垂直纠正
|
|
2260
2263
|
`
|
|
2261
2264
|
},
|
|
2262
2265
|
{
|
|
2263
|
-
command:
|
|
2266
|
+
command: ie.commandName,
|
|
2264
2267
|
name: "y轴垂直基准线",
|
|
2265
|
-
show:
|
|
2266
|
-
() =>
|
|
2268
|
+
show: A(
|
|
2269
|
+
() => z.value === 1 && !I.selectLines[0].userData.isDoor
|
|
2267
2270
|
),
|
|
2268
|
-
src:
|
|
2271
|
+
src: L["./assets/images/verticalLine.svg"].default,
|
|
2269
2272
|
shortcut: "V"
|
|
2270
2273
|
},
|
|
2271
2274
|
{
|
|
2272
|
-
command:
|
|
2275
|
+
command: ae.commandName,
|
|
2273
2276
|
name: "角度显示",
|
|
2274
|
-
show:
|
|
2275
|
-
src:
|
|
2277
|
+
show: A(() => z.value === 2 && I.selectLines[0].sameEndpoint(I.selectLines[1])),
|
|
2278
|
+
src: L["./assets/images/angle.svg"].default,
|
|
2276
2279
|
shortcut: "r"
|
|
2277
2280
|
},
|
|
2278
2281
|
{
|
|
2279
|
-
command:
|
|
2282
|
+
command: se.commandName,
|
|
2280
2283
|
name: "全选",
|
|
2281
|
-
show:
|
|
2282
|
-
src:
|
|
2284
|
+
show: A(() => z.value !== x.renderManager.lines.length),
|
|
2285
|
+
src: L["./assets/images/selectAll.svg"].default,
|
|
2283
2286
|
shortcut: "Ctrl + A"
|
|
2284
2287
|
},
|
|
2285
2288
|
{
|
|
2286
|
-
command:
|
|
2289
|
+
command: oe.commandName,
|
|
2287
2290
|
name: "清除窗户",
|
|
2288
|
-
show:
|
|
2289
|
-
src:
|
|
2291
|
+
show: A(() => W.value),
|
|
2292
|
+
src: L["./assets/images/deleteSelectWindow.svg"].default,
|
|
2290
2293
|
shortcut: "Q + Delete"
|
|
2291
2294
|
},
|
|
2292
2295
|
{
|
|
2293
|
-
command:
|
|
2296
|
+
command: ee.commandName,
|
|
2294
2297
|
name: "删除",
|
|
2295
|
-
show:
|
|
2296
|
-
src:
|
|
2298
|
+
show: A(() => z.value > 0),
|
|
2299
|
+
src: L["./assets/images/deleteSelectLine.svg"].default,
|
|
2297
2300
|
shortcut: "Delete"
|
|
2298
2301
|
}
|
|
2299
2302
|
];
|
|
2300
|
-
J(
|
|
2301
|
-
localStorage.setItem("toolBarExpand", f.value + ""), f.value &&
|
|
2303
|
+
J(_, () => localStorage.setItem("editorToolPosition", JSON.stringify(_.value))), J(b, () => localStorage.setItem("showShortcutKey", b.value + "")), J(f, () => {
|
|
2304
|
+
localStorage.setItem("toolBarExpand", f.value + ""), f.value && we(() => e(_.value.left, _.value.top));
|
|
2302
2305
|
}), J(l, () => h.Variable.set("originalLineVisible", l.value)), J(r, () => h.Variable.set("dxfVisible", r.value)), J(i, () => h.Variable.set("whiteModelVisible", i.value)), h.Variable.addEventListener("isLook", (C) => c.value = C.value), h.Variable.addEventListener("originalLineVisible", (C) => l.value = C.value), h.Variable.addEventListener("dxfVisible", (C) => r.value = C.value), h.Variable.addEventListener("whiteModelVisible", (C) => i.value = C.value);
|
|
2303
|
-
const ht =
|
|
2304
|
-
|
|
2306
|
+
const ht = x.commandManager.addEventListener("started", (C) => {
|
|
2307
|
+
g.value = C.name;
|
|
2305
2308
|
});
|
|
2306
|
-
return localStorage.getItem("showShortcutKey") && (
|
|
2307
|
-
|
|
2308
|
-
if (
|
|
2309
|
-
const { left: C, top:
|
|
2310
|
-
e(C,
|
|
2309
|
+
return localStorage.getItem("showShortcutKey") && (b.value = localStorage.getItem("showShortcutKey") === "true"), localStorage.getItem("toolBarExpand") && (f.value = localStorage.getItem("toolBarExpand") === "true"), tt(() => {
|
|
2310
|
+
y.value.style.display = "none", setTimeout(() => {
|
|
2311
|
+
if (y.value.style.display = "block", localStorage.getItem("editorToolPosition")) {
|
|
2312
|
+
const { left: C, top: p } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
|
|
2313
|
+
e(C, p), we(() => he.observe(m.value));
|
|
2311
2314
|
} else
|
|
2312
|
-
|
|
2313
|
-
}, 100),
|
|
2314
|
-
|
|
2315
|
+
we(() => he.observe(m.value));
|
|
2316
|
+
}, 100), I.addEventListener("selectLineChange", () => {
|
|
2317
|
+
z.value = I.selectLines.length, W.value = I.selectLines.some((C) => C.userData.isWindow);
|
|
2315
2318
|
}), ["rollback", "completed", "revokeRollback"].forEach((C) => {
|
|
2316
|
-
|
|
2319
|
+
x.commandManager.addEventListener(C, () => {
|
|
2317
2320
|
setTimeout(() => {
|
|
2318
|
-
|
|
2321
|
+
Z.value = x.commandManager.operationList.length, G.value = x.commandManager.rollbackList.length;
|
|
2319
2322
|
});
|
|
2320
2323
|
});
|
|
2321
2324
|
});
|
|
2322
2325
|
}), Ft(() => {
|
|
2323
|
-
E.mouseMoveEventProxylock = !1, ht(),
|
|
2324
|
-
}), (C,
|
|
2326
|
+
E.mouseMoveEventProxylock = !1, ht(), he.disconnect();
|
|
2327
|
+
}), (C, p) => (D(), R("div", {
|
|
2325
2328
|
ref_key: "elRef",
|
|
2326
2329
|
ref: m,
|
|
2327
2330
|
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]"
|
|
2328
2331
|
}, [
|
|
2329
|
-
|
|
2330
|
-
default:
|
|
2331
|
-
|
|
2332
|
-
(
|
|
2332
|
+
F(xe, null, {
|
|
2333
|
+
default: j(() => [
|
|
2334
|
+
b.value ? (D(), R("div", ro, [
|
|
2335
|
+
(D(), R(ve, null, ke(Ce, (w) => P("div", {
|
|
2333
2336
|
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",
|
|
2334
|
-
key:
|
|
2337
|
+
key: w.name
|
|
2335
2338
|
}, [
|
|
2336
|
-
P("p", lo, de(
|
|
2337
|
-
P("span", co, de(
|
|
2339
|
+
P("p", lo, de(w.name), 1),
|
|
2340
|
+
P("span", co, de(w.shortcut), 1)
|
|
2338
2341
|
])), 64))
|
|
2339
2342
|
])) : q("", !0)
|
|
2340
2343
|
]),
|
|
@@ -2342,22 +2345,22 @@ const ro = {
|
|
|
2342
2345
|
}),
|
|
2343
2346
|
P("div", {
|
|
2344
2347
|
ref_key: "toolBarRef",
|
|
2345
|
-
ref:
|
|
2346
|
-
style:
|
|
2348
|
+
ref: y,
|
|
2349
|
+
style: _e({ left: _.value.left + "px", top: _.value.top + "px" }),
|
|
2347
2350
|
class: V(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": f.value }]),
|
|
2348
|
-
onMousedown:
|
|
2351
|
+
onMousedown: p[10] || (p[10] = (w) => w.stopPropagation())
|
|
2349
2352
|
}, [
|
|
2350
2353
|
P("div", {
|
|
2351
2354
|
onMousedown: s,
|
|
2352
2355
|
class: V([{ "border-b-[#eee] border-b-1": f.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
|
|
2353
2356
|
}, [
|
|
2354
|
-
|
|
2357
|
+
p[12] || (p[12] = Kt('<div class="flex flex-row" data-v-097b01ef><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-097b01ef><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-097b01ef><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-097b01ef></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-097b01ef>绘制工具</h5></div>', 1)),
|
|
2355
2358
|
P("div", {
|
|
2356
|
-
onMousedown:
|
|
2357
|
-
onClick:
|
|
2359
|
+
onMousedown: p[0] || (p[0] = (w) => w.stopPropagation()),
|
|
2360
|
+
onClick: p[1] || (p[1] = (w) => f.value = !f.value),
|
|
2358
2361
|
class: "cursor-pointer flex items-center p-[0px_5px]"
|
|
2359
2362
|
}, [
|
|
2360
|
-
(
|
|
2363
|
+
(D(), R("svg", {
|
|
2361
2364
|
fill: "#666",
|
|
2362
2365
|
class: V([{ "rotate-90": f.value }, "transition-all"]),
|
|
2363
2366
|
viewBox: "0 0 1024 1024",
|
|
@@ -2365,41 +2368,41 @@ const ro = {
|
|
|
2365
2368
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2366
2369
|
width: "12",
|
|
2367
2370
|
height: "12"
|
|
2368
|
-
},
|
|
2371
|
+
}, p[11] || (p[11] = [
|
|
2369
2372
|
P("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)
|
|
2370
2373
|
]), 2))
|
|
2371
2374
|
], 32)
|
|
2372
2375
|
], 34),
|
|
2373
|
-
f.value ? (
|
|
2376
|
+
f.value ? (D(), R("div", mo, [
|
|
2374
2377
|
P("ul", ho, [
|
|
2375
|
-
(
|
|
2376
|
-
key:
|
|
2378
|
+
(D(), R(ve, null, ke(ct, (w) => (D(), R(ve, {
|
|
2379
|
+
key: w.command
|
|
2377
2380
|
}, [
|
|
2378
|
-
|
|
2381
|
+
w.show ? (D(), R("li", {
|
|
2379
2382
|
key: 0,
|
|
2380
|
-
onClick: (U) => t(
|
|
2383
|
+
onClick: (U) => t(w),
|
|
2381
2384
|
class: V([{
|
|
2382
|
-
"!bg-[var(--primary-color)] text-[#fff]":
|
|
2383
|
-
|
|
2385
|
+
"!bg-[var(--primary-color)] text-[#fff]": g.value === w.command
|
|
2386
|
+
// '!cursor-no-drop': currentCommand !== item.command && currentCommand !== 'default',
|
|
2384
2387
|
}, "gap-[10px] text-[12px] hover:bg-[#ddd] transition-all rounded-[6px] p-[5px] flex flex-row items-center justify-between cursor-pointer"])
|
|
2385
2388
|
}, [
|
|
2386
2389
|
P("div", po, [
|
|
2387
2390
|
P("div", go, [
|
|
2388
2391
|
P("img", {
|
|
2389
2392
|
class: "size-[14px]",
|
|
2390
|
-
src:
|
|
2393
|
+
src: w.src,
|
|
2391
2394
|
alt: "",
|
|
2392
2395
|
srcset: ""
|
|
2393
2396
|
}, null, 8, vo)
|
|
2394
2397
|
]),
|
|
2395
|
-
P("span", fo, de(
|
|
2398
|
+
P("span", fo, de(w.name), 1)
|
|
2396
2399
|
]),
|
|
2397
|
-
|
|
2400
|
+
g.value === w.command ? (D(), R("div", {
|
|
2398
2401
|
key: 0,
|
|
2399
2402
|
title: "取消命令(Esc)",
|
|
2400
2403
|
class: "active:scale-[0.7] transition-all",
|
|
2401
|
-
onClick:
|
|
2402
|
-
},
|
|
2404
|
+
onClick: p[2] || (p[2] = (U) => (v(x).cancelCommand(), U.stopPropagation()))
|
|
2405
|
+
}, p[13] || (p[13] = [
|
|
2403
2406
|
P("svg", {
|
|
2404
2407
|
fill: "#fff",
|
|
2405
2408
|
width: "16",
|
|
@@ -2411,115 +2414,115 @@ const ro = {
|
|
|
2411
2414
|
P("path", { d: "M511.104 0C228.821333 0 0 228.821333 0 511.104c0 282.282667 228.821333 511.104 511.104 511.104 282.282667 0 511.104-228.842667 511.104-511.104C1022.208 228.821333 793.386667 0 511.104 0zM511.104 898.496c-213.973333 0-387.434667-173.44-387.434667-387.413333 0-213.952 173.44-387.413333 387.434667-387.413333 213.952 0 387.392 173.44 387.392 387.413333C898.496 725.056 725.056 898.496 511.104 898.496z" }),
|
|
2412
2415
|
P("path", { d: "M236.437333 463.914667l549.333333 0 0 96.874667-549.333333 0 0-96.874667Z" })
|
|
2413
2416
|
], -1)
|
|
2414
|
-
]))) :
|
|
2417
|
+
]))) : w.shortcut ? (D(), R("div", yo, de(w.shortcut), 1)) : q("", !0)
|
|
2415
2418
|
], 10, uo)) : q("", !0)
|
|
2416
2419
|
], 64))), 64))
|
|
2417
2420
|
]),
|
|
2418
2421
|
P("div", wo, [
|
|
2419
|
-
|
|
2422
|
+
F(v(Oe), {
|
|
2420
2423
|
size: "small",
|
|
2421
|
-
modelValue:
|
|
2422
|
-
"onUpdate:modelValue":
|
|
2424
|
+
modelValue: b.value,
|
|
2425
|
+
"onUpdate:modelValue": p[3] || (p[3] = (w) => b.value = w),
|
|
2423
2426
|
label: "快捷键提示"
|
|
2424
2427
|
}, null, 8, ["modelValue"]),
|
|
2425
|
-
|
|
2428
|
+
F(v(Oe), {
|
|
2426
2429
|
size: "small",
|
|
2427
2430
|
modelValue: r.value,
|
|
2428
|
-
"onUpdate:modelValue":
|
|
2431
|
+
"onUpdate:modelValue": p[4] || (p[4] = (w) => r.value = w),
|
|
2429
2432
|
label: "dxf"
|
|
2430
2433
|
}, null, 8, ["modelValue"])
|
|
2431
2434
|
]),
|
|
2432
|
-
C.permission === "admin" ? (
|
|
2433
|
-
|
|
2435
|
+
C.permission === "admin" ? (D(), R("div", bo, [
|
|
2436
|
+
F(v(re), {
|
|
2434
2437
|
style: { padding: "5px", "font-size": "10px" },
|
|
2435
2438
|
size: "small",
|
|
2436
2439
|
type: "success",
|
|
2437
2440
|
onClick: o
|
|
2438
2441
|
}, {
|
|
2439
|
-
default:
|
|
2440
|
-
|
|
2442
|
+
default: j(() => p[14] || (p[14] = [
|
|
2443
|
+
X(" 选择文件 ", -1)
|
|
2441
2444
|
])),
|
|
2442
2445
|
_: 1,
|
|
2443
2446
|
__: [14]
|
|
2444
2447
|
}),
|
|
2445
|
-
|
|
2448
|
+
F(v(re), {
|
|
2446
2449
|
style: { padding: "5px", "font-size": "10px" },
|
|
2447
2450
|
size: "small",
|
|
2448
2451
|
type: "primary",
|
|
2449
|
-
onClick:
|
|
2452
|
+
onClick: p[5] || (p[5] = (w) => v(h).Dxf.downloadOriginalData("json.json"))
|
|
2450
2453
|
}, {
|
|
2451
|
-
default:
|
|
2452
|
-
|
|
2454
|
+
default: j(() => p[15] || (p[15] = [
|
|
2455
|
+
X(" 下载Json ", -1)
|
|
2453
2456
|
])),
|
|
2454
2457
|
_: 1,
|
|
2455
2458
|
__: [15]
|
|
2456
2459
|
}),
|
|
2457
|
-
|
|
2460
|
+
F(v(re), {
|
|
2458
2461
|
style: { padding: "5px", "font-size": "10px" },
|
|
2459
2462
|
size: "small",
|
|
2460
2463
|
type: "primary",
|
|
2461
|
-
onClick:
|
|
2464
|
+
onClick: p[6] || (p[6] = (w) => v(h).AngleCorrectionDxf.download("test.dxf"))
|
|
2462
2465
|
}, {
|
|
2463
|
-
default:
|
|
2464
|
-
|
|
2466
|
+
default: j(() => p[16] || (p[16] = [
|
|
2467
|
+
X(" 下载DXF ", -1)
|
|
2465
2468
|
])),
|
|
2466
2469
|
_: 1,
|
|
2467
2470
|
__: [16]
|
|
2468
2471
|
}),
|
|
2469
|
-
|
|
2472
|
+
F(v(re), {
|
|
2470
2473
|
style: { padding: "5px", "font-size": "10px" },
|
|
2471
2474
|
size: "small",
|
|
2472
2475
|
type: "primary",
|
|
2473
|
-
onClick:
|
|
2476
|
+
onClick: p[7] || (p[7] = (w) => v(h).AngleCorrectionDxf.downloadImage("dxf.jpg"))
|
|
2474
2477
|
}, {
|
|
2475
|
-
default:
|
|
2476
|
-
|
|
2478
|
+
default: j(() => p[17] || (p[17] = [
|
|
2479
|
+
X(" 下载JPG ", -1)
|
|
2477
2480
|
])),
|
|
2478
2481
|
_: 1,
|
|
2479
2482
|
__: [17]
|
|
2480
2483
|
}),
|
|
2481
|
-
|
|
2484
|
+
F(v(re), {
|
|
2482
2485
|
style: { padding: "5px", "font-size": "10px" },
|
|
2483
2486
|
size: "small",
|
|
2484
2487
|
type: "primary",
|
|
2485
|
-
onClick:
|
|
2488
|
+
onClick: p[8] || (p[8] = (w) => v(K).downloadGltf("test.glb", !0))
|
|
2486
2489
|
}, {
|
|
2487
|
-
default:
|
|
2488
|
-
|
|
2490
|
+
default: j(() => p[18] || (p[18] = [
|
|
2491
|
+
X(" 下载白膜 ", -1)
|
|
2489
2492
|
])),
|
|
2490
2493
|
_: 1,
|
|
2491
2494
|
__: [18]
|
|
2492
2495
|
}),
|
|
2493
|
-
|
|
2496
|
+
F(v(re), {
|
|
2494
2497
|
style: { padding: "5px", "font-size": "10px" },
|
|
2495
2498
|
size: "small",
|
|
2496
2499
|
type: "primary",
|
|
2497
|
-
onClick:
|
|
2500
|
+
onClick: p[9] || (p[9] = (w) => v(Y).download())
|
|
2498
2501
|
}, {
|
|
2499
|
-
default:
|
|
2500
|
-
|
|
2502
|
+
default: j(() => p[19] || (p[19] = [
|
|
2503
|
+
X(" 下载三维家JSON ", -1)
|
|
2501
2504
|
])),
|
|
2502
2505
|
_: 1,
|
|
2503
2506
|
__: [19]
|
|
2504
2507
|
})
|
|
2505
2508
|
])) : q("", !0),
|
|
2506
|
-
|
|
2507
|
-
default:
|
|
2509
|
+
F(xe, null, {
|
|
2510
|
+
default: j(() => [
|
|
2508
2511
|
P("div", xo, [
|
|
2509
|
-
|
|
2510
|
-
default:
|
|
2511
|
-
(
|
|
2512
|
-
onClick: (U) =>
|
|
2513
|
-
title: `${
|
|
2512
|
+
F(Tt, null, {
|
|
2513
|
+
default: j(() => [
|
|
2514
|
+
(D(), R(ve, null, ke(mt, (w) => P("div", {
|
|
2515
|
+
onClick: (U) => w.show.value && g.value === "default" && (w.action ? w.action() : v(x).commandManager.start(w.command, [...v(I).selectLines])),
|
|
2516
|
+
title: `${w.name}(${w.shortcut})`,
|
|
2514
2517
|
class: V(["size-[20px] flex justify-center items-center relative overflow-hidden active:scale-[0.8] border-1 border-[#ccc] rounded-[4px] transition-all cursor-pointer", {
|
|
2515
|
-
"opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !
|
|
2516
|
-
[
|
|
2518
|
+
"opacity-30 bg-[#ccc] !cursor-no-drop active:!scale-[1]": !w.show.value || g.value !== "default",
|
|
2519
|
+
[w.class ?? ""]: !0
|
|
2517
2520
|
}]),
|
|
2518
|
-
key:
|
|
2521
|
+
key: w.command
|
|
2519
2522
|
}, [
|
|
2520
2523
|
P("img", {
|
|
2521
2524
|
class: "size-[14px]",
|
|
2522
|
-
src:
|
|
2525
|
+
src: w.src
|
|
2523
2526
|
}, null, 8, Eo)
|
|
2524
2527
|
], 10, Co)), 64))
|
|
2525
2528
|
]),
|
|
@@ -2533,15 +2536,15 @@ const ro = {
|
|
|
2533
2536
|
], 38)
|
|
2534
2537
|
], 512));
|
|
2535
2538
|
}
|
|
2536
|
-
}),
|
|
2539
|
+
}), Lo = (d, e) => {
|
|
2537
2540
|
const t = d.__vccOpts || d;
|
|
2538
2541
|
for (const [n, o] of e)
|
|
2539
2542
|
t[n] = o;
|
|
2540
2543
|
return t;
|
|
2541
|
-
}, ko = /* @__PURE__ */ Mo
|
|
2542
|
-
let
|
|
2544
|
+
}, ko = /* @__PURE__ */ Lo(Mo, [["__scopeId", "data-v-097b01ef"]]);
|
|
2545
|
+
let lt = class extends Ae {
|
|
2543
2546
|
static name = "Editor";
|
|
2544
|
-
container = new
|
|
2547
|
+
container = new u.Group();
|
|
2545
2548
|
get renderer() {
|
|
2546
2549
|
return this.parent?.findComponentByName("Renderer");
|
|
2547
2550
|
}
|
|
@@ -2564,7 +2567,7 @@ let dt = class extends De {
|
|
|
2564
2567
|
return this.parent?.findComponentByName("DomContainer");
|
|
2565
2568
|
}
|
|
2566
2569
|
commandManager = new Cn();
|
|
2567
|
-
plane = new
|
|
2570
|
+
plane = new u.Mesh(new u.PlaneGeometry(2e3, 2e3, 2, 2));
|
|
2568
2571
|
app;
|
|
2569
2572
|
domElement = document.createElement("div");
|
|
2570
2573
|
viewPermission;
|
|
@@ -2587,13 +2590,13 @@ let dt = class extends De {
|
|
|
2587
2590
|
}
|
|
2588
2591
|
onAddFromParent(e) {
|
|
2589
2592
|
setTimeout(() => this.openEdit(), 10);
|
|
2590
|
-
const t = new
|
|
2593
|
+
const t = new u.GridHelper(200, 100, 6710886, 4473924);
|
|
2591
2594
|
t.rotation.x = Math.PI * 0.5, t.position.z = -0.01, this.container.add(t), this.container.add(this.plane), this.plane.visible = !1;
|
|
2592
2595
|
const n = this.addEventListener("update", () => {
|
|
2593
2596
|
this.domContainer.domElement.parentElement && (this.domContainer.domElement.parentElement.appendChild(this.domElement), this.domContainer.domElement.parentElement.appendChild(this.imgEl), n());
|
|
2594
2597
|
});
|
|
2595
2598
|
setTimeout(() => {
|
|
2596
|
-
this.app =
|
|
2599
|
+
this.app = jt(ko, { dxfSystem: this.parent, permission: this.viewPermission }), this.app.mount(this.domElement);
|
|
2597
2600
|
}), e.AngleCorrectionDxf.addEventListener("lineOffset", async () => {
|
|
2598
2601
|
this.imgEl.src && URL.revokeObjectURL(this.imgEl.src), setTimeout(async () => {
|
|
2599
2602
|
this.imgEl.src = URL.createObjectURL(await e.AngleCorrectionDxf.toDxfImageBlob("Centimeters", "image/png", "transparent"));
|
|
@@ -2622,23 +2625,23 @@ let dt = class extends De {
|
|
|
2622
2625
|
type: "cancelCommand"
|
|
2623
2626
|
});
|
|
2624
2627
|
}
|
|
2625
|
-
coords = new
|
|
2626
|
-
pointerPosition = new
|
|
2628
|
+
coords = new u.Vector2();
|
|
2629
|
+
pointerPosition = new u.Vector2();
|
|
2627
2630
|
_exitEditCallBack;
|
|
2628
2631
|
/**
|
|
2629
2632
|
* 打开编辑器
|
|
2630
2633
|
*/
|
|
2631
2634
|
openEdit() {
|
|
2632
|
-
const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, s = e.camera, a = n.box.center, l = e.camera.position.clone(), r = o?.target?.clone(), i = new
|
|
2635
|
+
const e = this.renderer, t = this.domEventRegister, n = this.dxf, o = e.orbitControls, s = e.camera, a = n.box.center, l = e.camera.position.clone(), r = o?.target?.clone(), i = new u.Vector2(), c = new u.Raycaster(), m = this.coords, y = this.pointerPosition;
|
|
2633
2636
|
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);
|
|
2634
2637
|
const f = () => {
|
|
2635
2638
|
e.renderer.getSize(i);
|
|
2636
|
-
const
|
|
2637
|
-
m.set(
|
|
2639
|
+
const g = t.pointer.x / i.x * 2 - 1, h = -(t.pointer.y / i.y * 2 - 1);
|
|
2640
|
+
m.set(g, h), c.setFromCamera(m, e.camera.children.length ? e.camera.children[0] : e.camera);
|
|
2638
2641
|
const E = c.intersectObject(this.plane);
|
|
2639
|
-
E.length && (
|
|
2642
|
+
E.length && (y.copy(E[0].point), this.dispatchEvent({
|
|
2640
2643
|
type: "pointerPositionChange",
|
|
2641
|
-
position:
|
|
2644
|
+
position: y
|
|
2642
2645
|
}));
|
|
2643
2646
|
};
|
|
2644
2647
|
t.addEventListener("mousemove", f), this.commandManager.disabled = !1, this.commandManager.start("default"), this._exitEditCallBack = () => {
|
|
@@ -2657,7 +2660,7 @@ let dt = class extends De {
|
|
|
2657
2660
|
};
|
|
2658
2661
|
class Io extends O {
|
|
2659
2662
|
static name = "PointDrag";
|
|
2660
|
-
container = new
|
|
2663
|
+
container = new u.Group();
|
|
2661
2664
|
interruptKeys = ["escape"];
|
|
2662
2665
|
shortcutKeys = ["control", "p"];
|
|
2663
2666
|
commandName = "point";
|
|
@@ -2670,13 +2673,16 @@ class Io extends O {
|
|
|
2670
2673
|
* @param next
|
|
2671
2674
|
*/
|
|
2672
2675
|
selectPoint(e) {
|
|
2673
|
-
let t = null, n = this.renderer.createCircle(
|
|
2674
|
-
this.
|
|
2675
|
-
const { point:
|
|
2676
|
-
this.dispatchEvent({ type: "pointerMove", point:
|
|
2677
|
-
})
|
|
2676
|
+
let t = null, n = this.renderer.createCircle(M.zero(), { color: 16711935 }), o = null;
|
|
2677
|
+
const s = this.editor.addEventListener("pointerPositionChange", () => {
|
|
2678
|
+
const { point: a, line: l, find: r, mode: i } = this.editor.renderManager.adsorption();
|
|
2679
|
+
this.dispatchEvent({ type: "pointerMove", point: a }), r && i === "point" ? (this.domElement.style.cursor = "none", n.position.copy(a), o = l, t = a.clone(), this.container.add(n)) : (this.domElement.style.cursor = "no-drop", t = null, n.removeFromParent());
|
|
2680
|
+
});
|
|
2681
|
+
this.addEventRecord("selectPointStart").add(s).add(this.eventInput.addEventListener("codeChange", () => {
|
|
2678
2682
|
this.eventInput.isKeyDown("mouse_0") && t && (this.canceEventRecord("selectPointStart"), n.material.color.set(65280), e({ point: t, line: o }));
|
|
2679
|
-
})), this.addEventRecord("clear").add(() =>
|
|
2683
|
+
})), this.addEventRecord("clear").add(() => {
|
|
2684
|
+
n.removeFromParent(), s();
|
|
2685
|
+
});
|
|
2680
2686
|
}
|
|
2681
2687
|
/** 拖拽点
|
|
2682
2688
|
* @description 拖拽点到指定位置
|
|
@@ -2685,13 +2691,13 @@ class Io extends O {
|
|
|
2685
2691
|
*/
|
|
2686
2692
|
drag(e, { point: t, line: n }) {
|
|
2687
2693
|
this.domElement.style.cursor = "crosshair";
|
|
2688
|
-
const o = n.start.equal(
|
|
2694
|
+
const o = n.start.equal(M.from(t)) ? "start" : "end", s = o == "start" ? new u.Vector3(n.end.x, n.end.y, 0) : new u.Vector3(n.start.x, n.start.y, 0), a = t.clone(), l = new ye([s, a], 16711935), r = this.renderer.createCircle(M.zero(), { color: 16711935, size: 10 });
|
|
2689
2695
|
this.container.add(l), this.addEventRecord("clear").add(this.editor.addEventListener("pointerPositionChange", () => {
|
|
2690
2696
|
let { point: i, find: c } = this.editor.renderManager.adsorption(), m = "none";
|
|
2691
2697
|
if (i) {
|
|
2692
2698
|
if (this.dispatchEvent({ type: "pointerMove", point: i }), this.eventInput.isKeyDown("shift")) {
|
|
2693
|
-
const
|
|
2694
|
-
i.set(
|
|
2699
|
+
const y = n.projectPoint(M.from(i), !1);
|
|
2700
|
+
i.set(y?.x ?? i.x, y?.y ?? i.y, 0), c = !0, m = "crosshair";
|
|
2695
2701
|
}
|
|
2696
2702
|
c ? (r.position.copy(i), this.container.add(r)) : (r.removeFromParent(), m = "crosshair"), a.copy(i), l.setPoint(s, a), this.domElement.style.cursor = m;
|
|
2697
2703
|
}
|
|
@@ -2703,7 +2709,7 @@ class Io extends O {
|
|
|
2703
2709
|
*/
|
|
2704
2710
|
completed(e) {
|
|
2705
2711
|
const { line: t, point: n, mode: o } = e;
|
|
2706
|
-
this.renderManager.removeLine(t), o === "end" ? t.end.set(n.x, n.y) : o === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw();
|
|
2712
|
+
this.renderManager.removeLine(t), o === "end" ? t.end.set(n.x, n.y) : o === "start" && t.start.set(n.x, n.y), this.renderManager.addLine(t), this.renderManager.draw(), this.commandManager.currentName === this.commandName && setTimeout(() => this.commandManager.start(this.commandName));
|
|
2707
2713
|
}
|
|
2708
2714
|
/** 回滚操作
|
|
2709
2715
|
* @param data
|
|
@@ -2720,15 +2726,15 @@ class Io extends O {
|
|
|
2720
2726
|
return this.completed(e), e;
|
|
2721
2727
|
}
|
|
2722
2728
|
}
|
|
2723
|
-
function
|
|
2724
|
-
d.addComponent(new
|
|
2729
|
+
function Je(d, e = {}) {
|
|
2730
|
+
d.addComponent(new lt(e.viewPermission)), d.addComponent(new so()), d.addComponent(new rt()), d.addComponent(new bn()), d.addComponent(new ao()), d.addComponent(new io()), d.addComponent(new Io()), d.addComponent(new ee()), d.addComponent(new $()), d.addComponent(new le()), d.addComponent(new te()), d.addComponent(new ne()), d.addComponent(new oe()), d.addComponent(new se()), d.addComponent(new ae()), d.addComponent(new ie()), d.addComponent(new dt());
|
|
2725
2731
|
}
|
|
2726
|
-
const Ro = Object.assign(
|
|
2732
|
+
const Ro = Object.assign(Je, {
|
|
2727
2733
|
create(d = {}) {
|
|
2728
|
-
return (e) =>
|
|
2734
|
+
return (e) => Je(e, d);
|
|
2729
2735
|
}
|
|
2730
2736
|
});
|
|
2731
2737
|
export {
|
|
2732
2738
|
Ro as Editor,
|
|
2733
|
-
|
|
2739
|
+
Je as Editor_
|
|
2734
2740
|
};
|