ss-component-new 1.2.97 → 1.2.99
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-B4z0XNO-.js +304 -0
- package/dist/MTLLoader-n_3HPhif.cjs +2 -0
- package/dist/OBJLoader-C_JaUegI.cjs +5 -0
- package/dist/OBJLoader-Dilcv9TL.js +356 -0
- package/dist/{OrbitControls-B85G8nPk.cjs → OrbitControls-8LBwRzcq.cjs} +1 -1
- package/dist/{OrbitControls-DFhYzlF3.js → OrbitControls-Cz47Q27N.js} +1 -1
- package/dist/{animationData-DfKVkFbz.js → animationData-C8lM4zZj.js} +1 -1
- package/dist/{animationData-DxBvEqB1.cjs → animationData-CKcPDmLp.cjs} +1 -1
- package/dist/{iconfont-C7kE-QbU.cjs → iconfont-B1cUqs_N.cjs} +1 -1
- package/dist/{iconfont-WOKNi2xx.js → iconfont-CUWS5tNH.js} +2 -2
- package/dist/{index-D0hovh9R.cjs → index-2hqZ_tND.cjs} +1 -1
- package/dist/{index-331j518H.cjs → index-AuEh0RiU.cjs} +1 -1
- package/dist/{index-D_igus4A.cjs → index-B2UPNwqJ.cjs} +1 -1
- package/dist/{index-BYk9Fb6p.js → index-BCvmfE-Q.js} +3 -3
- package/dist/{index-DeOwZgqL.js → index-BDw8DIQx.js} +130 -130
- package/dist/{index-CqI3frdZ.js → index-BPv8txj6.js} +6 -6
- package/dist/{index-DgZVeYqH.js → index-BQaejVqo.js} +1 -1
- package/dist/{index-DSPjcpWK.cjs → index-Ba16ouw0.cjs} +1 -1
- package/dist/{index-D_RGoDln.js → index-BaSO3EEl.js} +3 -3
- package/dist/{index-DHZMd8iK.cjs → index-BdSiNUC0.cjs} +1 -1
- package/dist/{index-BDxPlbe2.cjs → index-BfU8GMj1.cjs} +1 -1
- package/dist/{index-Cppt0AsF.cjs → index-BjKKDSDx.cjs} +1 -1
- package/dist/{index-C-dlFxRJ.cjs → index-BqgfejIC.cjs} +1 -1
- package/dist/{index-BODyH6MD.js → index-BxONUPjM.js} +1 -1
- package/dist/{index-BFzMf0GC.js → index-Byp3gJNW.js} +1 -1
- package/dist/{index-DJ6qg2Mo.js → index-C7ZsHeLt.js} +3 -3
- package/dist/{index-B-AhHUV1.js → index-C9p_wwJ7.js} +6 -6
- package/dist/{index-BoTiP0aV.js → index-CKlt750z.js} +1 -1
- package/dist/{index-CQRJ3pLh.cjs → index-CQwDw3-2.cjs} +1 -1
- package/dist/{index-hhS08X8b.js → index-CR1Ng5ip.js} +3 -3
- package/dist/{index-D6u590uA.cjs → index-CZIqVNof.cjs} +1 -1
- package/dist/{index-iErxMZBi.cjs → index-C_208RkZ.cjs} +1 -1
- package/dist/{index-S1LIIzCa.cjs → index-CqZ1E-Mt.cjs} +1 -1
- package/dist/{index-DHjtOySN.js → index-CrNsPd4D.js} +2 -2
- package/dist/{index-DrzK0O_g.cjs → index-CvQCAGWI.cjs} +1 -1
- package/dist/{index-Cnk_4Zz5.cjs → index-CyCcPnZb.cjs} +1 -1
- package/dist/{index-BI7g3c_u.js → index-CyE5qCBb.js} +13 -13
- package/dist/{index-DHBoRe9V.cjs → index-D32pAhQk.cjs} +1 -1
- package/dist/{index-DRfVnLTN.js → index-DAUjjqaD.js} +391 -391
- package/dist/{index-DbDM-XfB.cjs → index-DQTlc6Gq.cjs} +1 -1
- package/dist/{index-B_zjoT4m.js → index-DTilOAv_.js} +2 -2
- package/dist/{index-_PP-dSm3.cjs → index-D_22J0ok.cjs} +1 -1
- package/dist/{index-iZ9BRKg5.js → index-DboUMA_C.js} +1 -1
- package/dist/{index-BXv3aZ7v.js → index-DgMQpO6g.js} +1 -1
- package/dist/{index-CPAXrzNY.cjs → index-Dh6GqpZF.cjs} +1 -1
- package/dist/{index-CZPnP0uy.cjs → index-DhqEoDPT.cjs} +1 -1
- package/dist/{index-CeGM8aBH.js → index-DlwlGkyt.js} +2 -2
- package/dist/{index-6sZXjGGz.cjs → index-DtDmxPdD.cjs} +1 -1
- package/dist/{index-kLDMroPk.js → index-GxmJC9kr.js} +1 -1
- package/dist/{index-CLOUp_4j.cjs → index-XKn5AuYT.cjs} +1 -1
- package/dist/{index-Cr5if46q.js → index-mEKMjplD.js} +1 -1
- package/dist/{index-Bhha7SY3.js → index-vglZ0qjT.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-DKwCF412.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-DqIuWlps.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-CICG8Qah.js} +8908 -8949
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Dzyqt2Z-.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-K6lh7Rrj.cjs} +302 -302
- 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-Cpyo5jke.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-Cq8VF9uK.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_1_lang-BH0DRFVE.js → index.vue_vue_type_style_index_1_lang-B_HCEX9y.js} +6 -5
- package/dist/{index.vue_vue_type_style_index_1_lang-BRFs_L5R.cjs → index.vue_vue_type_style_index_1_lang-rTLLuvuo.cjs} +5 -5
- package/dist/loaderUtil-B0djdt91.js +5 -0
- package/dist/loaderUtil-CaWWb8db.cjs +1 -0
- package/dist/{main-Z5UMyCj6.js → main-DHx-3OSy.js} +2 -2
- package/dist/{main-B541MQH8.cjs → main-DS156sQ4.cjs} +1 -1
- 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-tKq0hvaK.cjs → threeModel-CfIK1rQB.cjs} +1 -1
- package/dist/{threeModel-BcjGbIJZ.js → threeModel-WYCdw_Ff.js} +4 -4
- package/dist/{threePreview-BnPMGQ2H.js → threePreview-C29AR7Mr.js} +310 -305
- package/dist/threePreview-Ci8TnUQ8.cjs +1 -0
- package/dist/{threeSceneView-DVUTlm6F.cjs → threeSceneView-C2MDCMux.cjs} +2 -2
- package/dist/{threeSceneView-BUD002PP.js → threeSceneView-F15mW1mm.js} +7 -7
- package/dist/threeSceneViewForCPMPIP-DK4G_ZpP.js +687 -0
- package/dist/threeSceneViewForCPMPIP-DuPZn_qv.cjs +5 -0
- package/dist/threeTrackPathView-C4eBUMef.cjs +370 -0
- package/dist/{threeTrackPathView-DDCEu3Gx.js → threeTrackPathView-DMj6YGxT.js} +436 -427
- package/dist/{threeViewerHost-BVeUteVd.js → threeViewerHost-C9ipsMff.js} +2 -2
- package/dist/{threeViewerHost-Sda_AoRw.cjs → threeViewerHost-CW6JmOUJ.cjs} +2 -2
- package/dist/{urdfTree-Br9VYqKp.cjs → urdfTree-CTiMB7ge.cjs} +1 -1
- package/dist/{urdfTree-DaWvX-6R.js → urdfTree-DGEACy9-.js} +1 -1
- package/dist/{workpieceTreePanel-BdRaFNRp.js → workpieceTreePanel-C1gy5a8r.js} +53 -52
- package/dist/workpieceTreePanel-Ded0Gqke.cjs +1 -0
- package/package.json +1 -1
- package/dist/MTLLoader-DnouUI-8.js +0 -657
- package/dist/MTLLoader-zZDM0NQh.cjs +0 -6
- package/dist/obj/model.mtl +0 -42
- package/dist/obj/model.obj +0 -26110
- package/dist/threePreview-DD0br2ae.cjs +0 -1
- package/dist/threeSceneViewForCPMPIP-BYYbyqD7.cjs +0 -5
- package/dist/threeSceneViewForCPMPIP-D4RC4BAo.js +0 -683
- package/dist/threeTrackPathView-BvUihuyk.cjs +0 -370
- package/dist/workpieceTreePanel-Z3aVdOWB.cjs +0 -1
- package/public/obj/model.mtl +0 -42
- package/public/obj/model.obj +0 -26110
|
@@ -1,153 +1,22 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { u as
|
|
3
|
-
import {
|
|
4
|
-
import { r as
|
|
5
|
-
import { E as
|
|
6
|
-
import { U as
|
|
7
|
-
import {
|
|
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 je, shallowRef as Q, onMounted as dt, onBeforeUnmount as ft, withDirectives as I, createCommentVNode as we, unref as b, renderSlot as Le, createBlock as pt, isRef as ee, vModelRadio as te, vShow as ne } from "vue";
|
|
2
|
+
import { u as mt, a as vt, b as ht, f as gt, d as Pe } from "./iconfont-CUWS5tNH.js";
|
|
3
|
+
import { aE as yt, aF as Se, aG as Ce, av as R, aH as wt, B as pe, aD as Ie, V as x, aI as xt, aJ as re, aK as Ve, Y as Ne, aL as le, k as bt, aM as K, aN as _t, r as St, s as We, C as de, t as Ct, w as zt, a5 as At, ag as Ut, ao as Et } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CICG8Qah.js";
|
|
4
|
+
import { r as Mt } from "./threeViewerHost-C9ipsMff.js";
|
|
5
|
+
import { E as ce } from "./index-BUYYl2Pc.js";
|
|
6
|
+
import { U as Lt, J as Pt } from "./urdfTree-DGEACy9-.js";
|
|
7
|
+
import { l as Tt } from "./loaderUtil-B0djdt91.js";
|
|
8
|
+
import { _ as Ge } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
9
|
import { T as E } from "./svgIcon-D-_fXUBL.js";
|
|
9
|
-
import { i as
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
new vt(o, e, 32),
|
|
13
|
-
new gt({
|
|
14
|
-
color: "#919191ff",
|
|
15
|
-
// 再提一档灰度
|
|
16
|
-
metalness: 0.3,
|
|
17
|
-
// ↓ 降金属
|
|
18
|
-
roughness: 0.6
|
|
19
|
-
})
|
|
20
|
-
), i = t.geometry.parameters.height;
|
|
21
|
-
return t.geometry.translate(0, -i / 2, 0), t.rotation.set(-90, 0, 0, "XYZ"), t;
|
|
22
|
-
}
|
|
23
|
-
function kt(o, e) {
|
|
24
|
-
o.position.copy(e);
|
|
25
|
-
}
|
|
26
|
-
function Bt(o, e, t = new ue(16711680)) {
|
|
27
|
-
const i = new w();
|
|
28
|
-
e.getWorldPosition(i);
|
|
29
|
-
const n = o.geometry.attributes.position, s = o.geometry.attributes.color, r = new ue(55551);
|
|
30
|
-
let a = 1 / 0, d = -1;
|
|
31
|
-
for (let c = 0; c < n.count; c++) {
|
|
32
|
-
const f = new w().fromBufferAttribute(n, c).distanceTo(i);
|
|
33
|
-
f < a && (a = f, d = c);
|
|
34
|
-
}
|
|
35
|
-
for (let c = 0; c < s.count; c++) r.toArray(s.array, c * 3);
|
|
36
|
-
if (d !== -1) {
|
|
37
|
-
const c = t.toArray(), p = d * 3 + 2;
|
|
38
|
-
for (let f = 0; f < p; f = f + 3)
|
|
39
|
-
s.array[f] = c[0], s.array[f + 1] = c[1], s.array[f + 2] = c[2];
|
|
40
|
-
}
|
|
41
|
-
s.needsUpdate = !0;
|
|
42
|
-
}
|
|
43
|
-
function Ve(o, e, t, i = new ue(16711680)) {
|
|
44
|
-
kt(o, e), Bt(t, o, i);
|
|
45
|
-
}
|
|
46
|
-
const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot = { class: "control-row" }, jt = { class: "control-row" }, It = { class: "frame-info" }, Vt = { class: "control-row" }, Nt = /* @__PURE__ */ ke({
|
|
47
|
-
__name: "trackAnimationPanel",
|
|
48
|
-
props: {
|
|
49
|
-
cloud: {},
|
|
50
|
-
knife: {},
|
|
51
|
-
vectors: {}
|
|
52
|
-
},
|
|
53
|
-
emits: ["getThreeData"],
|
|
54
|
-
setup(o, { expose: e, emit: t }) {
|
|
55
|
-
const i = o, n = R(() => i.vectors), s = M(!1), r = M(0), a = M(50);
|
|
56
|
-
let d = !1;
|
|
57
|
-
const c = (v) => `第 ${v + 1} 帧`, p = (v) => {
|
|
58
|
-
if (v < 0 || v >= n.value.length) {
|
|
59
|
-
console.error(`帧索引 ${v} 超出范围`);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const x = n.value[v];
|
|
63
|
-
r.value = v, Ve(i.knife, x, i.cloud);
|
|
64
|
-
}, f = async () => {
|
|
65
|
-
if (n.value.length === 0) {
|
|
66
|
-
Z.error("无法播放动画:无数据");
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (!s.value) {
|
|
70
|
-
s.value = !0, d = !1, n.value.length - 1 === r.value && (r.value = 0);
|
|
71
|
-
try {
|
|
72
|
-
for (let v = r.value + 1; v < n.value.length && !d; v++)
|
|
73
|
-
await new Promise((x) => setTimeout(x, a.value)), p(v);
|
|
74
|
-
d || Z.success("动画播放完成");
|
|
75
|
-
} catch (v) {
|
|
76
|
-
console.error("动画播放出错:", v), Z.error("动画播放出错");
|
|
77
|
-
} finally {
|
|
78
|
-
s.value = !1;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}, h = () => {
|
|
82
|
-
d = !0, s.value = !1, Z.info("动画已停止");
|
|
83
|
-
}, A = (v) => {
|
|
84
|
-
s.value && h(), p(v);
|
|
85
|
-
};
|
|
86
|
-
return e({ playAnimation: f, stopAnimation: h, forwardFrame: () => {
|
|
87
|
-
s.value && h(), !(r.value + 1 >= n.value.length) && p(r.value + 1);
|
|
88
|
-
}, backwardFrame: () => {
|
|
89
|
-
s.value && h(), r.value !== 0 && p(r.value - 1);
|
|
90
|
-
} }), (v, x) => {
|
|
91
|
-
const C = q("el-input-number"), U = q("el-form-item"), T = q("el-form"), pe = q("el-slider");
|
|
92
|
-
return Y(), ae("div", Dt, [
|
|
93
|
-
m("div", Ft, [
|
|
94
|
-
m("div", Ot, [
|
|
95
|
-
y(T, {
|
|
96
|
-
"label-width": "auto",
|
|
97
|
-
style: { width: "100%" }
|
|
98
|
-
}, {
|
|
99
|
-
default: ce(() => [
|
|
100
|
-
y(U, {
|
|
101
|
-
label: "帧间隔 (ms):",
|
|
102
|
-
prop: "frameDuration"
|
|
103
|
-
}, {
|
|
104
|
-
default: ce(() => [
|
|
105
|
-
y(C, {
|
|
106
|
-
modelValue: a.value,
|
|
107
|
-
"onUpdate:modelValue": x[0] || (x[0] = (G) => a.value = G),
|
|
108
|
-
min: 0,
|
|
109
|
-
max: 5e3,
|
|
110
|
-
step: 10,
|
|
111
|
-
style: { width: "100%" }
|
|
112
|
-
}, null, 8, ["modelValue"])
|
|
113
|
-
]),
|
|
114
|
-
_: 1
|
|
115
|
-
})
|
|
116
|
-
]),
|
|
117
|
-
_: 1
|
|
118
|
-
})
|
|
119
|
-
]),
|
|
120
|
-
m("div", jt, [
|
|
121
|
-
x[2] || (x[2] = m("label", null, "当前帧:", -1)),
|
|
122
|
-
m("span", It, K(r.value + 1) + " / " + K(n.value.length), 1)
|
|
123
|
-
]),
|
|
124
|
-
m("div", Vt, [
|
|
125
|
-
x[3] || (x[3] = m("label", null, "动画进度:", -1)),
|
|
126
|
-
y(pe, {
|
|
127
|
-
modelValue: r.value,
|
|
128
|
-
"onUpdate:modelValue": x[1] || (x[1] = (G) => r.value = G),
|
|
129
|
-
min: 0,
|
|
130
|
-
max: n.value.length > 0 ? n.value.length - 1 : 0,
|
|
131
|
-
step: 1,
|
|
132
|
-
"format-tooltip": c,
|
|
133
|
-
onInput: A,
|
|
134
|
-
disabled: n.value.length === 0,
|
|
135
|
-
style: { "flex-grow": "1", margin: "0 10px" }
|
|
136
|
-
}, null, 8, ["modelValue", "max", "disabled"])
|
|
137
|
-
])
|
|
138
|
-
])
|
|
139
|
-
]);
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
}), Wt = /* @__PURE__ */ Ie(Nt, [["__scopeId", "data-v-93cde733"]]), Ee = new fe(), ie = new w();
|
|
143
|
-
class Ne extends yt {
|
|
10
|
+
import { i as kt } from "./isString-BATKat46.js";
|
|
11
|
+
const Te = new pe(), ie = new x();
|
|
12
|
+
class Re extends yt {
|
|
144
13
|
/**
|
|
145
14
|
* Constructs a new line segments geometry.
|
|
146
15
|
*/
|
|
147
16
|
constructor() {
|
|
148
17
|
super(), this.isLineSegmentsGeometry = !0, this.type = "LineSegmentsGeometry";
|
|
149
18
|
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
|
|
19
|
+
this.setIndex(i), this.setAttribute("position", new Se(e, 3)), this.setAttribute("uv", new Se(t, 2));
|
|
151
20
|
}
|
|
152
21
|
/**
|
|
153
22
|
* Applies the given 4x4 transformation matrix to the geometry.
|
|
@@ -169,8 +38,8 @@ class Ne extends yt {
|
|
|
169
38
|
setPositions(e) {
|
|
170
39
|
let t;
|
|
171
40
|
e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
|
|
172
|
-
const i = new
|
|
173
|
-
return this.setAttribute("instanceStart", new
|
|
41
|
+
const i = new Ce(t, 6, 1);
|
|
42
|
+
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
43
|
}
|
|
175
44
|
/**
|
|
176
45
|
* Sets the given line colors for this geometry. The length must be a multiple of six since
|
|
@@ -182,8 +51,8 @@ class Ne extends yt {
|
|
|
182
51
|
setColors(e) {
|
|
183
52
|
let t;
|
|
184
53
|
e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
|
|
185
|
-
const i = new
|
|
186
|
-
return this.setAttribute("instanceColorStart", new
|
|
54
|
+
const i = new Ce(t, 6, 1);
|
|
55
|
+
return this.setAttribute("instanceColorStart", new R(i, 3, 0)), this.setAttribute("instanceColorEnd", new R(i, 3, 3)), this;
|
|
187
56
|
}
|
|
188
57
|
/**
|
|
189
58
|
* Setups this line segments geometry from the given wireframe geometry.
|
|
@@ -224,12 +93,12 @@ class Ne extends yt {
|
|
|
224
93
|
return this.setPositions(t.attributes.position.array), this;
|
|
225
94
|
}
|
|
226
95
|
computeBoundingBox() {
|
|
227
|
-
this.boundingBox === null && (this.boundingBox = new
|
|
96
|
+
this.boundingBox === null && (this.boundingBox = new pe());
|
|
228
97
|
const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
229
|
-
e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e),
|
|
98
|
+
e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e), Te.setFromBufferAttribute(t), this.boundingBox.union(Te));
|
|
230
99
|
}
|
|
231
100
|
computeBoundingSphere() {
|
|
232
|
-
this.boundingSphere === null && (this.boundingSphere = new
|
|
101
|
+
this.boundingSphere === null && (this.boundingSphere = new Ie()), this.boundingBox === null && this.computeBoundingBox();
|
|
233
102
|
const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
234
103
|
if (e !== void 0 && t !== void 0) {
|
|
235
104
|
const i = this.boundingSphere.center;
|
|
@@ -246,7 +115,7 @@ class Ne extends yt {
|
|
|
246
115
|
le.line = {
|
|
247
116
|
worldUnits: { value: 1 },
|
|
248
117
|
linewidth: { value: 1 },
|
|
249
|
-
resolution: { value: new
|
|
118
|
+
resolution: { value: new Ne(1, 1) },
|
|
250
119
|
dashOffset: { value: 0 },
|
|
251
120
|
dashScale: { value: 1 },
|
|
252
121
|
dashSize: { value: 1 },
|
|
@@ -254,7 +123,7 @@ le.line = {
|
|
|
254
123
|
// todo FIX - maybe change to totalSize
|
|
255
124
|
};
|
|
256
125
|
re.line = {
|
|
257
|
-
uniforms:
|
|
126
|
+
uniforms: Ve.merge([
|
|
258
127
|
le.common,
|
|
259
128
|
le.fog,
|
|
260
129
|
le.line
|
|
@@ -637,7 +506,7 @@ re.line = {
|
|
|
637
506
|
`
|
|
638
507
|
)
|
|
639
508
|
};
|
|
640
|
-
class
|
|
509
|
+
class ze extends xt {
|
|
641
510
|
/**
|
|
642
511
|
* Constructs a new line segments geometry.
|
|
643
512
|
*
|
|
@@ -650,7 +519,7 @@ class Se extends xt {
|
|
|
650
519
|
constructor(e) {
|
|
651
520
|
super({
|
|
652
521
|
type: "LineMaterial",
|
|
653
|
-
uniforms:
|
|
522
|
+
uniforms: Ve.clone(re.line.uniforms),
|
|
654
523
|
vertexShader: re.line.vertexShader,
|
|
655
524
|
fragmentShader: re.line.fragmentShader,
|
|
656
525
|
clipping: !0
|
|
@@ -792,20 +661,20 @@ class Se extends xt {
|
|
|
792
661
|
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
662
|
}
|
|
794
663
|
}
|
|
795
|
-
const
|
|
796
|
-
let
|
|
797
|
-
function
|
|
798
|
-
return
|
|
664
|
+
const xe = new K(), ke = new x(), Be = new x(), S = new K(), C = new K(), B = new K(), be = new x(), _e = new St(), z = new _t(), De = new x(), oe = new pe(), se = new Ie(), D = new K();
|
|
665
|
+
let F, W;
|
|
666
|
+
function Fe(o, e, t) {
|
|
667
|
+
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
668
|
}
|
|
800
|
-
function
|
|
669
|
+
function Bt(o, e) {
|
|
801
670
|
const t = o.matrixWorld, i = o.geometry, n = i.attributes.instanceStart, s = i.attributes.instanceEnd, r = Math.min(i.instanceCount, n.count);
|
|
802
671
|
for (let a = 0, d = r; a < d; a++) {
|
|
803
672
|
z.start.fromBufferAttribute(n, a), z.end.fromBufferAttribute(s, a), z.applyMatrix4(t);
|
|
804
|
-
const
|
|
805
|
-
|
|
673
|
+
const u = new x(), p = new x();
|
|
674
|
+
F.distanceSqToSegment(z.start, z.end, p, u), p.distanceTo(u) < W * 0.5 && e.push({
|
|
806
675
|
point: p,
|
|
807
|
-
pointOnLine:
|
|
808
|
-
distance:
|
|
676
|
+
pointOnLine: u,
|
|
677
|
+
distance: F.origin.distanceTo(p),
|
|
809
678
|
object: o,
|
|
810
679
|
face: null,
|
|
811
680
|
faceIndex: a,
|
|
@@ -814,47 +683,47 @@ function Gt(o, e) {
|
|
|
814
683
|
});
|
|
815
684
|
}
|
|
816
685
|
}
|
|
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
|
|
821
|
-
if (
|
|
686
|
+
function Dt(o, e, t) {
|
|
687
|
+
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;
|
|
688
|
+
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);
|
|
689
|
+
for (let v = 0, U = p; v < U; v++) {
|
|
690
|
+
if (S.fromBufferAttribute(d, v), C.fromBufferAttribute(u, v), S.w = 1, C.w = 1, S.applyMatrix4(_e), C.applyMatrix4(_e), S.z > f && C.z > f)
|
|
822
691
|
continue;
|
|
823
|
-
if (
|
|
824
|
-
const
|
|
825
|
-
|
|
826
|
-
} else if (
|
|
827
|
-
const
|
|
828
|
-
|
|
692
|
+
if (S.z > f) {
|
|
693
|
+
const h = S.z - C.z, L = (S.z - f) / h;
|
|
694
|
+
S.lerp(C, L);
|
|
695
|
+
} else if (C.z > f) {
|
|
696
|
+
const h = C.z - S.z, L = (C.z - f) / h;
|
|
697
|
+
C.lerp(S, L);
|
|
829
698
|
}
|
|
830
|
-
|
|
831
|
-
const
|
|
832
|
-
z.at(
|
|
833
|
-
const
|
|
834
|
-
if (
|
|
835
|
-
z.start.fromBufferAttribute(d,
|
|
836
|
-
const
|
|
837
|
-
|
|
838
|
-
point:
|
|
839
|
-
pointOnLine:
|
|
840
|
-
distance:
|
|
699
|
+
S.applyMatrix4(i), C.applyMatrix4(i), S.multiplyScalar(1 / S.w), C.multiplyScalar(1 / C.w), S.x *= s.x / 2, S.y *= s.y / 2, C.x *= s.x / 2, C.y *= s.y / 2, z.start.copy(S), z.start.z = 0, z.end.copy(C), z.end.z = 0;
|
|
700
|
+
const T = z.closestPointToPointParameter(be, !0);
|
|
701
|
+
z.at(T, De);
|
|
702
|
+
const _ = We.lerp(S.z, C.z, T), A = _ >= -1 && _ <= 1, g = be.distanceTo(De) < W * 0.5;
|
|
703
|
+
if (A && g) {
|
|
704
|
+
z.start.fromBufferAttribute(d, v), z.end.fromBufferAttribute(u, v), z.start.applyMatrix4(r), z.end.applyMatrix4(r);
|
|
705
|
+
const h = new x(), L = new x();
|
|
706
|
+
F.distanceSqToSegment(z.start, z.end, L, h), t.push({
|
|
707
|
+
point: L,
|
|
708
|
+
pointOnLine: h,
|
|
709
|
+
distance: F.origin.distanceTo(L),
|
|
841
710
|
object: o,
|
|
842
711
|
face: null,
|
|
843
|
-
faceIndex:
|
|
712
|
+
faceIndex: v,
|
|
844
713
|
uv: null,
|
|
845
714
|
uv1: null
|
|
846
715
|
});
|
|
847
716
|
}
|
|
848
717
|
}
|
|
849
718
|
}
|
|
850
|
-
class
|
|
719
|
+
class Ft extends bt {
|
|
851
720
|
/**
|
|
852
721
|
* Constructs a new wide line.
|
|
853
722
|
*
|
|
854
723
|
* @param {LineSegmentsGeometry} [geometry] - The line geometry.
|
|
855
724
|
* @param {LineMaterial} [material] - The line material.
|
|
856
725
|
*/
|
|
857
|
-
constructor(e = new
|
|
726
|
+
constructor(e = new Re(), t = new ze({ color: Math.random() * 16777215 })) {
|
|
858
727
|
super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
|
|
859
728
|
}
|
|
860
729
|
/**
|
|
@@ -867,9 +736,9 @@ class Ht extends Be {
|
|
|
867
736
|
computeLineDistances() {
|
|
868
737
|
const e = this.geometry, t = e.attributes.instanceStart, i = e.attributes.instanceEnd, n = new Float32Array(2 * t.count);
|
|
869
738
|
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
|
|
739
|
+
ke.fromBufferAttribute(t, r), Be.fromBufferAttribute(i, r), n[a] = a === 0 ? 0 : n[a - 1], n[a + 1] = n[a] + ke.distanceTo(Be);
|
|
740
|
+
const s = new Ce(n, 2, 1);
|
|
741
|
+
return e.setAttribute("instanceDistanceStart", new R(s, 1, 0)), e.setAttribute("instanceDistanceEnd", new R(s, 1, 1)), this;
|
|
873
742
|
}
|
|
874
743
|
/**
|
|
875
744
|
* Computes intersection points between a casted ray and this instance.
|
|
@@ -881,34 +750,34 @@ class Ht extends Be {
|
|
|
881
750
|
const i = this.material.worldUnits, n = e.camera;
|
|
882
751
|
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
752
|
const s = e.params.Line2 !== void 0 && e.params.Line2.threshold || 0;
|
|
884
|
-
|
|
753
|
+
F = e.ray;
|
|
885
754
|
const r = this.matrixWorld, a = this.geometry, d = this.material;
|
|
886
755
|
W = d.linewidth + s, a.boundingSphere === null && a.computeBoundingSphere(), se.copy(a.boundingSphere).applyMatrix4(r);
|
|
887
|
-
let
|
|
756
|
+
let u;
|
|
888
757
|
if (i)
|
|
889
|
-
|
|
758
|
+
u = W * 0.5;
|
|
890
759
|
else {
|
|
891
|
-
const f = Math.max(n.near, se.distanceToPoint(
|
|
892
|
-
|
|
760
|
+
const f = Math.max(n.near, se.distanceToPoint(F.origin));
|
|
761
|
+
u = Fe(n, f, d.resolution);
|
|
893
762
|
}
|
|
894
|
-
if (se.radius +=
|
|
763
|
+
if (se.radius += u, F.intersectsSphere(se) === !1)
|
|
895
764
|
return;
|
|
896
765
|
a.boundingBox === null && a.computeBoundingBox(), oe.copy(a.boundingBox).applyMatrix4(r);
|
|
897
766
|
let p;
|
|
898
767
|
if (i)
|
|
899
768
|
p = W * 0.5;
|
|
900
769
|
else {
|
|
901
|
-
const f = Math.max(n.near, oe.distanceToPoint(
|
|
902
|
-
p =
|
|
770
|
+
const f = Math.max(n.near, oe.distanceToPoint(F.origin));
|
|
771
|
+
p = Fe(n, f, d.resolution);
|
|
903
772
|
}
|
|
904
|
-
oe.expandByScalar(p),
|
|
773
|
+
oe.expandByScalar(p), F.intersectsBox(oe) !== !1 && (i ? Bt(this, t) : Dt(this, n, t));
|
|
905
774
|
}
|
|
906
775
|
onBeforeRender(e) {
|
|
907
776
|
const t = this.material.uniforms;
|
|
908
|
-
t && t.resolution && (e.getViewport(
|
|
777
|
+
t && t.resolution && (e.getViewport(xe), this.material.uniforms.resolution.value.set(xe.z, xe.w));
|
|
909
778
|
}
|
|
910
779
|
}
|
|
911
|
-
class
|
|
780
|
+
class He extends Re {
|
|
912
781
|
/**
|
|
913
782
|
* Constructs a new line geometry.
|
|
914
783
|
*/
|
|
@@ -962,25 +831,157 @@ class We extends Ne {
|
|
|
962
831
|
return this.setPositions(t.attributes.position.array), this;
|
|
963
832
|
}
|
|
964
833
|
}
|
|
965
|
-
class
|
|
834
|
+
class Ot extends Ft {
|
|
966
835
|
/**
|
|
967
836
|
* Constructs a new wide line.
|
|
968
837
|
*
|
|
969
838
|
* @param {LineGeometry} [geometry] - The line geometry.
|
|
970
839
|
* @param {LineMaterial} [material] - The line material.
|
|
971
840
|
*/
|
|
972
|
-
constructor(e = new
|
|
841
|
+
constructor(e = new He(), t = new ze({ color: Math.random() * 16777215 })) {
|
|
973
842
|
super(e, t), this.isLine2 = !0, this.type = "Line2";
|
|
974
843
|
}
|
|
975
844
|
}
|
|
976
|
-
function
|
|
845
|
+
async function jt(o) {
|
|
846
|
+
return await Tt(o);
|
|
847
|
+
}
|
|
848
|
+
function It(o, e) {
|
|
849
|
+
debugger;
|
|
850
|
+
o.position.copy(e);
|
|
851
|
+
}
|
|
852
|
+
function Vt(o, e, t = new de(16711680)) {
|
|
853
|
+
const i = new x();
|
|
854
|
+
e.getWorldPosition(i);
|
|
855
|
+
const n = o.geometry.attributes.position, s = o.geometry.attributes.color, r = new de(55551);
|
|
856
|
+
let a = 1 / 0, d = -1;
|
|
857
|
+
for (let u = 0; u < n.count; u++) {
|
|
858
|
+
const f = new x().fromBufferAttribute(n, u).distanceTo(i);
|
|
859
|
+
f < a && (a = f, d = u);
|
|
860
|
+
}
|
|
861
|
+
for (let u = 0; u < s.count; u++) r.toArray(s.array, u * 3);
|
|
862
|
+
if (d !== -1) {
|
|
863
|
+
const u = t.toArray(), p = d * 3 + 2;
|
|
864
|
+
for (let f = 0; f < p; f = f + 3)
|
|
865
|
+
s.array[f] = u[0], s.array[f + 1] = u[1], s.array[f + 2] = u[2];
|
|
866
|
+
}
|
|
867
|
+
s.needsUpdate = !0;
|
|
868
|
+
}
|
|
869
|
+
function $e(o, e, t, i = new de(16711680)) {
|
|
870
|
+
It(o, e), Vt(t, o, i);
|
|
871
|
+
}
|
|
872
|
+
const Nt = { class: "panel-content" }, Wt = { class: "animation-controls" }, Gt = { class: "control-row" }, Rt = { class: "control-row" }, Ht = { class: "frame-info" }, $t = { class: "control-row" }, Xt = /* @__PURE__ */ Oe({
|
|
873
|
+
__name: "trackAnimationPanel",
|
|
874
|
+
props: {
|
|
875
|
+
cloud: {},
|
|
876
|
+
knife: {},
|
|
877
|
+
vectors: {}
|
|
878
|
+
},
|
|
879
|
+
emits: ["getThreeData"],
|
|
880
|
+
setup(o, { expose: e, emit: t }) {
|
|
881
|
+
const i = o, n = G(() => i.vectors), s = M(!1), r = M(0), a = M(100);
|
|
882
|
+
let d = !1;
|
|
883
|
+
const u = (g) => `第 ${g + 1} 帧`, p = (g) => {
|
|
884
|
+
if (g < 0 || g >= n.value.length) {
|
|
885
|
+
console.error(`帧索引 ${g} 超出范围`);
|
|
886
|
+
return;
|
|
887
|
+
}
|
|
888
|
+
const h = n.value[g];
|
|
889
|
+
r.value = g, $e(i.knife, h, i.cloud);
|
|
890
|
+
}, f = async () => {
|
|
891
|
+
if (n.value.length === 0) {
|
|
892
|
+
ce.error("无法播放动画:无数据");
|
|
893
|
+
return;
|
|
894
|
+
}
|
|
895
|
+
if (!s.value) {
|
|
896
|
+
s.value = !0, d = !1, n.value.length - 1 === r.value && (r.value = 0);
|
|
897
|
+
try {
|
|
898
|
+
for (let g = r.value + 1; g < n.value.length && !d; g++)
|
|
899
|
+
await new Promise((h) => setTimeout(h, a.value)), p(g);
|
|
900
|
+
d || ce.success("动画播放完成");
|
|
901
|
+
} catch (g) {
|
|
902
|
+
console.error("动画播放出错:", g);
|
|
903
|
+
} finally {
|
|
904
|
+
s.value = !1;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
}, v = async () => {
|
|
908
|
+
s.value && (d = !0, await new Promise((g) => {
|
|
909
|
+
const h = je(() => s.value, (L) => {
|
|
910
|
+
h(), g();
|
|
911
|
+
});
|
|
912
|
+
}), ce.info("动画已停止"));
|
|
913
|
+
}, U = async (g) => {
|
|
914
|
+
s.value && await v(), p(g);
|
|
915
|
+
}, k = async () => {
|
|
916
|
+
s.value && await v(), !(r.value + 1 >= n.value.length) && p(r.value + 1);
|
|
917
|
+
}, T = async () => {
|
|
918
|
+
s.value && await v(), r.value !== 0 && p(r.value - 1);
|
|
919
|
+
}, _ = () => {
|
|
920
|
+
r.value = 0;
|
|
921
|
+
};
|
|
922
|
+
return e({ playAnimation: f, stopAnimation: v, forwardFrame: k, backwardFrame: T, resetAnimationFrame: _, reset: async () => {
|
|
923
|
+
await v(), _();
|
|
924
|
+
} }), (g, h) => {
|
|
925
|
+
const L = q("el-input-number"), me = q("el-form-item"), ve = q("el-form"), J = q("el-slider");
|
|
926
|
+
return Y(), ae("div", Nt, [
|
|
927
|
+
m("div", Wt, [
|
|
928
|
+
m("div", Gt, [
|
|
929
|
+
w(ve, {
|
|
930
|
+
"label-width": "auto",
|
|
931
|
+
style: { width: "100%" }
|
|
932
|
+
}, {
|
|
933
|
+
default: ue(() => [
|
|
934
|
+
w(me, {
|
|
935
|
+
label: "帧间隔 (ms):",
|
|
936
|
+
prop: "frameDuration"
|
|
937
|
+
}, {
|
|
938
|
+
default: ue(() => [
|
|
939
|
+
w(L, {
|
|
940
|
+
modelValue: a.value,
|
|
941
|
+
"onUpdate:modelValue": h[0] || (h[0] = (H) => a.value = H),
|
|
942
|
+
min: 0,
|
|
943
|
+
max: 5e3,
|
|
944
|
+
step: 10,
|
|
945
|
+
style: { width: "100%" }
|
|
946
|
+
}, null, 8, ["modelValue"])
|
|
947
|
+
]),
|
|
948
|
+
_: 1
|
|
949
|
+
})
|
|
950
|
+
]),
|
|
951
|
+
_: 1
|
|
952
|
+
})
|
|
953
|
+
]),
|
|
954
|
+
m("div", Rt, [
|
|
955
|
+
h[2] || (h[2] = m("label", null, "当前帧:", -1)),
|
|
956
|
+
m("span", Ht, Z(r.value + 1) + " / " + Z(n.value.length), 1)
|
|
957
|
+
]),
|
|
958
|
+
m("div", $t, [
|
|
959
|
+
h[3] || (h[3] = m("label", null, "动画进度:", -1)),
|
|
960
|
+
w(J, {
|
|
961
|
+
modelValue: r.value,
|
|
962
|
+
"onUpdate:modelValue": h[1] || (h[1] = (H) => r.value = H),
|
|
963
|
+
min: 0,
|
|
964
|
+
max: n.value.length > 0 ? n.value.length - 1 : 0,
|
|
965
|
+
step: 1,
|
|
966
|
+
"format-tooltip": u,
|
|
967
|
+
onInput: U,
|
|
968
|
+
disabled: n.value.length === 0,
|
|
969
|
+
style: { "flex-grow": "1", margin: "0 10px" }
|
|
970
|
+
}, null, 8, ["modelValue", "max", "disabled"])
|
|
971
|
+
])
|
|
972
|
+
])
|
|
973
|
+
]);
|
|
974
|
+
};
|
|
975
|
+
}
|
|
976
|
+
}), qt = /* @__PURE__ */ Ge(Xt, [["__scopeId", "data-v-b5665bfd"]]);
|
|
977
|
+
function Yt(o) {
|
|
977
978
|
const e = [];
|
|
978
979
|
return o.forEach((t) => {
|
|
979
980
|
const [i, n, s] = t.trim().split(/\s+/);
|
|
980
981
|
e.push(+i, +n, +s);
|
|
981
982
|
}), e;
|
|
982
983
|
}
|
|
983
|
-
function
|
|
984
|
+
function fe(o, e, t) {
|
|
984
985
|
switch (o) {
|
|
985
986
|
case "X":
|
|
986
987
|
e.x = +t || 0;
|
|
@@ -993,7 +994,7 @@ function de(o, e, t) {
|
|
|
993
994
|
break;
|
|
994
995
|
}
|
|
995
996
|
}
|
|
996
|
-
function
|
|
997
|
+
function Zt(o) {
|
|
997
998
|
const e = [], t = ["X", "Y", "Z"];
|
|
998
999
|
return o.forEach((i) => {
|
|
999
1000
|
const n = {
|
|
@@ -1005,35 +1006,35 @@ function qt(o) {
|
|
|
1005
1006
|
return;
|
|
1006
1007
|
let r = null, a = "";
|
|
1007
1008
|
for (let d = 0; d < (s == null ? void 0 : s.length); d++) {
|
|
1008
|
-
const
|
|
1009
|
+
const u = s[d], p = t.find((f) => f === u);
|
|
1009
1010
|
if (p) {
|
|
1010
|
-
r &&
|
|
1011
|
+
r && fe(r, n, a), a = "", r = p;
|
|
1011
1012
|
continue;
|
|
1012
1013
|
}
|
|
1013
|
-
a = a +
|
|
1014
|
+
a = a + u;
|
|
1014
1015
|
}
|
|
1015
|
-
|
|
1016
|
+
fe(r, n, a), e.push(n.x, n.y, n.z);
|
|
1016
1017
|
}), e;
|
|
1017
1018
|
}
|
|
1018
|
-
const
|
|
1019
|
-
const e =
|
|
1020
|
-
return
|
|
1019
|
+
const Kt = (o) => o == null ? void 0 : o.filter((t) => t.includes("=")), Jt = (o) => o.replace(/,/g, ""), Qt = (o) => o == null ? void 0 : o.map((t) => Jt(t)), en = (o) => {
|
|
1020
|
+
const e = Kt(o);
|
|
1021
|
+
return Qt(e);
|
|
1021
1022
|
};
|
|
1022
|
-
function
|
|
1023
|
-
const e =
|
|
1023
|
+
function tn(o) {
|
|
1024
|
+
const e = en(o), t = [];
|
|
1024
1025
|
return e.forEach((i) => {
|
|
1025
|
-
var f,
|
|
1026
|
+
var f, v, U, k, T, _;
|
|
1026
1027
|
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 = (
|
|
1028
|
-
const [, d] = (
|
|
1029
|
-
t.push(+d, +
|
|
1028
|
+
s = (f = s == null ? void 0 : s.trim) == null ? void 0 : f.call(s), r = (v = r == null ? void 0 : r.trim) == null ? void 0 : v.call(r), a = (U = a == null ? void 0 : a.trim) == null ? void 0 : U.call(a);
|
|
1029
|
+
const [, d] = (k = s == null ? void 0 : s.split) == null ? void 0 : k.call(s, "="), [, u] = (T = r == null ? void 0 : r.split) == null ? void 0 : T.call(r, "="), [, p] = (_ = a == null ? void 0 : a.split) == null ? void 0 : _.call(a, "=");
|
|
1030
|
+
t.push(+d, +u, +p);
|
|
1030
1031
|
}), t;
|
|
1031
1032
|
}
|
|
1032
|
-
const
|
|
1033
|
-
function
|
|
1034
|
-
return
|
|
1033
|
+
const nn = (o) => o >= "0" && o <= "9", on = (o) => o === "+" || o === "-", sn = (o) => o === ".";
|
|
1034
|
+
function an(o) {
|
|
1035
|
+
return nn(o) || on(o) || sn(o);
|
|
1035
1036
|
}
|
|
1036
|
-
function
|
|
1037
|
+
function rn(o) {
|
|
1037
1038
|
const e = [], t = /* @__PURE__ */ new Set(["X", "Y", "Z"]);
|
|
1038
1039
|
return o.forEach((i) => {
|
|
1039
1040
|
const n = {
|
|
@@ -1045,31 +1046,31 @@ function sn(o) {
|
|
|
1045
1046
|
return;
|
|
1046
1047
|
let r = null, a = "";
|
|
1047
1048
|
for (let d = 0; d < (s == null ? void 0 : s.length); d++) {
|
|
1048
|
-
const
|
|
1049
|
+
const u = s[d], p = t.has(u) ? u : null, f = an(u);
|
|
1049
1050
|
if (p || !f) {
|
|
1050
|
-
r &&
|
|
1051
|
+
r && fe(r, n, a), r = p, a = "";
|
|
1051
1052
|
continue;
|
|
1052
1053
|
}
|
|
1053
|
-
a = a +
|
|
1054
|
+
a = a + u;
|
|
1054
1055
|
}
|
|
1055
|
-
r &&
|
|
1056
|
+
r && fe(r, n, a), e.push(n.x, n.y, n.z);
|
|
1056
1057
|
}), e;
|
|
1057
1058
|
}
|
|
1058
|
-
function
|
|
1059
|
+
function ln(o) {
|
|
1059
1060
|
return o == null ? void 0 : o.includes("=");
|
|
1060
1061
|
}
|
|
1061
|
-
async function
|
|
1062
|
+
async function cn(o) {
|
|
1062
1063
|
var n, s;
|
|
1063
1064
|
const e = (n = o == null ? void 0 : o.trim()) == null ? void 0 : n.split(/\r?\n/);
|
|
1064
|
-
if (
|
|
1065
|
-
return
|
|
1065
|
+
if (ln(o))
|
|
1066
|
+
return tn(e);
|
|
1066
1067
|
const t = e == null ? void 0 : e[0], i = (s = t == null ? void 0 : t.trim()) == null ? void 0 : s.split(/\s+/);
|
|
1067
1068
|
if ((i == null ? void 0 : i.length) >= 3)
|
|
1068
|
-
return
|
|
1069
|
+
return Yt(e);
|
|
1069
1070
|
if ((i == null ? void 0 : i.length) === 1)
|
|
1070
|
-
return
|
|
1071
|
+
return Zt(e);
|
|
1071
1072
|
}
|
|
1072
|
-
async function
|
|
1073
|
+
async function un(o) {
|
|
1073
1074
|
const e = o.trim().split(/\r?\n/), t = [];
|
|
1074
1075
|
return e.forEach((i) => {
|
|
1075
1076
|
const n = i.trim().split(/\s+/);
|
|
@@ -1079,7 +1080,7 @@ async function ln(o) {
|
|
|
1079
1080
|
t.push(+s, +r, +a);
|
|
1080
1081
|
}), t;
|
|
1081
1082
|
}
|
|
1082
|
-
async function
|
|
1083
|
+
async function dn(o) {
|
|
1083
1084
|
const e = o.trim().split(/\r?\n/), t = [];
|
|
1084
1085
|
return e.forEach((i) => {
|
|
1085
1086
|
const n = i.trim().split(/\s+/);
|
|
@@ -1089,106 +1090,106 @@ async function cn(o) {
|
|
|
1089
1090
|
t.push(+s, +r, +a);
|
|
1090
1091
|
}), t;
|
|
1091
1092
|
}
|
|
1092
|
-
async function
|
|
1093
|
+
async function fn(o) {
|
|
1093
1094
|
let e = o.trim().split(/\r?\n/);
|
|
1094
1095
|
return e = e.filter((i) => {
|
|
1095
1096
|
const n = i.startsWith("X"), s = i.startsWith("G") && i.includes("X");
|
|
1096
1097
|
return n || s;
|
|
1097
|
-
}),
|
|
1098
|
+
}), rn(e);
|
|
1098
1099
|
}
|
|
1099
|
-
async function
|
|
1100
|
+
async function pn(o, e) {
|
|
1100
1101
|
const { isCyd: t, isUv: i, isCpt: n, isNc: s } = e;
|
|
1101
|
-
return i ?
|
|
1102
|
+
return i ? cn(o) : t ? dn(o) : n ? un(o) : s ? fn(o) : [];
|
|
1102
1103
|
}
|
|
1103
|
-
function
|
|
1104
|
+
function mn(o) {
|
|
1104
1105
|
const e = [];
|
|
1105
1106
|
for (let t = 0; t < o.length; t += 3)
|
|
1106
|
-
e.push(new
|
|
1107
|
+
e.push(new x(o[t], o[t + 1], o[t + 2]));
|
|
1107
1108
|
return e;
|
|
1108
1109
|
}
|
|
1109
|
-
function
|
|
1110
|
+
function vn(o, e) {
|
|
1110
1111
|
if (!e || e.length < 3)
|
|
1111
1112
|
return;
|
|
1112
1113
|
const { scene: t, camera: i, renderer: n, controls: s } = o();
|
|
1113
1114
|
if (!t || !i || !n || !s)
|
|
1114
1115
|
return;
|
|
1115
1116
|
const r = [];
|
|
1116
|
-
for (let
|
|
1117
|
-
r.push(new
|
|
1118
|
-
const d = new
|
|
1119
|
-
|
|
1120
|
-
const p = new
|
|
1117
|
+
for (let v = 0; v < e.length; v += 3)
|
|
1118
|
+
r.push(new x(e[v], e[v + 1], e[v + 2]));
|
|
1119
|
+
const d = new Ct(r, !1, "catmullrom", 0.5).getPoints(150).flatMap((v) => [v.x, v.y, v.z]), u = new He();
|
|
1120
|
+
u.setPositions(d);
|
|
1121
|
+
const p = new ze({
|
|
1121
1122
|
color: 55551,
|
|
1122
1123
|
linewidth: 3,
|
|
1123
1124
|
// 像素宽度,可 >1
|
|
1124
|
-
resolution: new
|
|
1125
|
-
}), f = new
|
|
1125
|
+
resolution: new Ne(window.innerWidth, window.innerHeight)
|
|
1126
|
+
}), f = new Ot(u, p);
|
|
1126
1127
|
return f.name = "轨迹路径", t.add(f), f;
|
|
1127
1128
|
}
|
|
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,
|
|
1129
|
+
function hn(o, e, t, i = 4, n = 50) {
|
|
1130
|
+
let s = 1 / 0, r = -1 / 0, a = 1 / 0, d = -1 / 0, u = 1 / 0, p = -1 / 0;
|
|
1131
|
+
for (let _ = 0; _ < o.length; _ += 3) {
|
|
1132
|
+
const A = o[_], g = o[_ + 1], h = o[_ + 2];
|
|
1133
|
+
s = Math.min(s, A), r = Math.max(r, A), a = Math.min(a, g), d = Math.max(d, g), u = Math.min(u, h), p = Math.max(p, h);
|
|
1133
1134
|
}
|
|
1134
|
-
const
|
|
1135
|
-
return Math.min(0.4,
|
|
1135
|
+
const v = Math.sqrt((r - s) ** 2 + (d - a) ** 2 + (p - u) ** 2) * 0.05, U = We.degToRad(e.fov), k = 2 * Math.tan(U / 2) * n, T = v / k * t.domElement.height * (i / 4);
|
|
1136
|
+
return Math.min(0.4, T);
|
|
1136
1137
|
}
|
|
1137
|
-
function
|
|
1138
|
+
function gn(o) {
|
|
1138
1139
|
if (o.length % 3 !== 0)
|
|
1139
1140
|
return console.error("points array length is not a multiple of 3:", o), null;
|
|
1140
1141
|
const e = new zt();
|
|
1141
|
-
e.setAttribute("position", new
|
|
1142
|
+
e.setAttribute("position", new Se(o, 3));
|
|
1142
1143
|
const t = new Float32Array(o.length);
|
|
1143
1144
|
for (let s = 0; s < o.length; s += 3)
|
|
1144
1145
|
t[s] = 0, t[s + 1] = 0.847, t[s + 2] = 1;
|
|
1145
|
-
e.setAttribute("color", new
|
|
1146
|
-
const i = new
|
|
1146
|
+
e.setAttribute("color", new At(t, 3));
|
|
1147
|
+
const i = new Ut({
|
|
1147
1148
|
vertexColors: !0,
|
|
1148
1149
|
size: 0.4,
|
|
1149
1150
|
// 像素世界单位
|
|
1150
1151
|
sizeAttenuation: !0
|
|
1151
|
-
}), n = new
|
|
1152
|
+
}), n = new Et(e, i);
|
|
1152
1153
|
return i.needsUpdate = !0, n;
|
|
1153
1154
|
}
|
|
1154
|
-
function
|
|
1155
|
-
const t = new
|
|
1156
|
-
new
|
|
1157
|
-
new
|
|
1158
|
-
new
|
|
1159
|
-
new
|
|
1160
|
-
new
|
|
1161
|
-
new
|
|
1162
|
-
new
|
|
1163
|
-
new
|
|
1155
|
+
function yn(o, e) {
|
|
1156
|
+
const t = new pe().setFromArray(e), i = [
|
|
1157
|
+
new x(t.min.x, t.min.y, t.min.z),
|
|
1158
|
+
new x(t.max.x, t.min.y, t.min.z),
|
|
1159
|
+
new x(t.min.x, t.max.y, t.min.z),
|
|
1160
|
+
new x(t.min.x, t.min.y, t.max.z),
|
|
1161
|
+
new x(t.max.x, t.max.y, t.min.z),
|
|
1162
|
+
new x(t.max.x, t.min.y, t.max.z),
|
|
1163
|
+
new x(t.min.x, t.max.y, t.max.z),
|
|
1164
|
+
new x(t.max.x, t.max.y, t.max.z)
|
|
1164
1165
|
];
|
|
1165
1166
|
let n = 0;
|
|
1166
1167
|
for (const s of i)
|
|
1167
1168
|
n = Math.max(n, s.distanceTo(o.position));
|
|
1168
1169
|
return n;
|
|
1169
1170
|
}
|
|
1170
|
-
function
|
|
1171
|
+
function wn(o, e) {
|
|
1171
1172
|
if (!e)
|
|
1172
1173
|
return;
|
|
1173
1174
|
const { scene: t, camera: i, renderer: n, controls: s } = o();
|
|
1174
1175
|
if (!t || !i || !n || !s)
|
|
1175
1176
|
return;
|
|
1176
|
-
const r =
|
|
1177
|
+
const r = gn(e);
|
|
1177
1178
|
if (!r)
|
|
1178
1179
|
return;
|
|
1179
1180
|
r.name = "轨迹路径", t.add(r);
|
|
1180
|
-
const a =
|
|
1181
|
+
const a = hn(e, i, n, 0.1, 50);
|
|
1181
1182
|
r.material.size = a;
|
|
1182
|
-
const d =
|
|
1183
|
+
const d = yn(i, e);
|
|
1183
1184
|
return i.far = d * 1.2, i.updateProjectionMatrix(), r;
|
|
1184
1185
|
}
|
|
1185
|
-
const
|
|
1186
|
+
const xn = { class: "obj-viewer-container" }, bn = { class: "buttonGroup-topLeft" }, _n = { class: "buttonGroup-left" }, Sn = { class: "buttonGroup-right" }, Cn = { class: "buttonGroup-bottom" }, zn = { class: "left-panel" }, An = { class: "panel-header" }, Un = { class: "panel-body" }, En = {
|
|
1186
1187
|
key: 1,
|
|
1187
1188
|
class: "clipping-content"
|
|
1188
|
-
},
|
|
1189
|
+
}, Mn = { class: "radio-group" }, Ln = { class: "radio-label" }, Pn = { class: "radio-label" }, Tn = { class: "radio-label" }, kn = { class: "radio-label" }, Bn = { class: "right-panel" }, Dn = { class: "panel-header" }, Fn = { class: "panel-body" }, On = {
|
|
1189
1190
|
key: 0,
|
|
1190
1191
|
class: "loading-overlay"
|
|
1191
|
-
},
|
|
1192
|
+
}, jn = /* @__PURE__ */ Oe({
|
|
1192
1193
|
__name: "threeTrackPathView",
|
|
1193
1194
|
props: {
|
|
1194
1195
|
fileBlobs: {},
|
|
@@ -1197,265 +1198,273 @@ const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft
|
|
|
1197
1198
|
},
|
|
1198
1199
|
emits: ["getAnimationData", "getThreeData"],
|
|
1199
1200
|
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
|
-
|
|
1201
|
+
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(""), v = Q(null), U = Q(null), {
|
|
1202
|
+
currentModels: k,
|
|
1203
|
+
initThreeJS: T,
|
|
1204
|
+
handleResize: _,
|
|
1205
|
+
getThreeJSObjects: A,
|
|
1206
|
+
cleanup: g,
|
|
1207
|
+
axesHelperVisible: h,
|
|
1208
|
+
toggleAxesVisibility: L,
|
|
1209
|
+
zoomIn: me,
|
|
1210
|
+
zoomOut: ve
|
|
1211
|
+
} = mt(n), { isAnimating: J, toggleAnimation: H, stopAnimation: Xe } = vt(A, k), { isClipping: qe, activeClippingAxis: P, toggleClipping: Ye, updateClippingPlanes: O } = ht(A, k), Ze = () => {
|
|
1212
|
+
L();
|
|
1213
|
+
}, he = (c) => {
|
|
1214
|
+
d.value = !0, u.value = c, c === "剖面视图" && !qe.value && Ye();
|
|
1215
|
+
}, ge = (c) => {
|
|
1216
|
+
p.value = !0, f.value = c, c === "动画仿真" && t("getAnimationData");
|
|
1217
|
+
}, ye = M([]), $ = M([]), Ke = G(() => {
|
|
1216
1218
|
var l;
|
|
1217
1219
|
return (l = i.trackFileType) == null ? void 0 : l.isUv;
|
|
1218
|
-
}),
|
|
1220
|
+
}), Je = G(() => {
|
|
1219
1221
|
var l;
|
|
1220
1222
|
return (l = i.trackFileType) == null ? void 0 : l.isCyd;
|
|
1221
|
-
}),
|
|
1223
|
+
}), Qe = G(() => {
|
|
1222
1224
|
var l;
|
|
1223
1225
|
return (l = i.trackFileType) == null ? void 0 : l.isCpt;
|
|
1224
|
-
}), V =
|
|
1226
|
+
}), V = G(() => {
|
|
1225
1227
|
var l;
|
|
1226
1228
|
return (l = i.trackFileType) == null ? void 0 : l.isNc;
|
|
1227
|
-
}),
|
|
1228
|
-
const
|
|
1229
|
-
return
|
|
1229
|
+
}), Ae = G(() => {
|
|
1230
|
+
const c = i.fileBlobs || [];
|
|
1231
|
+
return c == null ? void 0 : c[0];
|
|
1230
1232
|
});
|
|
1231
1233
|
let j = Q(), N = Q();
|
|
1232
|
-
const
|
|
1233
|
-
const { scene:
|
|
1234
|
-
j.value &&
|
|
1235
|
-
}, Qe = () => {
|
|
1236
|
-
const { scene: u } = C();
|
|
1237
|
-
N.value && u && (Ue(N.value, u), N.value = null);
|
|
1238
|
-
}, ze = () => {
|
|
1239
|
-
Je(), Qe();
|
|
1240
|
-
}, et = async (u) => {
|
|
1241
|
-
const l = URL.createObjectURL(u), X = await Et(l);
|
|
1242
|
-
if (URL.revokeObjectURL(l), Tt(X)) {
|
|
1243
|
-
const g = await dn(X, i.trackFileType) || [];
|
|
1244
|
-
ve.value = g;
|
|
1245
|
-
const Ce = ve.value;
|
|
1246
|
-
qe.value && (j.value = pn(C, Ce)), (Ye.value || Ze.value || V.value) && (j.value = gn(C, Ce)), ht(C, j.value);
|
|
1247
|
-
}
|
|
1234
|
+
const et = () => {
|
|
1235
|
+
const { scene: c } = A();
|
|
1236
|
+
j.value && c && (Pe(j.value, c), j.value = null);
|
|
1248
1237
|
}, tt = () => {
|
|
1249
|
-
|
|
1250
|
-
N.value
|
|
1238
|
+
const { scene: c } = A();
|
|
1239
|
+
N.value && c && (Pe(N.value, c), N.value = null);
|
|
1240
|
+
}, Ue = () => {
|
|
1241
|
+
et(), tt();
|
|
1242
|
+
}, nt = async (c) => {
|
|
1243
|
+
const l = URL.createObjectURL(c), X = await Mt(l);
|
|
1244
|
+
if (URL.revokeObjectURL(l), kt(X)) {
|
|
1245
|
+
const y = await pn(X, i.trackFileType) || [];
|
|
1246
|
+
ye.value = y;
|
|
1247
|
+
const Me = ye.value;
|
|
1248
|
+
Ke.value && (j.value = vn(A, Me)), (Je.value || Qe.value || V.value) && (j.value = wn(A, Me)), gt(A, j.value);
|
|
1249
|
+
}
|
|
1250
|
+
}, it = async () => {
|
|
1251
|
+
var c, l;
|
|
1252
|
+
N.value = await jt("http://222.92.178.198:55002/CPMPIP/Cut/1_4%20Single%20Flute%20End%20Mill-Cut002.obj"), $.value = mn(ye.value), $.value && $.value.length && ($e(N.value, $.value[0], j.value, new de(16711680)), (l = (c = U.value) == null ? void 0 : c.add) == null || l.call(c, N.value));
|
|
1253
|
+
}, ot = async () => {
|
|
1254
|
+
var c;
|
|
1255
|
+
await ((c = a == null ? void 0 : a.value) == null ? void 0 : c.reset()), await Ee(Ae.value);
|
|
1256
|
+
}, Ee = async (c) => {
|
|
1257
|
+
Ue(), await nt(c), V.value && it();
|
|
1251
1258
|
};
|
|
1252
|
-
|
|
1253
|
-
|
|
1259
|
+
je(() => Ae.value, async (c) => {
|
|
1260
|
+
c && await Ee(c);
|
|
1254
1261
|
}, {
|
|
1255
1262
|
immediate: !0,
|
|
1256
1263
|
deep: !0
|
|
1257
1264
|
});
|
|
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());
|
|
1265
|
+
const st = () => {
|
|
1266
|
+
var c;
|
|
1267
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.playAnimation());
|
|
1270
1268
|
}, at = () => {
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
A.value = u.scene, A.value && (A.value.name = "CPMPIP");
|
|
1269
|
+
var c;
|
|
1270
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.stopAnimation());
|
|
1274
1271
|
}, rt = () => {
|
|
1275
|
-
|
|
1272
|
+
var c;
|
|
1273
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.forwardFrame());
|
|
1274
|
+
}, lt = () => {
|
|
1275
|
+
var c;
|
|
1276
|
+
V.value && ((c = a == null ? void 0 : a.value) == null || c.backwardFrame());
|
|
1277
|
+
}, ct = () => {
|
|
1278
|
+
T(), window.addEventListener("resize", _);
|
|
1279
|
+
const c = A();
|
|
1280
|
+
U.value = c.scene, U.value && (U.value.name = "CPMPIP");
|
|
1281
|
+
}, ut = () => {
|
|
1282
|
+
window.removeEventListener("resize", _), J.value && Xe(), Ue(), g();
|
|
1276
1283
|
};
|
|
1277
|
-
return
|
|
1284
|
+
return dt(async () => {
|
|
1278
1285
|
try {
|
|
1279
|
-
|
|
1280
|
-
} catch (
|
|
1281
|
-
console.error("Three.js 初始化失败:",
|
|
1286
|
+
ct();
|
|
1287
|
+
} catch (c) {
|
|
1288
|
+
console.error("Three.js 初始化失败:", c), ce.error("渲染引擎初始化失败!");
|
|
1282
1289
|
}
|
|
1283
|
-
}),
|
|
1284
|
-
|
|
1285
|
-
}), (
|
|
1290
|
+
}), ft(() => {
|
|
1291
|
+
ut();
|
|
1292
|
+
}), (c, l) => {
|
|
1286
1293
|
const X = q("el-scrollbar");
|
|
1287
|
-
return Y(), ae("div",
|
|
1294
|
+
return Y(), ae("div", xn, [
|
|
1288
1295
|
m("div", {
|
|
1289
1296
|
ref_key: "threejsContainer",
|
|
1290
1297
|
ref: n,
|
|
1291
1298
|
class: "threejs-container"
|
|
1292
1299
|
}, null, 512),
|
|
1293
|
-
m("div",
|
|
1294
|
-
|
|
1300
|
+
m("div", bn, [
|
|
1301
|
+
w(E, {
|
|
1295
1302
|
name: "viewReset",
|
|
1296
1303
|
size: "24",
|
|
1297
|
-
onClick:
|
|
1304
|
+
onClick: ot,
|
|
1298
1305
|
title: "重置"
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1306
|
+
}),
|
|
1307
|
+
w(E, {
|
|
1301
1308
|
name: "fangda",
|
|
1302
1309
|
size: "24",
|
|
1303
|
-
title: "放大"
|
|
1304
|
-
|
|
1305
|
-
|
|
1310
|
+
title: "放大",
|
|
1311
|
+
onClick: b(me)
|
|
1312
|
+
}, null, 8, ["onClick"]),
|
|
1313
|
+
w(E, {
|
|
1306
1314
|
name: "suoxiao",
|
|
1307
1315
|
size: "24",
|
|
1308
|
-
title: "缩小"
|
|
1309
|
-
|
|
1310
|
-
|
|
1316
|
+
title: "缩小",
|
|
1317
|
+
onClick: b(ve)
|
|
1318
|
+
}, null, 8, ["onClick"]),
|
|
1319
|
+
w(E, {
|
|
1311
1320
|
name: "lookAround",
|
|
1312
1321
|
size: "24",
|
|
1313
|
-
onClick: b(
|
|
1314
|
-
title: b(
|
|
1322
|
+
onClick: b(H),
|
|
1323
|
+
title: b(J) ? "停止动画" : "动画视图"
|
|
1315
1324
|
}, null, 8, ["onClick", "title"]),
|
|
1316
|
-
|
|
1325
|
+
w(E, {
|
|
1317
1326
|
name: "zuobiaoxi",
|
|
1318
1327
|
size: "24",
|
|
1319
|
-
active: b(
|
|
1320
|
-
onClick:
|
|
1328
|
+
active: b(h),
|
|
1329
|
+
onClick: Ze,
|
|
1321
1330
|
title: "显隐坐标轴"
|
|
1322
1331
|
}, null, 8, ["active"])
|
|
1323
1332
|
]),
|
|
1324
|
-
m("div",
|
|
1325
|
-
|
|
1326
|
-
|
|
1333
|
+
m("div", _n, [
|
|
1334
|
+
Le(c.$slots, "button-left", { switchRightPanel: he }, void 0, !0),
|
|
1335
|
+
w(E, {
|
|
1327
1336
|
name: "jiegoushu",
|
|
1328
1337
|
size: "24",
|
|
1329
|
-
onClick: l[0] || (l[0] = (
|
|
1330
|
-
active: d.value &&
|
|
1338
|
+
onClick: l[0] || (l[0] = (y) => he("场景树")),
|
|
1339
|
+
active: d.value && u.value === "场景树",
|
|
1331
1340
|
title: "场景树"
|
|
1332
1341
|
}, null, 8, ["active"]),
|
|
1333
|
-
|
|
1342
|
+
w(E, {
|
|
1334
1343
|
name: "clipping",
|
|
1335
1344
|
size: "24",
|
|
1336
|
-
onClick: l[1] || (l[1] = (
|
|
1337
|
-
active: d.value &&
|
|
1345
|
+
onClick: l[1] || (l[1] = (y) => he("剖面视图")),
|
|
1346
|
+
active: d.value && u.value === "剖面视图",
|
|
1338
1347
|
title: "剖面视图"
|
|
1339
1348
|
}, null, 8, ["active"])
|
|
1340
1349
|
]),
|
|
1341
|
-
m("div",
|
|
1342
|
-
|
|
1343
|
-
|
|
1350
|
+
m("div", Sn, [
|
|
1351
|
+
Le(c.$slots, "button-right", { switchRightPanel: ge }, void 0, !0),
|
|
1352
|
+
w(E, {
|
|
1344
1353
|
name: "guanjiekongzhi",
|
|
1345
1354
|
size: "24",
|
|
1346
|
-
onClick: l[2] || (l[2] = (
|
|
1355
|
+
onClick: l[2] || (l[2] = (y) => ge("关节控制")),
|
|
1347
1356
|
active: p.value && f.value === "关节控制",
|
|
1348
1357
|
title: "关节控制"
|
|
1349
1358
|
}, null, 8, ["active"]),
|
|
1350
|
-
|
|
1359
|
+
w(E, {
|
|
1351
1360
|
name: "donghuafangzhen",
|
|
1352
1361
|
size: "24",
|
|
1353
1362
|
title: "动画仿真",
|
|
1354
|
-
onClick: l[3] || (l[3] = (
|
|
1363
|
+
onClick: l[3] || (l[3] = (y) => ge("动画仿真")),
|
|
1355
1364
|
active: p.value && f.value === "动画仿真"
|
|
1356
1365
|
}, null, 8, ["active"])
|
|
1357
1366
|
]),
|
|
1358
|
-
m("div",
|
|
1359
|
-
|
|
1367
|
+
m("div", Cn, [
|
|
1368
|
+
w(E, {
|
|
1360
1369
|
name: "kuaitui",
|
|
1361
1370
|
size: "24",
|
|
1362
1371
|
backgroundColor: "#ffffff",
|
|
1363
1372
|
title: "快退",
|
|
1364
|
-
onClick:
|
|
1373
|
+
onClick: lt
|
|
1365
1374
|
}),
|
|
1366
|
-
|
|
1375
|
+
w(E, {
|
|
1367
1376
|
name: "bofang",
|
|
1368
1377
|
size: "24",
|
|
1369
1378
|
backgroundColor: "#ffffff",
|
|
1370
1379
|
title: "播放",
|
|
1371
|
-
onClick:
|
|
1380
|
+
onClick: st
|
|
1372
1381
|
}),
|
|
1373
|
-
|
|
1382
|
+
w(E, {
|
|
1374
1383
|
name: "kuaijin",
|
|
1375
1384
|
size: "24",
|
|
1376
1385
|
backgroundColor: "#ffffff",
|
|
1377
1386
|
title: "快进",
|
|
1378
|
-
onClick:
|
|
1387
|
+
onClick: rt
|
|
1379
1388
|
}),
|
|
1380
|
-
|
|
1389
|
+
w(E, {
|
|
1381
1390
|
name: "zanting",
|
|
1382
1391
|
size: "24",
|
|
1383
1392
|
backgroundColor: "#ffffff",
|
|
1384
1393
|
title: "暂停",
|
|
1385
|
-
onClick:
|
|
1394
|
+
onClick: at
|
|
1386
1395
|
})
|
|
1387
1396
|
]),
|
|
1388
|
-
I(m("div",
|
|
1389
|
-
m("div",
|
|
1390
|
-
m("span", null,
|
|
1397
|
+
I(m("div", zn, [
|
|
1398
|
+
m("div", An, [
|
|
1399
|
+
m("span", null, Z(u.value), 1),
|
|
1391
1400
|
m("span", {
|
|
1392
1401
|
class: "close",
|
|
1393
|
-
onClick: l[4] || (l[4] = (
|
|
1402
|
+
onClick: l[4] || (l[4] = (y) => d.value = !1)
|
|
1394
1403
|
}, " X ")
|
|
1395
1404
|
]),
|
|
1396
|
-
m("div",
|
|
1397
|
-
|
|
1398
|
-
default:
|
|
1399
|
-
|
|
1405
|
+
m("div", Un, [
|
|
1406
|
+
w(X, { height: "100%" }, {
|
|
1407
|
+
default: ue(() => [
|
|
1408
|
+
u.value === "场景树" ? (Y(), pt(Lt, {
|
|
1400
1409
|
key: 0,
|
|
1401
|
-
model:
|
|
1402
|
-
}, null, 8, ["model"])) :
|
|
1403
|
-
|
|
1404
|
-
m("div",
|
|
1405
|
-
m("label",
|
|
1410
|
+
model: v.value
|
|
1411
|
+
}, null, 8, ["model"])) : we("", !0),
|
|
1412
|
+
u.value === "剖面视图" ? (Y(), ae("div", En, [
|
|
1413
|
+
m("div", Mn, [
|
|
1414
|
+
m("label", Ln, [
|
|
1406
1415
|
I(m("input", {
|
|
1407
1416
|
type: "radio",
|
|
1408
1417
|
name: "clipping-axis",
|
|
1409
1418
|
value: "none",
|
|
1410
|
-
"onUpdate:modelValue": l[5] || (l[5] = (
|
|
1419
|
+
"onUpdate:modelValue": l[5] || (l[5] = (y) => ee(P) ? P.value = y : null),
|
|
1411
1420
|
onChange: l[6] || (l[6] = //@ts-ignore
|
|
1412
|
-
(...
|
|
1421
|
+
(...y) => b(O) && b(O)(...y))
|
|
1413
1422
|
}, null, 544), [
|
|
1414
|
-
[te, b(
|
|
1423
|
+
[te, b(P)]
|
|
1415
1424
|
]),
|
|
1416
1425
|
l[14] || (l[14] = m("span", { class: "radio-text" }, "无切割", -1))
|
|
1417
1426
|
]),
|
|
1418
|
-
m("label",
|
|
1427
|
+
m("label", Pn, [
|
|
1419
1428
|
I(m("input", {
|
|
1420
1429
|
type: "radio",
|
|
1421
1430
|
name: "clipping-axis",
|
|
1422
1431
|
value: "x",
|
|
1423
|
-
"onUpdate:modelValue": l[7] || (l[7] = (
|
|
1432
|
+
"onUpdate:modelValue": l[7] || (l[7] = (y) => ee(P) ? P.value = y : null),
|
|
1424
1433
|
onChange: l[8] || (l[8] = //@ts-ignore
|
|
1425
|
-
(...
|
|
1434
|
+
(...y) => b(O) && b(O)(...y))
|
|
1426
1435
|
}, null, 544), [
|
|
1427
|
-
[te, b(
|
|
1436
|
+
[te, b(P)]
|
|
1428
1437
|
]),
|
|
1429
1438
|
l[15] || (l[15] = m("span", { class: "radio-text" }, "X轴切割", -1))
|
|
1430
1439
|
]),
|
|
1431
|
-
m("label",
|
|
1440
|
+
m("label", Tn, [
|
|
1432
1441
|
I(m("input", {
|
|
1433
1442
|
type: "radio",
|
|
1434
1443
|
name: "clipping-axis",
|
|
1435
1444
|
value: "y",
|
|
1436
|
-
"onUpdate:modelValue": l[9] || (l[9] = (
|
|
1445
|
+
"onUpdate:modelValue": l[9] || (l[9] = (y) => ee(P) ? P.value = y : null),
|
|
1437
1446
|
onChange: l[10] || (l[10] = //@ts-ignore
|
|
1438
|
-
(...
|
|
1447
|
+
(...y) => b(O) && b(O)(...y))
|
|
1439
1448
|
}, null, 544), [
|
|
1440
|
-
[te, b(
|
|
1449
|
+
[te, b(P)]
|
|
1441
1450
|
]),
|
|
1442
1451
|
l[16] || (l[16] = m("span", { class: "radio-text" }, "Y轴切割", -1))
|
|
1443
1452
|
]),
|
|
1444
|
-
m("label",
|
|
1453
|
+
m("label", kn, [
|
|
1445
1454
|
I(m("input", {
|
|
1446
1455
|
type: "radio",
|
|
1447
1456
|
name: "clipping-axis",
|
|
1448
1457
|
value: "z",
|
|
1449
|
-
"onUpdate:modelValue": l[11] || (l[11] = (
|
|
1458
|
+
"onUpdate:modelValue": l[11] || (l[11] = (y) => ee(P) ? P.value = y : null),
|
|
1450
1459
|
onChange: l[12] || (l[12] = //@ts-ignore
|
|
1451
|
-
(...
|
|
1460
|
+
(...y) => b(O) && b(O)(...y))
|
|
1452
1461
|
}, null, 544), [
|
|
1453
|
-
[te, b(
|
|
1462
|
+
[te, b(P)]
|
|
1454
1463
|
]),
|
|
1455
1464
|
l[17] || (l[17] = m("span", { class: "radio-text" }, "Z轴切割", -1))
|
|
1456
1465
|
])
|
|
1457
1466
|
])
|
|
1458
|
-
])) :
|
|
1467
|
+
])) : we("", !0)
|
|
1459
1468
|
]),
|
|
1460
1469
|
_: 1
|
|
1461
1470
|
})
|
|
@@ -1463,21 +1472,21 @@ const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft
|
|
|
1463
1472
|
], 512), [
|
|
1464
1473
|
[ne, d.value]
|
|
1465
1474
|
]),
|
|
1466
|
-
I(m("div",
|
|
1467
|
-
m("div",
|
|
1468
|
-
m("span", null,
|
|
1475
|
+
I(m("div", Bn, [
|
|
1476
|
+
m("div", Dn, [
|
|
1477
|
+
m("span", null, Z(f.value), 1),
|
|
1469
1478
|
m("span", {
|
|
1470
1479
|
class: "close",
|
|
1471
|
-
onClick: l[13] || (l[13] = (
|
|
1480
|
+
onClick: l[13] || (l[13] = (y) => p.value = !1)
|
|
1472
1481
|
}, " X ")
|
|
1473
1482
|
]),
|
|
1474
|
-
m("div",
|
|
1475
|
-
|
|
1476
|
-
default:
|
|
1477
|
-
I(
|
|
1483
|
+
m("div", Fn, [
|
|
1484
|
+
w(X, { height: "100%" }, {
|
|
1485
|
+
default: ue(() => [
|
|
1486
|
+
I(w(Pt, { model: v.value }, null, 8, ["model"]), [
|
|
1478
1487
|
[ne, f.value === "关节控制"]
|
|
1479
1488
|
]),
|
|
1480
|
-
I(
|
|
1489
|
+
I(w(qt, {
|
|
1481
1490
|
ref_key: "animationPanelRef",
|
|
1482
1491
|
ref: a,
|
|
1483
1492
|
cloud: b(j),
|
|
@@ -1493,14 +1502,14 @@ const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft
|
|
|
1493
1502
|
], 512), [
|
|
1494
1503
|
[ne, p.value]
|
|
1495
1504
|
]),
|
|
1496
|
-
s.value ? (Y(), ae("div",
|
|
1505
|
+
s.value ? (Y(), ae("div", On, [
|
|
1497
1506
|
l[18] || (l[18] = m("div", { class: "loading-spinner" }, null, -1)),
|
|
1498
|
-
m("p", null,
|
|
1499
|
-
])) :
|
|
1507
|
+
m("p", null, Z(r.value), 1)
|
|
1508
|
+
])) : we("", !0)
|
|
1500
1509
|
]);
|
|
1501
1510
|
};
|
|
1502
1511
|
}
|
|
1503
|
-
}),
|
|
1512
|
+
}), Yn = /* @__PURE__ */ Ge(jn, [["__scopeId", "data-v-14459d17"]]);
|
|
1504
1513
|
export {
|
|
1505
|
-
|
|
1514
|
+
Yn as default
|
|
1506
1515
|
};
|