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.
Files changed (97) hide show
  1. package/dist/MTLLoader-B4z0XNO-.js +304 -0
  2. package/dist/MTLLoader-n_3HPhif.cjs +2 -0
  3. package/dist/OBJLoader-C_JaUegI.cjs +5 -0
  4. package/dist/OBJLoader-Dilcv9TL.js +356 -0
  5. package/dist/{OrbitControls-B85G8nPk.cjs → OrbitControls-8LBwRzcq.cjs} +1 -1
  6. package/dist/{OrbitControls-DFhYzlF3.js → OrbitControls-Cz47Q27N.js} +1 -1
  7. package/dist/{animationData-DfKVkFbz.js → animationData-C8lM4zZj.js} +1 -1
  8. package/dist/{animationData-DxBvEqB1.cjs → animationData-CKcPDmLp.cjs} +1 -1
  9. package/dist/{iconfont-C7kE-QbU.cjs → iconfont-B1cUqs_N.cjs} +1 -1
  10. package/dist/{iconfont-WOKNi2xx.js → iconfont-CUWS5tNH.js} +2 -2
  11. package/dist/{index-D0hovh9R.cjs → index-2hqZ_tND.cjs} +1 -1
  12. package/dist/{index-331j518H.cjs → index-AuEh0RiU.cjs} +1 -1
  13. package/dist/{index-D_igus4A.cjs → index-B2UPNwqJ.cjs} +1 -1
  14. package/dist/{index-BYk9Fb6p.js → index-BCvmfE-Q.js} +3 -3
  15. package/dist/{index-DeOwZgqL.js → index-BDw8DIQx.js} +130 -130
  16. package/dist/{index-CqI3frdZ.js → index-BPv8txj6.js} +6 -6
  17. package/dist/{index-DgZVeYqH.js → index-BQaejVqo.js} +1 -1
  18. package/dist/{index-DSPjcpWK.cjs → index-Ba16ouw0.cjs} +1 -1
  19. package/dist/{index-D_RGoDln.js → index-BaSO3EEl.js} +3 -3
  20. package/dist/{index-DHZMd8iK.cjs → index-BdSiNUC0.cjs} +1 -1
  21. package/dist/{index-BDxPlbe2.cjs → index-BfU8GMj1.cjs} +1 -1
  22. package/dist/{index-Cppt0AsF.cjs → index-BjKKDSDx.cjs} +1 -1
  23. package/dist/{index-C-dlFxRJ.cjs → index-BqgfejIC.cjs} +1 -1
  24. package/dist/{index-BODyH6MD.js → index-BxONUPjM.js} +1 -1
  25. package/dist/{index-BFzMf0GC.js → index-Byp3gJNW.js} +1 -1
  26. package/dist/{index-DJ6qg2Mo.js → index-C7ZsHeLt.js} +3 -3
  27. package/dist/{index-B-AhHUV1.js → index-C9p_wwJ7.js} +6 -6
  28. package/dist/{index-BoTiP0aV.js → index-CKlt750z.js} +1 -1
  29. package/dist/{index-CQRJ3pLh.cjs → index-CQwDw3-2.cjs} +1 -1
  30. package/dist/{index-hhS08X8b.js → index-CR1Ng5ip.js} +3 -3
  31. package/dist/{index-D6u590uA.cjs → index-CZIqVNof.cjs} +1 -1
  32. package/dist/{index-iErxMZBi.cjs → index-C_208RkZ.cjs} +1 -1
  33. package/dist/{index-S1LIIzCa.cjs → index-CqZ1E-Mt.cjs} +1 -1
  34. package/dist/{index-DHjtOySN.js → index-CrNsPd4D.js} +2 -2
  35. package/dist/{index-DrzK0O_g.cjs → index-CvQCAGWI.cjs} +1 -1
  36. package/dist/{index-Cnk_4Zz5.cjs → index-CyCcPnZb.cjs} +1 -1
  37. package/dist/{index-BI7g3c_u.js → index-CyE5qCBb.js} +13 -13
  38. package/dist/{index-DHBoRe9V.cjs → index-D32pAhQk.cjs} +1 -1
  39. package/dist/{index-DRfVnLTN.js → index-DAUjjqaD.js} +391 -391
  40. package/dist/{index-DbDM-XfB.cjs → index-DQTlc6Gq.cjs} +1 -1
  41. package/dist/{index-B_zjoT4m.js → index-DTilOAv_.js} +2 -2
  42. package/dist/{index-_PP-dSm3.cjs → index-D_22J0ok.cjs} +1 -1
  43. package/dist/{index-iZ9BRKg5.js → index-DboUMA_C.js} +1 -1
  44. package/dist/{index-BXv3aZ7v.js → index-DgMQpO6g.js} +1 -1
  45. package/dist/{index-CPAXrzNY.cjs → index-Dh6GqpZF.cjs} +1 -1
  46. package/dist/{index-CZPnP0uy.cjs → index-DhqEoDPT.cjs} +1 -1
  47. package/dist/{index-CeGM8aBH.js → index-DlwlGkyt.js} +2 -2
  48. package/dist/{index-6sZXjGGz.cjs → index-DtDmxPdD.cjs} +1 -1
  49. package/dist/{index-kLDMroPk.js → index-GxmJC9kr.js} +1 -1
  50. package/dist/{index-CLOUp_4j.cjs → index-XKn5AuYT.cjs} +1 -1
  51. package/dist/{index-Cr5if46q.js → index-mEKMjplD.js} +1 -1
  52. package/dist/{index-Bhha7SY3.js → index-vglZ0qjT.js} +1 -1
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. package/dist/loaderUtil-B0djdt91.js +5 -0
  62. package/dist/loaderUtil-CaWWb8db.cjs +1 -0
  63. package/dist/{main-Z5UMyCj6.js → main-DHx-3OSy.js} +2 -2
  64. package/dist/{main-B541MQH8.cjs → main-DS156sQ4.cjs} +1 -1
  65. package/dist/ss-component.cjs +1 -1
  66. package/dist/ss-component.css +1 -1
  67. package/dist/ss-component.js +9 -9
  68. package/dist/ss-component2.cjs +1 -1
  69. package/dist/ss-component2.js +10 -10
  70. package/dist/{threeModel-tKq0hvaK.cjs → threeModel-CfIK1rQB.cjs} +1 -1
  71. package/dist/{threeModel-BcjGbIJZ.js → threeModel-WYCdw_Ff.js} +4 -4
  72. package/dist/{threePreview-BnPMGQ2H.js → threePreview-C29AR7Mr.js} +310 -305
  73. package/dist/threePreview-Ci8TnUQ8.cjs +1 -0
  74. package/dist/{threeSceneView-DVUTlm6F.cjs → threeSceneView-C2MDCMux.cjs} +2 -2
  75. package/dist/{threeSceneView-BUD002PP.js → threeSceneView-F15mW1mm.js} +7 -7
  76. package/dist/threeSceneViewForCPMPIP-DK4G_ZpP.js +687 -0
  77. package/dist/threeSceneViewForCPMPIP-DuPZn_qv.cjs +5 -0
  78. package/dist/threeTrackPathView-C4eBUMef.cjs +370 -0
  79. package/dist/{threeTrackPathView-DDCEu3Gx.js → threeTrackPathView-DMj6YGxT.js} +436 -427
  80. package/dist/{threeViewerHost-BVeUteVd.js → threeViewerHost-C9ipsMff.js} +2 -2
  81. package/dist/{threeViewerHost-Sda_AoRw.cjs → threeViewerHost-CW6JmOUJ.cjs} +2 -2
  82. package/dist/{urdfTree-Br9VYqKp.cjs → urdfTree-CTiMB7ge.cjs} +1 -1
  83. package/dist/{urdfTree-DaWvX-6R.js → urdfTree-DGEACy9-.js} +1 -1
  84. package/dist/{workpieceTreePanel-BdRaFNRp.js → workpieceTreePanel-C1gy5a8r.js} +53 -52
  85. package/dist/workpieceTreePanel-Ded0Gqke.cjs +1 -0
  86. package/package.json +1 -1
  87. package/dist/MTLLoader-DnouUI-8.js +0 -657
  88. package/dist/MTLLoader-zZDM0NQh.cjs +0 -6
  89. package/dist/obj/model.mtl +0 -42
  90. package/dist/obj/model.obj +0 -26110
  91. package/dist/threePreview-DD0br2ae.cjs +0 -1
  92. package/dist/threeSceneViewForCPMPIP-BYYbyqD7.cjs +0 -5
  93. package/dist/threeSceneViewForCPMPIP-D4RC4BAo.js +0 -683
  94. package/dist/threeTrackPathView-BvUihuyk.cjs +0 -370
  95. package/dist/workpieceTreePanel-Z3aVdOWB.cjs +0 -1
  96. package/public/obj/model.mtl +0 -42
  97. package/public/obj/model.obj +0 -26110
@@ -1,153 +1,22 @@
1
- import { defineComponent as ke, computed as R, ref as M, resolveComponent as q, createElementBlock as ae, openBlock as Y, createElementVNode as m, createVNode as y, withCtx as ce, toDisplayString as K, shallowRef as Q, watch as lt, onMounted as ct, onBeforeUnmount as ut, withDirectives as I, createCommentVNode as ge, unref as b, renderSlot as Ae, createBlock as dt, isRef as ee, vModelRadio as te, vShow as ne } from "vue";
2
- import { u as ft, a as pt, b as mt, f as ht, d as Ue } from "./iconfont-WOKNi2xx.js";
3
- import { C as ue, k as Be, aE as vt, v as gt, V as w, aF as yt, aG as be, aH as _e, av as H, aI as wt, B as fe, aD as De, aJ as xt, aK as re, aL as Fe, Y as Oe, aM as le, aN as J, aO as bt, r as _t, s as je, t as St, w as zt, a5 as Ct, ag as At, ao as Ut } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-3GcG1eTD.js";
4
- import { r as Et } from "./threeViewerHost-BVeUteVd.js";
5
- import { E as Z } from "./index-BUYYl2Pc.js";
6
- import { U as Mt, J as Lt } from "./urdfTree-DaWvX-6R.js";
7
- import { _ as Ie } from "./_plugin-vue_export-helper-CHgC5LLL.js";
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 Tt } from "./isString-BATKat46.js";
10
- function Pt(o = 0.5, e = 4) {
11
- const t = new Be(
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 be(e, 3)), this.setAttribute("uv", new be(t, 2));
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 _e(t, 6, 1);
173
- return this.setAttribute("instanceStart", new H(i, 3, 0)), this.setAttribute("instanceEnd", new H(i, 3, 3)), this.instanceCount = this.attributes.instanceStart.count, this.computeBoundingBox(), this.computeBoundingSphere(), this;
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 _e(t, 6, 1);
186
- return this.setAttribute("instanceColorStart", new H(i, 3, 0)), this.setAttribute("instanceColorEnd", new H(i, 3, 3)), this;
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 fe());
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), Ee.setFromBufferAttribute(t), this.boundingBox.union(Ee));
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 De()), this.boundingBox === null && this.computeBoundingBox();
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 Oe(1, 1) },
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: Fe.merge([
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 Se extends xt {
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: Fe.clone(re.line.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 ye = new J(), Me = new w(), Le = new w(), _ = new J(), S = new J(), k = new J(), we = new w(), xe = new _t(), z = new bt(), Te = new w(), oe = new fe(), se = new De(), B = new J();
796
- let D, W;
797
- function Pe(o, e, t) {
798
- return B.set(0, 0, -e, 1).applyMatrix4(o.projectionMatrix), B.multiplyScalar(1 / B.w), B.x = W / t.width, B.y = W / t.height, B.applyMatrix4(o.projectionMatrixInverse), B.multiplyScalar(1 / B.w), Math.abs(Math.max(B.x, B.y));
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 Gt(o, e) {
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 c = new w(), p = new w();
805
- D.distanceSqToSegment(z.start, z.end, p, c), p.distanceTo(c) < W * 0.5 && e.push({
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: c,
808
- distance: D.origin.distanceTo(p),
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 Rt(o, e, t) {
818
- const i = e.projectionMatrix, s = o.material.resolution, r = o.matrixWorld, a = o.geometry, d = a.attributes.instanceStart, c = a.attributes.instanceEnd, p = Math.min(a.instanceCount, d.count), f = -e.near;
819
- D.at(1, k), k.w = 1, k.applyMatrix4(e.matrixWorldInverse), k.applyMatrix4(i), k.multiplyScalar(1 / k.w), k.x *= s.x / 2, k.y *= s.y / 2, k.z = 0, we.copy(k), xe.multiplyMatrices(e.matrixWorldInverse, r);
820
- for (let h = 0, A = p; h < A; h++) {
821
- if (_.fromBufferAttribute(d, h), S.fromBufferAttribute(c, h), _.w = 1, S.w = 1, _.applyMatrix4(xe), S.applyMatrix4(xe), _.z > f && S.z > f)
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 (_.z > f) {
824
- const U = _.z - S.z, T = (_.z - f) / U;
825
- _.lerp(S, T);
826
- } else if (S.z > f) {
827
- const U = S.z - _.z, T = (S.z - f) / U;
828
- S.lerp(_, T);
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
- _.applyMatrix4(i), S.applyMatrix4(i), _.multiplyScalar(1 / _.w), S.multiplyScalar(1 / S.w), _.x *= s.x / 2, _.y *= s.y / 2, S.x *= s.x / 2, S.y *= s.y / 2, z.start.copy(_), z.start.z = 0, z.end.copy(S), z.end.z = 0;
831
- const P = z.closestPointToPointParameter(we, !0);
832
- z.at(P, Te);
833
- const v = je.lerp(_.z, S.z, P), x = v >= -1 && v <= 1, C = we.distanceTo(Te) < W * 0.5;
834
- if (x && C) {
835
- z.start.fromBufferAttribute(d, h), z.end.fromBufferAttribute(c, h), z.start.applyMatrix4(r), z.end.applyMatrix4(r);
836
- const U = new w(), T = new w();
837
- D.distanceSqToSegment(z.start, z.end, T, U), t.push({
838
- point: T,
839
- pointOnLine: U,
840
- distance: D.origin.distanceTo(T),
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: h,
712
+ faceIndex: v,
844
713
  uv: null,
845
714
  uv1: null
846
715
  });
847
716
  }
848
717
  }
849
718
  }
850
- class Ht extends Be {
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 Ne(), t = new Se({ color: Math.random() * 16777215 })) {
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
- Me.fromBufferAttribute(t, r), Le.fromBufferAttribute(i, r), n[a] = a === 0 ? 0 : n[a - 1], n[a + 1] = n[a] + Me.distanceTo(Le);
871
- const s = new _e(n, 2, 1);
872
- return e.setAttribute("instanceDistanceStart", new H(s, 1, 0)), e.setAttribute("instanceDistanceEnd", new H(s, 1, 1)), this;
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
- D = e.ray;
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 c;
756
+ let u;
888
757
  if (i)
889
- c = W * 0.5;
758
+ u = W * 0.5;
890
759
  else {
891
- const f = Math.max(n.near, se.distanceToPoint(D.origin));
892
- c = Pe(n, f, d.resolution);
760
+ const f = Math.max(n.near, se.distanceToPoint(F.origin));
761
+ u = Fe(n, f, d.resolution);
893
762
  }
894
- if (se.radius += c, D.intersectsSphere(se) === !1)
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(D.origin));
902
- p = Pe(n, f, d.resolution);
770
+ const f = Math.max(n.near, oe.distanceToPoint(F.origin));
771
+ p = Fe(n, f, d.resolution);
903
772
  }
904
- oe.expandByScalar(p), D.intersectsBox(oe) !== !1 && (i ? Gt(this, t) : Rt(this, n, t));
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(ye), this.material.uniforms.resolution.value.set(ye.z, ye.w));
777
+ t && t.resolution && (e.getViewport(xe), this.material.uniforms.resolution.value.set(xe.z, xe.w));
909
778
  }
910
779
  }
911
- class We extends Ne {
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 $t extends Ht {
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 We(), t = new Se({ color: Math.random() * 16777215 })) {
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 Xt(o) {
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 de(o, e, t) {
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 qt(o) {
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 c = s[d], p = t.find((f) => f === c);
1009
+ const u = s[d], p = t.find((f) => f === u);
1009
1010
  if (p) {
1010
- r && de(r, n, a), a = "", r = p;
1011
+ r && fe(r, n, a), a = "", r = p;
1011
1012
  continue;
1012
1013
  }
1013
- a = a + c;
1014
+ a = a + u;
1014
1015
  }
1015
- de(r, n, a), e.push(n.x, n.y, n.z);
1016
+ fe(r, n, a), e.push(n.x, n.y, n.z);
1016
1017
  }), e;
1017
1018
  }
1018
- const Yt = (o) => o == null ? void 0 : o.filter((t) => t.includes("=")), Zt = (o) => o.replace(/,/g, ""), Kt = (o) => o == null ? void 0 : o.map((t) => Zt(t)), Jt = (o) => {
1019
- const e = Yt(o);
1020
- return Kt(e);
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 Qt(o) {
1023
- const e = Jt(o), t = [];
1023
+ function tn(o) {
1024
+ const e = en(o), t = [];
1024
1025
  return e.forEach((i) => {
1025
- var f, h, A, F, P, v;
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 = (h = r == null ? void 0 : r.trim) == null ? void 0 : h.call(r), a = (A = a == null ? void 0 : a.trim) == null ? void 0 : A.call(a);
1028
- const [, d] = (F = s == null ? void 0 : s.split) == null ? void 0 : F.call(s, "="), [, c] = (P = r == null ? void 0 : r.split) == null ? void 0 : P.call(r, "="), [, p] = (v = a == null ? void 0 : a.split) == null ? void 0 : v.call(a, "=");
1029
- t.push(+d, +c, +p);
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 en = (o) => o >= "0" && o <= "9", tn = (o) => o === "+" || o === "-", nn = (o) => o === ".";
1033
- function on(o) {
1034
- return en(o) || tn(o) || nn(o);
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 sn(o) {
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 c = s[d], p = t.has(c) ? c : null, f = on(c);
1049
+ const u = s[d], p = t.has(u) ? u : null, f = an(u);
1049
1050
  if (p || !f) {
1050
- r && de(r, n, a), p ? r = p : r = null, a = "";
1051
+ r && fe(r, n, a), r = p, a = "";
1051
1052
  continue;
1052
1053
  }
1053
- a = a + c;
1054
+ a = a + u;
1054
1055
  }
1055
- r && de(r, n, a), e.push(n.x, n.y, n.z);
1056
+ r && fe(r, n, a), e.push(n.x, n.y, n.z);
1056
1057
  }), e;
1057
1058
  }
1058
- function an(o) {
1059
+ function ln(o) {
1059
1060
  return o == null ? void 0 : o.includes("=");
1060
1061
  }
1061
- async function rn(o) {
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 (an(o))
1065
- return Qt(e);
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 Xt(e);
1069
+ return Yt(e);
1069
1070
  if ((i == null ? void 0 : i.length) === 1)
1070
- return qt(e);
1071
+ return Zt(e);
1071
1072
  }
1072
- async function ln(o) {
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 cn(o) {
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 un(o) {
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
- }), sn(e);
1098
+ }), rn(e);
1098
1099
  }
1099
- async function dn(o, e) {
1100
+ async function pn(o, e) {
1100
1101
  const { isCyd: t, isUv: i, isCpt: n, isNc: s } = e;
1101
- return i ? rn(o) : t ? cn(o) : n ? ln(o) : s ? un(o) : [];
1102
+ return i ? cn(o) : t ? dn(o) : n ? un(o) : s ? fn(o) : [];
1102
1103
  }
1103
- function fn(o) {
1104
+ function mn(o) {
1104
1105
  const e = [];
1105
1106
  for (let t = 0; t < o.length; t += 3)
1106
- e.push(new w(o[t], o[t + 1], o[t + 2]));
1107
+ e.push(new x(o[t], o[t + 1], o[t + 2]));
1107
1108
  return e;
1108
1109
  }
1109
- function pn(o, e) {
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 h = 0; h < e.length; h += 3)
1117
- r.push(new w(e[h], e[h + 1], e[h + 2]));
1118
- const d = new St(r, !1, "catmullrom", 0.5).getPoints(150).flatMap((h) => [h.x, h.y, h.z]), c = new We();
1119
- c.setPositions(d);
1120
- const p = new Se({
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 Oe(window.innerWidth, window.innerHeight)
1125
- }), f = new $t(c, p);
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 mn(o, e, t, i = 4, n = 50) {
1129
- let s = 1 / 0, r = -1 / 0, a = 1 / 0, d = -1 / 0, c = 1 / 0, p = -1 / 0;
1130
- for (let v = 0; v < o.length; v += 3) {
1131
- const x = o[v], C = o[v + 1], U = o[v + 2];
1132
- s = Math.min(s, x), r = Math.max(r, x), a = Math.min(a, C), d = Math.max(d, C), c = Math.min(c, U), p = Math.max(p, U);
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 h = Math.sqrt((r - s) ** 2 + (d - a) ** 2 + (p - c) ** 2) * 0.05, A = je.degToRad(e.fov), F = 2 * Math.tan(A / 2) * n, P = h / F * t.domElement.height * (i / 4);
1135
- return Math.min(0.4, P);
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 hn(o) {
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 be(o, 3));
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 Ct(t, 3));
1146
- const i = new At({
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 Ut(e, i);
1152
+ }), n = new Et(e, i);
1152
1153
  return i.needsUpdate = !0, n;
1153
1154
  }
1154
- function vn(o, e) {
1155
- const t = new fe().setFromArray(e), i = [
1156
- new w(t.min.x, t.min.y, t.min.z),
1157
- new w(t.max.x, t.min.y, t.min.z),
1158
- new w(t.min.x, t.max.y, t.min.z),
1159
- new w(t.min.x, t.min.y, t.max.z),
1160
- new w(t.max.x, t.max.y, t.min.z),
1161
- new w(t.max.x, t.min.y, t.max.z),
1162
- new w(t.min.x, t.max.y, t.max.z),
1163
- new w(t.max.x, t.max.y, t.max.z)
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 gn(o, e) {
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 = hn(e);
1177
+ const r = gn(e);
1177
1178
  if (!r)
1178
1179
  return;
1179
1180
  r.name = "轨迹路径", t.add(r);
1180
- const a = mn(e, i, n, 0.1, 50);
1181
+ const a = hn(e, i, n, 0.1, 50);
1181
1182
  r.material.size = a;
1182
- const d = vn(i, e);
1183
+ const d = yn(i, e);
1183
1184
  return i.far = d * 1.2, i.updateProjectionMatrix(), r;
1184
1185
  }
1185
- const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft" }, xn = { class: "buttonGroup-left" }, bn = { class: "buttonGroup-right" }, _n = { class: "buttonGroup-bottom" }, Sn = { class: "left-panel" }, zn = { class: "panel-header" }, Cn = { class: "panel-body" }, An = {
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
- }, Un = { class: "radio-group" }, En = { class: "radio-label" }, Mn = { class: "radio-label" }, Ln = { class: "radio-label" }, Tn = { class: "radio-label" }, Pn = { class: "right-panel" }, kn = { class: "panel-header" }, Bn = { class: "panel-body" }, Dn = {
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
- }, Fn = /* @__PURE__ */ ke({
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), c = M(""), p = M(!1), f = M(""), h = Q(null), A = Q(null), {
1201
- currentModels: F,
1202
- resetView: P,
1203
- initThreeJS: v,
1204
- handleResize: x,
1205
- getThreeJSObjects: C,
1206
- cleanup: U,
1207
- axesHelperVisible: T,
1208
- toggleAxesVisibility: pe
1209
- } = ft(n), { isAnimating: G, toggleAnimation: Ge, stopAnimation: Re } = pt(C, F), { isClipping: He, activeClippingAxis: L, toggleClipping: $e, updateClippingPlanes: O } = mt(C, F), Xe = () => {
1210
- pe();
1211
- }, me = (u) => {
1212
- d.value = !0, c.value = u, u === "剖面视图" && !He.value && $e();
1213
- }, he = (u) => {
1214
- p.value = !0, f.value = u, u === "动画仿真" && t("getAnimationData");
1215
- }, ve = M([]), $ = M([]), qe = R(() => {
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
- }), Ye = R(() => {
1220
+ }), Je = G(() => {
1219
1221
  var l;
1220
1222
  return (l = i.trackFileType) == null ? void 0 : l.isCyd;
1221
- }), Ze = R(() => {
1223
+ }), Qe = G(() => {
1222
1224
  var l;
1223
1225
  return (l = i.trackFileType) == null ? void 0 : l.isCpt;
1224
- }), V = R(() => {
1226
+ }), V = G(() => {
1225
1227
  var l;
1226
1228
  return (l = i.trackFileType) == null ? void 0 : l.isNc;
1227
- }), Ke = R(() => {
1228
- const u = i.fileBlobs || [];
1229
- return u == null ? void 0 : u[0];
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 Je = () => {
1233
- const { scene: u } = C();
1234
- j.value && u && (Ue(j.value, u), j.value = null);
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
- var u, l;
1250
- N.value = Pt(), $.value = fn(ve.value), $.value && $.value.length && (Ve(N.value, $.value[0], j.value, new ue(16711680)), (l = (u = A.value) == null ? void 0 : u.add) == null || l.call(u, 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
- lt(() => Ke.value, async (u) => {
1253
- u && (ze(), await et(u), V.value && tt());
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 nt = () => {
1259
- var u;
1260
- V.value && ((u = a == null ? void 0 : a.value) == null || u.playAnimation());
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
- v(), window.addEventListener("resize", x);
1272
- const u = C();
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
- window.removeEventListener("resize", x), G.value && Re(), ze(), U();
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 ct(async () => {
1284
+ return dt(async () => {
1278
1285
  try {
1279
- at();
1280
- } catch (u) {
1281
- console.error("Three.js 初始化失败:", u), Z.error("渲染引擎初始化失败!");
1286
+ ct();
1287
+ } catch (c) {
1288
+ console.error("Three.js 初始化失败:", c), ce.error("渲染引擎初始化失败!");
1282
1289
  }
1283
- }), ut(() => {
1284
- rt();
1285
- }), (u, l) => {
1290
+ }), ft(() => {
1291
+ ut();
1292
+ }), (c, l) => {
1286
1293
  const X = q("el-scrollbar");
1287
- return Y(), ae("div", yn, [
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", wn, [
1294
- y(E, {
1300
+ m("div", bn, [
1301
+ w(E, {
1295
1302
  name: "viewReset",
1296
1303
  size: "24",
1297
- onClick: b(P),
1304
+ onClick: ot,
1298
1305
  title: "重置"
1299
- }, null, 8, ["onClick"]),
1300
- y(E, {
1306
+ }),
1307
+ w(E, {
1301
1308
  name: "fangda",
1302
1309
  size: "24",
1303
- title: "放大"
1304
- }),
1305
- y(E, {
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
- y(E, {
1316
+ title: "缩小",
1317
+ onClick: b(ve)
1318
+ }, null, 8, ["onClick"]),
1319
+ w(E, {
1311
1320
  name: "lookAround",
1312
1321
  size: "24",
1313
- onClick: b(Ge),
1314
- title: b(G) ? "停止动画" : "动画视图"
1322
+ onClick: b(H),
1323
+ title: b(J) ? "停止动画" : "动画视图"
1315
1324
  }, null, 8, ["onClick", "title"]),
1316
- y(E, {
1325
+ w(E, {
1317
1326
  name: "zuobiaoxi",
1318
1327
  size: "24",
1319
- active: b(T),
1320
- onClick: Xe,
1328
+ active: b(h),
1329
+ onClick: Ze,
1321
1330
  title: "显隐坐标轴"
1322
1331
  }, null, 8, ["active"])
1323
1332
  ]),
1324
- m("div", xn, [
1325
- Ae(u.$slots, "button-left", { switchRightPanel: me }, void 0, !0),
1326
- y(E, {
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] = (g) => me("场景树")),
1330
- active: d.value && c.value === "场景树",
1338
+ onClick: l[0] || (l[0] = (y) => he("场景树")),
1339
+ active: d.value && u.value === "场景树",
1331
1340
  title: "场景树"
1332
1341
  }, null, 8, ["active"]),
1333
- y(E, {
1342
+ w(E, {
1334
1343
  name: "clipping",
1335
1344
  size: "24",
1336
- onClick: l[1] || (l[1] = (g) => me("剖面视图")),
1337
- active: d.value && c.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", bn, [
1342
- Ae(u.$slots, "button-right", { switchRightPanel: he }, void 0, !0),
1343
- y(E, {
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] = (g) => he("关节控制")),
1355
+ onClick: l[2] || (l[2] = (y) => ge("关节控制")),
1347
1356
  active: p.value && f.value === "关节控制",
1348
1357
  title: "关节控制"
1349
1358
  }, null, 8, ["active"]),
1350
- y(E, {
1359
+ w(E, {
1351
1360
  name: "donghuafangzhen",
1352
1361
  size: "24",
1353
1362
  title: "动画仿真",
1354
- onClick: l[3] || (l[3] = (g) => he("动画仿真")),
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", _n, [
1359
- y(E, {
1367
+ m("div", Cn, [
1368
+ w(E, {
1360
1369
  name: "kuaitui",
1361
1370
  size: "24",
1362
1371
  backgroundColor: "#ffffff",
1363
1372
  title: "快退",
1364
- onClick: st
1373
+ onClick: lt
1365
1374
  }),
1366
- y(E, {
1375
+ w(E, {
1367
1376
  name: "bofang",
1368
1377
  size: "24",
1369
1378
  backgroundColor: "#ffffff",
1370
1379
  title: "播放",
1371
- onClick: nt
1380
+ onClick: st
1372
1381
  }),
1373
- y(E, {
1382
+ w(E, {
1374
1383
  name: "kuaijin",
1375
1384
  size: "24",
1376
1385
  backgroundColor: "#ffffff",
1377
1386
  title: "快进",
1378
- onClick: ot
1387
+ onClick: rt
1379
1388
  }),
1380
- y(E, {
1389
+ w(E, {
1381
1390
  name: "zanting",
1382
1391
  size: "24",
1383
1392
  backgroundColor: "#ffffff",
1384
1393
  title: "暂停",
1385
- onClick: it
1394
+ onClick: at
1386
1395
  })
1387
1396
  ]),
1388
- I(m("div", Sn, [
1389
- m("div", zn, [
1390
- m("span", null, K(c.value), 1),
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] = (g) => d.value = !1)
1402
+ onClick: l[4] || (l[4] = (y) => d.value = !1)
1394
1403
  }, " X ")
1395
1404
  ]),
1396
- m("div", Cn, [
1397
- y(X, { height: "100%" }, {
1398
- default: ce(() => [
1399
- c.value === "场景树" ? (Y(), dt(Mt, {
1405
+ m("div", Un, [
1406
+ w(X, { height: "100%" }, {
1407
+ default: ue(() => [
1408
+ u.value === "场景树" ? (Y(), pt(Lt, {
1400
1409
  key: 0,
1401
- model: h.value
1402
- }, null, 8, ["model"])) : ge("", !0),
1403
- c.value === "剖面视图" ? (Y(), ae("div", An, [
1404
- m("div", Un, [
1405
- m("label", En, [
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] = (g) => ee(L) ? L.value = g : null),
1419
+ "onUpdate:modelValue": l[5] || (l[5] = (y) => ee(P) ? P.value = y : null),
1411
1420
  onChange: l[6] || (l[6] = //@ts-ignore
1412
- (...g) => b(O) && b(O)(...g))
1421
+ (...y) => b(O) && b(O)(...y))
1413
1422
  }, null, 544), [
1414
- [te, b(L)]
1423
+ [te, b(P)]
1415
1424
  ]),
1416
1425
  l[14] || (l[14] = m("span", { class: "radio-text" }, "无切割", -1))
1417
1426
  ]),
1418
- m("label", Mn, [
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] = (g) => ee(L) ? L.value = g : null),
1432
+ "onUpdate:modelValue": l[7] || (l[7] = (y) => ee(P) ? P.value = y : null),
1424
1433
  onChange: l[8] || (l[8] = //@ts-ignore
1425
- (...g) => b(O) && b(O)(...g))
1434
+ (...y) => b(O) && b(O)(...y))
1426
1435
  }, null, 544), [
1427
- [te, b(L)]
1436
+ [te, b(P)]
1428
1437
  ]),
1429
1438
  l[15] || (l[15] = m("span", { class: "radio-text" }, "X轴切割", -1))
1430
1439
  ]),
1431
- m("label", Ln, [
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] = (g) => ee(L) ? L.value = g : null),
1445
+ "onUpdate:modelValue": l[9] || (l[9] = (y) => ee(P) ? P.value = y : null),
1437
1446
  onChange: l[10] || (l[10] = //@ts-ignore
1438
- (...g) => b(O) && b(O)(...g))
1447
+ (...y) => b(O) && b(O)(...y))
1439
1448
  }, null, 544), [
1440
- [te, b(L)]
1449
+ [te, b(P)]
1441
1450
  ]),
1442
1451
  l[16] || (l[16] = m("span", { class: "radio-text" }, "Y轴切割", -1))
1443
1452
  ]),
1444
- m("label", Tn, [
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] = (g) => ee(L) ? L.value = g : null),
1458
+ "onUpdate:modelValue": l[11] || (l[11] = (y) => ee(P) ? P.value = y : null),
1450
1459
  onChange: l[12] || (l[12] = //@ts-ignore
1451
- (...g) => b(O) && b(O)(...g))
1460
+ (...y) => b(O) && b(O)(...y))
1452
1461
  }, null, 544), [
1453
- [te, b(L)]
1462
+ [te, b(P)]
1454
1463
  ]),
1455
1464
  l[17] || (l[17] = m("span", { class: "radio-text" }, "Z轴切割", -1))
1456
1465
  ])
1457
1466
  ])
1458
- ])) : ge("", !0)
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", Pn, [
1467
- m("div", kn, [
1468
- m("span", null, K(f.value), 1),
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] = (g) => p.value = !1)
1480
+ onClick: l[13] || (l[13] = (y) => p.value = !1)
1472
1481
  }, " X ")
1473
1482
  ]),
1474
- m("div", Bn, [
1475
- y(X, { height: "100%" }, {
1476
- default: ce(() => [
1477
- I(y(Lt, { model: h.value }, null, 8, ["model"]), [
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(y(Wt, {
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", Dn, [
1505
+ s.value ? (Y(), ae("div", On, [
1497
1506
  l[18] || (l[18] = m("div", { class: "loading-spinner" }, null, -1)),
1498
- m("p", null, K(r.value), 1)
1499
- ])) : ge("", !0)
1507
+ m("p", null, Z(r.value), 1)
1508
+ ])) : we("", !0)
1500
1509
  ]);
1501
1510
  };
1502
1511
  }
1503
- }), $n = /* @__PURE__ */ Ie(Fn, [["__scopeId", "data-v-48ba356f"]]);
1512
+ }), Yn = /* @__PURE__ */ Ge(jn, [["__scopeId", "data-v-14459d17"]]);
1504
1513
  export {
1505
- $n as default
1514
+ Yn as default
1506
1515
  };