ss-component-new 1.3.13 → 1.3.14

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 (99) hide show
  1. package/dist/{MTLLoader-C_XCtjSi.cjs → MTLLoader-B3diP_CH.cjs} +1 -1
  2. package/dist/{MTLLoader-YR-bfx1D.js → MTLLoader-D0AtmWHn.js} +37 -37
  3. package/dist/{OrbitControls-CktvE4iE.cjs → OrbitControls-BEMjDphC.cjs} +1 -1
  4. package/dist/{OrbitControls-BGsXD_A7.js → OrbitControls-C2bjXeWs.js} +1 -1
  5. package/dist/{URDFLoader-10oVp_KW.cjs → URDFLoader-GlKgq4QK.cjs} +1 -1
  6. package/dist/{URDFLoader-m1gMdnSQ.js → URDFLoader-qmyg9fYK.js} +189 -189
  7. package/dist/{animationData-CpK8d_Vm.js → animationData-Bi3_TyWE.js} +26 -26
  8. package/dist/{animationData-Cr2ra7rm.cjs → animationData-IwjfXQMn.cjs} +1 -1
  9. package/dist/{array-DSgiHp_j.cjs → array-DUQ3K_U3.cjs} +1 -1
  10. package/dist/{array-Bg-M1dRR.js → array-UVmZuEFZ.js} +46 -46
  11. package/dist/{iconfont-DsF7kuG5.cjs → iconfont-CAsy8t6b.cjs} +1 -1
  12. package/dist/{iconfont-0yJB130V.js → iconfont-DSIYZm9L.js} +29 -29
  13. package/dist/{index-i0GbQYT8.js → index-34N9MmAJ.js} +3 -3
  14. package/dist/{index-D8HD14bz.js → index-B2ktP1tY.js} +1 -1
  15. package/dist/{index-Ez8Heyym.js → index-B8Plk6_G.js} +915 -924
  16. package/dist/{index-BJPBBWWH.cjs → index-BLxE_tkf.cjs} +1 -1
  17. package/dist/{index-gfdgTjvQ.js → index-BNjvOnNL.js} +3 -3
  18. package/dist/{index-Ddoq7kRQ.js → index-BT6DSXQW.js} +9 -9
  19. package/dist/{index-CVXrjDFh.cjs → index-BWaSs-dx.cjs} +1 -1
  20. package/dist/{index-DIo9kT8l.cjs → index-BYJp0q3a.cjs} +1 -1
  21. package/dist/{index-DaoKeyl8.cjs → index-BaZ8Dz9C.cjs} +12 -12
  22. package/dist/{index-DHZOXdHe.js → index-BbZzjjV4.js} +7 -7
  23. package/dist/{index-BXUByyre.js → index-BfJ9-vQE.js} +2 -2
  24. package/dist/{index-DNmw0pc6.js → index-BoPqoH3C.js} +41 -41
  25. package/dist/index-BteE57Nz.js +103 -0
  26. package/dist/{index-dQFlJRrM.js → index-C-1cJ11C.js} +7 -7
  27. package/dist/{index-h_-N0ZtQ.js → index-C00SsoBw.js} +7 -7
  28. package/dist/{index-BcipoSQA.js → index-C5Q1KlY_.js} +2 -2
  29. package/dist/{index-Cwt7s25B.cjs → index-C7G7qNVy.cjs} +1 -1
  30. package/dist/index-C8FzkPpO.cjs +1 -0
  31. package/dist/{index-DRTxe12U.cjs → index-C8fMwErX.cjs} +13 -13
  32. package/dist/{index-N6U5R7pz.cjs → index-CD3-vCG-.cjs} +1 -1
  33. package/dist/{index-nr6V1FzX.js → index-CEq2QX9L.js} +7 -7
  34. package/dist/{index-CXiOVgoz.js → index-CEzEaG0d.js} +1 -1
  35. package/dist/{index-AgxmhjXT.js → index-CFZzQ_84.js} +8 -8
  36. package/dist/{index-Cjqg29ul.cjs → index-CIrXKpNl.cjs} +1 -1
  37. package/dist/{index-CBJCu7IU.cjs → index-Cd1xYGsa.cjs} +1 -1
  38. package/dist/{index-D_Yhv_HV.cjs → index-CdV2vSOK.cjs} +1 -1
  39. package/dist/index-CnuuKF1t.js +12544 -0
  40. package/dist/{index-C9SfnCpQ.js → index-CvqHcSC4.js} +2 -2
  41. package/dist/{index-DU9e5EhS.cjs → index-Cw4Pm2PQ.cjs} +1 -1
  42. package/dist/{index-bwtexcx2.cjs → index-D1X1OeUR.cjs} +1 -1
  43. package/dist/{index-gzS894Xb.cjs → index-DGIfO1LO.cjs} +1 -1
  44. package/dist/{index-Va8AOLWi.js → index-DGRL8SEt.js} +1 -1
  45. package/dist/{index-D3ixok8t.cjs → index-DJjHIf5F.cjs} +1 -1
  46. package/dist/{index-Bi76KPTH.js → index-DLF_1ATs.js} +5 -5
  47. package/dist/{index-DaIE9uY1.cjs → index-DMHNlcTB.cjs} +1 -1
  48. package/dist/{index-BfpxkTBr.cjs → index-DnMehixw.cjs} +1 -1
  49. package/dist/index-DowlDm_R.cjs +11 -0
  50. package/dist/{index-BTVKWZt_.js → index-DppPsJwa.js} +2 -2
  51. package/dist/{index-BPwYtuzg.cjs → index-Dy5qQAC3.cjs} +1 -1
  52. package/dist/{index-DS-YTop9.cjs → index-Jytyg12u.cjs} +1 -1
  53. package/dist/{index-CJJzXv2E.cjs → index-L_qyO2xf.cjs} +1 -1
  54. package/dist/{index-DhEfvV0x.js → index-US_KTUv7.js} +5 -5
  55. package/dist/{index-CtiuIHrN.cjs → index-bmTqenMO.cjs} +1 -1
  56. package/dist/{index-D7054IS6.cjs → index-dSga-Sqb.cjs} +1 -1
  57. package/dist/{index-NaWMtdUV.js → index-fuCgJzzm.js} +2 -2
  58. package/dist/{index-DVNEBZvu.js → index-fuVLvPhz.js} +3 -3
  59. package/dist/index-hh3Ozhvs.cjs +1 -0
  60. package/dist/{index-DBh5Z73C.js → index-i7Q6x7Zz.js} +1 -1
  61. package/dist/{index-B-SYbelE.js → index-jDCU1Wp9.js} +2 -2
  62. package/dist/{index-COQpDVsv.js → index-sMsCzNtW.js} +1535 -1570
  63. package/dist/{index-BWCv7zxy.cjs → index-vCTVD7cV.cjs} +1 -1
  64. package/dist/{index-Bo9X-gZk.cjs → index-wIeZl5t7.cjs} +1 -1
  65. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-1pEFQ04s.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BRc8dG0E.js} +31601 -32166
  66. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-ZMwIbmlN.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CbFQ2oZH.cjs} +394 -404
  67. package/dist/{index.vue_vue_type_style_index_1_lang-CNh42_ZH.js → index.vue_vue_type_style_index_1_lang-Cqe1NPUQ.js} +78 -78
  68. package/dist/{index.vue_vue_type_style_index_1_lang--4T7j9qz.cjs → index.vue_vue_type_style_index_1_lang-D5dZrna1.cjs} +1 -1
  69. package/dist/{main-CwhQ7pet.cjs → main-DMEkPrPQ.cjs} +1 -1
  70. package/dist/{main-DQ4rxh2x.js → main-JQX3whvo.js} +4 -4
  71. package/dist/{menuIndex-D52EAwtb.cjs → menuIndex-8RF_0N_y.cjs} +1 -1
  72. package/dist/{menuIndex-DYaogp2R.js → menuIndex-BwWrdu20.js} +1 -1
  73. package/dist/ss-component.cjs +1 -1
  74. package/dist/ss-component.css +1 -1
  75. package/dist/ss-component.js +10 -10
  76. package/dist/ss-component2.cjs +1 -1
  77. package/dist/ss-component2.js +11 -11
  78. package/dist/{threeModel-B28hvnHw.js → threeModel-BYeWWze5.js} +45 -45
  79. package/dist/{threeModel-DnKfIIgn.cjs → threeModel-cUS9-ww3.cjs} +1 -1
  80. package/dist/{threePreview-DOD9HOZn.cjs → threePreview-BtspqluS.cjs} +1 -1
  81. package/dist/{threePreview-CkKl3frr.js → threePreview-CZI4Z6PT.js} +103 -103
  82. package/dist/{threeSceneView-DZvOLWv6.cjs → threeSceneView-B5L-Drf9.cjs} +1 -1
  83. package/dist/{threeSceneView-DlL9pZlj.js → threeSceneView-Cr_KXNx5.js} +38 -38
  84. package/dist/{threeSceneViewForCPMPIP-DB0Eczbs.js → threeSceneViewForCPMPIP-BuuDHRI4.js} +8 -8
  85. package/dist/{threeSceneViewForCPMPIP-CZvKvfDx.cjs → threeSceneViewForCPMPIP-Dp8auXh3.cjs} +1 -1
  86. package/dist/{threeTrackPathView-DgyAEYfV.cjs → threeTrackPathView-78ve4cJ3.cjs} +1 -1
  87. package/dist/{threeTrackPathView-Eb1bvUXJ.js → threeTrackPathView-DWMtEQZW.js} +66 -66
  88. package/dist/{threeViewerHost-BMU1tg9c.cjs → threeViewerHost-Mm-Ez-7E.cjs} +1 -1
  89. package/dist/{threeViewerHost-Bdzv9iPb.js → threeViewerHost-Yx0xoLgc.js} +20 -20
  90. package/dist/{urdfTree-hLtm0aFY.js → urdfTree-DMMvqDhp.js} +10 -10
  91. package/dist/{urdfTree-CoK2r17Y.cjs → urdfTree-npoVarfp.cjs} +1 -1
  92. package/dist/{workpieceTreePanel-mWvCQyyw.cjs → workpieceTreePanel-B2ICcFLW.cjs} +1 -1
  93. package/dist/{workpieceTreePanel-Ne_ACq86.js → workpieceTreePanel-C6ceilqa.js} +56 -56
  94. package/package.json +1 -1
  95. package/dist/index-Bb1M3ASi.cjs +0 -1
  96. package/dist/index-CpbBe_mV.cjs +0 -1
  97. package/dist/index-DIWralYr.js +0 -67
  98. package/dist/index-DbnDlzwg.cjs +0 -1
  99. package/dist/index-Dw4-rPvA.js +0 -11883
@@ -1,9 +1,9 @@
1
- import { defineComponent as ce, computed as M, ref as k, resolveComponent as X, createElementBlock as ee, openBlock as E, createElementVNode as d, createVNode as p, withCtx as B, toDisplayString as Y, shallowRef as D, watch as Xe, onMounted as Ee, onBeforeUnmount as Ye, withDirectives as N, createCommentVNode as S, unref as A, renderSlot as ie, createBlock as le, vShow as Z, nextTick as je } from "vue";
2
- import { u as De, a as Ne, b as Ze, C as Ie, f as Be, d as re } from "./iconfont-0yJB130V.js";
3
- import { Q as O, a1 as Oe, bH as Ge, aD as qe, V as te, aF as ue, aS as fe, aY as Ke, aH as We, aX as He, aU as Je, aV as Re, ab as Qe, bI as Se } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-1pEFQ04s.js";
4
- import "./index-COQpDVsv.js";
5
- import { U as et, J as tt } from "./urdfTree-hLtm0aFY.js";
6
- import { E as I } from "./index-B8HqIYd5.js";
1
+ import { defineComponent as ce, computed as U, ref as k, resolveComponent as E, createElementBlock as ee, openBlock as X, createElementVNode as d, createVNode as p, withCtx as I, toDisplayString as Y, shallowRef as D, watch as Ee, onMounted as Xe, onBeforeUnmount as Ye, withDirectives as N, createCommentVNode as S, unref as A, renderSlot as ie, createBlock as le, vShow as Z, nextTick as je } from "vue";
2
+ import { u as De, a as Ne, b as Ze, C as Be, f as Ie, d as re } from "./iconfont-DSIYZm9L.js";
3
+ import { L as O, Y as Oe, bC as Ge, ay as qe, V as te, aA as ue, aN as fe, aT as Ke, aC as We, aS as Je, aP as Re, aQ as He, a6 as Qe, bD as Se } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BRc8dG0E.js";
4
+ import "./index-sMsCzNtW.js";
5
+ import { U as et, J as tt } from "./urdfTree-DMMvqDhp.js";
6
+ import { E as B } from "./index-B8HqIYd5.js";
7
7
  import { _ as ve } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
8
  import { T as w } from "./svgIcon-4u4PW7Is.js";
9
9
  import { i as nt } from "./isString-FfOeP713.js";
@@ -52,7 +52,7 @@ const it = { class: "panel-content" }, lt = { class: "animation-controls" }, rt
52
52
  },
53
53
  emits: ["getThreeData"],
54
54
  setup(e, { expose: n, emit: o }) {
55
- const a = e, l = M(() => a.vectors), t = k(!1), s = k(0), r = k(100);
55
+ const a = e, l = U(() => a.vectors), t = k(!1), s = k(0), r = k(100);
56
56
  let f = !1;
57
57
  const c = (g) => `第 ${g + 1} 帧`, m = (g) => {
58
58
  if (g < 0 || g >= l.value.length) {
@@ -63,7 +63,7 @@ const it = { class: "panel-content" }, lt = { class: "animation-controls" }, rt
63
63
  s.value = g, de(a.knife, y, a.cloud);
64
64
  }, v = async () => {
65
65
  if (l.value.length === 0) {
66
- I.error("无法播放动画:无数据");
66
+ B.error("无法播放动画:无数据");
67
67
  return;
68
68
  }
69
69
  if (!t.value) {
@@ -71,7 +71,7 @@ const it = { class: "panel-content" }, lt = { class: "animation-controls" }, rt
71
71
  try {
72
72
  for (let g = s.value + 1; g < l.value.length && !f; g++)
73
73
  await new Promise((y) => setTimeout(y, r.value)), m(g);
74
- f || I.success("动画播放完成");
74
+ f || B.success("动画播放完成");
75
75
  } catch (g) {
76
76
  console.error("动画播放出错:", g);
77
77
  } finally {
@@ -79,7 +79,7 @@ const it = { class: "panel-content" }, lt = { class: "animation-controls" }, rt
79
79
  }
80
80
  }
81
81
  }, C = () => {
82
- f = !0, t.value = !1, I.info("动画已停止");
82
+ f = !0, t.value = !1, B.info("动画已停止");
83
83
  }, P = (g) => {
84
84
  t.value && C(), m(g);
85
85
  }, _ = () => {
@@ -92,23 +92,23 @@ const it = { class: "panel-content" }, lt = { class: "animation-controls" }, rt
92
92
  return n({ playAnimation: v, stopAnimation: C, forwardFrame: _, backwardFrame: T, resetAnimationFrame: h, reset: async () => {
93
93
  await C(), h();
94
94
  } }), (g, y) => {
95
- const q = X("el-input-number"), K = X("el-form-item"), W = X("el-form"), H = X("el-slider");
96
- return E(), ee("div", it, [
95
+ const q = E("el-input-number"), K = E("el-form-item"), W = E("el-form"), J = E("el-slider");
96
+ return X(), ee("div", it, [
97
97
  d("div", lt, [
98
98
  d("div", rt, [
99
99
  p(W, {
100
100
  "label-width": "auto",
101
101
  style: { width: "100%" }
102
102
  }, {
103
- default: B(() => [
103
+ default: I(() => [
104
104
  p(K, {
105
105
  label: "帧间隔 (ms):",
106
106
  prop: "frameDuration"
107
107
  }, {
108
- default: B(() => [
108
+ default: I(() => [
109
109
  p(q, {
110
110
  modelValue: r.value,
111
- "onUpdate:modelValue": y[0] || (y[0] = (U) => r.value = U),
111
+ "onUpdate:modelValue": y[0] || (y[0] = (M) => r.value = M),
112
112
  min: 0,
113
113
  max: 5e3,
114
114
  step: 10,
@@ -127,9 +127,9 @@ const it = { class: "panel-content" }, lt = { class: "animation-controls" }, rt
127
127
  ]),
128
128
  d("div", ft, [
129
129
  y[3] || (y[3] = d("label", null, "动画进度:", -1)),
130
- p(H, {
130
+ p(J, {
131
131
  modelValue: s.value,
132
- "onUpdate:modelValue": y[1] || (y[1] = (U) => s.value = U),
132
+ "onUpdate:modelValue": y[1] || (y[1] = (M) => s.value = M),
133
133
  min: 0,
134
134
  max: l.value.length > 0 ? l.value.length - 1 : 0,
135
135
  step: 1,
@@ -263,16 +263,16 @@ async function Ft(e) {
263
263
  o.push(+t, +s, +r);
264
264
  }), o;
265
265
  }
266
- async function Ut(e) {
266
+ async function Mt(e) {
267
267
  let n = e.trim().split(/\r?\n/);
268
268
  return n = n.filter((a) => {
269
269
  const l = a.startsWith("X") || a.startsWith("Y") || a.startsWith("Z"), t = a.startsWith("G") && (a.includes("X") || a.includes("Y") || a.includes("Z")), s = a.startsWith("N") && (a.includes("X") || a.includes("Y") || a.includes("Z"));
270
270
  return l || t || s;
271
271
  }), zt(n);
272
272
  }
273
- async function Mt(e, n) {
273
+ async function Ut(e, n) {
274
274
  const { isCyd: o, isUv: a, isCpt: l, isNc: t } = n;
275
- return a ? Pt(e) : o ? Ft(e) : l ? xt(e) : t ? Ut(e) : [];
275
+ return a ? Pt(e) : o ? Ft(e) : l ? xt(e) : t ? Mt(e) : [];
276
276
  }
277
277
  function Lt(e) {
278
278
  const n = [];
@@ -298,7 +298,7 @@ function $t(e, n) {
298
298
  const s = Vt(n);
299
299
  return s.name = "轨迹路径", o.add(s), s;
300
300
  }
301
- function Xt(e, n, o, a = 4, l = 50) {
301
+ function Et(e, n, o, a = 4, l = 50) {
302
302
  let t = 1 / 0, s = -1 / 0, r = 1 / 0, f = -1 / 0, c = 1 / 0, m = -1 / 0;
303
303
  for (let h = 0; h < e.length; h += 3) {
304
304
  const L = e[h], g = e[h + 1], y = e[h + 2];
@@ -307,7 +307,7 @@ function Xt(e, n, o, a = 4, l = 50) {
307
307
  const C = Math.sqrt((s - t) ** 2 + (f - r) ** 2 + (m - c) ** 2) * 0.05, P = Qe.degToRad(n.fov), _ = 2 * Math.tan(P / 2) * l, T = C / _ * o.domElement.height * (a / 4);
308
308
  return Math.min(0.4, T);
309
309
  }
310
- function Et(e) {
310
+ function Xt(e) {
311
311
  if (e.length % 3 !== 0)
312
312
  return console.error("points array length is not a multiple of 3:", e), null;
313
313
  const n = new ue();
@@ -315,13 +315,13 @@ function Et(e) {
315
315
  const o = new Float32Array(e.length);
316
316
  for (let t = 0; t < e.length; t += 3)
317
317
  o[t] = 0, o[t + 1] = 0.847, o[t + 2] = 1;
318
- n.setAttribute("color", new He(o, 3));
319
- const a = new Je({
318
+ n.setAttribute("color", new Je(o, 3));
319
+ const a = new Re({
320
320
  vertexColors: !0,
321
321
  size: 0.4,
322
322
  // 像素世界单位
323
323
  sizeAttenuation: !0
324
- }), l = new Re(n, a);
324
+ }), l = new He(n, a);
325
325
  return a.needsUpdate = !0, l;
326
326
  }
327
327
  function Yt(e, n) {
@@ -330,17 +330,17 @@ function Yt(e, n) {
330
330
  const { scene: o, camera: a, renderer: l, controls: t } = e();
331
331
  if (!o || !a || !l || !t)
332
332
  return;
333
- const s = Et(n);
333
+ const s = Xt(n);
334
334
  if (!s)
335
335
  return;
336
336
  s.name = "轨迹路径", o.add(s);
337
- const r = Xt(n, a, l, 0.1, 50);
337
+ const r = Et(n, a, l, 0.1, 50);
338
338
  return s.material.size = r, s;
339
339
  }
340
- const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft" }, Nt = { class: "buttonGroup-left" }, Zt = { class: "buttonGroup-right" }, It = { class: "buttonGroup-bottom" }, Bt = { class: "left-panel" }, Ot = { class: "panel-header" }, Gt = { class: "panel-body" }, qt = { class: "right-panel" }, Kt = { class: "panel-header" }, Wt = { class: "panel-body" }, Ht = {
340
+ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft" }, Nt = { class: "buttonGroup-left" }, Zt = { class: "buttonGroup-right" }, Bt = { class: "buttonGroup-bottom" }, It = { class: "left-panel" }, Ot = { class: "panel-header" }, Gt = { class: "panel-body" }, qt = { class: "right-panel" }, Kt = { class: "panel-header" }, Wt = { class: "panel-body" }, Jt = {
341
341
  key: 0,
342
342
  class: "loading-overlay"
343
- }, Jt = /* @__PURE__ */ ce({
343
+ }, Rt = /* @__PURE__ */ ce({
344
344
  __name: "threeTrackPathView",
345
345
  props: {
346
346
  fileBlobs: {},
@@ -360,28 +360,28 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
360
360
  axesHelperVisible: q,
361
361
  toggleAxesVisibility: K,
362
362
  zoomIn: W,
363
- zoomOut: H
364
- } = De(o), { isAnimating: U, toggleAnimation: me, startAnimation: Rt, stopAnimation: pe } = Ne(h, C), { isClipping: he, activeClippingAxis: ne, toggleClipping: ge, updateClippingPlanes: ye } = Ze(h, C), Ce = () => {
363
+ zoomOut: J
364
+ } = De(o), { isAnimating: M, toggleAnimation: me, startAnimation: Ht, stopAnimation: pe } = Ne(h, C), { isClipping: he, activeClippingAxis: ne, toggleClipping: ge, updateClippingPlanes: ye } = Ze(h, C), Ce = () => {
365
365
  K();
366
366
  }, we = (i) => {
367
367
  ne.value = i, ye();
368
- }, J = (i) => {
369
- s.value = !0, r.value = i, i === "剖面视图" && !he.value && ge();
370
368
  }, R = (i) => {
369
+ s.value = !0, r.value = i, i === "剖面视图" && !he.value && ge();
370
+ }, H = (i) => {
371
371
  f.value = !0, c.value = i;
372
- }, Q = k([]), V = k([]), ke = M(() => {
372
+ }, Q = k([]), V = k([]), ke = U(() => {
373
373
  var u;
374
374
  return (u = n.trackFileType) == null ? void 0 : u.isUv;
375
- }), be = M(() => {
375
+ }), be = U(() => {
376
376
  var u;
377
377
  return (u = n.trackFileType) == null ? void 0 : u.isCyd;
378
- }), _e = M(() => {
378
+ }), _e = U(() => {
379
379
  var u;
380
380
  return (u = n.trackFileType) == null ? void 0 : u.isCpt;
381
- }), x = M(() => {
381
+ }), x = U(() => {
382
382
  var u;
383
383
  return (u = n.trackFileType) == null ? void 0 : u.isNc;
384
- }), oe = M(() => {
384
+ }), oe = U(() => {
385
385
  const i = n.fileBlobs || [];
386
386
  return i == null ? void 0 : i[0];
387
387
  });
@@ -397,7 +397,7 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
397
397
  }, Ae = async (i) => {
398
398
  const u = URL.createObjectURL(i), $ = await Se(u);
399
399
  if (URL.revokeObjectURL(u), nt($)) {
400
- Q.value = await Mt($, n.trackFileType) || [];
400
+ Q.value = await Ut($, n.trackFileType) || [];
401
401
  const z = Q.value;
402
402
  ke.value && (b.value = $t(h, z)), (be.value || _e.value || x.value) && (b.value = Yt(h, z));
403
403
  }
@@ -405,9 +405,9 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
405
405
  var i, u;
406
406
  F.value = ot(), V.value = Lt(Q.value), V.value && V.value.length && (de(F.value, V.value[0], b.value, new O(16711680)), (u = (i = v.value) == null ? void 0 : i.add) == null || u.call(i, F.value));
407
407
  }, ae = async (i) => {
408
- se(), await Ae(i), b.value && Be(h, b.value), x.value && Pe();
408
+ se(), await Ae(i), b.value && Ie(h, b.value), x.value && Pe();
409
409
  };
410
- Xe(() => oe.value, async (i) => {
410
+ Ee(() => oe.value, async (i) => {
411
411
  i && await ae(i);
412
412
  }, {
413
413
  immediate: !0,
@@ -419,10 +419,10 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
419
419
  }, Fe = () => {
420
420
  var i;
421
421
  x.value && ((i = t == null ? void 0 : t.value) == null || i.playAnimation());
422
- }, Ue = () => {
422
+ }, Me = () => {
423
423
  var i;
424
424
  x.value && ((i = t == null ? void 0 : t.value) == null || i.stopAnimation());
425
- }, Me = () => {
425
+ }, Ue = () => {
426
426
  var i;
427
427
  x.value && ((i = t == null ? void 0 : t.value) == null || i.forwardFrame());
428
428
  }, Le = () => {
@@ -435,20 +435,20 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
435
435
  const i = h();
436
436
  v.value = i.scene, v.value && (v.value.name = "CPMPIP");
437
437
  }, $e = () => {
438
- j && j.disconnect(), U.value && pe(), se(), L();
438
+ j && j.disconnect(), M.value && pe(), se(), L();
439
439
  };
440
440
  let j = null;
441
- return Ee(async () => {
441
+ return Xe(async () => {
442
442
  try {
443
443
  Ve();
444
444
  } catch (i) {
445
- console.error("Three.js 初始化失败:", i), I.error("渲染引擎初始化失败!");
445
+ console.error("Three.js 初始化失败:", i), B.error("渲染引擎初始化失败!");
446
446
  }
447
447
  }), Ye(() => {
448
448
  $e();
449
449
  }), (i, u) => {
450
- const $ = X("el-scrollbar");
451
- return E(), ee("div", jt, [
450
+ const $ = E("el-scrollbar");
451
+ return X(), ee("div", jt, [
452
452
  d("div", {
453
453
  ref_key: "threejsContainer",
454
454
  ref: o,
@@ -471,13 +471,13 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
471
471
  name: "suoxiao",
472
472
  size: "24",
473
473
  title: "缩小",
474
- onClick: A(H)
474
+ onClick: A(J)
475
475
  }, null, 8, ["onClick"]),
476
476
  p(w, {
477
477
  name: "lookAround",
478
478
  size: "24",
479
479
  onClick: A(me),
480
- title: A(U) ? "停止动画" : "动画视图"
480
+ title: A(M) ? "停止动画" : "动画视图"
481
481
  }, null, 8, ["onClick", "title"]),
482
482
  p(w, {
483
483
  name: "zuobiaoxi",
@@ -488,28 +488,28 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
488
488
  }, null, 8, ["active"])
489
489
  ]),
490
490
  d("div", Nt, [
491
- ie(i.$slots, "button-left", { switchRightPanel: J }, void 0, !0),
491
+ ie(i.$slots, "button-left", { switchRightPanel: R }, void 0, !0),
492
492
  p(w, {
493
493
  name: "jiegoushu",
494
494
  size: "24",
495
- onClick: u[0] || (u[0] = (z) => J("场景树")),
495
+ onClick: u[0] || (u[0] = (z) => R("场景树")),
496
496
  active: s.value && r.value === "场景树",
497
497
  title: "场景树"
498
498
  }, null, 8, ["active"]),
499
499
  p(w, {
500
500
  name: "clipping",
501
501
  size: "24",
502
- onClick: u[1] || (u[1] = (z) => J("剖面视图")),
502
+ onClick: u[1] || (u[1] = (z) => R("剖面视图")),
503
503
  active: s.value && r.value === "剖面视图",
504
504
  title: "剖面视图"
505
505
  }, null, 8, ["active"])
506
506
  ]),
507
507
  d("div", Zt, [
508
- ie(i.$slots, "button-right", { switchRightPanel: R }, void 0, !0),
508
+ ie(i.$slots, "button-right", { switchRightPanel: H }, void 0, !0),
509
509
  p(w, {
510
510
  name: "guanjiekongzhi",
511
511
  size: "24",
512
- onClick: u[2] || (u[2] = (z) => R("关节控制")),
512
+ onClick: u[2] || (u[2] = (z) => H("关节控制")),
513
513
  active: f.value && c.value === "关节控制",
514
514
  title: "关节控制"
515
515
  }, null, 8, ["active"]),
@@ -517,11 +517,11 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
517
517
  name: "donghuafangzhen",
518
518
  size: "24",
519
519
  title: "动画仿真",
520
- onClick: u[3] || (u[3] = (z) => R("动画仿真")),
520
+ onClick: u[3] || (u[3] = (z) => H("动画仿真")),
521
521
  active: f.value && c.value === "动画仿真"
522
522
  }, null, 8, ["active"])
523
523
  ]),
524
- d("div", It, [
524
+ d("div", Bt, [
525
525
  p(w, {
526
526
  name: "kuaitui",
527
527
  size: "24",
@@ -541,17 +541,17 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
541
541
  size: "24",
542
542
  backgroundColor: "#ffffff",
543
543
  title: "快进",
544
- onClick: Me
544
+ onClick: Ue
545
545
  }),
546
546
  p(w, {
547
547
  name: "zanting",
548
548
  size: "24",
549
549
  backgroundColor: "#ffffff",
550
550
  title: "暂停",
551
- onClick: Ue
551
+ onClick: Me
552
552
  })
553
553
  ]),
554
- N(d("div", Bt, [
554
+ N(d("div", It, [
555
555
  d("div", Ot, [
556
556
  d("span", null, Y(r.value), 1),
557
557
  d("span", {
@@ -561,12 +561,12 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
561
561
  ]),
562
562
  d("div", Gt, [
563
563
  p($, { height: "100%" }, {
564
- default: B(() => [
565
- r.value === "场景树" ? (E(), le(et, {
564
+ default: I(() => [
565
+ r.value === "场景树" ? (X(), le(et, {
566
566
  key: 0,
567
567
  model: m.value
568
568
  }, null, 8, ["model"])) : S("", !0),
569
- r.value === "剖面视图" ? (E(), le(Ie, {
569
+ r.value === "剖面视图" ? (X(), le(Be, {
570
570
  key: 1,
571
571
  value: A(ne),
572
572
  onChange: we
@@ -588,7 +588,7 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
588
588
  ]),
589
589
  d("div", Wt, [
590
590
  p($, { height: "100%" }, {
591
- default: B(() => [
591
+ default: I(() => [
592
592
  N(p(tt, { model: m.value }, null, 8, ["model"]), [
593
593
  [Z, c.value === "关节控制"]
594
594
  ]),
@@ -608,14 +608,14 @@ const jt = { class: "obj-viewer-container" }, Dt = { class: "buttonGroup-topLeft
608
608
  ], 512), [
609
609
  [Z, f.value]
610
610
  ]),
611
- a.value ? (E(), ee("div", Ht, [
611
+ a.value ? (X(), ee("div", Jt, [
612
612
  u[6] || (u[6] = d("div", { class: "loading-spinner" }, null, -1)),
613
613
  d("p", null, Y(l.value), 1)
614
614
  ])) : S("", !0)
615
615
  ]);
616
616
  };
617
617
  }
618
- }), rn = /* @__PURE__ */ ve(Jt, [["__scopeId", "data-v-7178b621"]]);
618
+ }), rn = /* @__PURE__ */ ve(Rt, [["__scopeId", "data-v-7178b621"]]);
619
619
  export {
620
620
  rn as default
621
621
  };
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),d=require("./index-DRTxe12U.cjs"),S=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-ZMwIbmlN.cjs"),D=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),F={SINGLE:"单机",DOUBLE:"双机"},R={ROBOT:1,PIPECOMPARSION:2},i={ROBOT_SCENE:"robot",TRACK_PATH:"trackPath",CPMPIP_SCENE:"cpmpip",PREVIEW:"preview"},b=d.defineStore("threeState",{state:()=>({data:{files:[],data:{}}}),actions:{setData(v){this.data=v},getData(){return this.data}}});function I(){const v=d.useMenuState(d.pinia),{platform:g}=d.storeToRefs(v),P=b(d.pinia),c=["uv","cyd","nc"],m=["urdf"],r=["obj","stl"],T=[...c,...m,...r],f=t=>{if(!C())throw new Error("不是三维系统");P.setData(t)},y=()=>P.getData(),C=()=>g.value==="three",l=t=>S.getFileExtension(t),p=t=>{if(!t)return!1;const o=l(t);return T==null?void 0:T.includes(o)},E=t=>{if(!t)return!1;const o=l(t);return r==null?void 0:r.includes(o)},h=t=>{if(!t)return!1;const o=l(t);return c==null?void 0:c.includes(o)},u=t=>{if(!t)return{isCpt:!1,isCyd:!1,isUv:!1,isNc:!1};const o=l(t),a=c==null?void 0:c.find(k=>k===o);return{isCpt:a==="cpt",isCyd:a==="cyd",isUv:a==="uv",isNc:a==="nc"}},_=t=>{if(!t)return!1;const o=l(t);return m==null?void 0:m.includes(o)},B=t=>C()&&p(t),n=t=>({url:t,extension:l(t)});return{getData:y,setData:f,isThreeSystem:C,isUrdf:_,isGeneralFile:E,isTrackPathFile:h,isThreeFile:p,isUseBackdrop:B,initTrackFileType:u,getFileExtension:l,getFileInfo:n,getFilesInfo:t=>{const o=[];for(let a=0;a<t.length;a++){const w=t[a],k=n(w);o.push(k)}return o}}}const N={class:"three-platform mv-inline"},V={class:"top-menu"},A={key:4,class:"loading"},M=e.defineComponent({__name:"threeViewerHost",props:{files:{default:()=>[]},threeData:{},componentType:{},width:{default:"100%"},height:{default:"100%"}},setup(v){const g=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneView-DZvOLWv6.cjs"))),P=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threePreview-DOD9HOZn.cjs"))),c=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeTrackPathView-DgyAEYfV.cjs"))),m=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneViewForCPMPIP-CZvKvfDx.cjs"))),r=v,T=d.useMenuState(d.pinia),{platName:f}=d.storeToRefs(T),{isUrdf:y,isTrackPathFile:C}=I(),l=e.computed(()=>{var n;return(n=r==null?void 0:r.files)==null?void 0:n.map(s=>{const{url:t}=s;return t})}),p=e.computed(()=>{var t;const n=(t=r==null?void 0:r.files)==null?void 0:t[0];return(n==null?void 0:n.extension)||""}),E=e.computed(()=>{var n,s;return(s=(n=r==null?void 0:r.threeData)==null?void 0:n.data)==null?void 0:s.trackFileType}),h=e.computed(()=>{if(r.componentType)switch(r.componentType){case"robot":return i.ROBOT_SCENE;case"track":return i.TRACK_PATH;case"cpmpip":return i.CPMPIP_SCENE;case"preview":return i.PREVIEW}return(f==null?void 0:f.value)===S.platNameConstants.CPMPIP&&y(p.value)?i.CPMPIP_SCENE:(f==null?void 0:f.value)===S.platNameConstants.ROBOT&&y(p.value)?i.ROBOT_SCENE:C(p.value)&&E.value?i.TRACK_PATH:i.PREVIEW}),u=e.ref([]),_=e.ref(!1);async function B(n){if(!n||!n.length){u.value=[];return}_.value=!0;try{const s=await Promise.all(n.map(t=>S.downloadFile(t)));u.value=s}catch(s){console.error("文件下载时发生错误:",s),u.value=[]}finally{_.value=!1}}return e.watch(()=>l.value,async n=>{await B(n||[])},{immediate:!0,deep:!0}),(n,s)=>(e.openBlock(),e.createElementBlock("div",N,[e.createElementVNode("div",V,[e.renderSlot(n.$slots,"top-menu",{},void 0,!0)]),h.value===e.unref(i).ROBOT_SCENE?(e.openBlock(),e.createBlock(e.unref(g),{key:0,fileBlobs:u.value,threeData:r.threeData},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):h.value===e.unref(i).TRACK_PATH?(e.openBlock(),e.createBlock(e.unref(c),{key:1,fileBlobs:u.value,threeData:r.threeData,trackFileType:E.value},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData","trackFileType"])):h.value===e.unref(i).CPMPIP_SCENE?(e.openBlock(),e.createBlock(e.unref(m),{key:2,fileBlobs:u.value,threeData:r.threeData},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):h.value===e.unref(i).PREVIEW?(e.openBlock(),e.createBlock(e.unref(P),{key:3,fileBlobs:u.value},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs"])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("div",A," 文件下载中,请稍候... ")):e.createCommentVNode("",!0)]))}}),O=D._export_sfc(M,[["__scopeId","data-v-9798f55b"]]),H=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));exports.ThreeViewerHost=O;exports.robotMode=F;exports.sceneType=R;exports.threeViewerHost=H;exports.useThreeState=b;exports.useThreeSystem=I;
1
+ "use strict";const e=require("vue"),d=require("./index-C8fMwErX.cjs"),S=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CbFQ2oZH.cjs"),D=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),F={SINGLE:"单机",DOUBLE:"双机"},R={ROBOT:1,PIPECOMPARSION:2},i={ROBOT_SCENE:"robot",TRACK_PATH:"trackPath",CPMPIP_SCENE:"cpmpip",PREVIEW:"preview"},b=d.defineStore("threeState",{state:()=>({data:{files:[],data:{}}}),actions:{setData(v){this.data=v},getData(){return this.data}}});function I(){const v=d.useMenuState(d.pinia),{platform:g}=d.storeToRefs(v),P=b(d.pinia),c=["uv","cyd","nc"],m=["urdf"],r=["obj","stl"],T=[...c,...m,...r],f=t=>{if(!C())throw new Error("不是三维系统");P.setData(t)},y=()=>P.getData(),C=()=>g.value==="three",l=t=>S.getFileExtension(t),p=t=>{if(!t)return!1;const o=l(t);return T==null?void 0:T.includes(o)},E=t=>{if(!t)return!1;const o=l(t);return r==null?void 0:r.includes(o)},h=t=>{if(!t)return!1;const o=l(t);return c==null?void 0:c.includes(o)},u=t=>{if(!t)return{isCpt:!1,isCyd:!1,isUv:!1,isNc:!1};const o=l(t),a=c==null?void 0:c.find(k=>k===o);return{isCpt:a==="cpt",isCyd:a==="cyd",isUv:a==="uv",isNc:a==="nc"}},_=t=>{if(!t)return!1;const o=l(t);return m==null?void 0:m.includes(o)},B=t=>C()&&p(t),n=t=>({url:t,extension:l(t)});return{getData:y,setData:f,isThreeSystem:C,isUrdf:_,isGeneralFile:E,isTrackPathFile:h,isThreeFile:p,isUseBackdrop:B,initTrackFileType:u,getFileExtension:l,getFileInfo:n,getFilesInfo:t=>{const o=[];for(let a=0;a<t.length;a++){const w=t[a],k=n(w);o.push(k)}return o}}}const N={class:"three-platform mv-inline"},V={class:"top-menu"},A={key:4,class:"loading"},M=e.defineComponent({__name:"threeViewerHost",props:{files:{default:()=>[]},threeData:{},componentType:{},width:{default:"100%"},height:{default:"100%"}},setup(v){const g=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneView-B5L-Drf9.cjs"))),P=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threePreview-BtspqluS.cjs"))),c=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeTrackPathView-78ve4cJ3.cjs"))),m=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./threeSceneViewForCPMPIP-Dp8auXh3.cjs"))),r=v,T=d.useMenuState(d.pinia),{platName:f}=d.storeToRefs(T),{isUrdf:y,isTrackPathFile:C}=I(),l=e.computed(()=>{var n;return(n=r==null?void 0:r.files)==null?void 0:n.map(s=>{const{url:t}=s;return t})}),p=e.computed(()=>{var t;const n=(t=r==null?void 0:r.files)==null?void 0:t[0];return(n==null?void 0:n.extension)||""}),E=e.computed(()=>{var n,s;return(s=(n=r==null?void 0:r.threeData)==null?void 0:n.data)==null?void 0:s.trackFileType}),h=e.computed(()=>{if(r.componentType)switch(r.componentType){case"robot":return i.ROBOT_SCENE;case"track":return i.TRACK_PATH;case"cpmpip":return i.CPMPIP_SCENE;case"preview":return i.PREVIEW}return(f==null?void 0:f.value)===S.platNameConstants.CPMPIP&&y(p.value)?i.CPMPIP_SCENE:(f==null?void 0:f.value)===S.platNameConstants.ROBOT&&y(p.value)?i.ROBOT_SCENE:C(p.value)&&E.value?i.TRACK_PATH:i.PREVIEW}),u=e.ref([]),_=e.ref(!1);async function B(n){if(!n||!n.length){u.value=[];return}_.value=!0;try{const s=await Promise.all(n.map(t=>S.downloadFile(t)));u.value=s}catch(s){console.error("文件下载时发生错误:",s),u.value=[]}finally{_.value=!1}}return e.watch(()=>l.value,async n=>{await B(n||[])},{immediate:!0,deep:!0}),(n,s)=>(e.openBlock(),e.createElementBlock("div",N,[e.createElementVNode("div",V,[e.renderSlot(n.$slots,"top-menu",{},void 0,!0)]),h.value===e.unref(i).ROBOT_SCENE?(e.openBlock(),e.createBlock(e.unref(g),{key:0,fileBlobs:u.value,threeData:r.threeData},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):h.value===e.unref(i).TRACK_PATH?(e.openBlock(),e.createBlock(e.unref(c),{key:1,fileBlobs:u.value,threeData:r.threeData,trackFileType:E.value},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData","trackFileType"])):h.value===e.unref(i).CPMPIP_SCENE?(e.openBlock(),e.createBlock(e.unref(m),{key:2,fileBlobs:u.value,threeData:r.threeData},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs","threeData"])):h.value===e.unref(i).PREVIEW?(e.openBlock(),e.createBlock(e.unref(P),{key:3,fileBlobs:u.value},{"button-left":e.withCtx(()=>[e.renderSlot(n.$slots,"management-menu",{},void 0,!0)]),"button-right":e.withCtx(()=>[e.renderSlot(n.$slots,"management-page",{},void 0,!0)]),_:3},8,["fileBlobs"])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("div",A," 文件下载中,请稍候... ")):e.createCommentVNode("",!0)]))}}),O=D._export_sfc(M,[["__scopeId","data-v-9798f55b"]]),H=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));exports.ThreeViewerHost=O;exports.robotMode=F;exports.sceneType=R;exports.threeViewerHost=H;exports.useThreeState=b;exports.useThreeSystem=I;
@@ -1,6 +1,6 @@
1
- import { defineComponent as U, defineAsyncComponent as b, computed as B, ref as R, watch as H, createElementBlock as N, openBlock as T, createElementVNode as K, createBlock as I, createCommentVNode as V, renderSlot as u, unref as m, withCtx as d } from "vue";
2
- import { h as W, u as A, p as D, s as $ } from "./index-COQpDVsv.js";
3
- import { e as j, aB as M, ae as L } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-1pEFQ04s.js";
1
+ import { defineComponent as U, defineAsyncComponent as b, computed as I, ref as R, watch as H, createElementBlock as N, openBlock as T, createElementVNode as K, createBlock as w, createCommentVNode as V, renderSlot as u, unref as m, withCtx as d } from "vue";
2
+ import { e as W, u as A, p as D, s as $ } from "./index-sMsCzNtW.js";
3
+ import { e as j, aw as M, a9 as L } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BRc8dG0E.js";
4
4
  import { _ as G } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const re = {
6
6
  SINGLE: "单机",
@@ -34,11 +34,11 @@ const re = {
34
34
  }
35
35
  });
36
36
  function Y() {
37
- const E = A(D), { platform: O } = $(E), y = z(D), i = ["uv", "cyd", "nc"], p = ["urdf"], n = ["obj", "stl"], P = [...i, ...p, ...n], f = (e) => {
37
+ const E = A(D), { platform: B } = $(E), y = z(D), i = ["uv", "cyd", "nc"], p = ["urdf"], n = ["obj", "stl"], P = [...i, ...p, ...n], f = (e) => {
38
38
  if (!g())
39
39
  throw new Error("不是三维系统");
40
40
  y.setData(e);
41
- }, _ = () => y.getData(), g = () => O.value === "three", c = (e) => j(e), h = (e) => {
41
+ }, _ = () => y.getData(), g = () => B.value === "three", c = (e) => j(e), h = (e) => {
42
42
  if (!e)
43
43
  return !1;
44
44
  const r = c(e);
@@ -61,7 +61,7 @@ function Y() {
61
61
  isUv: !1,
62
62
  isNc: !1
63
63
  };
64
- const r = c(e), o = i == null ? void 0 : i.find((w) => w === r);
64
+ const r = c(e), o = i == null ? void 0 : i.find((k) => k === r);
65
65
  return {
66
66
  isCpt: o === "cpt",
67
67
  isCyd: o === "cyd",
@@ -73,7 +73,7 @@ function Y() {
73
73
  return !1;
74
74
  const r = c(e);
75
75
  return p == null ? void 0 : p.includes(r);
76
- }, k = (e) => g() && h(e), t = (e) => ({
76
+ }, O = (e) => g() && h(e), t = (e) => ({
77
77
  url: e,
78
78
  extension: c(e)
79
79
  });
@@ -85,15 +85,15 @@ function Y() {
85
85
  isGeneralFile: S,
86
86
  isTrackPathFile: v,
87
87
  isThreeFile: h,
88
- isUseBackdrop: k,
88
+ isUseBackdrop: O,
89
89
  initTrackFileType: l,
90
90
  getFileExtension: c,
91
91
  getFileInfo: t,
92
92
  getFilesInfo: (e) => {
93
93
  const r = [];
94
94
  for (let o = 0; o < e.length; o++) {
95
- const F = e[o], w = t(F);
96
- r.push(w);
95
+ const F = e[o], k = t(F);
96
+ r.push(k);
97
97
  }
98
98
  return r;
99
99
  }
@@ -112,20 +112,20 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
112
112
  height: { default: "100%" }
113
113
  },
114
114
  setup(E) {
115
- const O = b(() => import("./threeSceneView-DlL9pZlj.js")), y = b(() => import("./threePreview-CkKl3frr.js")), i = b(() => import("./threeTrackPathView-Eb1bvUXJ.js")), p = b(() => import("./threeSceneViewForCPMPIP-DB0Eczbs.js")), n = E, P = A(D), { platName: f } = $(P), { isUrdf: _, isTrackPathFile: g } = Y(), c = B(() => {
115
+ const B = b(() => import("./threeSceneView-Cr_KXNx5.js")), y = b(() => import("./threePreview-CZI4Z6PT.js")), i = b(() => import("./threeTrackPathView-DWMtEQZW.js")), p = b(() => import("./threeSceneViewForCPMPIP-BuuDHRI4.js")), n = E, P = A(D), { platName: f } = $(P), { isUrdf: _, isTrackPathFile: g } = Y(), c = I(() => {
116
116
  var t;
117
117
  return (t = n == null ? void 0 : n.files) == null ? void 0 : t.map((s) => {
118
118
  const { url: e } = s;
119
119
  return e;
120
120
  });
121
- }), h = B(() => {
121
+ }), h = I(() => {
122
122
  var e;
123
123
  const t = (e = n == null ? void 0 : n.files) == null ? void 0 : e[0];
124
124
  return (t == null ? void 0 : t.extension) || "";
125
- }), S = B(() => {
125
+ }), S = I(() => {
126
126
  var t, s;
127
127
  return (s = (t = n == null ? void 0 : n.threeData) == null ? void 0 : t.data) == null ? void 0 : s.trackFileType;
128
- }), v = B(() => {
128
+ }), v = I(() => {
129
129
  if (n.componentType)
130
130
  switch (n.componentType) {
131
131
  case "robot":
@@ -139,7 +139,7 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
139
139
  }
140
140
  return (f == null ? void 0 : f.value) === M.CPMPIP && _(h.value) ? a.CPMPIP_SCENE : (f == null ? void 0 : f.value) === M.ROBOT && _(h.value) ? a.ROBOT_SCENE : g(h.value) && S.value ? a.TRACK_PATH : a.PREVIEW;
141
141
  }), l = R([]), C = R(!1);
142
- async function k(t) {
142
+ async function O(t) {
143
143
  if (!t || !t.length) {
144
144
  l.value = [];
145
145
  return;
@@ -157,14 +157,14 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
157
157
  return H(
158
158
  () => c.value,
159
159
  async (t) => {
160
- await k(t || []);
160
+ await O(t || []);
161
161
  },
162
162
  { immediate: !0, deep: !0 }
163
163
  ), (t, s) => (T(), N("div", q, [
164
164
  K("div", J, [
165
165
  u(t.$slots, "top-menu", {}, void 0, !0)
166
166
  ]),
167
- v.value === m(a).ROBOT_SCENE ? (T(), I(m(O), {
167
+ v.value === m(a).ROBOT_SCENE ? (T(), w(m(B), {
168
168
  key: 0,
169
169
  fileBlobs: l.value,
170
170
  threeData: n.threeData
@@ -176,7 +176,7 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
176
176
  u(t.$slots, "management-page", {}, void 0, !0)
177
177
  ]),
178
178
  _: 3
179
- }, 8, ["fileBlobs", "threeData"])) : v.value === m(a).TRACK_PATH ? (T(), I(m(i), {
179
+ }, 8, ["fileBlobs", "threeData"])) : v.value === m(a).TRACK_PATH ? (T(), w(m(i), {
180
180
  key: 1,
181
181
  fileBlobs: l.value,
182
182
  threeData: n.threeData,
@@ -189,7 +189,7 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
189
189
  u(t.$slots, "management-page", {}, void 0, !0)
190
190
  ]),
191
191
  _: 3
192
- }, 8, ["fileBlobs", "threeData", "trackFileType"])) : v.value === m(a).CPMPIP_SCENE ? (T(), I(m(p), {
192
+ }, 8, ["fileBlobs", "threeData", "trackFileType"])) : v.value === m(a).CPMPIP_SCENE ? (T(), w(m(p), {
193
193
  key: 2,
194
194
  fileBlobs: l.value,
195
195
  threeData: n.threeData
@@ -201,7 +201,7 @@ const q = { class: "three-platform mv-inline" }, J = { class: "top-menu" }, Q =
201
201
  u(t.$slots, "management-page", {}, void 0, !0)
202
202
  ]),
203
203
  _: 3
204
- }, 8, ["fileBlobs", "threeData"])) : v.value === m(a).PREVIEW ? (T(), I(m(y), {
204
+ }, 8, ["fileBlobs", "threeData"])) : v.value === m(a).PREVIEW ? (T(), w(m(y), {
205
205
  key: 3,
206
206
  fileBlobs: l.value
207
207
  }, {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as I, ref as F, watch as M, onMounted as C, onUnmounted as E, createElementBlock as m, openBlock as f, Fragment as P, renderList as T, createElementVNode as c, createCommentVNode as U, toDisplayString as h, computed as L, resolveComponent as S, createVNode as A } from "vue";
2
- import { a1 as V } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-1pEFQ04s.js";
2
+ import { Y as V } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BRc8dG0E.js";
3
3
  import { _ as b } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const D = (i, a) => {
5
5
  if (!a)
@@ -40,10 +40,10 @@ const D = (i, a) => {
40
40
  }, R = { class: "panel-content" }, O = {
41
41
  key: 0,
42
42
  class: "joints-list"
43
- }, K = { class: "joint-info-row" }, B = { class: "joint-left" }, q = { class: "joint-name" }, $ = { class: "joint-range" }, z = { class: "joint-type" }, G = {
43
+ }, K = { class: "joint-info-row" }, B = { class: "joint-left" }, q = { class: "joint-name" }, $ = { class: "joint-range" }, Y = { class: "joint-type" }, z = {
44
44
  key: 0,
45
45
  class: "joint-control-row"
46
- }, H = { class: "slider-container" }, Q = ["min", "max", "value", "onInput"], W = { class: "value-display" }, X = { class: "joint-value" }, Y = { class: "unit" }, Z = {
46
+ }, G = { class: "slider-container" }, H = ["min", "max", "value", "onInput"], Q = { class: "value-display" }, W = { class: "joint-value" }, X = { class: "unit" }, Z = {
47
47
  key: 1,
48
48
  class: "empty-state"
49
49
  }, j = /* @__PURE__ */ I({
@@ -120,10 +120,10 @@ const D = (i, a) => {
120
120
  c("span", q, h(s.name), 1),
121
121
  c("span", $, " [" + h(s.limit.lower.toFixed(2)) + ", " + h(s.limit.upper.toFixed(2)) + "] ", 1)
122
122
  ]),
123
- c("span", z, h(s.type), 1)
123
+ c("span", Y, h(s.type), 1)
124
124
  ]),
125
- s.type === "revolute" || s.type === "prismatic" || s.type === "continuous" ? (f(), m("div", G, [
126
- c("div", H, [
125
+ s.type === "revolute" || s.type === "prismatic" || s.type === "continuous" ? (f(), m("div", z, [
126
+ c("div", G, [
127
127
  c("input", {
128
128
  type: "range",
129
129
  min: s.limit.lower,
@@ -132,11 +132,11 @@ const D = (i, a) => {
132
132
  value: s.currentValue,
133
133
  onInput: (r) => v(s.name, r.target.value),
134
134
  class: "joint-slider"
135
- }, null, 40, Q)
135
+ }, null, 40, H)
136
136
  ]),
137
- c("div", W, [
138
- c("span", X, h(s.currentValue ? Number(s.currentValue).toFixed(3) : "0.000"), 1),
139
- c("span", Y, h(s.type === "prismatic" ? "m" : "rad"), 1)
137
+ c("div", Q, [
138
+ c("span", W, h(s.currentValue ? Number(s.currentValue).toFixed(3) : "0.000"), 1),
139
+ c("span", X, h(s.type === "prismatic" ? "m" : "rad"), 1)
140
140
  ])
141
141
  ])) : U("", !0)
142
142
  ]))), 128))
@@ -1 +1 @@
1
- "use strict";const n=require("vue"),k=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-ZMwIbmlN.cjs"),x=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),J=(o,a)=>{if(!a)return null;const i=o.joints[a];return i||null},V=(o,a)=>{if(!a)return null;const i=J(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},F=(o,a)=>{if(!a)return null;const i=o.links[a];return i||null},L=(o,a)=>{if(!a)return null;const i=F(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},E=o=>{const a=o.joints;return Object.values(a)},M=o=>E(o).filter(u=>u.jointType!=="fixed"),N=o=>{const a=o.links;return Object.keys(a)},w={class:"panel-content"},B={key:0,class:"joints-list"},b={class:"joint-info-row"},I={class:"joint-left"},S={class:"joint-name"},C={class:"joint-range"},D={class:"joint-type"},P={key:0,class:"joint-control-row"},T={class:"slider-container"},U=["min","max","value","onInput"],A={class:"value-display"},R={class:"joint-value"},q={class:"unit"},O={key:1,class:"empty-state"},K=n.defineComponent({__name:"urdfJointPanel",props:{model:{}},setup(o,{expose:a}){const i=o,u=n.ref([]),c=n.ref(null),f=(r,e=!1)=>r==="revolute"?e?Math.PI:-Math.PI:r==="prismatic"?e?1:-1:0,h=r=>{if(!r||!r.joints)return console.warn("URDF模型无效或不包含关节信息"),[];const e=[];return E(r).forEach(l=>{var d,p;if(l.jointType==="fixed")return;let t={lower:((d=l.limit)==null?void 0:d.lower)??f(l.jointType,!1),upper:((p=l.limit)==null?void 0:p.upper)??f(l.jointType,!0)};l.jointType==="continuous"&&(t={lower:-10*Math.PI,upper:10*Math.PI}),e.push({name:l.name,type:l.jointType||"unknown",limit:t,currentValue:l.angle||0,urdfJoint:l})}),e},m=(r,e)=>{var d;const s=u.value.find(p=>p.name===r);if(!s)return;const l=parseFloat(e),t=Math.max(s.limit.lower,Math.min(s.limit.upper,l));s.currentValue=t,(d=i.model)!=null&&d.setJointValue?i.model.setJointValue(r,t):s.urdfJoint.setJointValue(t)},_=()=>{u.value.forEach(r=>{(r.type==="revolute"||r.type==="continuous"||r.type==="prismatic")&&m(r.name,0)})},g=()=>{i.model&&u.value.forEach(r=>{r.urdfJoint.angle!==void 0&&r.currentValue!==r.urdfJoint.angle&&(r.currentValue=r.urdfJoint.angle)})},v=()=>{const r=()=>{g(),c.value=requestAnimationFrame(r)};r()},y=()=>{c.value&&(cancelAnimationFrame(c.value),c.value=null)};return n.watch(()=>i.model,r=>{r?u.value=h(r):u.value=[]},{immediate:!0}),n.onMounted(()=>{v()}),n.onUnmounted(()=>{y()}),a({resetAllJoints:_}),(r,e)=>(n.openBlock(),n.createElementBlock("div",w,[u.value.length>0?(n.openBlock(),n.createElementBlock("div",B,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(u.value,s=>(n.openBlock(),n.createElementBlock("div",{key:s.name,class:"joint-item"},[n.createElementVNode("div",b,[n.createElementVNode("div",I,[n.createElementVNode("span",S,n.toDisplayString(s.name),1),n.createElementVNode("span",C," ["+n.toDisplayString(s.limit.lower.toFixed(2))+", "+n.toDisplayString(s.limit.upper.toFixed(2))+"] ",1)]),n.createElementVNode("span",D,n.toDisplayString(s.type),1)]),s.type==="revolute"||s.type==="prismatic"||s.type==="continuous"?(n.openBlock(),n.createElementBlock("div",P,[n.createElementVNode("div",T,[n.createElementVNode("input",{type:"range",min:s.limit.lower,max:s.limit.upper,step:"0.001",value:s.currentValue,onInput:l=>m(s.name,l.target.value),class:"joint-slider"},null,40,U)]),n.createElementVNode("div",A,[n.createElementVNode("span",R,n.toDisplayString(s.currentValue?Number(s.currentValue).toFixed(3):"0.000"),1),n.createElementVNode("span",q,n.toDisplayString(s.type==="prismatic"?"m":"rad"),1)])])):n.createCommentVNode("",!0)]))),128))])):(n.openBlock(),n.createElementBlock("div",O,e[0]||(e[0]=[n.createElementVNode("p",null,"未检测到可控制的关节",-1)])))]))}}),$=x._export_sfc(K,[["__scopeId","data-v-750b831d"]]),H={class:"panel-content"},z="id",G={__name:"urdfTree",props:{model:Object,maxExpandCount:{type:Number,default:10},expandStrategy:{type:String,default:"breadth",validator:o=>["breadth","firstLevel"].includes(o)}},emits:["nodeClick"],setup(o,{emit:a}){const i=o,u=a,c=n.ref([]),f={children:"children",label:"label"},h=e=>{u("nodeClick",e)},m=(e,s=0)=>{const l=[];return Array.isArray(e)&&(e==null?void 0:e.length)>0&&e.forEach(t=>{if(!(t!=null&&t.isMesh)&&((t==null?void 0:t.type)==="URDFJoint"||(t==null?void 0:t.type)==="URDFLink")){const d={name:t==null?void 0:t.name,label:t==null?void 0:t.name,show:!0,level:s+1,isPenultimate:!1,type:t==null?void 0:t.type,id:t==null?void 0:t.id,limit:(t==null?void 0:t.limit)??"",children:m(t==null?void 0:t.children,s+1),path:t==null?void 0:t.name};l.push(d)}}),l},_=e=>e?[{name:e==null?void 0:e.name,label:e==null?void 0:e.name,show:!0,level:1,isPenultimate:!1,type:e==null?void 0:e.type,id:e==null?void 0:e.id,limit:(e==null?void 0:e.limit)??"",children:m(e==null?void 0:e.children,1)||[],path:e==null?void 0:e.name}]:[],g=(e,s)=>{const l=[],t=[...e];for(;t.length>0&&l.length<s;){const d=t.shift();d.children&&d.children.length>0&&(l.push(d.id),t.push(...d.children))}return l},v=(e,s)=>{const l=[];return e.forEach(t=>{if(t.children&&t.children.length>0){l.push(t.id);const d=t.children.filter(p=>p.children&&p.children.length>0).slice(0,s).map(p=>p.id);l.push(...d)}}),l.slice(0,s+1)},y=n.computed(()=>!c.value||c.value.length===0?[]:i.expandStrategy==="firstLevel"?v(c.value,i.maxExpandCount):g(c.value,i.maxExpandCount)),r=n.computed(()=>[{name:"场景",label:"场景",show:!0,level:1,isPenultimate:!1,type:"场景",id:"场景",children:i!=null&&i.model?_(i.model):[],path:"场景"}]);return n.watch(r,e=>{c.value=JSON.parse(JSON.stringify(e))},{immediate:!0}),(e,s)=>{const l=n.resolveComponent("el-tree");return n.openBlock(),n.createElementBlock("div",H,[n.createVNode(l,{data:c.value,props:f,"default-expanded-keys":y.value,"node-key":z,onNodeClick:h},null,8,["data","default-expanded-keys"])])}}},Q=x._export_sfc(G,[["__scopeId","data-v-cfde50c3"]]);exports.JointPanel=$;exports.UrdfTree=Q;exports.getAllLinkName=N;exports.getMeshFromJoint=V;exports.getMeshFromLink=L;exports.getNonFixedJoints=M;exports.getTargetJoint=J;
1
+ "use strict";const n=require("vue"),k=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CbFQ2oZH.cjs"),x=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),J=(o,a)=>{if(!a)return null;const i=o.joints[a];return i||null},V=(o,a)=>{if(!a)return null;const i=J(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},F=(o,a)=>{if(!a)return null;const i=o.links[a];return i||null},L=(o,a)=>{if(!a)return null;const i=F(o,a);if(!i)return null;let u=null;return i.traverse(c=>{c instanceof k.Mesh&&!u&&(u=c)}),u},E=o=>{const a=o.joints;return Object.values(a)},M=o=>E(o).filter(u=>u.jointType!=="fixed"),N=o=>{const a=o.links;return Object.keys(a)},w={class:"panel-content"},B={key:0,class:"joints-list"},b={class:"joint-info-row"},I={class:"joint-left"},S={class:"joint-name"},C={class:"joint-range"},D={class:"joint-type"},P={key:0,class:"joint-control-row"},T={class:"slider-container"},U=["min","max","value","onInput"],A={class:"value-display"},R={class:"joint-value"},q={class:"unit"},O={key:1,class:"empty-state"},K=n.defineComponent({__name:"urdfJointPanel",props:{model:{}},setup(o,{expose:a}){const i=o,u=n.ref([]),c=n.ref(null),f=(r,e=!1)=>r==="revolute"?e?Math.PI:-Math.PI:r==="prismatic"?e?1:-1:0,h=r=>{if(!r||!r.joints)return console.warn("URDF模型无效或不包含关节信息"),[];const e=[];return E(r).forEach(l=>{var d,p;if(l.jointType==="fixed")return;let t={lower:((d=l.limit)==null?void 0:d.lower)??f(l.jointType,!1),upper:((p=l.limit)==null?void 0:p.upper)??f(l.jointType,!0)};l.jointType==="continuous"&&(t={lower:-10*Math.PI,upper:10*Math.PI}),e.push({name:l.name,type:l.jointType||"unknown",limit:t,currentValue:l.angle||0,urdfJoint:l})}),e},m=(r,e)=>{var d;const s=u.value.find(p=>p.name===r);if(!s)return;const l=parseFloat(e),t=Math.max(s.limit.lower,Math.min(s.limit.upper,l));s.currentValue=t,(d=i.model)!=null&&d.setJointValue?i.model.setJointValue(r,t):s.urdfJoint.setJointValue(t)},_=()=>{u.value.forEach(r=>{(r.type==="revolute"||r.type==="continuous"||r.type==="prismatic")&&m(r.name,0)})},g=()=>{i.model&&u.value.forEach(r=>{r.urdfJoint.angle!==void 0&&r.currentValue!==r.urdfJoint.angle&&(r.currentValue=r.urdfJoint.angle)})},v=()=>{const r=()=>{g(),c.value=requestAnimationFrame(r)};r()},y=()=>{c.value&&(cancelAnimationFrame(c.value),c.value=null)};return n.watch(()=>i.model,r=>{r?u.value=h(r):u.value=[]},{immediate:!0}),n.onMounted(()=>{v()}),n.onUnmounted(()=>{y()}),a({resetAllJoints:_}),(r,e)=>(n.openBlock(),n.createElementBlock("div",w,[u.value.length>0?(n.openBlock(),n.createElementBlock("div",B,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(u.value,s=>(n.openBlock(),n.createElementBlock("div",{key:s.name,class:"joint-item"},[n.createElementVNode("div",b,[n.createElementVNode("div",I,[n.createElementVNode("span",S,n.toDisplayString(s.name),1),n.createElementVNode("span",C," ["+n.toDisplayString(s.limit.lower.toFixed(2))+", "+n.toDisplayString(s.limit.upper.toFixed(2))+"] ",1)]),n.createElementVNode("span",D,n.toDisplayString(s.type),1)]),s.type==="revolute"||s.type==="prismatic"||s.type==="continuous"?(n.openBlock(),n.createElementBlock("div",P,[n.createElementVNode("div",T,[n.createElementVNode("input",{type:"range",min:s.limit.lower,max:s.limit.upper,step:"0.001",value:s.currentValue,onInput:l=>m(s.name,l.target.value),class:"joint-slider"},null,40,U)]),n.createElementVNode("div",A,[n.createElementVNode("span",R,n.toDisplayString(s.currentValue?Number(s.currentValue).toFixed(3):"0.000"),1),n.createElementVNode("span",q,n.toDisplayString(s.type==="prismatic"?"m":"rad"),1)])])):n.createCommentVNode("",!0)]))),128))])):(n.openBlock(),n.createElementBlock("div",O,e[0]||(e[0]=[n.createElementVNode("p",null,"未检测到可控制的关节",-1)])))]))}}),$=x._export_sfc(K,[["__scopeId","data-v-750b831d"]]),H={class:"panel-content"},z="id",G={__name:"urdfTree",props:{model:Object,maxExpandCount:{type:Number,default:10},expandStrategy:{type:String,default:"breadth",validator:o=>["breadth","firstLevel"].includes(o)}},emits:["nodeClick"],setup(o,{emit:a}){const i=o,u=a,c=n.ref([]),f={children:"children",label:"label"},h=e=>{u("nodeClick",e)},m=(e,s=0)=>{const l=[];return Array.isArray(e)&&(e==null?void 0:e.length)>0&&e.forEach(t=>{if(!(t!=null&&t.isMesh)&&((t==null?void 0:t.type)==="URDFJoint"||(t==null?void 0:t.type)==="URDFLink")){const d={name:t==null?void 0:t.name,label:t==null?void 0:t.name,show:!0,level:s+1,isPenultimate:!1,type:t==null?void 0:t.type,id:t==null?void 0:t.id,limit:(t==null?void 0:t.limit)??"",children:m(t==null?void 0:t.children,s+1),path:t==null?void 0:t.name};l.push(d)}}),l},_=e=>e?[{name:e==null?void 0:e.name,label:e==null?void 0:e.name,show:!0,level:1,isPenultimate:!1,type:e==null?void 0:e.type,id:e==null?void 0:e.id,limit:(e==null?void 0:e.limit)??"",children:m(e==null?void 0:e.children,1)||[],path:e==null?void 0:e.name}]:[],g=(e,s)=>{const l=[],t=[...e];for(;t.length>0&&l.length<s;){const d=t.shift();d.children&&d.children.length>0&&(l.push(d.id),t.push(...d.children))}return l},v=(e,s)=>{const l=[];return e.forEach(t=>{if(t.children&&t.children.length>0){l.push(t.id);const d=t.children.filter(p=>p.children&&p.children.length>0).slice(0,s).map(p=>p.id);l.push(...d)}}),l.slice(0,s+1)},y=n.computed(()=>!c.value||c.value.length===0?[]:i.expandStrategy==="firstLevel"?v(c.value,i.maxExpandCount):g(c.value,i.maxExpandCount)),r=n.computed(()=>[{name:"场景",label:"场景",show:!0,level:1,isPenultimate:!1,type:"场景",id:"场景",children:i!=null&&i.model?_(i.model):[],path:"场景"}]);return n.watch(r,e=>{c.value=JSON.parse(JSON.stringify(e))},{immediate:!0}),(e,s)=>{const l=n.resolveComponent("el-tree");return n.openBlock(),n.createElementBlock("div",H,[n.createVNode(l,{data:c.value,props:f,"default-expanded-keys":y.value,"node-key":z,onNodeClick:h},null,8,["data","default-expanded-keys"])])}}},Q=x._export_sfc(G,[["__scopeId","data-v-cfde50c3"]]);exports.JointPanel=$;exports.UrdfTree=Q;exports.getAllLinkName=N;exports.getMeshFromJoint=V;exports.getMeshFromLink=L;exports.getNonFixedJoints=M;exports.getTargetJoint=J;