ss-component-new 1.2.97 → 1.2.98
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/dist/{MTLLoader-DnouUI-8.js → MTLLoader-CCS24gLm.js} +1 -1
- package/dist/{MTLLoader-zZDM0NQh.cjs → MTLLoader-DlcJK6vT.cjs} +1 -1
- package/dist/{OrbitControls-B85G8nPk.cjs → OrbitControls-BLs9AYBY.cjs} +1 -1
- package/dist/{OrbitControls-DFhYzlF3.js → OrbitControls-KkyEKP5M.js} +1 -1
- package/dist/{animationData-DfKVkFbz.js → animationData-Btgynl98.js} +1 -1
- package/dist/{animationData-DxBvEqB1.cjs → animationData-CCImpyvS.cjs} +1 -1
- package/dist/{iconfont-WOKNi2xx.js → iconfont-B8CQB3CO.js} +2 -2
- package/dist/{iconfont-C7kE-QbU.cjs → iconfont-BXzhYF5A.cjs} +1 -1
- package/dist/{index-DgZVeYqH.js → index--JyaPE1g.js} +1 -1
- package/dist/{index-DHZMd8iK.cjs → index-1TxthiQw.cjs} +1 -1
- package/dist/{index-CLOUp_4j.cjs → index-2wJBzGa-.cjs} +1 -1
- package/dist/{index-D0hovh9R.cjs → index-6sDAnob5.cjs} +1 -1
- package/dist/{index-_PP-dSm3.cjs → index-7ZZHuv4d.cjs} +1 -1
- package/dist/{index-Cr5if46q.js → index-B4YN6ElV.js} +1 -1
- package/dist/{index-Cnk_4Zz5.cjs → index-B8XDW6Ly.cjs} +1 -1
- package/dist/{index-BFzMf0GC.js → index-BCNDy7LZ.js} +1 -1
- package/dist/{index-DSPjcpWK.cjs → index-BMSOMrGq.cjs} +1 -1
- package/dist/{index-Cppt0AsF.cjs → index-B_WRw_3s.cjs} +1 -1
- package/dist/{index-D_igus4A.cjs → index-BaXxrBtb.cjs} +1 -1
- package/dist/{index-DeOwZgqL.js → index-Bk8CKDbz.js} +4 -4
- package/dist/{index-BXv3aZ7v.js → index-BkPXyAKD.js} +1 -1
- package/dist/{index-D_RGoDln.js → index-C9U9aO2Y.js} +3 -3
- package/dist/{index-BI7g3c_u.js → index-CAAOZFSQ.js} +13 -13
- package/dist/{index-hhS08X8b.js → index-CLddyFrz.js} +3 -3
- package/dist/{index-kLDMroPk.js → index-CUAM_spJ.js} +1 -1
- package/dist/{index-CZPnP0uy.cjs → index-CWJuJJYp.cjs} +1 -1
- package/dist/{index-BDxPlbe2.cjs → index-CYmbZuJq.cjs} +1 -1
- package/dist/{index-CQRJ3pLh.cjs → index-C_rjTaFu.cjs} +1 -1
- package/dist/{index-DHjtOySN.js → index-Cmlus98m.js} +2 -2
- package/dist/{index-331j518H.cjs → index-CnBVZu9x.cjs} +1 -1
- package/dist/{index-CqI3frdZ.js → index-Cz7uQ_eD.js} +6 -6
- package/dist/{index-D6u590uA.cjs → index-DMTBVsgY.cjs} +1 -1
- package/dist/{index-DrzK0O_g.cjs → index-DRjN9mko.cjs} +1 -1
- package/dist/{index-C-dlFxRJ.cjs → index-DThE5nRZ.cjs} +1 -1
- package/dist/{index-BYk9Fb6p.js → index-DXrBVvWh.js} +3 -3
- package/dist/{index-DRfVnLTN.js → index-DZf4BLpR.js} +6 -6
- package/dist/{index-DHBoRe9V.cjs → index-DcxUbnrO.cjs} +1 -1
- package/dist/{index-Bhha7SY3.js → index-DdQjdsrn.js} +1 -1
- package/dist/{index-BODyH6MD.js → index-Dggo7EaF.js} +1 -1
- package/dist/{index-DbDM-XfB.cjs → index-DvQRFx9T.cjs} +1 -1
- package/dist/{index-CPAXrzNY.cjs → index-FnJX1FLR.cjs} +1 -1
- package/dist/{index-iZ9BRKg5.js → index-JQ_SaJ0O.js} +1 -1
- package/dist/{index-B_zjoT4m.js → index-blVMOcaF.js} +2 -2
- package/dist/{index-DJ6qg2Mo.js → index-hbpC0O70.js} +3 -3
- package/dist/{index-S1LIIzCa.cjs → index-k579sq5M.cjs} +1 -1
- package/dist/{index-6sZXjGGz.cjs → index-nSLXu4eq.cjs} +1 -1
- package/dist/{index-B-AhHUV1.js → index-tUUpniUl.js} +1 -1
- package/dist/{index-CeGM8aBH.js → index-uWijQ8Cy.js} +2 -2
- package/dist/{index-iErxMZBi.cjs → index-yWC1EX2L.cjs} +1 -1
- package/dist/{index-BoTiP0aV.js → index-zsvDrZxo.js} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DSlAeFA3.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BKdUW522.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-ERjMISIK.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DPDuWtDv.js} +6 -6
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-3GcG1eTD.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CmofVWvn.js} +1642 -1647
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Dzyqt2Z-.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Y4oIHCVM.cjs} +58 -58
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-mJB_yl_P.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-D0zznqn6.js} +3 -3
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-DODc2KPN.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-YB8ip9Xh.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_1_lang-BRFs_L5R.cjs → index.vue_vue_type_style_index_1_lang-BB0IwRdP.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_1_lang-BH0DRFVE.js → index.vue_vue_type_style_index_1_lang-CT8c_mLo.js} +3 -3
- package/dist/{main-B541MQH8.cjs → main-BOuiQUiL.cjs} +1 -1
- package/dist/{main-Z5UMyCj6.js → main-CbZLyXuF.js} +2 -2
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.css +1 -1
- package/dist/ss-component.js +9 -9
- package/dist/ss-component2.cjs +1 -1
- package/dist/ss-component2.js +10 -10
- package/dist/{threeModel-BcjGbIJZ.js → threeModel-BJ6MrCa-.js} +4 -4
- package/dist/{threeModel-tKq0hvaK.cjs → threeModel-i87HG3Ck.cjs} +1 -1
- package/dist/{threePreview-DD0br2ae.cjs → threePreview-B3v9SadK.cjs} +1 -1
- package/dist/{threePreview-BnPMGQ2H.js → threePreview-D3wObBZq.js} +309 -305
- package/dist/{threeSceneView-BUD002PP.js → threeSceneView-DDpjEIgl.js} +7 -7
- package/dist/{threeSceneView-DVUTlm6F.cjs → threeSceneView-DQpyKixe.cjs} +2 -2
- package/dist/{threeSceneViewForCPMPIP-D4RC4BAo.js → threeSceneViewForCPMPIP-DV_aOUU5.js} +202 -198
- package/dist/threeSceneViewForCPMPIP-iaIkud0j.cjs +5 -0
- package/dist/{threeTrackPathView-DDCEu3Gx.js → threeTrackPathView-D6aAG4g8.js} +375 -359
- package/dist/threeTrackPathView-nPb7Tgdd.cjs +370 -0
- package/dist/{threeViewerHost-Sda_AoRw.cjs → threeViewerHost-I50ZyvKF.cjs} +2 -2
- package/dist/{threeViewerHost-BVeUteVd.js → threeViewerHost-XR9tepbY.js} +2 -2
- package/dist/{urdfTree-Br9VYqKp.cjs → urdfTree-B19ebCHj.cjs} +1 -1
- package/dist/{urdfTree-DaWvX-6R.js → urdfTree-CjxhpnRl.js} +1 -1
- package/dist/{workpieceTreePanel-Z3aVdOWB.cjs → workpieceTreePanel-0L7tkycK.cjs} +1 -1
- package/dist/{workpieceTreePanel-BdRaFNRp.js → workpieceTreePanel-DAnMGvlX.js} +5 -5
- package/package.json +1 -1
- package/dist/obj/model.mtl +0 -42
- package/dist/obj/model.obj +0 -26110
- package/dist/threeSceneViewForCPMPIP-BYYbyqD7.cjs +0 -5
- package/dist/threeTrackPathView-BvUihuyk.cjs +0 -370
- package/public/obj/model.mtl +0 -42
- package/public/obj/model.obj +0 -26110
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { u as
|
|
3
|
-
import { C as
|
|
4
|
-
import { r as
|
|
5
|
-
import { E as
|
|
6
|
-
import { U as
|
|
7
|
-
import { _ as
|
|
1
|
+
import { defineComponent as Oe, computed as G, ref as M, resolveComponent as q, createElementBlock as ae, openBlock as Y, createElementVNode as m, createVNode as w, withCtx as ue, toDisplayString as Z, watch as Ie, shallowRef as Q, onMounted as ft, onBeforeUnmount as pt, withDirectives as j, createCommentVNode as we, unref as b, renderSlot as Le, createBlock as mt, isRef as ee, vModelRadio as te, vShow as ne } from "vue";
|
|
2
|
+
import { u as ht, a as vt, b as gt, f as yt, d as Te } from "./iconfont-B8CQB3CO.js";
|
|
3
|
+
import { C as de, k as je, aE as wt, v as xt, V as x, aF as bt, aG as Se, aH as ze, av as R, aI as _t, B as pe, aD as Ve, aJ as St, aK as re, aL as Ne, Y as We, aM as le, aN as K, aO as zt, r as Ct, s as Ge, t as At, w as Ut, a5 as Et, ag as Mt, ao as Lt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CmofVWvn.js";
|
|
4
|
+
import { r as Tt } from "./threeViewerHost-XR9tepbY.js";
|
|
5
|
+
import { E as ce } from "./index-BUYYl2Pc.js";
|
|
6
|
+
import { U as kt, J as Pt } from "./urdfTree-CjxhpnRl.js";
|
|
7
|
+
import { _ as Re } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
import { T as E } from "./svgIcon-D-_fXUBL.js";
|
|
9
|
-
import { i as
|
|
10
|
-
function
|
|
11
|
-
const t = new
|
|
12
|
-
new
|
|
13
|
-
new
|
|
9
|
+
import { i as Bt } from "./isString-BATKat46.js";
|
|
10
|
+
function Dt(o = 0.5, e = 4) {
|
|
11
|
+
const t = new je(
|
|
12
|
+
new wt(o, e, 32),
|
|
13
|
+
new xt({
|
|
14
14
|
color: "#919191ff",
|
|
15
15
|
// 再提一档灰度
|
|
16
16
|
metalness: 0.3,
|
|
@@ -20,30 +20,30 @@ function Pt(o = 0.5, e = 4) {
|
|
|
20
20
|
), i = t.geometry.parameters.height;
|
|
21
21
|
return t.geometry.translate(0, -i / 2, 0), t.rotation.set(-90, 0, 0, "XYZ"), t;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function Ft(o, e) {
|
|
24
24
|
o.position.copy(e);
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
const i = new
|
|
26
|
+
function Ot(o, e, t = new de(16711680)) {
|
|
27
|
+
const i = new x();
|
|
28
28
|
e.getWorldPosition(i);
|
|
29
|
-
const n = o.geometry.attributes.position, s = o.geometry.attributes.color, r = new
|
|
29
|
+
const n = o.geometry.attributes.position, s = o.geometry.attributes.color, r = new de(55551);
|
|
30
30
|
let a = 1 / 0, d = -1;
|
|
31
|
-
for (let
|
|
32
|
-
const f = new
|
|
33
|
-
f < a && (a = f, d =
|
|
31
|
+
for (let u = 0; u < n.count; u++) {
|
|
32
|
+
const f = new x().fromBufferAttribute(n, u).distanceTo(i);
|
|
33
|
+
f < a && (a = f, d = u);
|
|
34
34
|
}
|
|
35
|
-
for (let
|
|
35
|
+
for (let u = 0; u < s.count; u++) r.toArray(s.array, u * 3);
|
|
36
36
|
if (d !== -1) {
|
|
37
|
-
const
|
|
37
|
+
const u = t.toArray(), p = d * 3 + 2;
|
|
38
38
|
for (let f = 0; f < p; f = f + 3)
|
|
39
|
-
s.array[f] =
|
|
39
|
+
s.array[f] = u[0], s.array[f + 1] = u[1], s.array[f + 2] = u[2];
|
|
40
40
|
}
|
|
41
41
|
s.needsUpdate = !0;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
|
|
43
|
+
function He(o, e, t, i = new de(16711680)) {
|
|
44
|
+
Ft(o, e), Ot(t, o, i);
|
|
45
45
|
}
|
|
46
|
-
const
|
|
46
|
+
const It = { class: "panel-content" }, jt = { class: "animation-controls" }, Vt = { class: "control-row" }, Nt = { class: "control-row" }, Wt = { class: "frame-info" }, Gt = { class: "control-row" }, Rt = /* @__PURE__ */ Oe({
|
|
47
47
|
__name: "trackAnimationPanel",
|
|
48
48
|
props: {
|
|
49
49
|
cloud: {},
|
|
@@ -52,59 +52,67 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
52
52
|
},
|
|
53
53
|
emits: ["getThreeData"],
|
|
54
54
|
setup(o, { expose: e, emit: t }) {
|
|
55
|
-
const i = o, n =
|
|
55
|
+
const i = o, n = G(() => i.vectors), s = M(!1), r = M(0), a = M(50);
|
|
56
56
|
let d = !1;
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
console.error(`帧索引 ${
|
|
57
|
+
const u = (g) => `第 ${g + 1} 帧`, p = (g) => {
|
|
58
|
+
if (g < 0 || g >= n.value.length) {
|
|
59
|
+
console.error(`帧索引 ${g} 超出范围`);
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
|
-
const
|
|
63
|
-
r.value =
|
|
62
|
+
const v = n.value[g];
|
|
63
|
+
r.value = g, He(i.knife, v, i.cloud);
|
|
64
64
|
}, f = async () => {
|
|
65
65
|
if (n.value.length === 0) {
|
|
66
|
-
|
|
66
|
+
ce.error("无法播放动画:无数据");
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
if (!s.value) {
|
|
70
70
|
s.value = !0, d = !1, n.value.length - 1 === r.value && (r.value = 0);
|
|
71
71
|
try {
|
|
72
|
-
for (let
|
|
73
|
-
await new Promise((
|
|
74
|
-
d ||
|
|
75
|
-
} catch (
|
|
76
|
-
console.error("动画播放出错:",
|
|
72
|
+
for (let g = r.value + 1; g < n.value.length && !d; g++)
|
|
73
|
+
await new Promise((v) => setTimeout(v, a.value)), p(g);
|
|
74
|
+
d || ce.success("动画播放完成");
|
|
75
|
+
} catch (g) {
|
|
76
|
+
console.error("动画播放出错:", g);
|
|
77
77
|
} finally {
|
|
78
78
|
s.value = !1;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
}, h = () => {
|
|
82
|
-
d = !0,
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
}, h = async () => {
|
|
82
|
+
s.value && (d = !0, await new Promise((g) => {
|
|
83
|
+
const v = Ie(() => s.value, (L) => {
|
|
84
|
+
v(), g();
|
|
85
|
+
});
|
|
86
|
+
}), ce.info("动画已停止"));
|
|
87
|
+
}, U = async (g) => {
|
|
88
|
+
s.value && await h(), p(g);
|
|
89
|
+
}, P = async () => {
|
|
90
|
+
s.value && await h(), !(r.value + 1 >= n.value.length) && p(r.value + 1);
|
|
91
|
+
}, k = async () => {
|
|
92
|
+
s.value && await h(), r.value !== 0 && p(r.value - 1);
|
|
93
|
+
}, _ = () => {
|
|
94
|
+
r.value = 0;
|
|
85
95
|
};
|
|
86
|
-
return e({ playAnimation: f, stopAnimation: h, forwardFrame: () => {
|
|
87
|
-
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
m("div", Ot, [
|
|
95
|
-
y(T, {
|
|
96
|
+
return e({ playAnimation: f, stopAnimation: h, forwardFrame: P, backwardFrame: k, resetAnimationFrame: _, reset: async () => {
|
|
97
|
+
await h(), _();
|
|
98
|
+
} }), (g, v) => {
|
|
99
|
+
const L = q("el-input-number"), me = q("el-form-item"), he = q("el-form"), J = q("el-slider");
|
|
100
|
+
return Y(), ae("div", It, [
|
|
101
|
+
m("div", jt, [
|
|
102
|
+
m("div", Vt, [
|
|
103
|
+
w(he, {
|
|
96
104
|
"label-width": "auto",
|
|
97
105
|
style: { width: "100%" }
|
|
98
106
|
}, {
|
|
99
|
-
default:
|
|
100
|
-
|
|
107
|
+
default: ue(() => [
|
|
108
|
+
w(me, {
|
|
101
109
|
label: "帧间隔 (ms):",
|
|
102
110
|
prop: "frameDuration"
|
|
103
111
|
}, {
|
|
104
|
-
default:
|
|
105
|
-
|
|
112
|
+
default: ue(() => [
|
|
113
|
+
w(L, {
|
|
106
114
|
modelValue: a.value,
|
|
107
|
-
"onUpdate:modelValue":
|
|
115
|
+
"onUpdate:modelValue": v[0] || (v[0] = (H) => a.value = H),
|
|
108
116
|
min: 0,
|
|
109
117
|
max: 5e3,
|
|
110
118
|
step: 10,
|
|
@@ -117,20 +125,20 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
117
125
|
_: 1
|
|
118
126
|
})
|
|
119
127
|
]),
|
|
120
|
-
m("div",
|
|
121
|
-
|
|
122
|
-
m("span",
|
|
128
|
+
m("div", Nt, [
|
|
129
|
+
v[2] || (v[2] = m("label", null, "当前帧:", -1)),
|
|
130
|
+
m("span", Wt, Z(r.value + 1) + " / " + Z(n.value.length), 1)
|
|
123
131
|
]),
|
|
124
|
-
m("div",
|
|
125
|
-
|
|
126
|
-
|
|
132
|
+
m("div", Gt, [
|
|
133
|
+
v[3] || (v[3] = m("label", null, "动画进度:", -1)),
|
|
134
|
+
w(J, {
|
|
127
135
|
modelValue: r.value,
|
|
128
|
-
"onUpdate:modelValue":
|
|
136
|
+
"onUpdate:modelValue": v[1] || (v[1] = (H) => r.value = H),
|
|
129
137
|
min: 0,
|
|
130
138
|
max: n.value.length > 0 ? n.value.length - 1 : 0,
|
|
131
139
|
step: 1,
|
|
132
|
-
"format-tooltip":
|
|
133
|
-
onInput:
|
|
140
|
+
"format-tooltip": u,
|
|
141
|
+
onInput: U,
|
|
134
142
|
disabled: n.value.length === 0,
|
|
135
143
|
style: { "flex-grow": "1", margin: "0 10px" }
|
|
136
144
|
}, null, 8, ["modelValue", "max", "disabled"])
|
|
@@ -139,15 +147,15 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
139
147
|
]);
|
|
140
148
|
};
|
|
141
149
|
}
|
|
142
|
-
}),
|
|
143
|
-
class
|
|
150
|
+
}), Ht = /* @__PURE__ */ Re(Rt, [["__scopeId", "data-v-56b5183f"]]), ke = new pe(), ie = new x();
|
|
151
|
+
class $e extends bt {
|
|
144
152
|
/**
|
|
145
153
|
* Constructs a new line segments geometry.
|
|
146
154
|
*/
|
|
147
155
|
constructor() {
|
|
148
156
|
super(), this.isLineSegmentsGeometry = !0, this.type = "LineSegmentsGeometry";
|
|
149
157
|
const e = [-1, 2, 0, 1, 2, 0, -1, 1, 0, 1, 1, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 1, -1, 0], t = [-1, 2, 1, 2, -1, 1, 1, 1, -1, -1, 1, -1, -1, -2, 1, -2], i = [0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5];
|
|
150
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
158
|
+
this.setIndex(i), this.setAttribute("position", new Se(e, 3)), this.setAttribute("uv", new Se(t, 2));
|
|
151
159
|
}
|
|
152
160
|
/**
|
|
153
161
|
* Applies the given 4x4 transformation matrix to the geometry.
|
|
@@ -169,8 +177,8 @@ class Ne extends yt {
|
|
|
169
177
|
setPositions(e) {
|
|
170
178
|
let t;
|
|
171
179
|
e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
|
|
172
|
-
const i = new
|
|
173
|
-
return this.setAttribute("instanceStart", new
|
|
180
|
+
const i = new ze(t, 6, 1);
|
|
181
|
+
return this.setAttribute("instanceStart", new R(i, 3, 0)), this.setAttribute("instanceEnd", new R(i, 3, 3)), this.instanceCount = this.attributes.instanceStart.count, this.computeBoundingBox(), this.computeBoundingSphere(), this;
|
|
174
182
|
}
|
|
175
183
|
/**
|
|
176
184
|
* Sets the given line colors for this geometry. The length must be a multiple of six since
|
|
@@ -182,8 +190,8 @@ class Ne extends yt {
|
|
|
182
190
|
setColors(e) {
|
|
183
191
|
let t;
|
|
184
192
|
e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
|
|
185
|
-
const i = new
|
|
186
|
-
return this.setAttribute("instanceColorStart", new
|
|
193
|
+
const i = new ze(t, 6, 1);
|
|
194
|
+
return this.setAttribute("instanceColorStart", new R(i, 3, 0)), this.setAttribute("instanceColorEnd", new R(i, 3, 3)), this;
|
|
187
195
|
}
|
|
188
196
|
/**
|
|
189
197
|
* Setups this line segments geometry from the given wireframe geometry.
|
|
@@ -210,7 +218,7 @@ class Ne extends yt {
|
|
|
210
218
|
* @return {LineSegmentsGeometry} A reference to this geometry.
|
|
211
219
|
*/
|
|
212
220
|
fromMesh(e) {
|
|
213
|
-
return this.fromWireframeGeometry(new
|
|
221
|
+
return this.fromWireframeGeometry(new _t(e.geometry)), this;
|
|
214
222
|
}
|
|
215
223
|
/**
|
|
216
224
|
* Setups this line segments geometry from the given line segments.
|
|
@@ -224,12 +232,12 @@ class Ne extends yt {
|
|
|
224
232
|
return this.setPositions(t.attributes.position.array), this;
|
|
225
233
|
}
|
|
226
234
|
computeBoundingBox() {
|
|
227
|
-
this.boundingBox === null && (this.boundingBox = new
|
|
235
|
+
this.boundingBox === null && (this.boundingBox = new pe());
|
|
228
236
|
const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
229
|
-
e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e),
|
|
237
|
+
e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e), ke.setFromBufferAttribute(t), this.boundingBox.union(ke));
|
|
230
238
|
}
|
|
231
239
|
computeBoundingSphere() {
|
|
232
|
-
this.boundingSphere === null && (this.boundingSphere = new
|
|
240
|
+
this.boundingSphere === null && (this.boundingSphere = new Ve()), this.boundingBox === null && this.computeBoundingBox();
|
|
233
241
|
const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
234
242
|
if (e !== void 0 && t !== void 0) {
|
|
235
243
|
const i = this.boundingSphere.center;
|
|
@@ -246,7 +254,7 @@ class Ne extends yt {
|
|
|
246
254
|
le.line = {
|
|
247
255
|
worldUnits: { value: 1 },
|
|
248
256
|
linewidth: { value: 1 },
|
|
249
|
-
resolution: { value: new
|
|
257
|
+
resolution: { value: new We(1, 1) },
|
|
250
258
|
dashOffset: { value: 0 },
|
|
251
259
|
dashScale: { value: 1 },
|
|
252
260
|
dashSize: { value: 1 },
|
|
@@ -254,7 +262,7 @@ le.line = {
|
|
|
254
262
|
// todo FIX - maybe change to totalSize
|
|
255
263
|
};
|
|
256
264
|
re.line = {
|
|
257
|
-
uniforms:
|
|
265
|
+
uniforms: Ne.merge([
|
|
258
266
|
le.common,
|
|
259
267
|
le.fog,
|
|
260
268
|
le.line
|
|
@@ -637,7 +645,7 @@ re.line = {
|
|
|
637
645
|
`
|
|
638
646
|
)
|
|
639
647
|
};
|
|
640
|
-
class
|
|
648
|
+
class Ce extends St {
|
|
641
649
|
/**
|
|
642
650
|
* Constructs a new line segments geometry.
|
|
643
651
|
*
|
|
@@ -650,7 +658,7 @@ class Se extends xt {
|
|
|
650
658
|
constructor(e) {
|
|
651
659
|
super({
|
|
652
660
|
type: "LineMaterial",
|
|
653
|
-
uniforms:
|
|
661
|
+
uniforms: Ne.clone(re.line.uniforms),
|
|
654
662
|
vertexShader: re.line.vertexShader,
|
|
655
663
|
fragmentShader: re.line.fragmentShader,
|
|
656
664
|
clipping: !0
|
|
@@ -792,20 +800,20 @@ class Se extends xt {
|
|
|
792
800
|
this.defines && (e === !0 !== this.alphaToCoverage && (this.needsUpdate = !0), e === !0 ? this.defines.USE_ALPHA_TO_COVERAGE = "" : delete this.defines.USE_ALPHA_TO_COVERAGE);
|
|
793
801
|
}
|
|
794
802
|
}
|
|
795
|
-
const
|
|
796
|
-
let
|
|
797
|
-
function
|
|
798
|
-
return
|
|
803
|
+
const xe = new K(), Pe = new x(), Be = new x(), S = new K(), z = new K(), B = new K(), be = new x(), _e = new Ct(), C = new zt(), De = new x(), oe = new pe(), se = new Ve(), D = new K();
|
|
804
|
+
let F, W;
|
|
805
|
+
function Fe(o, e, t) {
|
|
806
|
+
return D.set(0, 0, -e, 1).applyMatrix4(o.projectionMatrix), D.multiplyScalar(1 / D.w), D.x = W / t.width, D.y = W / t.height, D.applyMatrix4(o.projectionMatrixInverse), D.multiplyScalar(1 / D.w), Math.abs(Math.max(D.x, D.y));
|
|
799
807
|
}
|
|
800
|
-
function
|
|
808
|
+
function $t(o, e) {
|
|
801
809
|
const t = o.matrixWorld, i = o.geometry, n = i.attributes.instanceStart, s = i.attributes.instanceEnd, r = Math.min(i.instanceCount, n.count);
|
|
802
810
|
for (let a = 0, d = r; a < d; a++) {
|
|
803
|
-
|
|
804
|
-
const
|
|
805
|
-
|
|
811
|
+
C.start.fromBufferAttribute(n, a), C.end.fromBufferAttribute(s, a), C.applyMatrix4(t);
|
|
812
|
+
const u = new x(), p = new x();
|
|
813
|
+
F.distanceSqToSegment(C.start, C.end, p, u), p.distanceTo(u) < W * 0.5 && e.push({
|
|
806
814
|
point: p,
|
|
807
|
-
pointOnLine:
|
|
808
|
-
distance:
|
|
815
|
+
pointOnLine: u,
|
|
816
|
+
distance: F.origin.distanceTo(p),
|
|
809
817
|
object: o,
|
|
810
818
|
face: null,
|
|
811
819
|
faceIndex: a,
|
|
@@ -814,30 +822,30 @@ function Gt(o, e) {
|
|
|
814
822
|
});
|
|
815
823
|
}
|
|
816
824
|
}
|
|
817
|
-
function
|
|
818
|
-
const i = e.projectionMatrix, s = o.material.resolution, r = o.matrixWorld, a = o.geometry, d = a.attributes.instanceStart,
|
|
819
|
-
|
|
820
|
-
for (let h = 0,
|
|
821
|
-
if (
|
|
825
|
+
function Xt(o, e, t) {
|
|
826
|
+
const i = e.projectionMatrix, s = o.material.resolution, r = o.matrixWorld, a = o.geometry, d = a.attributes.instanceStart, u = a.attributes.instanceEnd, p = Math.min(a.instanceCount, d.count), f = -e.near;
|
|
827
|
+
F.at(1, B), B.w = 1, B.applyMatrix4(e.matrixWorldInverse), B.applyMatrix4(i), B.multiplyScalar(1 / B.w), B.x *= s.x / 2, B.y *= s.y / 2, B.z = 0, be.copy(B), _e.multiplyMatrices(e.matrixWorldInverse, r);
|
|
828
|
+
for (let h = 0, U = p; h < U; h++) {
|
|
829
|
+
if (S.fromBufferAttribute(d, h), z.fromBufferAttribute(u, h), S.w = 1, z.w = 1, S.applyMatrix4(_e), z.applyMatrix4(_e), S.z > f && z.z > f)
|
|
822
830
|
continue;
|
|
823
|
-
if (
|
|
824
|
-
const
|
|
825
|
-
|
|
826
|
-
} else if (
|
|
827
|
-
const
|
|
828
|
-
|
|
831
|
+
if (S.z > f) {
|
|
832
|
+
const v = S.z - z.z, L = (S.z - f) / v;
|
|
833
|
+
S.lerp(z, L);
|
|
834
|
+
} else if (z.z > f) {
|
|
835
|
+
const v = z.z - S.z, L = (z.z - f) / v;
|
|
836
|
+
z.lerp(S, L);
|
|
829
837
|
}
|
|
830
|
-
|
|
831
|
-
const
|
|
832
|
-
|
|
833
|
-
const
|
|
834
|
-
if (
|
|
835
|
-
|
|
836
|
-
const
|
|
837
|
-
|
|
838
|
-
point:
|
|
839
|
-
pointOnLine:
|
|
840
|
-
distance:
|
|
838
|
+
S.applyMatrix4(i), z.applyMatrix4(i), S.multiplyScalar(1 / S.w), z.multiplyScalar(1 / z.w), S.x *= s.x / 2, S.y *= s.y / 2, z.x *= s.x / 2, z.y *= s.y / 2, C.start.copy(S), C.start.z = 0, C.end.copy(z), C.end.z = 0;
|
|
839
|
+
const k = C.closestPointToPointParameter(be, !0);
|
|
840
|
+
C.at(k, De);
|
|
841
|
+
const _ = Ge.lerp(S.z, z.z, k), A = _ >= -1 && _ <= 1, g = be.distanceTo(De) < W * 0.5;
|
|
842
|
+
if (A && g) {
|
|
843
|
+
C.start.fromBufferAttribute(d, h), C.end.fromBufferAttribute(u, h), C.start.applyMatrix4(r), C.end.applyMatrix4(r);
|
|
844
|
+
const v = new x(), L = new x();
|
|
845
|
+
F.distanceSqToSegment(C.start, C.end, L, v), t.push({
|
|
846
|
+
point: L,
|
|
847
|
+
pointOnLine: v,
|
|
848
|
+
distance: F.origin.distanceTo(L),
|
|
841
849
|
object: o,
|
|
842
850
|
face: null,
|
|
843
851
|
faceIndex: h,
|
|
@@ -847,14 +855,14 @@ function Rt(o, e, t) {
|
|
|
847
855
|
}
|
|
848
856
|
}
|
|
849
857
|
}
|
|
850
|
-
class
|
|
858
|
+
class qt extends je {
|
|
851
859
|
/**
|
|
852
860
|
* Constructs a new wide line.
|
|
853
861
|
*
|
|
854
862
|
* @param {LineSegmentsGeometry} [geometry] - The line geometry.
|
|
855
863
|
* @param {LineMaterial} [material] - The line material.
|
|
856
864
|
*/
|
|
857
|
-
constructor(e = new
|
|
865
|
+
constructor(e = new $e(), t = new Ce({ color: Math.random() * 16777215 })) {
|
|
858
866
|
super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
|
|
859
867
|
}
|
|
860
868
|
/**
|
|
@@ -867,9 +875,9 @@ class Ht extends Be {
|
|
|
867
875
|
computeLineDistances() {
|
|
868
876
|
const e = this.geometry, t = e.attributes.instanceStart, i = e.attributes.instanceEnd, n = new Float32Array(2 * t.count);
|
|
869
877
|
for (let r = 0, a = 0, d = t.count; r < d; r++, a += 2)
|
|
870
|
-
|
|
871
|
-
const s = new
|
|
872
|
-
return e.setAttribute("instanceDistanceStart", new
|
|
878
|
+
Pe.fromBufferAttribute(t, r), Be.fromBufferAttribute(i, r), n[a] = a === 0 ? 0 : n[a - 1], n[a + 1] = n[a] + Pe.distanceTo(Be);
|
|
879
|
+
const s = new ze(n, 2, 1);
|
|
880
|
+
return e.setAttribute("instanceDistanceStart", new R(s, 1, 0)), e.setAttribute("instanceDistanceEnd", new R(s, 1, 1)), this;
|
|
873
881
|
}
|
|
874
882
|
/**
|
|
875
883
|
* Computes intersection points between a casted ray and this instance.
|
|
@@ -881,34 +889,34 @@ class Ht extends Be {
|
|
|
881
889
|
const i = this.material.worldUnits, n = e.camera;
|
|
882
890
|
n === null && !i && console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');
|
|
883
891
|
const s = e.params.Line2 !== void 0 && e.params.Line2.threshold || 0;
|
|
884
|
-
|
|
892
|
+
F = e.ray;
|
|
885
893
|
const r = this.matrixWorld, a = this.geometry, d = this.material;
|
|
886
894
|
W = d.linewidth + s, a.boundingSphere === null && a.computeBoundingSphere(), se.copy(a.boundingSphere).applyMatrix4(r);
|
|
887
|
-
let
|
|
895
|
+
let u;
|
|
888
896
|
if (i)
|
|
889
|
-
|
|
897
|
+
u = W * 0.5;
|
|
890
898
|
else {
|
|
891
|
-
const f = Math.max(n.near, se.distanceToPoint(
|
|
892
|
-
|
|
899
|
+
const f = Math.max(n.near, se.distanceToPoint(F.origin));
|
|
900
|
+
u = Fe(n, f, d.resolution);
|
|
893
901
|
}
|
|
894
|
-
if (se.radius +=
|
|
902
|
+
if (se.radius += u, F.intersectsSphere(se) === !1)
|
|
895
903
|
return;
|
|
896
904
|
a.boundingBox === null && a.computeBoundingBox(), oe.copy(a.boundingBox).applyMatrix4(r);
|
|
897
905
|
let p;
|
|
898
906
|
if (i)
|
|
899
907
|
p = W * 0.5;
|
|
900
908
|
else {
|
|
901
|
-
const f = Math.max(n.near, oe.distanceToPoint(
|
|
902
|
-
p =
|
|
909
|
+
const f = Math.max(n.near, oe.distanceToPoint(F.origin));
|
|
910
|
+
p = Fe(n, f, d.resolution);
|
|
903
911
|
}
|
|
904
|
-
oe.expandByScalar(p),
|
|
912
|
+
oe.expandByScalar(p), F.intersectsBox(oe) !== !1 && (i ? $t(this, t) : Xt(this, n, t));
|
|
905
913
|
}
|
|
906
914
|
onBeforeRender(e) {
|
|
907
915
|
const t = this.material.uniforms;
|
|
908
|
-
t && t.resolution && (e.getViewport(
|
|
916
|
+
t && t.resolution && (e.getViewport(xe), this.material.uniforms.resolution.value.set(xe.z, xe.w));
|
|
909
917
|
}
|
|
910
918
|
}
|
|
911
|
-
class
|
|
919
|
+
class Xe extends $e {
|
|
912
920
|
/**
|
|
913
921
|
* Constructs a new line geometry.
|
|
914
922
|
*/
|
|
@@ -962,25 +970,25 @@ class We extends Ne {
|
|
|
962
970
|
return this.setPositions(t.attributes.position.array), this;
|
|
963
971
|
}
|
|
964
972
|
}
|
|
965
|
-
class
|
|
973
|
+
class Yt extends qt {
|
|
966
974
|
/**
|
|
967
975
|
* Constructs a new wide line.
|
|
968
976
|
*
|
|
969
977
|
* @param {LineGeometry} [geometry] - The line geometry.
|
|
970
978
|
* @param {LineMaterial} [material] - The line material.
|
|
971
979
|
*/
|
|
972
|
-
constructor(e = new
|
|
980
|
+
constructor(e = new Xe(), t = new Ce({ color: Math.random() * 16777215 })) {
|
|
973
981
|
super(e, t), this.isLine2 = !0, this.type = "Line2";
|
|
974
982
|
}
|
|
975
983
|
}
|
|
976
|
-
function
|
|
984
|
+
function Zt(o) {
|
|
977
985
|
const e = [];
|
|
978
986
|
return o.forEach((t) => {
|
|
979
987
|
const [i, n, s] = t.trim().split(/\s+/);
|
|
980
988
|
e.push(+i, +n, +s);
|
|
981
989
|
}), e;
|
|
982
990
|
}
|
|
983
|
-
function
|
|
991
|
+
function fe(o, e, t) {
|
|
984
992
|
switch (o) {
|
|
985
993
|
case "X":
|
|
986
994
|
e.x = +t || 0;
|
|
@@ -993,7 +1001,7 @@ function de(o, e, t) {
|
|
|
993
1001
|
break;
|
|
994
1002
|
}
|
|
995
1003
|
}
|
|
996
|
-
function
|
|
1004
|
+
function Kt(o) {
|
|
997
1005
|
const e = [], t = ["X", "Y", "Z"];
|
|
998
1006
|
return o.forEach((i) => {
|
|
999
1007
|
const n = {
|
|
@@ -1005,35 +1013,35 @@ function qt(o) {
|
|
|
1005
1013
|
return;
|
|
1006
1014
|
let r = null, a = "";
|
|
1007
1015
|
for (let d = 0; d < (s == null ? void 0 : s.length); d++) {
|
|
1008
|
-
const
|
|
1016
|
+
const u = s[d], p = t.find((f) => f === u);
|
|
1009
1017
|
if (p) {
|
|
1010
|
-
r &&
|
|
1018
|
+
r && fe(r, n, a), a = "", r = p;
|
|
1011
1019
|
continue;
|
|
1012
1020
|
}
|
|
1013
|
-
a = a +
|
|
1021
|
+
a = a + u;
|
|
1014
1022
|
}
|
|
1015
|
-
|
|
1023
|
+
fe(r, n, a), e.push(n.x, n.y, n.z);
|
|
1016
1024
|
}), e;
|
|
1017
1025
|
}
|
|
1018
|
-
const
|
|
1019
|
-
const e =
|
|
1020
|
-
return
|
|
1026
|
+
const Jt = (o) => o == null ? void 0 : o.filter((t) => t.includes("=")), Qt = (o) => o.replace(/,/g, ""), en = (o) => o == null ? void 0 : o.map((t) => Qt(t)), tn = (o) => {
|
|
1027
|
+
const e = Jt(o);
|
|
1028
|
+
return en(e);
|
|
1021
1029
|
};
|
|
1022
|
-
function
|
|
1023
|
-
const e =
|
|
1030
|
+
function nn(o) {
|
|
1031
|
+
const e = tn(o), t = [];
|
|
1024
1032
|
return e.forEach((i) => {
|
|
1025
|
-
var f, h,
|
|
1033
|
+
var f, h, U, P, k, _;
|
|
1026
1034
|
let [n, s, r, a] = i.trim().split(/\s+/);
|
|
1027
|
-
s = (f = s == null ? void 0 : s.trim) == null ? void 0 : f.call(s), r = (h = r == null ? void 0 : r.trim) == null ? void 0 : h.call(r), a = (
|
|
1028
|
-
const [, d] = (
|
|
1029
|
-
t.push(+d, +
|
|
1035
|
+
s = (f = s == null ? void 0 : s.trim) == null ? void 0 : f.call(s), r = (h = r == null ? void 0 : r.trim) == null ? void 0 : h.call(r), a = (U = a == null ? void 0 : a.trim) == null ? void 0 : U.call(a);
|
|
1036
|
+
const [, d] = (P = s == null ? void 0 : s.split) == null ? void 0 : P.call(s, "="), [, u] = (k = r == null ? void 0 : r.split) == null ? void 0 : k.call(r, "="), [, p] = (_ = a == null ? void 0 : a.split) == null ? void 0 : _.call(a, "=");
|
|
1037
|
+
t.push(+d, +u, +p);
|
|
1030
1038
|
}), t;
|
|
1031
1039
|
}
|
|
1032
|
-
const
|
|
1033
|
-
function
|
|
1034
|
-
return
|
|
1040
|
+
const on = (o) => o >= "0" && o <= "9", sn = (o) => o === "+" || o === "-", an = (o) => o === ".";
|
|
1041
|
+
function rn(o) {
|
|
1042
|
+
return on(o) || sn(o) || an(o);
|
|
1035
1043
|
}
|
|
1036
|
-
function
|
|
1044
|
+
function ln(o) {
|
|
1037
1045
|
const e = [], t = /* @__PURE__ */ new Set(["X", "Y", "Z"]);
|
|
1038
1046
|
return o.forEach((i) => {
|
|
1039
1047
|
const n = {
|
|
@@ -1045,31 +1053,31 @@ function sn(o) {
|
|
|
1045
1053
|
return;
|
|
1046
1054
|
let r = null, a = "";
|
|
1047
1055
|
for (let d = 0; d < (s == null ? void 0 : s.length); d++) {
|
|
1048
|
-
const
|
|
1056
|
+
const u = s[d], p = t.has(u) ? u : null, f = rn(u);
|
|
1049
1057
|
if (p || !f) {
|
|
1050
|
-
r &&
|
|
1058
|
+
r && fe(r, n, a), r = p, a = "";
|
|
1051
1059
|
continue;
|
|
1052
1060
|
}
|
|
1053
|
-
a = a +
|
|
1061
|
+
a = a + u;
|
|
1054
1062
|
}
|
|
1055
|
-
r &&
|
|
1063
|
+
r && fe(r, n, a), e.push(n.x, n.y, n.z);
|
|
1056
1064
|
}), e;
|
|
1057
1065
|
}
|
|
1058
|
-
function
|
|
1066
|
+
function cn(o) {
|
|
1059
1067
|
return o == null ? void 0 : o.includes("=");
|
|
1060
1068
|
}
|
|
1061
|
-
async function
|
|
1069
|
+
async function un(o) {
|
|
1062
1070
|
var n, s;
|
|
1063
1071
|
const e = (n = o == null ? void 0 : o.trim()) == null ? void 0 : n.split(/\r?\n/);
|
|
1064
|
-
if (
|
|
1065
|
-
return
|
|
1072
|
+
if (cn(o))
|
|
1073
|
+
return nn(e);
|
|
1066
1074
|
const t = e == null ? void 0 : e[0], i = (s = t == null ? void 0 : t.trim()) == null ? void 0 : s.split(/\s+/);
|
|
1067
1075
|
if ((i == null ? void 0 : i.length) >= 3)
|
|
1068
|
-
return
|
|
1076
|
+
return Zt(e);
|
|
1069
1077
|
if ((i == null ? void 0 : i.length) === 1)
|
|
1070
|
-
return
|
|
1078
|
+
return Kt(e);
|
|
1071
1079
|
}
|
|
1072
|
-
async function
|
|
1080
|
+
async function dn(o) {
|
|
1073
1081
|
const e = o.trim().split(/\r?\n/), t = [];
|
|
1074
1082
|
return e.forEach((i) => {
|
|
1075
1083
|
const n = i.trim().split(/\s+/);
|
|
@@ -1079,7 +1087,7 @@ async function ln(o) {
|
|
|
1079
1087
|
t.push(+s, +r, +a);
|
|
1080
1088
|
}), t;
|
|
1081
1089
|
}
|
|
1082
|
-
async function
|
|
1090
|
+
async function fn(o) {
|
|
1083
1091
|
const e = o.trim().split(/\r?\n/), t = [];
|
|
1084
1092
|
return e.forEach((i) => {
|
|
1085
1093
|
const n = i.trim().split(/\s+/);
|
|
@@ -1089,24 +1097,24 @@ async function cn(o) {
|
|
|
1089
1097
|
t.push(+s, +r, +a);
|
|
1090
1098
|
}), t;
|
|
1091
1099
|
}
|
|
1092
|
-
async function
|
|
1100
|
+
async function pn(o) {
|
|
1093
1101
|
let e = o.trim().split(/\r?\n/);
|
|
1094
1102
|
return e = e.filter((i) => {
|
|
1095
1103
|
const n = i.startsWith("X"), s = i.startsWith("G") && i.includes("X");
|
|
1096
1104
|
return n || s;
|
|
1097
|
-
}),
|
|
1105
|
+
}), ln(e);
|
|
1098
1106
|
}
|
|
1099
|
-
async function
|
|
1107
|
+
async function mn(o, e) {
|
|
1100
1108
|
const { isCyd: t, isUv: i, isCpt: n, isNc: s } = e;
|
|
1101
|
-
return i ?
|
|
1109
|
+
return i ? un(o) : t ? fn(o) : n ? dn(o) : s ? pn(o) : [];
|
|
1102
1110
|
}
|
|
1103
|
-
function
|
|
1111
|
+
function hn(o) {
|
|
1104
1112
|
const e = [];
|
|
1105
1113
|
for (let t = 0; t < o.length; t += 3)
|
|
1106
|
-
e.push(new
|
|
1114
|
+
e.push(new x(o[t], o[t + 1], o[t + 2]));
|
|
1107
1115
|
return e;
|
|
1108
1116
|
}
|
|
1109
|
-
function
|
|
1117
|
+
function vn(o, e) {
|
|
1110
1118
|
if (!e || e.length < 3)
|
|
1111
1119
|
return;
|
|
1112
1120
|
const { scene: t, camera: i, renderer: n, controls: s } = o();
|
|
@@ -1114,81 +1122,81 @@ function pn(o, e) {
|
|
|
1114
1122
|
return;
|
|
1115
1123
|
const r = [];
|
|
1116
1124
|
for (let h = 0; h < e.length; h += 3)
|
|
1117
|
-
r.push(new
|
|
1118
|
-
const d = new
|
|
1119
|
-
|
|
1120
|
-
const p = new
|
|
1125
|
+
r.push(new x(e[h], e[h + 1], e[h + 2]));
|
|
1126
|
+
const d = new At(r, !1, "catmullrom", 0.5).getPoints(150).flatMap((h) => [h.x, h.y, h.z]), u = new Xe();
|
|
1127
|
+
u.setPositions(d);
|
|
1128
|
+
const p = new Ce({
|
|
1121
1129
|
color: 55551,
|
|
1122
1130
|
linewidth: 3,
|
|
1123
1131
|
// 像素宽度,可 >1
|
|
1124
|
-
resolution: new
|
|
1125
|
-
}), f = new
|
|
1132
|
+
resolution: new We(window.innerWidth, window.innerHeight)
|
|
1133
|
+
}), f = new Yt(u, p);
|
|
1126
1134
|
return f.name = "轨迹路径", t.add(f), f;
|
|
1127
1135
|
}
|
|
1128
|
-
function
|
|
1129
|
-
let s = 1 / 0, r = -1 / 0, a = 1 / 0, d = -1 / 0,
|
|
1130
|
-
for (let
|
|
1131
|
-
const
|
|
1132
|
-
s = Math.min(s,
|
|
1136
|
+
function gn(o, e, t, i = 4, n = 50) {
|
|
1137
|
+
let s = 1 / 0, r = -1 / 0, a = 1 / 0, d = -1 / 0, u = 1 / 0, p = -1 / 0;
|
|
1138
|
+
for (let _ = 0; _ < o.length; _ += 3) {
|
|
1139
|
+
const A = o[_], g = o[_ + 1], v = o[_ + 2];
|
|
1140
|
+
s = Math.min(s, A), r = Math.max(r, A), a = Math.min(a, g), d = Math.max(d, g), u = Math.min(u, v), p = Math.max(p, v);
|
|
1133
1141
|
}
|
|
1134
|
-
const h = Math.sqrt((r - s) ** 2 + (d - a) ** 2 + (p -
|
|
1135
|
-
return Math.min(0.4,
|
|
1142
|
+
const h = Math.sqrt((r - s) ** 2 + (d - a) ** 2 + (p - u) ** 2) * 0.05, U = Ge.degToRad(e.fov), P = 2 * Math.tan(U / 2) * n, k = h / P * t.domElement.height * (i / 4);
|
|
1143
|
+
return Math.min(0.4, k);
|
|
1136
1144
|
}
|
|
1137
|
-
function
|
|
1145
|
+
function yn(o) {
|
|
1138
1146
|
if (o.length % 3 !== 0)
|
|
1139
1147
|
return console.error("points array length is not a multiple of 3:", o), null;
|
|
1140
|
-
const e = new
|
|
1141
|
-
e.setAttribute("position", new
|
|
1148
|
+
const e = new Ut();
|
|
1149
|
+
e.setAttribute("position", new Se(o, 3));
|
|
1142
1150
|
const t = new Float32Array(o.length);
|
|
1143
1151
|
for (let s = 0; s < o.length; s += 3)
|
|
1144
1152
|
t[s] = 0, t[s + 1] = 0.847, t[s + 2] = 1;
|
|
1145
|
-
e.setAttribute("color", new
|
|
1146
|
-
const i = new
|
|
1153
|
+
e.setAttribute("color", new Et(t, 3));
|
|
1154
|
+
const i = new Mt({
|
|
1147
1155
|
vertexColors: !0,
|
|
1148
1156
|
size: 0.4,
|
|
1149
1157
|
// 像素世界单位
|
|
1150
1158
|
sizeAttenuation: !0
|
|
1151
|
-
}), n = new
|
|
1159
|
+
}), n = new Lt(e, i);
|
|
1152
1160
|
return i.needsUpdate = !0, n;
|
|
1153
1161
|
}
|
|
1154
|
-
function
|
|
1155
|
-
const t = new
|
|
1156
|
-
new
|
|
1157
|
-
new
|
|
1158
|
-
new
|
|
1159
|
-
new
|
|
1160
|
-
new
|
|
1161
|
-
new
|
|
1162
|
-
new
|
|
1163
|
-
new
|
|
1162
|
+
function wn(o, e) {
|
|
1163
|
+
const t = new pe().setFromArray(e), i = [
|
|
1164
|
+
new x(t.min.x, t.min.y, t.min.z),
|
|
1165
|
+
new x(t.max.x, t.min.y, t.min.z),
|
|
1166
|
+
new x(t.min.x, t.max.y, t.min.z),
|
|
1167
|
+
new x(t.min.x, t.min.y, t.max.z),
|
|
1168
|
+
new x(t.max.x, t.max.y, t.min.z),
|
|
1169
|
+
new x(t.max.x, t.min.y, t.max.z),
|
|
1170
|
+
new x(t.min.x, t.max.y, t.max.z),
|
|
1171
|
+
new x(t.max.x, t.max.y, t.max.z)
|
|
1164
1172
|
];
|
|
1165
1173
|
let n = 0;
|
|
1166
1174
|
for (const s of i)
|
|
1167
1175
|
n = Math.max(n, s.distanceTo(o.position));
|
|
1168
1176
|
return n;
|
|
1169
1177
|
}
|
|
1170
|
-
function
|
|
1178
|
+
function xn(o, e) {
|
|
1171
1179
|
if (!e)
|
|
1172
1180
|
return;
|
|
1173
1181
|
const { scene: t, camera: i, renderer: n, controls: s } = o();
|
|
1174
1182
|
if (!t || !i || !n || !s)
|
|
1175
1183
|
return;
|
|
1176
|
-
const r =
|
|
1184
|
+
const r = yn(e);
|
|
1177
1185
|
if (!r)
|
|
1178
1186
|
return;
|
|
1179
1187
|
r.name = "轨迹路径", t.add(r);
|
|
1180
|
-
const a =
|
|
1188
|
+
const a = gn(e, i, n, 0.1, 50);
|
|
1181
1189
|
r.material.size = a;
|
|
1182
|
-
const d =
|
|
1190
|
+
const d = wn(i, e);
|
|
1183
1191
|
return i.far = d * 1.2, i.updateProjectionMatrix(), r;
|
|
1184
1192
|
}
|
|
1185
|
-
const
|
|
1193
|
+
const bn = { class: "obj-viewer-container" }, _n = { class: "buttonGroup-topLeft" }, Sn = { class: "buttonGroup-left" }, zn = { class: "buttonGroup-right" }, Cn = { class: "buttonGroup-bottom" }, An = { class: "left-panel" }, Un = { class: "panel-header" }, En = { class: "panel-body" }, Mn = {
|
|
1186
1194
|
key: 1,
|
|
1187
1195
|
class: "clipping-content"
|
|
1188
|
-
},
|
|
1196
|
+
}, Ln = { class: "radio-group" }, Tn = { class: "radio-label" }, kn = { class: "radio-label" }, Pn = { class: "radio-label" }, Bn = { class: "radio-label" }, Dn = { class: "right-panel" }, Fn = { class: "panel-header" }, On = { class: "panel-body" }, In = {
|
|
1189
1197
|
key: 0,
|
|
1190
1198
|
class: "loading-overlay"
|
|
1191
|
-
},
|
|
1199
|
+
}, jn = /* @__PURE__ */ Oe({
|
|
1192
1200
|
__name: "threeTrackPathView",
|
|
1193
1201
|
props: {
|
|
1194
1202
|
fileBlobs: {},
|
|
@@ -1197,265 +1205,273 @@ const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft
|
|
|
1197
1205
|
},
|
|
1198
1206
|
emits: ["getAnimationData", "getThreeData"],
|
|
1199
1207
|
setup(o, { emit: e }) {
|
|
1200
|
-
const t = e, i = o, n = M(null), s = M(!1), r = M(""), a = M(), d = M(!1),
|
|
1201
|
-
currentModels:
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1208
|
+
const t = e, i = o, n = M(null), s = M(!1), r = M(""), a = M(), d = M(!1), u = M(""), p = M(!1), f = M(""), h = Q(null), U = Q(null), {
|
|
1209
|
+
currentModels: P,
|
|
1210
|
+
initThreeJS: k,
|
|
1211
|
+
handleResize: _,
|
|
1212
|
+
getThreeJSObjects: A,
|
|
1213
|
+
cleanup: g,
|
|
1214
|
+
axesHelperVisible: v,
|
|
1215
|
+
toggleAxesVisibility: L,
|
|
1216
|
+
zoomIn: me,
|
|
1217
|
+
zoomOut: he
|
|
1218
|
+
} = ht(n), { isAnimating: J, toggleAnimation: H, stopAnimation: qe } = vt(A, P), { isClipping: Ye, activeClippingAxis: T, toggleClipping: Ze, updateClippingPlanes: O } = gt(A, P), Ke = () => {
|
|
1219
|
+
L();
|
|
1220
|
+
}, ve = (c) => {
|
|
1221
|
+
d.value = !0, u.value = c, c === "剖面视图" && !Ye.value && Ze();
|
|
1222
|
+
}, ge = (c) => {
|
|
1223
|
+
p.value = !0, f.value = c, c === "动画仿真" && t("getAnimationData");
|
|
1224
|
+
}, ye = M([]), $ = M([]), Je = G(() => {
|
|
1216
1225
|
var l;
|
|
1217
1226
|
return (l = i.trackFileType) == null ? void 0 : l.isUv;
|
|
1218
|
-
}),
|
|
1227
|
+
}), Qe = G(() => {
|
|
1219
1228
|
var l;
|
|
1220
1229
|
return (l = i.trackFileType) == null ? void 0 : l.isCyd;
|
|
1221
|
-
}),
|
|
1230
|
+
}), et = G(() => {
|
|
1222
1231
|
var l;
|
|
1223
1232
|
return (l = i.trackFileType) == null ? void 0 : l.isCpt;
|
|
1224
|
-
}), V =
|
|
1233
|
+
}), V = G(() => {
|
|
1225
1234
|
var l;
|
|
1226
1235
|
return (l = i.trackFileType) == null ? void 0 : l.isNc;
|
|
1227
|
-
}),
|
|
1228
|
-
const
|
|
1229
|
-
return
|
|
1236
|
+
}), Ae = G(() => {
|
|
1237
|
+
const c = i.fileBlobs || [];
|
|
1238
|
+
return c == null ? void 0 : c[0];
|
|
1230
1239
|
});
|
|
1231
|
-
let
|
|
1232
|
-
const
|
|
1233
|
-
const { scene:
|
|
1234
|
-
|
|
1235
|
-
},
|
|
1236
|
-
const { scene:
|
|
1237
|
-
N.value &&
|
|
1238
|
-
},
|
|
1239
|
-
|
|
1240
|
-
},
|
|
1241
|
-
const l = URL.createObjectURL(
|
|
1242
|
-
if (URL.revokeObjectURL(l),
|
|
1243
|
-
const
|
|
1244
|
-
|
|
1245
|
-
const
|
|
1246
|
-
|
|
1240
|
+
let I = Q(), N = Q();
|
|
1241
|
+
const tt = () => {
|
|
1242
|
+
const { scene: c } = A();
|
|
1243
|
+
I.value && c && (Te(I.value, c), I.value = null);
|
|
1244
|
+
}, nt = () => {
|
|
1245
|
+
const { scene: c } = A();
|
|
1246
|
+
N.value && c && (Te(N.value, c), N.value = null);
|
|
1247
|
+
}, Ue = () => {
|
|
1248
|
+
tt(), nt();
|
|
1249
|
+
}, it = async (c) => {
|
|
1250
|
+
const l = URL.createObjectURL(c), X = await Tt(l);
|
|
1251
|
+
if (URL.revokeObjectURL(l), Bt(X)) {
|
|
1252
|
+
const y = await mn(X, i.trackFileType) || [];
|
|
1253
|
+
ye.value = y;
|
|
1254
|
+
const Me = ye.value;
|
|
1255
|
+
Je.value && (I.value = vn(A, Me)), (Qe.value || et.value || V.value) && (I.value = xn(A, Me)), yt(A, I.value);
|
|
1247
1256
|
}
|
|
1248
|
-
},
|
|
1249
|
-
var
|
|
1250
|
-
N.value =
|
|
1257
|
+
}, ot = () => {
|
|
1258
|
+
var c, l;
|
|
1259
|
+
N.value = Dt(), $.value = hn(ye.value), $.value && $.value.length && (He(N.value, $.value[0], I.value, new de(16711680)), (l = (c = U.value) == null ? void 0 : c.add) == null || l.call(c, N.value));
|
|
1260
|
+
}, st = async () => {
|
|
1261
|
+
var c;
|
|
1262
|
+
await ((c = a == null ? void 0 : a.value) == null ? void 0 : c.reset()), await Ee(Ae.value);
|
|
1263
|
+
}, Ee = async (c) => {
|
|
1264
|
+
Ue(), await it(c), V.value && ot();
|
|
1251
1265
|
};
|
|
1252
|
-
|
|
1253
|
-
|
|
1266
|
+
Ie(() => Ae.value, async (c) => {
|
|
1267
|
+
c && await Ee(c);
|
|
1254
1268
|
}, {
|
|
1255
1269
|
immediate: !0,
|
|
1256
1270
|
deep: !0
|
|
1257
1271
|
});
|
|
1258
|
-
const
|
|
1259
|
-
var
|
|
1260
|
-
V.value && ((
|
|
1261
|
-
}, it = () => {
|
|
1262
|
-
var u;
|
|
1263
|
-
V.value && ((u = a == null ? void 0 : a.value) == null || u.stopAnimation());
|
|
1264
|
-
}, ot = () => {
|
|
1265
|
-
var u;
|
|
1266
|
-
V.value && ((u = a == null ? void 0 : a.value) == null || u.forwardFrame());
|
|
1267
|
-
}, st = () => {
|
|
1268
|
-
var u;
|
|
1269
|
-
V.value && ((u = a == null ? void 0 : a.value) == null || u.backwardFrame());
|
|
1270
|
-
}, at = () => {
|
|
1271
|
-
v(), window.addEventListener("resize", x);
|
|
1272
|
-
const u = C();
|
|
1273
|
-
A.value = u.scene, A.value && (A.value.name = "CPMPIP");
|
|
1272
|
+
const at = () => {
|
|
1273
|
+
var c;
|
|
1274
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.playAnimation());
|
|
1274
1275
|
}, rt = () => {
|
|
1275
|
-
|
|
1276
|
+
var c;
|
|
1277
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.stopAnimation());
|
|
1278
|
+
}, lt = () => {
|
|
1279
|
+
var c;
|
|
1280
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.forwardFrame());
|
|
1281
|
+
}, ct = () => {
|
|
1282
|
+
var c;
|
|
1283
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.backwardFrame());
|
|
1284
|
+
}, ut = () => {
|
|
1285
|
+
k(), window.addEventListener("resize", _);
|
|
1286
|
+
const c = A();
|
|
1287
|
+
U.value = c.scene, U.value && (U.value.name = "CPMPIP");
|
|
1288
|
+
}, dt = () => {
|
|
1289
|
+
window.removeEventListener("resize", _), J.value && qe(), Ue(), g();
|
|
1276
1290
|
};
|
|
1277
|
-
return
|
|
1291
|
+
return ft(async () => {
|
|
1278
1292
|
try {
|
|
1279
|
-
|
|
1280
|
-
} catch (
|
|
1281
|
-
console.error("Three.js 初始化失败:",
|
|
1293
|
+
ut();
|
|
1294
|
+
} catch (c) {
|
|
1295
|
+
console.error("Three.js 初始化失败:", c), ce.error("渲染引擎初始化失败!");
|
|
1282
1296
|
}
|
|
1283
|
-
}),
|
|
1284
|
-
|
|
1285
|
-
}), (
|
|
1297
|
+
}), pt(() => {
|
|
1298
|
+
dt();
|
|
1299
|
+
}), (c, l) => {
|
|
1286
1300
|
const X = q("el-scrollbar");
|
|
1287
|
-
return Y(), ae("div",
|
|
1301
|
+
return Y(), ae("div", bn, [
|
|
1288
1302
|
m("div", {
|
|
1289
1303
|
ref_key: "threejsContainer",
|
|
1290
1304
|
ref: n,
|
|
1291
1305
|
class: "threejs-container"
|
|
1292
1306
|
}, null, 512),
|
|
1293
|
-
m("div",
|
|
1294
|
-
|
|
1307
|
+
m("div", _n, [
|
|
1308
|
+
w(E, {
|
|
1295
1309
|
name: "viewReset",
|
|
1296
1310
|
size: "24",
|
|
1297
|
-
onClick:
|
|
1311
|
+
onClick: st,
|
|
1298
1312
|
title: "重置"
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1313
|
+
}),
|
|
1314
|
+
w(E, {
|
|
1301
1315
|
name: "fangda",
|
|
1302
1316
|
size: "24",
|
|
1303
|
-
title: "放大"
|
|
1304
|
-
|
|
1305
|
-
|
|
1317
|
+
title: "放大",
|
|
1318
|
+
onClick: b(me)
|
|
1319
|
+
}, null, 8, ["onClick"]),
|
|
1320
|
+
w(E, {
|
|
1306
1321
|
name: "suoxiao",
|
|
1307
1322
|
size: "24",
|
|
1308
|
-
title: "缩小"
|
|
1309
|
-
|
|
1310
|
-
|
|
1323
|
+
title: "缩小",
|
|
1324
|
+
onClick: b(he)
|
|
1325
|
+
}, null, 8, ["onClick"]),
|
|
1326
|
+
w(E, {
|
|
1311
1327
|
name: "lookAround",
|
|
1312
1328
|
size: "24",
|
|
1313
|
-
onClick: b(
|
|
1314
|
-
title: b(
|
|
1329
|
+
onClick: b(H),
|
|
1330
|
+
title: b(J) ? "停止动画" : "动画视图"
|
|
1315
1331
|
}, null, 8, ["onClick", "title"]),
|
|
1316
|
-
|
|
1332
|
+
w(E, {
|
|
1317
1333
|
name: "zuobiaoxi",
|
|
1318
1334
|
size: "24",
|
|
1319
|
-
active: b(
|
|
1320
|
-
onClick:
|
|
1335
|
+
active: b(v),
|
|
1336
|
+
onClick: Ke,
|
|
1321
1337
|
title: "显隐坐标轴"
|
|
1322
1338
|
}, null, 8, ["active"])
|
|
1323
1339
|
]),
|
|
1324
|
-
m("div",
|
|
1325
|
-
|
|
1326
|
-
|
|
1340
|
+
m("div", Sn, [
|
|
1341
|
+
Le(c.$slots, "button-left", { switchRightPanel: ve }, void 0, !0),
|
|
1342
|
+
w(E, {
|
|
1327
1343
|
name: "jiegoushu",
|
|
1328
1344
|
size: "24",
|
|
1329
|
-
onClick: l[0] || (l[0] = (
|
|
1330
|
-
active: d.value &&
|
|
1345
|
+
onClick: l[0] || (l[0] = (y) => ve("场景树")),
|
|
1346
|
+
active: d.value && u.value === "场景树",
|
|
1331
1347
|
title: "场景树"
|
|
1332
1348
|
}, null, 8, ["active"]),
|
|
1333
|
-
|
|
1349
|
+
w(E, {
|
|
1334
1350
|
name: "clipping",
|
|
1335
1351
|
size: "24",
|
|
1336
|
-
onClick: l[1] || (l[1] = (
|
|
1337
|
-
active: d.value &&
|
|
1352
|
+
onClick: l[1] || (l[1] = (y) => ve("剖面视图")),
|
|
1353
|
+
active: d.value && u.value === "剖面视图",
|
|
1338
1354
|
title: "剖面视图"
|
|
1339
1355
|
}, null, 8, ["active"])
|
|
1340
1356
|
]),
|
|
1341
|
-
m("div",
|
|
1342
|
-
|
|
1343
|
-
|
|
1357
|
+
m("div", zn, [
|
|
1358
|
+
Le(c.$slots, "button-right", { switchRightPanel: ge }, void 0, !0),
|
|
1359
|
+
w(E, {
|
|
1344
1360
|
name: "guanjiekongzhi",
|
|
1345
1361
|
size: "24",
|
|
1346
|
-
onClick: l[2] || (l[2] = (
|
|
1362
|
+
onClick: l[2] || (l[2] = (y) => ge("关节控制")),
|
|
1347
1363
|
active: p.value && f.value === "关节控制",
|
|
1348
1364
|
title: "关节控制"
|
|
1349
1365
|
}, null, 8, ["active"]),
|
|
1350
|
-
|
|
1366
|
+
w(E, {
|
|
1351
1367
|
name: "donghuafangzhen",
|
|
1352
1368
|
size: "24",
|
|
1353
1369
|
title: "动画仿真",
|
|
1354
|
-
onClick: l[3] || (l[3] = (
|
|
1370
|
+
onClick: l[3] || (l[3] = (y) => ge("动画仿真")),
|
|
1355
1371
|
active: p.value && f.value === "动画仿真"
|
|
1356
1372
|
}, null, 8, ["active"])
|
|
1357
1373
|
]),
|
|
1358
|
-
m("div",
|
|
1359
|
-
|
|
1374
|
+
m("div", Cn, [
|
|
1375
|
+
w(E, {
|
|
1360
1376
|
name: "kuaitui",
|
|
1361
1377
|
size: "24",
|
|
1362
1378
|
backgroundColor: "#ffffff",
|
|
1363
1379
|
title: "快退",
|
|
1364
|
-
onClick:
|
|
1380
|
+
onClick: ct
|
|
1365
1381
|
}),
|
|
1366
|
-
|
|
1382
|
+
w(E, {
|
|
1367
1383
|
name: "bofang",
|
|
1368
1384
|
size: "24",
|
|
1369
1385
|
backgroundColor: "#ffffff",
|
|
1370
1386
|
title: "播放",
|
|
1371
|
-
onClick:
|
|
1387
|
+
onClick: at
|
|
1372
1388
|
}),
|
|
1373
|
-
|
|
1389
|
+
w(E, {
|
|
1374
1390
|
name: "kuaijin",
|
|
1375
1391
|
size: "24",
|
|
1376
1392
|
backgroundColor: "#ffffff",
|
|
1377
1393
|
title: "快进",
|
|
1378
|
-
onClick:
|
|
1394
|
+
onClick: lt
|
|
1379
1395
|
}),
|
|
1380
|
-
|
|
1396
|
+
w(E, {
|
|
1381
1397
|
name: "zanting",
|
|
1382
1398
|
size: "24",
|
|
1383
1399
|
backgroundColor: "#ffffff",
|
|
1384
1400
|
title: "暂停",
|
|
1385
|
-
onClick:
|
|
1401
|
+
onClick: rt
|
|
1386
1402
|
})
|
|
1387
1403
|
]),
|
|
1388
|
-
|
|
1389
|
-
m("div",
|
|
1390
|
-
m("span", null,
|
|
1404
|
+
j(m("div", An, [
|
|
1405
|
+
m("div", Un, [
|
|
1406
|
+
m("span", null, Z(u.value), 1),
|
|
1391
1407
|
m("span", {
|
|
1392
1408
|
class: "close",
|
|
1393
|
-
onClick: l[4] || (l[4] = (
|
|
1409
|
+
onClick: l[4] || (l[4] = (y) => d.value = !1)
|
|
1394
1410
|
}, " X ")
|
|
1395
1411
|
]),
|
|
1396
|
-
m("div",
|
|
1397
|
-
|
|
1398
|
-
default:
|
|
1399
|
-
|
|
1412
|
+
m("div", En, [
|
|
1413
|
+
w(X, { height: "100%" }, {
|
|
1414
|
+
default: ue(() => [
|
|
1415
|
+
u.value === "场景树" ? (Y(), mt(kt, {
|
|
1400
1416
|
key: 0,
|
|
1401
1417
|
model: h.value
|
|
1402
|
-
}, null, 8, ["model"])) :
|
|
1403
|
-
|
|
1404
|
-
m("div",
|
|
1405
|
-
m("label",
|
|
1406
|
-
|
|
1418
|
+
}, null, 8, ["model"])) : we("", !0),
|
|
1419
|
+
u.value === "剖面视图" ? (Y(), ae("div", Mn, [
|
|
1420
|
+
m("div", Ln, [
|
|
1421
|
+
m("label", Tn, [
|
|
1422
|
+
j(m("input", {
|
|
1407
1423
|
type: "radio",
|
|
1408
1424
|
name: "clipping-axis",
|
|
1409
1425
|
value: "none",
|
|
1410
|
-
"onUpdate:modelValue": l[5] || (l[5] = (
|
|
1426
|
+
"onUpdate:modelValue": l[5] || (l[5] = (y) => ee(T) ? T.value = y : null),
|
|
1411
1427
|
onChange: l[6] || (l[6] = //@ts-ignore
|
|
1412
|
-
(...
|
|
1428
|
+
(...y) => b(O) && b(O)(...y))
|
|
1413
1429
|
}, null, 544), [
|
|
1414
|
-
[te, b(
|
|
1430
|
+
[te, b(T)]
|
|
1415
1431
|
]),
|
|
1416
1432
|
l[14] || (l[14] = m("span", { class: "radio-text" }, "无切割", -1))
|
|
1417
1433
|
]),
|
|
1418
|
-
m("label",
|
|
1419
|
-
|
|
1434
|
+
m("label", kn, [
|
|
1435
|
+
j(m("input", {
|
|
1420
1436
|
type: "radio",
|
|
1421
1437
|
name: "clipping-axis",
|
|
1422
1438
|
value: "x",
|
|
1423
|
-
"onUpdate:modelValue": l[7] || (l[7] = (
|
|
1439
|
+
"onUpdate:modelValue": l[7] || (l[7] = (y) => ee(T) ? T.value = y : null),
|
|
1424
1440
|
onChange: l[8] || (l[8] = //@ts-ignore
|
|
1425
|
-
(...
|
|
1441
|
+
(...y) => b(O) && b(O)(...y))
|
|
1426
1442
|
}, null, 544), [
|
|
1427
|
-
[te, b(
|
|
1443
|
+
[te, b(T)]
|
|
1428
1444
|
]),
|
|
1429
1445
|
l[15] || (l[15] = m("span", { class: "radio-text" }, "X轴切割", -1))
|
|
1430
1446
|
]),
|
|
1431
|
-
m("label",
|
|
1432
|
-
|
|
1447
|
+
m("label", Pn, [
|
|
1448
|
+
j(m("input", {
|
|
1433
1449
|
type: "radio",
|
|
1434
1450
|
name: "clipping-axis",
|
|
1435
1451
|
value: "y",
|
|
1436
|
-
"onUpdate:modelValue": l[9] || (l[9] = (
|
|
1452
|
+
"onUpdate:modelValue": l[9] || (l[9] = (y) => ee(T) ? T.value = y : null),
|
|
1437
1453
|
onChange: l[10] || (l[10] = //@ts-ignore
|
|
1438
|
-
(...
|
|
1454
|
+
(...y) => b(O) && b(O)(...y))
|
|
1439
1455
|
}, null, 544), [
|
|
1440
|
-
[te, b(
|
|
1456
|
+
[te, b(T)]
|
|
1441
1457
|
]),
|
|
1442
1458
|
l[16] || (l[16] = m("span", { class: "radio-text" }, "Y轴切割", -1))
|
|
1443
1459
|
]),
|
|
1444
|
-
m("label",
|
|
1445
|
-
|
|
1460
|
+
m("label", Bn, [
|
|
1461
|
+
j(m("input", {
|
|
1446
1462
|
type: "radio",
|
|
1447
1463
|
name: "clipping-axis",
|
|
1448
1464
|
value: "z",
|
|
1449
|
-
"onUpdate:modelValue": l[11] || (l[11] = (
|
|
1465
|
+
"onUpdate:modelValue": l[11] || (l[11] = (y) => ee(T) ? T.value = y : null),
|
|
1450
1466
|
onChange: l[12] || (l[12] = //@ts-ignore
|
|
1451
|
-
(...
|
|
1467
|
+
(...y) => b(O) && b(O)(...y))
|
|
1452
1468
|
}, null, 544), [
|
|
1453
|
-
[te, b(
|
|
1469
|
+
[te, b(T)]
|
|
1454
1470
|
]),
|
|
1455
1471
|
l[17] || (l[17] = m("span", { class: "radio-text" }, "Z轴切割", -1))
|
|
1456
1472
|
])
|
|
1457
1473
|
])
|
|
1458
|
-
])) :
|
|
1474
|
+
])) : we("", !0)
|
|
1459
1475
|
]),
|
|
1460
1476
|
_: 1
|
|
1461
1477
|
})
|
|
@@ -1463,24 +1479,24 @@ const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft
|
|
|
1463
1479
|
], 512), [
|
|
1464
1480
|
[ne, d.value]
|
|
1465
1481
|
]),
|
|
1466
|
-
|
|
1467
|
-
m("div",
|
|
1468
|
-
m("span", null,
|
|
1482
|
+
j(m("div", Dn, [
|
|
1483
|
+
m("div", Fn, [
|
|
1484
|
+
m("span", null, Z(f.value), 1),
|
|
1469
1485
|
m("span", {
|
|
1470
1486
|
class: "close",
|
|
1471
|
-
onClick: l[13] || (l[13] = (
|
|
1487
|
+
onClick: l[13] || (l[13] = (y) => p.value = !1)
|
|
1472
1488
|
}, " X ")
|
|
1473
1489
|
]),
|
|
1474
|
-
m("div",
|
|
1475
|
-
|
|
1476
|
-
default:
|
|
1477
|
-
|
|
1490
|
+
m("div", On, [
|
|
1491
|
+
w(X, { height: "100%" }, {
|
|
1492
|
+
default: ue(() => [
|
|
1493
|
+
j(w(Pt, { model: h.value }, null, 8, ["model"]), [
|
|
1478
1494
|
[ne, f.value === "关节控制"]
|
|
1479
1495
|
]),
|
|
1480
|
-
|
|
1496
|
+
j(w(Ht, {
|
|
1481
1497
|
ref_key: "animationPanelRef",
|
|
1482
1498
|
ref: a,
|
|
1483
|
-
cloud: b(
|
|
1499
|
+
cloud: b(I),
|
|
1484
1500
|
knife: b(N),
|
|
1485
1501
|
vectors: $.value
|
|
1486
1502
|
}, null, 8, ["cloud", "knife", "vectors"]), [
|
|
@@ -1493,14 +1509,14 @@ const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft
|
|
|
1493
1509
|
], 512), [
|
|
1494
1510
|
[ne, p.value]
|
|
1495
1511
|
]),
|
|
1496
|
-
s.value ? (Y(), ae("div",
|
|
1512
|
+
s.value ? (Y(), ae("div", In, [
|
|
1497
1513
|
l[18] || (l[18] = m("div", { class: "loading-spinner" }, null, -1)),
|
|
1498
|
-
m("p", null,
|
|
1499
|
-
])) :
|
|
1514
|
+
m("p", null, Z(r.value), 1)
|
|
1515
|
+
])) : we("", !0)
|
|
1500
1516
|
]);
|
|
1501
1517
|
};
|
|
1502
1518
|
}
|
|
1503
|
-
}),
|
|
1519
|
+
}), Yn = /* @__PURE__ */ Re(jn, [["__scopeId", "data-v-a8f1772d"]]);
|
|
1504
1520
|
export {
|
|
1505
|
-
|
|
1521
|
+
Yn as default
|
|
1506
1522
|
};
|