ss-component-new 1.1.429 → 1.1.430

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 (85) hide show
  1. package/dist/{array-C3OjTdFF.cjs → array-BE8kxwbF.cjs} +1 -1
  2. package/dist/{array-DriW7TrH.js → array-CmTW1wXQ.js} +1 -1
  3. package/dist/icons/svg/EyeFill.svg +1 -0
  4. package/dist/{index-BHxlvMv6.js → index-B3sv--5l.js} +10 -10
  5. package/dist/{index-CeMds4uE.cjs → index-B8ONEgpW.cjs} +1 -1
  6. package/dist/{index-C041luJT.cjs → index-BCFtIIf_.cjs} +1 -1
  7. package/dist/{index-B1X-bNE0.js → index-BWHERznY.js} +4 -4
  8. package/dist/{index-DAgE3WO9.cjs → index-BZkQ29Tz.cjs} +1 -1
  9. package/dist/{index-D9rAVZEL.cjs → index-B_AUqKy_.cjs} +1 -1
  10. package/dist/{index-o4WPwqzp.cjs → index-Bb7GoIJp.cjs} +2 -2
  11. package/dist/{index-DdLcYvE3.js → index-BiuhwvlL.js} +9 -9
  12. package/dist/{index-BGLizV4G.js → index-BnlhM9YS.js} +7 -7
  13. package/dist/{index-DjBjjDpg.js → index-BwhVhBYj.js} +5 -5
  14. package/dist/index-C-jjWrUl.cjs +1 -0
  15. package/dist/{index-X7EJLhQp.js → index-CMBrDaM5.js} +1 -1
  16. package/dist/{index-De1s3ea7.cjs → index-CNpklHzK.cjs} +1 -1
  17. package/dist/index-CONyMR2I.cjs +74 -0
  18. package/dist/{index-DuomA_Ys.js → index-CSj1osh5.js} +6 -6
  19. package/dist/{index-CLr3y5Du.js → index-CYOSbBn4.js} +212 -219
  20. package/dist/{index-DGnJNcjc.cjs → index-CjlMUufz.cjs} +1 -1
  21. package/dist/{index-Drc2BWLn.cjs → index-Clor83sA.cjs} +1 -1
  22. package/dist/{index-DB1AfPdQ.cjs → index-CqaFuVhy.cjs} +1 -1
  23. package/dist/{index-CrsymeXk.js → index-Cqd4dRu7.js} +4 -4
  24. package/dist/{index-exhk8lMr.js → index-CrtuDvMe.js} +1 -1
  25. package/dist/{index-D2PXGh3y.cjs → index-CsHPoVQL.cjs} +1 -1
  26. package/dist/{index-BDHFJwhX.js → index-CzfGrSpV.js} +7021 -7051
  27. package/dist/{index-Ci4dnyyZ.cjs → index-D2aIlMCu.cjs} +1 -1
  28. package/dist/{index-DErdQiE5.cjs → index-D3ah-UXX.cjs} +1 -1
  29. package/dist/{index-DMqZtCR1.cjs → index-D5JRjtWD.cjs} +1 -1
  30. package/dist/{index-B7NzplQm.cjs → index-D6iTzH06.cjs} +1 -1
  31. package/dist/{index-dpjmnZm7.js → index-DDoTCY3C.js} +5 -5
  32. package/dist/{index-BHO7rTdQ.js → index-DFilfUFX.js} +3 -3
  33. package/dist/{index-CaW2QXnl.cjs → index-DIxSv5u4.cjs} +1 -1
  34. package/dist/{index-oM_7BEoi.cjs → index-DOm1fXtU.cjs} +1 -1
  35. package/dist/{index-C5htghVN.js → index-DQq3rsff.js} +5 -5
  36. package/dist/{index-DpCi5S7b.cjs → index-DUPkZILz.cjs} +1 -1
  37. package/dist/{index-ByT2pf2G.js → index-DXtXtduX.js} +4 -4
  38. package/dist/{index-Cu9nFCcK.cjs → index-D_j7_Hn_.cjs} +1 -1
  39. package/dist/{index-BkvkvC9V.js → index-Daqdy9e9.js} +17274 -17247
  40. package/dist/{index-DOdaH5Dk.js → index-DeXnZk4X.js} +6 -6
  41. package/dist/{index-uSX5QLdo.js → index-Di1ajNKI.js} +4 -4
  42. package/dist/{index-F-6m4uLc.js → index-DkiBGvqU.js} +1 -1
  43. package/dist/{index-C4I9I7dr.js → index-DxCiQhlC.js} +2 -2
  44. package/dist/{index-DhsJZNDO.cjs → index-DxNyBY1w.cjs} +1 -1
  45. package/dist/{index-b6bi-mnI.cjs → index-DygfoHkC.cjs} +1 -1
  46. package/dist/{index-BNA4Hofc.js → index-EzZiR3ly.js} +4 -4
  47. package/dist/{index-BMTUQiR1.js → index-LoH8EwXA.js} +3 -3
  48. package/dist/{index-Nzu-Yg3L.cjs → index-N9Y_z5k_.cjs} +1 -1
  49. package/dist/{index-CRBAzfEs.cjs → index-PdwN7EaB.cjs} +1 -1
  50. package/dist/{index-DqlG2nHS.js → index-eH2F0oMQ.js} +3 -3
  51. package/dist/{index-AFInDriS.cjs → index-gXA0eS6O.cjs} +13 -13
  52. package/dist/{index-BGNfD1q7.cjs → index-o5dof3CA.cjs} +1 -1
  53. package/dist/{index-BEBs6lDF.js → index-pvjM6t0d.js} +6 -6
  54. package/dist/{index-1lEb6AxE.js → index-qEFkFDy8.js} +7 -7
  55. package/dist/{index-d_3spDmN.js → index-uatggqnf.js} +5 -5
  56. package/dist/{index.vue_vue_type_script_setup_true_lang-CQS0yIXC.cjs → index.vue_vue_type_script_setup_true_lang-EaaJleWP.cjs} +1 -1
  57. package/dist/{index.vue_vue_type_script_setup_true_lang-r5ntXx1H.js → index.vue_vue_type_script_setup_true_lang-YlUeUQJ4.js} +3 -3
  58. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BcnUrtwr.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Bw_ydbnW.cjs} +58 -58
  59. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DhjhVvbJ.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CClJxB6F.js} +6849 -6849
  60. package/dist/{index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-B95fnBYd.cjs → index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-B2duMdZT.cjs} +1 -1
  61. package/dist/{index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-_nLEVa23.js → index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-CcYfjXoA.js} +8 -8
  62. package/dist/index.vue_vue_type_style_index_0_scoped_f69cf49c_lang-TQjM60R4.js +1947 -0
  63. package/dist/index.vue_vue_type_style_index_0_scoped_f69cf49c_lang-Z8fBYrL9.cjs +1 -0
  64. package/dist/{login-Dz-Choxe.js → login-B520hsEu.js} +1 -1
  65. package/dist/{login-4CQsNYqj.cjs → login-BMAi9yYX.cjs} +1 -1
  66. package/dist/{main-D4TIX5ZJ.js → main-Dpbg9Pxc.js} +6 -6
  67. package/dist/{main-Dr2n-t77.cjs → main-yzKa6bxy.cjs} +1 -1
  68. package/dist/{menu-DRqy2FlY.cjs → menu-BAEUpxbd.cjs} +8 -8
  69. package/dist/{menu-C47R8xaz.js → menu-qAL8FiSW.js} +5 -3
  70. package/dist/ss-component.cjs +1 -1
  71. package/dist/ss-component.css +2 -2
  72. package/dist/ss-component.js +10 -10
  73. package/dist/ss-component3.cjs +1 -1
  74. package/dist/ss-component3.js +1 -1
  75. package/dist/{threeModel-DC6dUe7Z.js → threeModel-ClGUp5fG.js} +628 -752
  76. package/dist/threeModel-CxKWxMlL.cjs +1 -0
  77. package/dist/{threeModel.vue_vue_type_style_index_0_scoped_e7dd7d83_lang-P-VgKxw9.cjs → threeModel.vue_vue_type_style_index_0_scoped_3e87dec6_lang-BOT5Tivd.cjs} +181 -181
  78. package/dist/{threeModel.vue_vue_type_style_index_0_scoped_e7dd7d83_lang-DHvoNEJo.js → threeModel.vue_vue_type_style_index_0_scoped_3e87dec6_lang-DYhzYEGg.js} +4567 -5349
  79. package/package.json +1 -1
  80. package/public/icons/svg/EyeFill.svg +1 -0
  81. package/dist/index-D5QWCaxA.cjs +0 -87
  82. package/dist/index-DsAxFIrB.cjs +0 -1
  83. package/dist/index.vue_vue_type_style_index_0_scoped_7ee96c6e_lang-B9DK4OqF.js +0 -1929
  84. package/dist/index.vue_vue_type_style_index_0_scoped_7ee96c6e_lang-CBxAbUn1.cjs +0 -1
  85. package/dist/threeModel-CiX5oIo9.cjs +0 -1
@@ -1,7 +1,7 @@
1
- import { defineComponent as Nt, resolveComponent as bt, createElementBlock as $, openBlock as U, createVNode as v, ref as S, computed as te, watch as Ut, createCommentVNode as Jt, createElementVNode as P, withCtx as Mt, withDirectives as ht, vShow as Tt, onMounted as Yt, onUnmounted as ee, Fragment as Ot, toDisplayString as tt, renderList as ne, normalizeStyle as oe, normalizeClass as ie, nextTick as ae, onBeforeUnmount as se, createBlock as re, unref as j, isRef as mt, vModelRadio as Gt } from "vue";
2
- import { C as le, V as u, M as it, T as dt, Q as Lt, S as Ht, a as q, R as he, P as gt, b as de, B as wt, c as ce, d as _e, e as Pe, W as Je, f as ue, A as pe, g as me, X as Ge, G as fe, h as yt, i as ge, j as St, k as ye, D as Bt, H as be, l as jt, m as Vt, n as Me, E as Et, o as xt, p as we, q as Re, _ as ve, r as Be } from "./threeModel.vue_vue_type_style_index_0_scoped_e7dd7d83_lang-DHvoNEJo.js";
3
- import { _ as ut } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
- const Ee = { class: "tree-container" }, xe = /* @__PURE__ */ Nt({
1
+ import { defineComponent as wt, resolveComponent as Rt, createElementBlock as j, openBlock as z, createVNode as B, ref as D, computed as Ht, watch as Bt, onMounted as Et, onUnmounted as jt, Fragment as ut, createElementVNode as p, toDisplayString as Y, renderList as It, createCommentVNode as q, normalizeClass as pt, normalizeStyle as Ft, nextTick as Nt, onBeforeUnmount as Ut, withDirectives as X, unref as A, withCtx as mt, createBlock as Gt, isRef as et, vModelRadio as it, vShow as ft } from "vue";
2
+ import { C as Yt, V as y, M as $, T as W, Q as gt, S as yt, a as U, R as Vt, P as nt, b as Zt, B as st, c as $t, d as Kt, e as Xt, W as Wt, f as qt, A as Qt, g as te, X as ee, G as ie, h as at, i as oe, j as Dt, k as ne, D as rt, H as ae, l as bt, m as se, n as re, E as lt, _ as le, o as he } from "./threeModel.vue_vue_type_style_index_0_scoped_3e87dec6_lang-DYhzYEGg.js";
3
+ import { _ as Q } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
+ const de = { class: "tree-container" }, _e = /* @__PURE__ */ wt({
5
5
  __name: "index",
6
6
  props: {
7
7
  treeData: Array,
@@ -11,102 +11,76 @@ const Ee = { class: "tree-container" }, xe = /* @__PURE__ */ Nt({
11
11
  }
12
12
  },
13
13
  emits: ["nodeClick"],
14
- setup(s, { emit: t }) {
15
- const e = t, i = s, r = {
14
+ setup(o, { emit: t }) {
15
+ const e = t, i = o, l = {
16
16
  children: "children",
17
17
  label: "label"
18
- }, J = (G) => {
19
- e("nodeClick", G);
18
+ }, u = (s) => {
19
+ e("nodeClick", s);
20
20
  };
21
- return (G, o) => {
22
- const p = bt("el-tree");
23
- return U(), $("div", Ee, [
24
- v(p, {
21
+ return (s, a) => {
22
+ const f = Rt("el-tree");
23
+ return z(), j("div", de, [
24
+ B(f, {
25
25
  data: i == null ? void 0 : i.treeData,
26
- props: r,
27
- "default-expand-all": s.expand,
28
- onNodeClick: J
26
+ props: l,
27
+ "default-expand-all": o.expand,
28
+ onNodeClick: u
29
29
  }, null, 8, ["data", "default-expand-all"])
30
30
  ]);
31
31
  };
32
32
  }
33
- }), De = /* @__PURE__ */ ut(xe, [["__scopeId", "data-v-b4bd4658"]]), Te = {
34
- key: 0,
35
- class: "jointPanel-container"
36
- }, Se = { class: "panel-content" }, Ae = /* @__PURE__ */ Nt({
33
+ }), ce = /* @__PURE__ */ Q(_e, [["__scopeId", "data-v-b4bd4658"]]), Pe = { class: "panel-content" }, Je = /* @__PURE__ */ wt({
37
34
  __name: "robotMenu",
38
35
  props: {
39
36
  model: Object
40
37
  },
41
- setup(s) {
42
- const t = s, e = S(!0), i = S([]), r = (o, p = 0) => {
43
- const g = [];
44
- return Array.isArray(o) && (o == null ? void 0 : o.length) > 0 && o.forEach((_) => {
45
- if (!(_ != null && _.isMesh) && ((_ == null ? void 0 : _.type) === "URDFJoint" || (_ == null ? void 0 : _.type) === "URDFLink")) {
46
- const Y = {
47
- name: _ == null ? void 0 : _.name,
48
- label: _ == null ? void 0 : _.name,
38
+ setup(o) {
39
+ const t = o, e = D([]), i = (s, a = 0) => {
40
+ const f = [];
41
+ return Array.isArray(s) && (s == null ? void 0 : s.length) > 0 && s.forEach((h) => {
42
+ if (!(h != null && h.isMesh) && ((h == null ? void 0 : h.type) === "URDFJoint" || (h == null ? void 0 : h.type) === "URDFLink")) {
43
+ const x = {
44
+ name: h == null ? void 0 : h.name,
45
+ label: h == null ? void 0 : h.name,
49
46
  show: !0,
50
- level: p + 1,
47
+ level: a + 1,
51
48
  isPenultimate: !1,
52
- type: _ == null ? void 0 : _.type,
53
- id: _ == null ? void 0 : _.id,
54
- limit: (_ == null ? void 0 : _.limit) ?? "",
55
- children: r(_ == null ? void 0 : _.children, p + 1),
56
- path: _ == null ? void 0 : _.name
49
+ type: h == null ? void 0 : h.type,
50
+ id: h == null ? void 0 : h.id,
51
+ limit: (h == null ? void 0 : h.limit) ?? "",
52
+ children: i(h == null ? void 0 : h.children, a + 1),
53
+ path: h == null ? void 0 : h.name
57
54
  };
58
- g.push(Y);
55
+ f.push(x);
59
56
  }
60
- }), g;
61
- }, J = (o) => o ? [{
62
- name: o == null ? void 0 : o.name,
63
- label: o == null ? void 0 : o.name,
57
+ }), f;
58
+ }, l = (s) => s ? [{
59
+ name: s == null ? void 0 : s.name,
60
+ label: s == null ? void 0 : s.name,
64
61
  show: !0,
65
62
  level: 1,
66
63
  isPenultimate: !1,
67
- type: o == null ? void 0 : o.type,
68
- id: o == null ? void 0 : o.id,
69
- limit: (o == null ? void 0 : o.limit) ?? "",
70
- children: r(o == null ? void 0 : o.children, 1),
71
- path: o == null ? void 0 : o.name
72
- }] : [], G = te(() => t != null && t.model ? J(t.model) : []);
73
- return Ut(
74
- G,
75
- (o) => {
76
- i.value = JSON.parse(JSON.stringify(o));
64
+ type: s == null ? void 0 : s.type,
65
+ id: s == null ? void 0 : s.id,
66
+ limit: (s == null ? void 0 : s.limit) ?? "",
67
+ children: i(s == null ? void 0 : s.children, 1),
68
+ path: s == null ? void 0 : s.name
69
+ }] : [], u = Ht(() => t != null && t.model ? l(t.model) : []);
70
+ return Bt(
71
+ u,
72
+ (s) => {
73
+ e.value = JSON.parse(JSON.stringify(s));
77
74
  },
78
75
  { immediate: !0 }
79
- ), (o, p) => {
80
- const g = bt("el-scrollbar"), _ = bt("el-collapse-transition");
81
- return s.model ? (U(), $("div", Te, [
82
- P("div", {
83
- class: "panel-header",
84
- onClick: p[0] || (p[0] = (Y) => e.value = !e.value)
85
- }, p[1] || (p[1] = [
86
- P("h3", null, "URDF树", -1)
87
- ])),
88
- v(_, null, {
89
- default: Mt(() => [
90
- ht(v(g, { "max-height": "600px" }, {
91
- default: Mt(() => [
92
- P("div", Se, [
93
- v(De, {
94
- treeData: i.value,
95
- expand: !0
96
- }, null, 8, ["treeData"])
97
- ])
98
- ]),
99
- _: 1
100
- }, 512), [
101
- [Tt, e.value]
102
- ])
103
- ]),
104
- _: 1
105
- })
106
- ])) : Jt("", !0);
107
- };
76
+ ), (s, a) => (z(), j("div", Pe, [
77
+ B(ce, {
78
+ treeData: e.value,
79
+ expand: !0
80
+ }, null, 8, ["treeData"])
81
+ ]));
108
82
  }
109
- }), Ce = /* @__PURE__ */ ut(Ae, [["__scopeId", "data-v-bc2f3f82"]]), It = { type: "change" }, At = { type: "start" }, Zt = { type: "end" }, ft = new he(), Ft = new gt(), ke = Math.cos(70 * de.DEG2RAD), C = new u(), N = 2 * Math.PI, b = {
83
+ }), ue = /* @__PURE__ */ Q(Je, [["__scopeId", "data-v-b1177706"]]), Mt = { type: "change" }, dt = { type: "start" }, xt = { type: "end" }, ot = new Vt(), vt = new nt(), pe = Math.cos(70 * Zt.DEG2RAD), S = new y(), H = 2 * Math.PI, M = {
110
84
  NONE: -1,
111
85
  ROTATE: 0,
112
86
  DOLLY: 1,
@@ -115,8 +89,8 @@ const Ee = { class: "tree-container" }, xe = /* @__PURE__ */ Nt({
115
89
  TOUCH_PAN: 4,
116
90
  TOUCH_DOLLY_PAN: 5,
117
91
  TOUCH_DOLLY_ROTATE: 6
118
- }, Dt = 1e-6;
119
- class ze extends le {
92
+ }, ht = 1e-6;
93
+ class me extends Yt {
120
94
  /**
121
95
  * Constructs a new controls instance.
122
96
  *
@@ -124,7 +98,7 @@ class ze extends le {
124
98
  * @param {?HTMLDOMElement} domElement - The HTML element used for event listeners.
125
99
  */
126
100
  constructor(t, e = null) {
127
- super(t, e), this.state = b.NONE, this.target = new u(), this.cursor = new u(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: it.ROTATE, MIDDLE: it.DOLLY, RIGHT: it.PAN }, this.touches = { ONE: dt.ROTATE, TWO: dt.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new u(), this._lastQuaternion = new Lt(), this._lastTargetPosition = new u(), this._quat = new Lt().setFromUnitVectors(t.up, new u(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Ht(), this._sphericalDelta = new Ht(), this._scale = 1, this._panOffset = new u(), this._rotateStart = new q(), this._rotateEnd = new q(), this._rotateDelta = new q(), this._panStart = new q(), this._panEnd = new q(), this._panDelta = new q(), this._dollyStart = new q(), this._dollyEnd = new q(), this._dollyDelta = new q(), this._dollyDirection = new u(), this._mouse = new q(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = Le.bind(this), this._onPointerDown = Oe.bind(this), this._onPointerUp = He.bind(this), this._onContextMenu = Ve.bind(this), this._onMouseWheel = Fe.bind(this), this._onKeyDown = Ne.bind(this), this._onTouchStart = Ue.bind(this), this._onTouchMove = Ye.bind(this), this._onMouseDown = je.bind(this), this._onMouseMove = Ie.bind(this), this._interceptControlDown = Ze.bind(this), this._interceptControlUp = $e.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
101
+ super(t, e), this.state = M.NONE, this.target = new y(), this.cursor = new y(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: $.ROTATE, MIDDLE: $.DOLLY, RIGHT: $.PAN }, this.touches = { ONE: W.ROTATE, TWO: W.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new y(), this._lastQuaternion = new gt(), this._lastTargetPosition = new y(), this._quat = new gt().setFromUnitVectors(t.up, new y(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new yt(), this._sphericalDelta = new yt(), this._scale = 1, this._panOffset = new y(), this._rotateStart = new U(), this._rotateEnd = new U(), this._rotateDelta = new U(), this._panStart = new U(), this._panEnd = new U(), this._panDelta = new U(), this._dollyStart = new U(), this._dollyEnd = new U(), this._dollyDelta = new U(), this._dollyDirection = new y(), this._mouse = new U(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = fe.bind(this), this._onPointerDown = Ge.bind(this), this._onPointerUp = ge.bind(this), this._onContextMenu = Be.bind(this), this._onMouseWheel = Me.bind(this), this._onKeyDown = ve.bind(this), this._onTouchStart = we.bind(this), this._onTouchMove = Re.bind(this), this._onMouseDown = ye.bind(this), this._onMouseMove = be.bind(this), this._interceptControlDown = Ee.bind(this), this._interceptControlUp = De.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
128
102
  }
129
103
  connect(t) {
130
104
  super.connect(t), this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
@@ -185,45 +159,45 @@ class ze extends le {
185
159
  * was called, or the initial state.
186
160
  */
187
161
  reset() {
188
- this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(It), this.update(), this.state = b.NONE;
162
+ this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(Mt), this.update(), this.state = M.NONE;
189
163
  }
190
164
  update(t = null) {
191
165
  const e = this.object.position;
192
- C.copy(e).sub(this.target), C.applyQuaternion(this._quat), this._spherical.setFromVector3(C), this.autoRotate && this.state === b.NONE && this._rotateLeft(this._getAutoRotationAngle(t)), this.enableDamping ? (this._spherical.theta += this._sphericalDelta.theta * this.dampingFactor, this._spherical.phi += this._sphericalDelta.phi * this.dampingFactor) : (this._spherical.theta += this._sphericalDelta.theta, this._spherical.phi += this._sphericalDelta.phi);
193
- let i = this.minAzimuthAngle, r = this.maxAzimuthAngle;
194
- isFinite(i) && isFinite(r) && (i < -Math.PI ? i += N : i > Math.PI && (i -= N), r < -Math.PI ? r += N : r > Math.PI && (r -= N), i <= r ? this._spherical.theta = Math.max(i, Math.min(r, this._spherical.theta)) : this._spherical.theta = this._spherical.theta > (i + r) / 2 ? Math.max(i, this._spherical.theta) : Math.min(r, this._spherical.theta)), this._spherical.phi = Math.max(this.minPolarAngle, Math.min(this.maxPolarAngle, this._spherical.phi)), this._spherical.makeSafe(), this.enableDamping === !0 ? this.target.addScaledVector(this._panOffset, this.dampingFactor) : this.target.add(this._panOffset), this.target.sub(this.cursor), this.target.clampLength(this.minTargetRadius, this.maxTargetRadius), this.target.add(this.cursor);
195
- let J = !1;
166
+ S.copy(e).sub(this.target), S.applyQuaternion(this._quat), this._spherical.setFromVector3(S), this.autoRotate && this.state === M.NONE && this._rotateLeft(this._getAutoRotationAngle(t)), this.enableDamping ? (this._spherical.theta += this._sphericalDelta.theta * this.dampingFactor, this._spherical.phi += this._sphericalDelta.phi * this.dampingFactor) : (this._spherical.theta += this._sphericalDelta.theta, this._spherical.phi += this._sphericalDelta.phi);
167
+ let i = this.minAzimuthAngle, l = this.maxAzimuthAngle;
168
+ isFinite(i) && isFinite(l) && (i < -Math.PI ? i += H : i > Math.PI && (i -= H), l < -Math.PI ? l += H : l > Math.PI && (l -= H), i <= l ? this._spherical.theta = Math.max(i, Math.min(l, this._spherical.theta)) : this._spherical.theta = this._spherical.theta > (i + l) / 2 ? Math.max(i, this._spherical.theta) : Math.min(l, this._spherical.theta)), this._spherical.phi = Math.max(this.minPolarAngle, Math.min(this.maxPolarAngle, this._spherical.phi)), this._spherical.makeSafe(), this.enableDamping === !0 ? this.target.addScaledVector(this._panOffset, this.dampingFactor) : this.target.add(this._panOffset), this.target.sub(this.cursor), this.target.clampLength(this.minTargetRadius, this.maxTargetRadius), this.target.add(this.cursor);
169
+ let u = !1;
196
170
  if (this.zoomToCursor && this._performCursorZoom || this.object.isOrthographicCamera)
197
171
  this._spherical.radius = this._clampDistance(this._spherical.radius);
198
172
  else {
199
- const G = this._spherical.radius;
200
- this._spherical.radius = this._clampDistance(this._spherical.radius * this._scale), J = G != this._spherical.radius;
173
+ const s = this._spherical.radius;
174
+ this._spherical.radius = this._clampDistance(this._spherical.radius * this._scale), u = s != this._spherical.radius;
201
175
  }
202
- if (C.setFromSpherical(this._spherical), C.applyQuaternion(this._quatInverse), e.copy(this.target).add(C), this.object.lookAt(this.target), this.enableDamping === !0 ? (this._sphericalDelta.theta *= 1 - this.dampingFactor, this._sphericalDelta.phi *= 1 - this.dampingFactor, this._panOffset.multiplyScalar(1 - this.dampingFactor)) : (this._sphericalDelta.set(0, 0, 0), this._panOffset.set(0, 0, 0)), this.zoomToCursor && this._performCursorZoom) {
203
- let G = null;
176
+ if (S.setFromSpherical(this._spherical), S.applyQuaternion(this._quatInverse), e.copy(this.target).add(S), this.object.lookAt(this.target), this.enableDamping === !0 ? (this._sphericalDelta.theta *= 1 - this.dampingFactor, this._sphericalDelta.phi *= 1 - this.dampingFactor, this._panOffset.multiplyScalar(1 - this.dampingFactor)) : (this._sphericalDelta.set(0, 0, 0), this._panOffset.set(0, 0, 0)), this.zoomToCursor && this._performCursorZoom) {
177
+ let s = null;
204
178
  if (this.object.isPerspectiveCamera) {
205
- const o = C.length();
206
- G = this._clampDistance(o * this._scale);
207
- const p = o - G;
208
- this.object.position.addScaledVector(this._dollyDirection, p), this.object.updateMatrixWorld(), J = !!p;
179
+ const a = S.length();
180
+ s = this._clampDistance(a * this._scale);
181
+ const f = a - s;
182
+ this.object.position.addScaledVector(this._dollyDirection, f), this.object.updateMatrixWorld(), u = !!f;
209
183
  } else if (this.object.isOrthographicCamera) {
210
- const o = new u(this._mouse.x, this._mouse.y, 0);
211
- o.unproject(this.object);
212
- const p = this.object.zoom;
213
- this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), this.object.updateProjectionMatrix(), J = p !== this.object.zoom;
214
- const g = new u(this._mouse.x, this._mouse.y, 0);
215
- g.unproject(this.object), this.object.position.sub(g).add(o), this.object.updateMatrixWorld(), G = C.length();
184
+ const a = new y(this._mouse.x, this._mouse.y, 0);
185
+ a.unproject(this.object);
186
+ const f = this.object.zoom;
187
+ this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), this.object.updateProjectionMatrix(), u = f !== this.object.zoom;
188
+ const h = new y(this._mouse.x, this._mouse.y, 0);
189
+ h.unproject(this.object), this.object.position.sub(h).add(a), this.object.updateMatrixWorld(), s = S.length();
216
190
  } else
217
191
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
218
- G !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(G).add(this.object.position) : (ft.origin.copy(this.object.position), ft.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(ft.direction)) < ke ? this.object.lookAt(this.target) : (Ft.setFromNormalAndCoplanarPoint(this.object.up, this.target), ft.intersectPlane(Ft, this.target))));
192
+ s !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(s).add(this.object.position) : (ot.origin.copy(this.object.position), ot.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(ot.direction)) < pe ? this.object.lookAt(this.target) : (vt.setFromNormalAndCoplanarPoint(this.object.up, this.target), ot.intersectPlane(vt, this.target))));
219
193
  } else if (this.object.isOrthographicCamera) {
220
- const G = this.object.zoom;
221
- this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), G !== this.object.zoom && (this.object.updateProjectionMatrix(), J = !0);
194
+ const s = this.object.zoom;
195
+ this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), s !== this.object.zoom && (this.object.updateProjectionMatrix(), u = !0);
222
196
  }
223
- return this._scale = 1, this._performCursorZoom = !1, J || this._lastPosition.distanceToSquared(this.object.position) > Dt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Dt || this._lastTargetPosition.distanceToSquared(this.target) > Dt ? (this.dispatchEvent(It), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
197
+ return this._scale = 1, this._performCursorZoom = !1, u || this._lastPosition.distanceToSquared(this.object.position) > ht || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > ht || this._lastTargetPosition.distanceToSquared(this.target) > ht ? (this.dispatchEvent(Mt), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
224
198
  }
225
199
  _getAutoRotationAngle(t) {
226
- return t !== null ? N / 60 * this.autoRotateSpeed * t : N / 60 / 60 * this.autoRotateSpeed;
200
+ return t !== null ? H / 60 * this.autoRotateSpeed * t : H / 60 / 60 * this.autoRotateSpeed;
227
201
  }
228
202
  _getZoomScale(t) {
229
203
  const e = Math.abs(t * 0.01);
@@ -236,19 +210,19 @@ class ze extends le {
236
210
  this._sphericalDelta.phi -= t;
237
211
  }
238
212
  _panLeft(t, e) {
239
- C.setFromMatrixColumn(e, 0), C.multiplyScalar(-t), this._panOffset.add(C);
213
+ S.setFromMatrixColumn(e, 0), S.multiplyScalar(-t), this._panOffset.add(S);
240
214
  }
241
215
  _panUp(t, e) {
242
- this.screenSpacePanning === !0 ? C.setFromMatrixColumn(e, 1) : (C.setFromMatrixColumn(e, 0), C.crossVectors(this.object.up, C)), C.multiplyScalar(t), this._panOffset.add(C);
216
+ this.screenSpacePanning === !0 ? S.setFromMatrixColumn(e, 1) : (S.setFromMatrixColumn(e, 0), S.crossVectors(this.object.up, S)), S.multiplyScalar(t), this._panOffset.add(S);
243
217
  }
244
218
  // deltaX and deltaY are in pixels; right and down are positive
245
219
  _pan(t, e) {
246
220
  const i = this.domElement;
247
221
  if (this.object.isPerspectiveCamera) {
248
- const r = this.object.position;
249
- C.copy(r).sub(this.target);
250
- let J = C.length();
251
- J *= Math.tan(this.object.fov / 2 * Math.PI / 180), this._panLeft(2 * t * J / i.clientHeight, this.object.matrix), this._panUp(2 * e * J / i.clientHeight, this.object.matrix);
222
+ const l = this.object.position;
223
+ S.copy(l).sub(this.target);
224
+ let u = S.length();
225
+ u *= Math.tan(this.object.fov / 2 * Math.PI / 180), this._panLeft(2 * t * u / i.clientHeight, this.object.matrix), this._panUp(2 * e * u / i.clientHeight, this.object.matrix);
252
226
  } else this.object.isOrthographicCamera ? (this._panLeft(t * (this.object.right - this.object.left) / this.object.zoom / i.clientWidth, this.object.matrix), this._panUp(e * (this.object.top - this.object.bottom) / this.object.zoom / i.clientHeight, this.object.matrix)) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), this.enablePan = !1);
253
227
  }
254
228
  _dollyOut(t) {
@@ -261,8 +235,8 @@ class ze extends le {
261
235
  if (!this.zoomToCursor)
262
236
  return;
263
237
  this._performCursorZoom = !0;
264
- const i = this.domElement.getBoundingClientRect(), r = t - i.left, J = e - i.top, G = i.width, o = i.height;
265
- this._mouse.x = r / G * 2 - 1, this._mouse.y = -(J / o) * 2 + 1, this._dollyDirection.set(this._mouse.x, this._mouse.y, 1).unproject(this.object).sub(this.object.position).normalize();
238
+ const i = this.domElement.getBoundingClientRect(), l = t - i.left, u = e - i.top, s = i.width, a = i.height;
239
+ this._mouse.x = l / s * 2 - 1, this._mouse.y = -(u / a) * 2 + 1, this._dollyDirection.set(this._mouse.x, this._mouse.y, 1).unproject(this.object).sub(this.object.position).normalize();
266
240
  }
267
241
  _clampDistance(t) {
268
242
  return Math.max(this.minDistance, Math.min(this.maxDistance, t));
@@ -282,7 +256,7 @@ class ze extends le {
282
256
  _handleMouseMoveRotate(t) {
283
257
  this._rotateEnd.set(t.clientX, t.clientY), this._rotateDelta.subVectors(this._rotateEnd, this._rotateStart).multiplyScalar(this.rotateSpeed);
284
258
  const e = this.domElement;
285
- this._rotateLeft(N * this._rotateDelta.x / e.clientHeight), this._rotateUp(N * this._rotateDelta.y / e.clientHeight), this._rotateStart.copy(this._rotateEnd), this.update();
259
+ this._rotateLeft(H * this._rotateDelta.x / e.clientHeight), this._rotateUp(H * this._rotateDelta.y / e.clientHeight), this._rotateStart.copy(this._rotateEnd), this.update();
286
260
  }
287
261
  _handleMouseMoveDolly(t) {
288
262
  this._dollyEnd.set(t.clientX, t.clientY), this._dollyDelta.subVectors(this._dollyEnd, this._dollyStart), this._dollyDelta.y > 0 ? this._dollyOut(this._getZoomScale(this._dollyDelta.y)) : this._dollyDelta.y < 0 && this._dollyIn(this._getZoomScale(this._dollyDelta.y)), this._dollyStart.copy(this._dollyEnd), this.update();
@@ -297,16 +271,16 @@ class ze extends le {
297
271
  let e = !1;
298
272
  switch (t.code) {
299
273
  case this.keys.UP:
300
- t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateUp(N * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(0, this.keyPanSpeed), e = !0;
274
+ t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateUp(H * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(0, this.keyPanSpeed), e = !0;
301
275
  break;
302
276
  case this.keys.BOTTOM:
303
- t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateUp(-N * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(0, -this.keyPanSpeed), e = !0;
277
+ t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateUp(-H * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(0, -this.keyPanSpeed), e = !0;
304
278
  break;
305
279
  case this.keys.LEFT:
306
- t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateLeft(N * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(this.keyPanSpeed, 0), e = !0;
280
+ t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateLeft(H * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(this.keyPanSpeed, 0), e = !0;
307
281
  break;
308
282
  case this.keys.RIGHT:
309
- t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateLeft(-N * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(-this.keyPanSpeed, 0), e = !0;
283
+ t.ctrlKey || t.metaKey || t.shiftKey ? this.enableRotate && this._rotateLeft(-H * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(-this.keyPanSpeed, 0), e = !0;
310
284
  break;
311
285
  }
312
286
  e && (t.preventDefault(), this.update());
@@ -315,21 +289,21 @@ class ze extends le {
315
289
  if (this._pointers.length === 1)
316
290
  this._rotateStart.set(t.pageX, t.pageY);
317
291
  else {
318
- const e = this._getSecondPointerPosition(t), i = 0.5 * (t.pageX + e.x), r = 0.5 * (t.pageY + e.y);
319
- this._rotateStart.set(i, r);
292
+ const e = this._getSecondPointerPosition(t), i = 0.5 * (t.pageX + e.x), l = 0.5 * (t.pageY + e.y);
293
+ this._rotateStart.set(i, l);
320
294
  }
321
295
  }
322
296
  _handleTouchStartPan(t) {
323
297
  if (this._pointers.length === 1)
324
298
  this._panStart.set(t.pageX, t.pageY);
325
299
  else {
326
- const e = this._getSecondPointerPosition(t), i = 0.5 * (t.pageX + e.x), r = 0.5 * (t.pageY + e.y);
327
- this._panStart.set(i, r);
300
+ const e = this._getSecondPointerPosition(t), i = 0.5 * (t.pageX + e.x), l = 0.5 * (t.pageY + e.y);
301
+ this._panStart.set(i, l);
328
302
  }
329
303
  }
330
304
  _handleTouchStartDolly(t) {
331
- const e = this._getSecondPointerPosition(t), i = t.pageX - e.x, r = t.pageY - e.y, J = Math.sqrt(i * i + r * r);
332
- this._dollyStart.set(0, J);
305
+ const e = this._getSecondPointerPosition(t), i = t.pageX - e.x, l = t.pageY - e.y, u = Math.sqrt(i * i + l * l);
306
+ this._dollyStart.set(0, u);
333
307
  }
334
308
  _handleTouchStartDollyPan(t) {
335
309
  this.enableZoom && this._handleTouchStartDolly(t), this.enablePan && this._handleTouchStartPan(t);
@@ -341,27 +315,27 @@ class ze extends le {
341
315
  if (this._pointers.length == 1)
342
316
  this._rotateEnd.set(t.pageX, t.pageY);
343
317
  else {
344
- const i = this._getSecondPointerPosition(t), r = 0.5 * (t.pageX + i.x), J = 0.5 * (t.pageY + i.y);
345
- this._rotateEnd.set(r, J);
318
+ const i = this._getSecondPointerPosition(t), l = 0.5 * (t.pageX + i.x), u = 0.5 * (t.pageY + i.y);
319
+ this._rotateEnd.set(l, u);
346
320
  }
347
321
  this._rotateDelta.subVectors(this._rotateEnd, this._rotateStart).multiplyScalar(this.rotateSpeed);
348
322
  const e = this.domElement;
349
- this._rotateLeft(N * this._rotateDelta.x / e.clientHeight), this._rotateUp(N * this._rotateDelta.y / e.clientHeight), this._rotateStart.copy(this._rotateEnd);
323
+ this._rotateLeft(H * this._rotateDelta.x / e.clientHeight), this._rotateUp(H * this._rotateDelta.y / e.clientHeight), this._rotateStart.copy(this._rotateEnd);
350
324
  }
351
325
  _handleTouchMovePan(t) {
352
326
  if (this._pointers.length === 1)
353
327
  this._panEnd.set(t.pageX, t.pageY);
354
328
  else {
355
- const e = this._getSecondPointerPosition(t), i = 0.5 * (t.pageX + e.x), r = 0.5 * (t.pageY + e.y);
356
- this._panEnd.set(i, r);
329
+ const e = this._getSecondPointerPosition(t), i = 0.5 * (t.pageX + e.x), l = 0.5 * (t.pageY + e.y);
330
+ this._panEnd.set(i, l);
357
331
  }
358
332
  this._panDelta.subVectors(this._panEnd, this._panStart).multiplyScalar(this.panSpeed), this._pan(this._panDelta.x, this._panDelta.y), this._panStart.copy(this._panEnd);
359
333
  }
360
334
  _handleTouchMoveDolly(t) {
361
- const e = this._getSecondPointerPosition(t), i = t.pageX - e.x, r = t.pageY - e.y, J = Math.sqrt(i * i + r * r);
362
- this._dollyEnd.set(0, J), this._dollyDelta.set(0, Math.pow(this._dollyEnd.y / this._dollyStart.y, this.zoomSpeed)), this._dollyOut(this._dollyDelta.y), this._dollyStart.copy(this._dollyEnd);
363
- const G = (t.pageX + e.x) * 0.5, o = (t.pageY + e.y) * 0.5;
364
- this._updateZoomParameters(G, o);
335
+ const e = this._getSecondPointerPosition(t), i = t.pageX - e.x, l = t.pageY - e.y, u = Math.sqrt(i * i + l * l);
336
+ this._dollyEnd.set(0, u), this._dollyDelta.set(0, Math.pow(this._dollyEnd.y / this._dollyStart.y, this.zoomSpeed)), this._dollyOut(this._dollyDelta.y), this._dollyStart.copy(this._dollyEnd);
337
+ const s = (t.pageX + e.x) * 0.5, a = (t.pageY + e.y) * 0.5;
338
+ this._updateZoomParameters(s, a);
365
339
  }
366
340
  _handleTouchMoveDollyPan(t) {
367
341
  this.enableZoom && this._handleTouchMoveDolly(t), this.enablePan && this._handleTouchMovePan(t);
@@ -388,7 +362,7 @@ class ze extends le {
388
362
  }
389
363
  _trackPointer(t) {
390
364
  let e = this._pointerPositions[t.pointerId];
391
- e === void 0 && (e = new q(), this._pointerPositions[t.pointerId] = e), e.set(t.pageX, t.pageY);
365
+ e === void 0 && (e = new U(), this._pointerPositions[t.pointerId] = e), e.set(t.pageX, t.pageY);
392
366
  }
393
367
  _getSecondPointerPosition(t) {
394
368
  const e = t.pointerId === this._pointers[0] ? this._pointers[1] : this._pointers[0];
@@ -412,16 +386,16 @@ class ze extends le {
412
386
  return t.ctrlKey && !this._controlActive && (i.deltaY *= 10), i;
413
387
  }
414
388
  }
415
- function Oe(s) {
416
- this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(s.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), this.domElement.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(s) && (this._addPointer(s), s.pointerType === "touch" ? this._onTouchStart(s) : this._onMouseDown(s)));
389
+ function Ge(o) {
390
+ this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(o.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), this.domElement.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(o) && (this._addPointer(o), o.pointerType === "touch" ? this._onTouchStart(o) : this._onMouseDown(o)));
417
391
  }
418
- function Le(s) {
419
- this.enabled !== !1 && (s.pointerType === "touch" ? this._onTouchMove(s) : this._onMouseMove(s));
392
+ function fe(o) {
393
+ this.enabled !== !1 && (o.pointerType === "touch" ? this._onTouchMove(o) : this._onMouseMove(o));
420
394
  }
421
- function He(s) {
422
- switch (this._removePointer(s), this._pointers.length) {
395
+ function ge(o) {
396
+ switch (this._removePointer(o), this._pointers.length) {
423
397
  case 0:
424
- this.domElement.releasePointerCapture(s.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Zt), this.state = b.NONE;
398
+ this.domElement.releasePointerCapture(o.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(xt), this.state = M.NONE;
425
399
  break;
426
400
  case 1:
427
401
  const t = this._pointers[0], e = this._pointerPositions[t];
@@ -429,9 +403,9 @@ function He(s) {
429
403
  break;
430
404
  }
431
405
  }
432
- function je(s) {
406
+ function ye(o) {
433
407
  let t;
434
- switch (s.button) {
408
+ switch (o.button) {
435
409
  case 0:
436
410
  t = this.mouseButtons.LEFT;
437
411
  break;
@@ -445,136 +419,136 @@ function je(s) {
445
419
  t = -1;
446
420
  }
447
421
  switch (t) {
448
- case it.DOLLY:
422
+ case $.DOLLY:
449
423
  if (this.enableZoom === !1) return;
450
- this._handleMouseDownDolly(s), this.state = b.DOLLY;
424
+ this._handleMouseDownDolly(o), this.state = M.DOLLY;
451
425
  break;
452
- case it.ROTATE:
453
- if (s.ctrlKey || s.metaKey || s.shiftKey) {
426
+ case $.ROTATE:
427
+ if (o.ctrlKey || o.metaKey || o.shiftKey) {
454
428
  if (this.enablePan === !1) return;
455
- this._handleMouseDownPan(s), this.state = b.PAN;
429
+ this._handleMouseDownPan(o), this.state = M.PAN;
456
430
  } else {
457
431
  if (this.enableRotate === !1) return;
458
- this._handleMouseDownRotate(s), this.state = b.ROTATE;
432
+ this._handleMouseDownRotate(o), this.state = M.ROTATE;
459
433
  }
460
434
  break;
461
- case it.PAN:
462
- if (s.ctrlKey || s.metaKey || s.shiftKey) {
435
+ case $.PAN:
436
+ if (o.ctrlKey || o.metaKey || o.shiftKey) {
463
437
  if (this.enableRotate === !1) return;
464
- this._handleMouseDownRotate(s), this.state = b.ROTATE;
438
+ this._handleMouseDownRotate(o), this.state = M.ROTATE;
465
439
  } else {
466
440
  if (this.enablePan === !1) return;
467
- this._handleMouseDownPan(s), this.state = b.PAN;
441
+ this._handleMouseDownPan(o), this.state = M.PAN;
468
442
  }
469
443
  break;
470
444
  default:
471
- this.state = b.NONE;
445
+ this.state = M.NONE;
472
446
  }
473
- this.state !== b.NONE && this.dispatchEvent(At);
447
+ this.state !== M.NONE && this.dispatchEvent(dt);
474
448
  }
475
- function Ie(s) {
449
+ function be(o) {
476
450
  switch (this.state) {
477
- case b.ROTATE:
451
+ case M.ROTATE:
478
452
  if (this.enableRotate === !1) return;
479
- this._handleMouseMoveRotate(s);
453
+ this._handleMouseMoveRotate(o);
480
454
  break;
481
- case b.DOLLY:
455
+ case M.DOLLY:
482
456
  if (this.enableZoom === !1) return;
483
- this._handleMouseMoveDolly(s);
457
+ this._handleMouseMoveDolly(o);
484
458
  break;
485
- case b.PAN:
459
+ case M.PAN:
486
460
  if (this.enablePan === !1) return;
487
- this._handleMouseMovePan(s);
461
+ this._handleMouseMovePan(o);
488
462
  break;
489
463
  }
490
464
  }
491
- function Fe(s) {
492
- this.enabled === !1 || this.enableZoom === !1 || this.state !== b.NONE || (s.preventDefault(), this.dispatchEvent(At), this._handleMouseWheel(this._customWheelEvent(s)), this.dispatchEvent(Zt));
465
+ function Me(o) {
466
+ this.enabled === !1 || this.enableZoom === !1 || this.state !== M.NONE || (o.preventDefault(), this.dispatchEvent(dt), this._handleMouseWheel(this._customWheelEvent(o)), this.dispatchEvent(xt));
493
467
  }
494
- function Ne(s) {
495
- this.enabled !== !1 && this._handleKeyDown(s);
468
+ function ve(o) {
469
+ this.enabled !== !1 && this._handleKeyDown(o);
496
470
  }
497
- function Ue(s) {
498
- switch (this._trackPointer(s), this._pointers.length) {
471
+ function we(o) {
472
+ switch (this._trackPointer(o), this._pointers.length) {
499
473
  case 1:
500
474
  switch (this.touches.ONE) {
501
- case dt.ROTATE:
475
+ case W.ROTATE:
502
476
  if (this.enableRotate === !1) return;
503
- this._handleTouchStartRotate(s), this.state = b.TOUCH_ROTATE;
477
+ this._handleTouchStartRotate(o), this.state = M.TOUCH_ROTATE;
504
478
  break;
505
- case dt.PAN:
479
+ case W.PAN:
506
480
  if (this.enablePan === !1) return;
507
- this._handleTouchStartPan(s), this.state = b.TOUCH_PAN;
481
+ this._handleTouchStartPan(o), this.state = M.TOUCH_PAN;
508
482
  break;
509
483
  default:
510
- this.state = b.NONE;
484
+ this.state = M.NONE;
511
485
  }
512
486
  break;
513
487
  case 2:
514
488
  switch (this.touches.TWO) {
515
- case dt.DOLLY_PAN:
489
+ case W.DOLLY_PAN:
516
490
  if (this.enableZoom === !1 && this.enablePan === !1) return;
517
- this._handleTouchStartDollyPan(s), this.state = b.TOUCH_DOLLY_PAN;
491
+ this._handleTouchStartDollyPan(o), this.state = M.TOUCH_DOLLY_PAN;
518
492
  break;
519
- case dt.DOLLY_ROTATE:
493
+ case W.DOLLY_ROTATE:
520
494
  if (this.enableZoom === !1 && this.enableRotate === !1) return;
521
- this._handleTouchStartDollyRotate(s), this.state = b.TOUCH_DOLLY_ROTATE;
495
+ this._handleTouchStartDollyRotate(o), this.state = M.TOUCH_DOLLY_ROTATE;
522
496
  break;
523
497
  default:
524
- this.state = b.NONE;
498
+ this.state = M.NONE;
525
499
  }
526
500
  break;
527
501
  default:
528
- this.state = b.NONE;
502
+ this.state = M.NONE;
529
503
  }
530
- this.state !== b.NONE && this.dispatchEvent(At);
504
+ this.state !== M.NONE && this.dispatchEvent(dt);
531
505
  }
532
- function Ye(s) {
533
- switch (this._trackPointer(s), this.state) {
534
- case b.TOUCH_ROTATE:
506
+ function Re(o) {
507
+ switch (this._trackPointer(o), this.state) {
508
+ case M.TOUCH_ROTATE:
535
509
  if (this.enableRotate === !1) return;
536
- this._handleTouchMoveRotate(s), this.update();
510
+ this._handleTouchMoveRotate(o), this.update();
537
511
  break;
538
- case b.TOUCH_PAN:
512
+ case M.TOUCH_PAN:
539
513
  if (this.enablePan === !1) return;
540
- this._handleTouchMovePan(s), this.update();
514
+ this._handleTouchMovePan(o), this.update();
541
515
  break;
542
- case b.TOUCH_DOLLY_PAN:
516
+ case M.TOUCH_DOLLY_PAN:
543
517
  if (this.enableZoom === !1 && this.enablePan === !1) return;
544
- this._handleTouchMoveDollyPan(s), this.update();
518
+ this._handleTouchMoveDollyPan(o), this.update();
545
519
  break;
546
- case b.TOUCH_DOLLY_ROTATE:
520
+ case M.TOUCH_DOLLY_ROTATE:
547
521
  if (this.enableZoom === !1 && this.enableRotate === !1) return;
548
- this._handleTouchMoveDollyRotate(s), this.update();
522
+ this._handleTouchMoveDollyRotate(o), this.update();
549
523
  break;
550
524
  default:
551
- this.state = b.NONE;
525
+ this.state = M.NONE;
552
526
  }
553
527
  }
554
- function Ve(s) {
555
- this.enabled !== !1 && s.preventDefault();
528
+ function Be(o) {
529
+ this.enabled !== !1 && o.preventDefault();
556
530
  }
557
- function Ze(s) {
558
- s.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
531
+ function Ee(o) {
532
+ o.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
559
533
  }
560
- function $e(s) {
561
- s.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
534
+ function De(o) {
535
+ o.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
562
536
  }
563
- function Ke(s) {
564
- let t = null, e = null, i = null, r = null, J = null, G = null, o = null, p = null;
565
- const g = S([]), _ = S(new u()), Y = S(new u()), V = () => {
566
- if (!s.value) return;
567
- t = new ce(), t.background = new _e(15790320);
568
- const a = s.value;
569
- e = new Pe(75, a.clientWidth / a.clientHeight, 0.1, 1e4), e.position.set(8, -8, 6), e.up.set(0, 0, 1), e.lookAt(0, 0, 0), i = new Je({
537
+ function xe(o) {
538
+ let t = null, e = null, i = null, l = null, u = null, s = null, a = null, f = null;
539
+ const h = D([]), x = D(new y()), O = D(new y()), k = () => {
540
+ if (!o.value) return;
541
+ t = new $t(), t.background = new Kt(15790320);
542
+ const r = o.value;
543
+ e = new Xt(75, r.clientWidth / r.clientHeight, 0.1, 1e4), e.position.set(8, -8, 6), e.up.set(0, 0, 1), e.lookAt(0, 0, 0), i = new Wt({
570
544
  antialias: !0,
571
545
  alpha: !0
572
- }), i.setSize(a.clientWidth, a.clientHeight), i.localClippingEnabled = !0, i.shadowMap.enabled = !0, i.shadowMap.type = ue, i.toneMapping = pe, i.toneMappingExposure = 1, i.outputColorSpace = me, a.appendChild(i.domElement), r = new ze(e, i.domElement), r.enableDamping = !0, r.dampingFactor = 0.05, r.mouseButtons = {
573
- LEFT: it.ROTATE,
574
- MIDDLE: it.PAN,
546
+ }), i.setSize(r.clientWidth, r.clientHeight), i.localClippingEnabled = !0, i.shadowMap.enabled = !0, i.shadowMap.type = qt, i.toneMapping = Qt, i.toneMappingExposure = 1, i.outputColorSpace = te, r.appendChild(i.domElement), l = new me(e, i.domElement), l.enableDamping = !0, l.dampingFactor = 0.05, l.mouseButtons = {
547
+ LEFT: $.ROTATE,
548
+ MIDDLE: $.PAN,
575
549
  RIGHT: null
576
- }, r.panSpeed = 0.7, J = new Ge(e, i, {
577
- container: a,
550
+ }, l.panSpeed = 0.7, u = new ee(e, i, {
551
+ container: r,
578
552
  type: "cube",
579
553
  placement: "top-right",
580
554
  offset: {
@@ -603,49 +577,49 @@ function Ke(s) {
603
577
  back: {
604
578
  label: "Bottom"
605
579
  }
606
- }), J.attachControls(r), w(), d();
607
- }, K = (a, n) => {
608
- o && (t.remove(o), o.dispose()), p && (t.remove(p), p.geometry.dispose(), p.material.dispose());
609
- const l = Math.min(Math.max(Math.floor(a / 20), 30), 40);
610
- o = new fe(a, l, 13421772, 14540253), o.rotateX(Math.PI / 2), o.position.copy(n), t.add(o);
611
- const y = new yt(a, a), M = new ge({
580
+ }), u.attachControls(l), v(), d();
581
+ }, I = (r, n) => {
582
+ a && (t.remove(a), a.dispose()), f && (t.remove(f), f.geometry.dispose(), f.material.dispose());
583
+ const b = Math.min(Math.max(Math.floor(r / 20), 30), 40);
584
+ a = new ie(r, b, 13421772, 14540253), a.rotateX(Math.PI / 2), a.position.copy(n), t.add(a);
585
+ const R = new at(r, r), L = new oe({
612
586
  opacity: 0.3,
613
587
  // 阴影透明度
614
588
  color: 0
615
589
  });
616
- p = new St(y, M), p.position.copy(n), p.position.z -= 0.01, p.receiveShadow = !0, t.add(p);
617
- }, I = () => {
618
- if (g.value.length === 0)
590
+ f = new Dt(R, L), f.position.copy(n), f.position.z -= 0.01, f.receiveShadow = !0, t.add(f);
591
+ }, F = () => {
592
+ if (h.value.length === 0)
619
593
  return;
620
- const a = new wt();
621
- g.value.forEach((k) => {
622
- a.expandByObject(k);
594
+ const r = new st();
595
+ h.value.forEach((V) => {
596
+ r.expandByObject(V);
623
597
  });
624
- const n = a.getSize(new u()), l = a.getCenter(new u()), y = Math.max(n.x, n.y, n.z), M = Math.max(y * 8, 50), D = new u(
625
- l.x,
626
- l.y,
627
- a.min.z
598
+ const n = r.getSize(new y()), b = r.getCenter(new y()), R = Math.max(n.x, n.y, n.z), L = Math.max(R * 8, 50), N = new y(
599
+ b.x,
600
+ b.y,
601
+ r.min.z
628
602
  // 模型的最底部
629
603
  );
630
- K(M, D);
631
- }, w = () => {
632
- const a = new ye(4210752, 0.6);
633
- t.add(a);
634
- const n = new Bt(16777215, 2);
604
+ I(L, N);
605
+ }, v = () => {
606
+ const r = new ne(4210752, 0.6);
607
+ t.add(r);
608
+ const n = new rt(16777215, 2);
635
609
  n.position.set(10, 10, 8), n.castShadow = !0, n.shadow.mapSize.width = 4096, n.shadow.mapSize.height = 4096, n.shadow.camera.near = 0.5, n.shadow.camera.far = 50, n.shadow.camera.left = -50, n.shadow.camera.right = 50, n.shadow.camera.top = 50, n.shadow.camera.bottom = -50, t.add(n);
636
- const l = new Bt(16777215, 0.8);
637
- l.position.set(-8, -8, 6), t.add(l);
638
- const y = new Bt(16777215, 0.6);
639
- y.position.set(0, -15, 2), t.add(y);
640
- const M = new be(16777215, 4473924, 0.8);
641
- t.add(M);
642
- const D = new jt(16777215, 1, 50);
643
- D.position.set(15, 15, 15), t.add(D);
644
- const k = new jt(16777215, 0.5, 50);
645
- k.position.set(-15, -15, 15), t.add(k);
610
+ const b = new rt(16777215, 0.8);
611
+ b.position.set(-8, -8, 6), t.add(b);
612
+ const R = new rt(16777215, 0.6);
613
+ R.position.set(0, -15, 2), t.add(R);
614
+ const L = new ae(16777215, 4473924, 0.8);
615
+ t.add(L);
616
+ const N = new bt(16777215, 1, 50);
617
+ N.position.set(15, 15, 15), t.add(N);
618
+ const V = new bt(16777215, 0.5, 50);
619
+ V.position.set(-15, -15, 15), t.add(V);
646
620
  }, d = () => {
647
- G = requestAnimationFrame(d), r && r.update(), i && t && e && i.render(t, e), J && J.render();
648
- }, m = (a) => {
621
+ s = requestAnimationFrame(d), l && l.update(), i && t && e && i.render(t, e), u && u.render();
622
+ }, m = (r) => {
649
623
  [
650
624
  "map",
651
625
  "normalMap",
@@ -658,208 +632,208 @@ function Ke(s) {
658
632
  "lightMap",
659
633
  "aoMap",
660
634
  "displacementMap"
661
- ].forEach((l) => {
662
- a[l] && a[l].dispose && a[l].dispose();
663
- }), a.dispose && a.dispose();
664
- }, f = (a) => {
665
- a == null || a.traverse((n) => {
666
- n.geometry && n.geometry.dispose(), n.material && (Array.isArray(n.material) ? n.material.forEach((l) => {
667
- m(l);
635
+ ].forEach((b) => {
636
+ r[b] && r[b].dispose && r[b].dispose();
637
+ }), r.dispose && r.dispose();
638
+ }, g = (r) => {
639
+ r == null || r.traverse((n) => {
640
+ n.geometry && n.geometry.dispose(), n.material && (Array.isArray(n.material) ? n.material.forEach((b) => {
641
+ m(b);
668
642
  }) : m(n.material));
669
643
  });
670
644
  };
671
645
  return {
672
646
  // 响应式数据
673
- currentModels: g,
674
- initialCameraPosition: _,
675
- initialTargetPosition: Y,
647
+ currentModels: h,
648
+ initialCameraPosition: x,
649
+ initialTargetPosition: O,
676
650
  // 方法
677
- initThreeJS: V,
651
+ initThreeJS: k,
678
652
  handleResize: () => {
679
- if (!s.value || !e || !i || !J) return;
680
- const a = s.value, n = a.clientWidth, l = a.clientHeight;
681
- e.aspect = n / l, e.updateProjectionMatrix(), i.setSize(n, l), J.update();
653
+ if (!o.value || !e || !i || !u) return;
654
+ const r = o.value, n = r.clientWidth, b = r.clientHeight;
655
+ e.aspect = n / b, e.updateProjectionMatrix(), i.setSize(n, b), u.update();
682
656
  },
683
657
  fitCameraToAllModels: () => {
684
- if (!e || !r || g.value.length === 0) return;
685
- const a = new wt();
686
- g.value.forEach((k) => {
687
- a.expandByObject(k);
658
+ if (!e || !l || h.value.length === 0) return;
659
+ const r = new st();
660
+ h.value.forEach((V) => {
661
+ r.expandByObject(V);
688
662
  });
689
- const n = a.getSize(new u()), l = a.getCenter(new u()), M = Math.max(n.x, n.y, n.z) * 0.8, D = new u(l.x + M, l.y - M, l.z + M);
690
- e.position.copy(D), e.lookAt(l), r.target.copy(l), r.update(), _.value.copy(D), Y.value.copy(l), I();
663
+ const n = r.getSize(new y()), b = r.getCenter(new y()), L = Math.max(n.x, n.y, n.z) * 0.8, N = new y(b.x + L, b.y - L, b.z + L);
664
+ e.position.copy(N), e.lookAt(b), l.target.copy(b), l.update(), x.value.copy(N), O.value.copy(b), F();
691
665
  },
692
666
  getThreeJSObjects: () => ({
693
667
  scene: t,
694
668
  camera: e,
695
669
  renderer: i,
696
- controls: r,
697
- gizmo: J
670
+ controls: l,
671
+ gizmo: u
698
672
  }),
699
673
  clearAllModels: () => {
700
674
  if (!t) return;
701
- g.value.forEach((n) => {
702
- t.remove(n), f(n);
675
+ h.value.forEach((n) => {
676
+ t.remove(n), g(n);
703
677
  });
704
- const a = [];
678
+ const r = [];
705
679
  t.children.forEach((n) => {
706
- !n.isLight && !n.isCamera && n.type !== "GridHelper" && n !== p && a.push(n);
707
- }), a.forEach((n) => {
708
- t.remove(n), f(n);
709
- }), g.value = [], I();
680
+ !n.isLight && !n.isCamera && n.type !== "GridHelper" && n !== f && r.push(n);
681
+ }), r.forEach((n) => {
682
+ t.remove(n), g(n);
683
+ }), h.value = [], F();
710
684
  },
711
685
  cleanup: () => {
712
- G && cancelAnimationFrame(G), o && o.dispose(), p && (p.geometry.dispose(), p.material.dispose()), i && i.dispose(), r && r.dispose(), J && J.dispose();
686
+ s && cancelAnimationFrame(s), a && a.dispose(), f && (f.geometry.dispose(), f.material.dispose()), i && i.dispose(), l && l.dispose(), u && u.dispose();
713
687
  },
714
- updateGridForModels: I
688
+ updateGridForModels: F
715
689
  };
716
690
  }
717
- function Xe(s, t) {
718
- const e = S(!1);
719
- let i = null, r = 12700, J = new u(), G = new u(), o = new u(), p = 0, g = null;
720
- const _ = (d) => d < 0.5 ? 4 * d * d * d : 1 - Math.pow(-2 * d + 2, 3) / 2, Y = (d) => {
721
- const m = new u(), f = p * 1.2, E = new u(o.x + f, o.y, o.z), R = new u(o.x, o.y + f, o.z), H = new u(o.x, o.y - f, o.z);
691
+ function Te(o, t) {
692
+ const e = D(!1);
693
+ let i = null, l = 12700, u = new y(), s = new y(), a = new y(), f = 0, h = null;
694
+ const x = (d) => d < 0.5 ? 4 * d * d * d : 1 - Math.pow(-2 * d + 2, 3) / 2, O = (d) => {
695
+ const m = new y(), g = f * 1.2, E = new y(a.x + g, a.y, a.z), c = new y(a.x, a.y + g, a.z), G = new y(a.x, a.y - g, a.z);
722
696
  if (d <= 0.567) {
723
- const h = d / 0.567 * Math.PI * 2;
724
- m.x = o.x + Math.cos(h) * f, m.z = o.z + Math.sin(h) * f, m.y = o.y;
697
+ const J = d / 0.567 * Math.PI * 2;
698
+ m.x = a.x + Math.cos(J) * g, m.z = a.z + Math.sin(J) * g, m.y = a.y;
725
699
  } else if (d <= 0.724) {
726
- const x = (d - 0.567) / 0.157, h = _(x);
727
- m.lerpVectors(E, R, h);
700
+ const _ = (d - 0.567) / 0.157, J = x(_);
701
+ m.lerpVectors(E, c, J);
728
702
  } else if (d <= 0.881) {
729
- const x = (d - 0.724) / 0.157, a = _(x) * Math.PI;
730
- m.x = o.x + Math.sin(a) * f, m.y = o.y + Math.cos(a) * f, m.z = o.z;
703
+ const _ = (d - 0.724) / 0.157, r = x(_) * Math.PI;
704
+ m.x = a.x + Math.sin(r) * g, m.y = a.y + Math.cos(r) * g, m.z = a.z;
731
705
  } else {
732
- const x = (d - 0.881) / 0.119, h = _(x);
733
- m.lerpVectors(H, J, h);
706
+ const _ = (d - 0.881) / 0.119, J = x(_);
707
+ m.lerpVectors(G, u, J);
734
708
  }
735
709
  return m;
736
- }, V = () => {
737
- const { camera: d, controls: m } = s();
710
+ }, k = () => {
711
+ const { camera: d, controls: m } = o();
738
712
  if (!d || !m) return;
739
713
  i || (i = Date.now());
740
- const f = Date.now() - i, E = Math.min(f / r, 1);
714
+ const g = Date.now() - i, E = Math.min(g / l, 1);
741
715
  if (E >= 1) {
742
- I();
716
+ F();
743
717
  return;
744
718
  }
745
- const R = Y(E);
746
- d.position.copy(R), d.lookAt(o), m.target.copy(o), g = requestAnimationFrame(V);
747
- }, K = () => {
719
+ const c = O(E);
720
+ d.position.copy(c), d.lookAt(a), m.target.copy(a), h = requestAnimationFrame(k);
721
+ }, I = () => {
748
722
  if (t.value.length === 0) return;
749
- const { camera: d, controls: m } = s();
723
+ const { camera: d, controls: m } = o();
750
724
  if (!d || !m) return;
751
- J.copy(d.position), G.copy(m.target);
752
- const f = new wt();
725
+ u.copy(d.position), s.copy(m.target);
726
+ const g = new st();
753
727
  t.value.forEach((n) => {
754
- f.expandByObject(n);
728
+ g.expandByObject(n);
755
729
  });
756
- const E = f.getSize(new u());
757
- o = f.getCenter(new u()), p = Math.max(E.x, E.y, E.z) * 1.2;
758
- const R = new u(o.x + p * 1.2, o.y, o.z);
730
+ const E = g.getSize(new y());
731
+ a = g.getCenter(new y()), f = Math.max(E.x, E.y, E.z) * 1.2;
732
+ const c = new y(a.x + f * 1.2, a.y, a.z);
759
733
  m.enabled = !1;
760
- const H = d.position.clone(), x = 1e3, h = Date.now(), a = () => {
761
- const n = Date.now() - h, l = Math.min(n / x, 1), y = _(l);
762
- d.position.lerpVectors(H, R, y), d.lookAt(o), m.target.copy(o), l < 1 ? requestAnimationFrame(a) : (e.value = !0, i = null, V());
734
+ const G = d.position.clone(), _ = 1e3, J = Date.now(), r = () => {
735
+ const n = Date.now() - J, b = Math.min(n / _, 1), R = x(b);
736
+ d.position.lerpVectors(G, c, R), d.lookAt(a), m.target.copy(a), b < 1 ? requestAnimationFrame(r) : (e.value = !0, i = null, k());
763
737
  };
764
- a();
765
- }, I = () => {
766
- e.value = !1, i = null, g && (cancelAnimationFrame(g), g = null);
767
- const { controls: d } = s();
768
- d && (d.enabled = !0, d.target.copy(G));
738
+ r();
739
+ }, F = () => {
740
+ e.value = !1, i = null, h && (cancelAnimationFrame(h), h = null);
741
+ const { controls: d } = o();
742
+ d && (d.enabled = !0, d.target.copy(s));
769
743
  };
770
744
  return {
771
745
  isAnimating: e,
772
746
  toggleAnimation: () => {
773
747
  if (e.value) {
774
- e.value = !1, i = null, g && (cancelAnimationFrame(g), g = null);
775
- const { camera: d, controls: m } = s();
748
+ e.value = !1, i = null, h && (cancelAnimationFrame(h), h = null);
749
+ const { camera: d, controls: m } = o();
776
750
  if (!d || !m) return;
777
751
  m.enabled = !0;
778
- const f = d.position.clone(), E = m.target.clone(), R = 1500, H = Date.now(), x = () => {
779
- const h = Date.now() - H, a = Math.min(h / R, 1), n = _(a);
780
- d.position.lerpVectors(f, J, n), m.target.lerpVectors(E, G, n), a < 1 && requestAnimationFrame(x);
752
+ const g = d.position.clone(), E = m.target.clone(), c = 1500, G = Date.now(), _ = () => {
753
+ const J = Date.now() - G, r = Math.min(J / c, 1), n = x(r);
754
+ d.position.lerpVectors(g, u, n), m.target.lerpVectors(E, s, n), r < 1 && requestAnimationFrame(_);
781
755
  };
782
- x();
756
+ _();
783
757
  } else
784
- K();
758
+ I();
785
759
  },
786
- startAnimation: K,
787
- stopAnimation: I
760
+ startAnimation: I,
761
+ stopAnimation: F
788
762
  };
789
763
  }
790
- function We(s, t) {
791
- const e = S(!1), i = S("none");
792
- let r = [], J = [], G = new wt(), o = new u();
793
- const p = () => {
794
- r = [
795
- new gt(new u(1, 0, 0), 0),
764
+ function Se(o, t) {
765
+ const e = D(!1), i = D("none");
766
+ let l = [], u = [], s = new st(), a = new y();
767
+ const f = () => {
768
+ l = [
769
+ new nt(new y(1, 0, 0), 0),
796
770
  // X轴平面
797
- new gt(new u(0, 1, 0), 0),
771
+ new nt(new y(0, 1, 0), 0),
798
772
  // Y轴平面
799
- new gt(new u(0, 0, 1), 0)
773
+ new nt(new y(0, 0, 1), 0)
800
774
  // Z轴平面
801
775
  ];
802
- }, g = () => {
803
- G.makeEmpty(), t.value.forEach((w) => {
804
- G.expandByObject(w);
805
- }), o = G.getCenter(new u());
806
- }, _ = (w) => {
807
- const d = G.getSize(new u());
808
- let m, f, E;
809
- w === "x" ? (m = new yt(d.z * 1.2, d.y * 1.2), f = new u(o.x, o.y, o.z), E = new Et(0, Math.PI / 2, 0)) : w === "y" ? (m = new yt(d.x * 1.2, d.z * 1.2), f = new u(o.x, o.y, o.z), E = new Et(Math.PI / 2, 0, 0)) : w === "z" && (m = new yt(d.x * 1.2, d.y * 1.2), f = new u(o.x, o.y, o.z), E = new Et(0, 0, 0));
810
- const R = new Vt({
776
+ }, h = () => {
777
+ s.makeEmpty(), t.value.forEach((v) => {
778
+ s.expandByObject(v);
779
+ }), a = s.getCenter(new y());
780
+ }, x = (v) => {
781
+ const d = s.getSize(new y());
782
+ let m, g, E;
783
+ v === "x" ? (m = new at(d.z * 1.2, d.y * 1.2), g = new y(a.x, a.y, a.z), E = new lt(0, Math.PI / 2, 0)) : v === "y" ? (m = new at(d.x * 1.2, d.z * 1.2), g = new y(a.x, a.y, a.z), E = new lt(Math.PI / 2, 0, 0)) : v === "z" && (m = new at(d.x * 1.2, d.y * 1.2), g = new y(a.x, a.y, a.z), E = new lt(0, 0, 0));
784
+ const c = new se({
811
785
  color: 8900331,
812
786
  transparent: !0,
813
787
  opacity: 0.3,
814
- side: Me,
788
+ side: re,
815
789
  depthWrite: !1
816
- }), H = new St(m, R);
817
- return H.position.copy(f), H.rotation.copy(E), H;
818
- }, Y = () => {
819
- if (V(), K(), i.value === "none")
790
+ }), G = new Dt(m, c);
791
+ return G.position.copy(g), G.rotation.copy(E), G;
792
+ }, O = () => {
793
+ if (k(), I(), i.value === "none")
820
794
  return;
821
- g();
822
- let w = null;
823
- if (i.value === "x" ? (r[0].constant = -o.x, w = r[0]) : i.value === "y" ? (r[1].constant = -o.y, w = r[1]) : i.value === "z" && (r[2].constant = -o.z, w = r[2]), w) {
795
+ h();
796
+ let v = null;
797
+ if (i.value === "x" ? (l[0].constant = -a.x, v = l[0]) : i.value === "y" ? (l[1].constant = -a.y, v = l[1]) : i.value === "z" && (l[2].constant = -a.z, v = l[2]), v) {
824
798
  t.value.forEach((m) => {
825
- m.traverse((f) => {
826
- f.isMesh && f.material && (Array.isArray(f.material) ? f.material.forEach((E) => {
827
- E.clippingPlanes = [w];
828
- }) : f.material.clippingPlanes = [w]);
799
+ m.traverse((g) => {
800
+ g.isMesh && g.material && (Array.isArray(g.material) ? g.material.forEach((E) => {
801
+ E.clippingPlanes = [v];
802
+ }) : g.material.clippingPlanes = [v]);
829
803
  });
830
804
  });
831
- const { scene: d } = s();
805
+ const { scene: d } = o();
832
806
  if (d) {
833
- const m = _(i.value);
834
- d.add(m), J.push(m);
807
+ const m = x(i.value);
808
+ d.add(m), u.push(m);
835
809
  }
836
810
  }
837
- }, V = () => {
838
- t.value.forEach((w) => {
839
- w.traverse((d) => {
811
+ }, k = () => {
812
+ t.value.forEach((v) => {
813
+ v.traverse((d) => {
840
814
  d.isMesh && d.material && (Array.isArray(d.material) ? d.material.forEach((m) => {
841
815
  m.clippingPlanes = [];
842
816
  }) : d.material.clippingPlanes = []);
843
817
  });
844
818
  });
845
- }, K = () => {
846
- const { scene: w } = s();
847
- w && J.forEach((d) => {
848
- w.remove(d), d.geometry.dispose(), d.material.dispose();
849
- }), J = [];
819
+ }, I = () => {
820
+ const { scene: v } = o();
821
+ v && u.forEach((d) => {
822
+ v.remove(d), d.geometry.dispose(), d.material.dispose();
823
+ }), u = [];
850
824
  };
851
825
  return {
852
826
  isClipping: e,
853
827
  activeClippingAxis: i,
854
828
  toggleClipping: () => {
855
- e.value = !e.value, e.value ? (p(), t.value.length > 0 && g()) : (i.value = "none", V(), K());
829
+ e.value = !e.value, e.value ? (f(), t.value.length > 0 && h()) : (i.value = "none", k(), I());
856
830
  },
857
- updateClippingPlanes: Y,
858
- clearClippingPlanes: V,
859
- clearClippingMeshes: K
831
+ updateClippingPlanes: O,
832
+ clearClippingPlanes: k,
833
+ clearClippingMeshes: I
860
834
  };
861
835
  }
862
- const qe = [
836
+ const Ce = [
863
837
  {
864
838
  "J1_Joint(GP1)": -3172089e-9,
865
839
  "J2_Joint(GP1)": -0.096027484,
@@ -1484,569 +1458,471 @@ const qe = [
1484
1458
  "BendGuidePart_Joint(GP2)": -0.015,
1485
1459
  "HolderRoate_Joint(GP3)": 6.283185307
1486
1460
  }
1487
- ], Qe = { class: "panel-actions" }, tn = ["disabled"], en = { class: "panel-content" }, nn = {
1461
+ ], Ae = { class: "panel-actions" }, ke = ["disabled"], ze = { class: "panel-content" }, Oe = {
1488
1462
  key: 0,
1489
1463
  class: "joints-list"
1490
- }, on = { class: "joint-info-row" }, an = { class: "joint-left" }, sn = { class: "joint-name" }, rn = { class: "joint-range" }, ln = { class: "joint-type" }, hn = {
1464
+ }, Le = { class: "joint-info-row" }, He = { class: "joint-left" }, je = { class: "joint-name" }, Ie = { class: "joint-range" }, Fe = { class: "joint-type" }, Ne = {
1491
1465
  key: 0,
1492
1466
  class: "joint-control-row"
1493
- }, dn = { class: "slider-container" }, cn = ["min", "max", "value", "onInput", "disabled"], _n = { class: "value-display" }, Pn = { class: "joint-value" }, Jn = { class: "unit" }, un = {
1467
+ }, Ue = { class: "slider-container" }, Ye = ["min", "max", "value", "onInput", "disabled"], Ve = { class: "value-display" }, Ze = { class: "joint-value" }, $e = { class: "unit" }, Ke = {
1494
1468
  key: 1,
1495
1469
  class: "empty-state"
1496
- }, pn = 1e3, mn = {
1470
+ }, Xe = 1e3, We = {
1497
1471
  __name: "jointPanel",
1498
1472
  props: {
1499
1473
  model: Object,
1500
1474
  scene: Object
1501
1475
  },
1502
- setup(s) {
1503
- const t = s;
1504
- S(!0);
1505
- const e = S([]), i = S(null), r = S(!1), J = S(null), G = qe;
1506
- G.length > 0 && Object.keys(G[0]);
1507
- const o = (h, a = !1) => h === "revolute" ? a ? Math.PI : -Math.PI : h === "prismatic" ? a ? 1 : -1 : 0, p = (h) => {
1508
- if (!h || !h.joints)
1476
+ setup(o) {
1477
+ const t = o;
1478
+ D(!0);
1479
+ const e = D([]), i = D(null), l = D(!1), u = D(null), s = Ce;
1480
+ s.length > 0 && Object.keys(s[0]);
1481
+ const a = (c, G = !1) => c === "revolute" ? G ? Math.PI : -Math.PI : c === "prismatic" ? G ? 1 : -1 : 0, f = (c) => {
1482
+ if (!c || !c.joints)
1509
1483
  return console.warn("URDF模型没有关节信息"), [];
1510
- const a = [];
1511
- return Object.keys(h.joints).forEach((n) => {
1512
- const l = h.joints[n];
1513
- if (l._jointType === "fixed")
1484
+ const G = [];
1485
+ return Object.keys(c.joints).forEach((_) => {
1486
+ const J = c.joints[_];
1487
+ if (J._jointType === "fixed")
1514
1488
  return;
1515
- const y = l.limit ? {
1516
- lower: l.limit.lower ?? o(l._jointType, !1),
1517
- upper: l.limit.upper ?? o(l._jointType, !0)
1489
+ const r = J.limit ? {
1490
+ lower: J.limit.lower ?? a(J._jointType, !1),
1491
+ upper: J.limit.upper ?? a(J._jointType, !0)
1518
1492
  } : {
1519
- lower: o(l._jointType, !1),
1520
- upper: o(l._jointType, !0)
1493
+ lower: a(J._jointType, !1),
1494
+ upper: a(J._jointType, !0)
1521
1495
  };
1522
- a.push({
1523
- name: n,
1524
- type: l._jointType || "unknown",
1525
- limit: y,
1526
- currentValue: l.angle || 0,
1527
- urdfJoint: l
1496
+ G.push({
1497
+ name: _,
1498
+ type: J._jointType || "unknown",
1499
+ limit: r,
1500
+ currentValue: J.angle || 0,
1501
+ urdfJoint: J
1528
1502
  });
1529
- }), a.sort((n, l) => n.name.localeCompare(l.name));
1530
- }, g = (h, a) => {
1531
- const n = e.value.find((y) => y.name === h);
1532
- if (!n) return;
1533
- const l = parseFloat(a);
1534
- if (n.limit) {
1535
- const y = Math.max(n.limit.lower, Math.min(n.limit.upper, l));
1536
- n.currentValue = y;
1503
+ }), G.sort((_, J) => _.name.localeCompare(J.name));
1504
+ }, h = (c, G) => {
1505
+ const _ = e.value.find((r) => r.name === c);
1506
+ if (!_) return;
1507
+ const J = parseFloat(G);
1508
+ if (_.limit) {
1509
+ const r = Math.max(_.limit.lower, Math.min(_.limit.upper, J));
1510
+ _.currentValue = r;
1537
1511
  } else
1538
- n.currentValue = l;
1539
- t.model && t.model.setJointValue ? t.model.setJointValue(h, n.currentValue) : n.urdfJoint && n.urdfJoint.setJointValue(n.currentValue);
1540
- }, _ = (h) => {
1541
- h && Object.keys(h).forEach((a) => {
1542
- const n = h[a], l = e.value.find((y) => y.name === a);
1543
- l && (l.currentValue = n, t.model && t.model.setJointValue ? t.model.setJointValue(a, n) : l.urdfJoint && l.urdfJoint.setJointValue(n));
1512
+ _.currentValue = J;
1513
+ t.model && t.model.setJointValue ? t.model.setJointValue(c, _.currentValue) : _.urdfJoint && _.urdfJoint.setJointValue(_.currentValue);
1514
+ }, x = (c) => {
1515
+ c && Object.keys(c).forEach((G) => {
1516
+ const _ = c[G], J = e.value.find((r) => r.name === G);
1517
+ J && (J.currentValue = _, t.model && t.model.setJointValue ? t.model.setJointValue(G, _) : J.urdfJoint && J.urdfJoint.setJointValue(_));
1544
1518
  });
1545
- }, Y = (h, a, n) => h + (a - h) * n, V = (h, a, n) => {
1546
- if (!h || !a) return h || a;
1547
- const l = {};
1548
- return Object.keys(h).forEach((y) => {
1549
- const M = h[y], D = a[y];
1550
- l[y] = Y(M, D || M, n);
1551
- }), l;
1552
- }, K = () => {
1553
- r.value ? w() : I();
1519
+ }, O = (c, G, _) => c + (G - c) * _, k = (c, G, _) => {
1520
+ if (!c || !G) return c || G;
1521
+ const J = {};
1522
+ return Object.keys(c).forEach((r) => {
1523
+ const n = c[r], b = G[r];
1524
+ J[r] = O(n, b || n, _);
1525
+ }), J;
1554
1526
  }, I = () => {
1555
- if (G.length === 0) {
1527
+ l.value ? v() : F();
1528
+ }, F = () => {
1529
+ if (s.length === 0) {
1556
1530
  console.warn("没有动画数据");
1557
1531
  return;
1558
1532
  }
1559
- r.value = !0;
1560
- const h = G.length, a = 60, n = pn / a;
1561
- let l = 0, y = 0;
1562
- const M = () => {
1563
- if (!r.value) return;
1564
- const D = l / a, k = G[y], T = G[y + 1];
1565
- if (T) {
1566
- const c = V(k, T, D);
1567
- _(c);
1533
+ l.value = !0;
1534
+ const c = s.length, G = 60, _ = Xe / G;
1535
+ let J = 0, r = 0;
1536
+ const n = () => {
1537
+ if (!l.value) return;
1538
+ const b = J / G, R = s[r], L = s[r + 1];
1539
+ if (L) {
1540
+ const N = k(R, L, b);
1541
+ x(N);
1568
1542
  } else
1569
- _(k);
1570
- if (l++, l >= a && (l = 0, y++, y >= h - 1)) {
1571
- w();
1543
+ x(R);
1544
+ if (J++, J >= G && (J = 0, r++, r >= c - 1)) {
1545
+ v();
1572
1546
  return;
1573
1547
  }
1574
- J.value = setTimeout(M, n);
1548
+ u.value = setTimeout(n, _);
1575
1549
  };
1576
- M();
1577
- }, w = () => {
1578
- r.value = !1, J.value && (clearTimeout(J.value), J.value = null);
1550
+ n();
1551
+ }, v = () => {
1552
+ l.value = !1, u.value && (clearTimeout(u.value), u.value = null);
1579
1553
  }, d = () => {
1580
- e.value.forEach((h) => {
1581
- (h.type === "revolute" || h.type === "prismatic") && g(h.name, 0);
1554
+ e.value.forEach((c) => {
1555
+ (c.type === "revolute" || c.type === "prismatic") && h(c.name, 0);
1582
1556
  });
1583
1557
  };
1584
- Ut(
1558
+ Bt(
1585
1559
  () => t.model,
1586
- (h) => {
1587
- h ? e.value = p(h) : e.value = [];
1560
+ (c) => {
1561
+ c ? e.value = f(c) : e.value = [];
1588
1562
  },
1589
1563
  { immediate: !0 }
1590
1564
  );
1591
1565
  const m = () => {
1592
- !t.model || r.value || e.value.forEach((h) => {
1593
- h.urdfJoint && h.urdfJoint.angle !== void 0 && (h.currentValue = h.urdfJoint.angle);
1566
+ !t.model || l.value || e.value.forEach((c) => {
1567
+ c.urdfJoint && c.urdfJoint.angle !== void 0 && (c.currentValue = c.urdfJoint.angle);
1594
1568
  });
1595
- }, f = () => {
1596
- const h = () => {
1597
- m(), i.value = requestAnimationFrame(h);
1569
+ }, g = () => {
1570
+ const c = () => {
1571
+ m(), i.value = requestAnimationFrame(c);
1598
1572
  };
1599
- h();
1573
+ c();
1600
1574
  }, E = () => {
1601
1575
  i.value && (cancelAnimationFrame(i.value), i.value = null);
1602
1576
  };
1603
- Yt(() => {
1604
- f();
1605
- }), ee(() => {
1606
- E(), w();
1607
- });
1608
- const R = (h, a, n, l = {}) => {
1609
- const M = { ...{
1610
- segmentDuration: 3,
1611
- position: new u(1.128, -0.699, 0.378),
1612
- tubeSegments: 12
1613
- }, ...l }, D = [...h].reverse().map((z, A, L) => A === L.length - 1 ? { ...z, c: 0, r: 0 } : {
1614
- ...z,
1615
- c: L[A + 1].c,
1616
- r: L[A + 1].r
1617
- });
1618
- if (!t.scene) return;
1619
- const k = (z, A) => Math.abs(z) * Math.PI * A / 180, T = [];
1620
- for (let z = 0; z < D.length; z++) {
1621
- const { y: A, b: L, c: W, r: X } = D[z];
1622
- if (T.push({
1623
- type: "straight",
1624
- length: A,
1625
- segmentIndex: z,
1626
- twist: L
1627
- }), W !== 0 && X !== 0) {
1628
- const nt = k(W, X);
1629
- T.push({
1630
- type: "bend",
1631
- length: nt,
1632
- angle: W,
1633
- radius: X,
1634
- segmentIndex: z
1635
- });
1636
- }
1637
- }
1638
- const c = (z = []) => {
1639
- const A = [];
1640
- let L = new u(0, 0, 0), W = new u(1, 0, 0), X = new u(0, 1, 0), nt = new u(0, 0, 1);
1641
- A.push(L.clone());
1642
- for (let Z = 0; Z < T.length; Z++) {
1643
- const F = T[Z];
1644
- if (F.type === "straight") {
1645
- if (F.twist !== 0) {
1646
- const ot = F.twist * Math.PI / 180, Q = new xt().makeRotationAxis(X, ot);
1647
- W.applyMatrix4(Q), nt.applyMatrix4(Q);
1648
- }
1649
- const st = F.length / 1e3, rt = Math.max(8, Math.floor(F.length * 0.05));
1650
- for (let ot = 1; ot <= rt; ot++) {
1651
- const Q = ot / rt, lt = L.clone().add(X.clone().multiplyScalar(st * Q));
1652
- A.push(lt);
1653
- }
1654
- L.add(X.clone().multiplyScalar(st));
1655
- } else if (F.type === "bend") {
1656
- const st = z[F.segmentIndex] || 0, rt = F.angle * Math.PI / 180, ot = F.radius / 1e3;
1657
- if (st > 0) {
1658
- const Q = L.clone().add(W.clone().multiplyScalar(-ot)), lt = Math.max(16, Math.floor(Math.abs(F.angle) / 5));
1659
- for (let vt = 1; vt <= lt; vt++) {
1660
- const Xt = vt / lt, Wt = rt * st * Xt, qt = new xt().makeRotationAxis(nt, Wt), zt = W.clone().multiplyScalar(ot);
1661
- zt.applyMatrix4(qt);
1662
- const Qt = Q.clone().add(zt);
1663
- A.push(Qt);
1664
- }
1665
- const _t = rt * st, Pt = new xt().makeRotationAxis(nt, _t), pt = W.clone().multiplyScalar(ot);
1666
- pt.applyMatrix4(Pt), L = Q.clone().add(pt), W.applyMatrix4(Pt), X.applyMatrix4(Pt);
1667
- } else {
1668
- const Q = F.length / 1e3, lt = Math.max(8, Math.floor(F.length * 0.05));
1669
- for (let _t = 1; _t <= lt; _t++) {
1670
- const Pt = _t / lt, pt = L.clone().add(X.clone().multiplyScalar(Q * Pt));
1671
- A.push(pt);
1672
- }
1673
- L.add(X.clone().multiplyScalar(Q));
1674
- }
1675
- }
1676
- }
1677
- const Rt = new we(A);
1678
- return new Re(Rt, A.length * 2, n / 1e3, M.tubeSegments, !1);
1679
- }, et = new Vt({
1680
- color: 11119017,
1681
- shininess: 60
1682
- }), B = D.map(() => 0), $t = c(B), at = new St($t, et);
1683
- at.position.copy(M.position), t.scene.add(at);
1684
- const Ct = D.map((z, A) => z.c !== 0 && z.r !== 0 ? A : -1).filter((z) => z !== -1), ct = [...Ct].reverse(), Kt = Date.now(), kt = () => {
1685
- const A = (Date.now() - Kt) / 1e3, L = Math.min(Math.floor(A / M.segmentDuration), ct.length), W = A % M.segmentDuration, X = Math.min(W / M.segmentDuration, 1), nt = [...Array(D.length)].map(() => 0);
1686
- for (let Z = 0; Z < L; Z++)
1687
- nt[ct[Z]] = 1;
1688
- L < ct.length && (nt[ct[L]] = X);
1689
- try {
1690
- const Z = c(nt);
1691
- at.geometry.dispose(), at.geometry = Z;
1692
- } catch (Z) {
1693
- console.error("更新几何体失败:", Z);
1694
- }
1695
- const Rt = ct.length * M.segmentDuration;
1696
- if (A < Rt)
1697
- requestAnimationFrame(kt);
1698
- else {
1699
- const Z = [...Array(D.length)].map(
1700
- (st, rt) => Ct.includes(rt) ? 1 : 0
1701
- ), F = c(Z);
1702
- at.geometry.dispose(), at.geometry = F;
1703
- }
1704
- };
1705
- return kt(), at;
1706
- }, H = () => {
1707
- if (!t.scene) return;
1708
- const h = [];
1709
- t.scene.traverse((a) => {
1710
- a.isMesh && a.geometry && a.geometry.type === "TubeGeometry" && h.push(a);
1711
- }), h.forEach((a) => {
1712
- a.geometry.dispose(), a.material && a.material.dispose(), t.scene.remove(a);
1713
- });
1714
- }, x = () => {
1715
- H(), R(
1716
- [
1717
- { y: 88.61, b: 0, c: 90, r: 8 },
1718
- { y: 54.29, b: -90, c: 90, r: 8 },
1719
- { y: 460.1, b: 180, c: 90, r: 8 },
1720
- { y: 48.95, b: -90, c: 90, r: 8 },
1721
- { y: 27, b: 0, c: 0, r: 0 }
1722
- ],
1723
- // YBCR数据
1724
- 729,
1725
- // 管道总长度(mm)
1726
- 3.17,
1727
- // 管道半径(mm)
1728
- {
1729
- segmentDuration: 3,
1730
- position: new u(1.128, -0.699, 0.378)
1731
- }
1732
- );
1733
- };
1734
- return (h, a) => (U(), $(Ot, null, [
1735
- P("div", Qe, [
1736
- P("button", {
1737
- onClick: K,
1577
+ return Et(() => {
1578
+ g();
1579
+ }), jt(() => {
1580
+ E(), v();
1581
+ }), (c, G) => (z(), j(ut, null, [
1582
+ p("div", Ae, [
1583
+ p("button", {
1584
+ onClick: I,
1738
1585
  class: "animate-btn"
1739
- }, tt(r.value ? "停止动画" : "开始动画"), 1),
1740
- P("button", {
1586
+ }, Y(l.value ? "停止动画" : "开始动画"), 1),
1587
+ p("button", {
1741
1588
  onClick: d,
1742
- disabled: r.value
1743
- }, "重置所有关节", 8, tn),
1744
- P("button", { onClick: x }, "弯管"),
1745
- P("button", { onClick: H }, "清理管子")
1589
+ disabled: l.value
1590
+ }, "重置所有关节", 8, ke)
1746
1591
  ]),
1747
- P("div", en, [
1748
- e.value.length > 0 ? (U(), $("div", nn, [
1749
- (U(!0), $(Ot, null, ne(e.value, (n) => {
1750
- var l, y, M, D;
1751
- return U(), $("div", {
1752
- key: n.name,
1592
+ p("div", ze, [
1593
+ e.value.length > 0 ? (z(), j("div", Oe, [
1594
+ (z(!0), j(ut, null, It(e.value, (_) => {
1595
+ var J, r, n, b;
1596
+ return z(), j("div", {
1597
+ key: _.name,
1753
1598
  class: "joint-item"
1754
1599
  }, [
1755
- P("div", on, [
1756
- P("div", an, [
1757
- P("span", sn, tt(n.name), 1),
1758
- P("span", rn, " [" + tt(((l = n.limit) == null ? void 0 : l.lower.toFixed(2)) ?? (n.type === "revolute" ? "-3.14" : "-1.00")) + ", " + tt(((y = n.limit) == null ? void 0 : y.upper.toFixed(2)) ?? (n.type === "revolute" ? "3.14" : "1.00")) + "] ", 1)
1600
+ p("div", Le, [
1601
+ p("div", He, [
1602
+ p("span", je, Y(_.name), 1),
1603
+ p("span", Ie, " [" + Y(((J = _.limit) == null ? void 0 : J.lower.toFixed(2)) ?? (_.type === "revolute" ? "-3.14" : "-1.00")) + ", " + Y(((r = _.limit) == null ? void 0 : r.upper.toFixed(2)) ?? (_.type === "revolute" ? "3.14" : "1.00")) + "] ", 1)
1759
1604
  ]),
1760
- P("span", ln, tt(n.type), 1)
1605
+ p("span", Fe, Y(_.type), 1)
1761
1606
  ]),
1762
- n.type === "revolute" || n.type === "prismatic" ? (U(), $("div", hn, [
1763
- P("div", dn, [
1764
- P("input", {
1607
+ _.type === "revolute" || _.type === "prismatic" ? (z(), j("div", Ne, [
1608
+ p("div", Ue, [
1609
+ p("input", {
1765
1610
  type: "range",
1766
- min: ((M = n.limit) == null ? void 0 : M.lower) ?? (n.type === "revolute" ? -Math.PI : -1),
1767
- max: ((D = n.limit) == null ? void 0 : D.upper) ?? (n.type === "revolute" ? Math.PI : 1),
1611
+ min: ((n = _.limit) == null ? void 0 : n.lower) ?? (_.type === "revolute" ? -Math.PI : -1),
1612
+ max: ((b = _.limit) == null ? void 0 : b.upper) ?? (_.type === "revolute" ? Math.PI : 1),
1768
1613
  step: 0.01,
1769
- value: n.currentValue,
1770
- onInput: (k) => g(n.name, k.target.value),
1614
+ value: _.currentValue,
1615
+ onInput: (R) => h(_.name, R.target.value),
1771
1616
  class: "joint-slider",
1772
- disabled: r.value
1773
- }, null, 40, cn)
1617
+ disabled: l.value
1618
+ }, null, 40, Ye)
1774
1619
  ]),
1775
- P("div", _n, [
1776
- P("span", Pn, tt(n.currentValue.toFixed(3)), 1),
1777
- P("span", Jn, tt(n.type === "revolute" ? "rad" : "m"), 1)
1620
+ p("div", Ve, [
1621
+ p("span", Ze, Y(_.currentValue.toFixed(3)), 1),
1622
+ p("span", $e, Y(_.type === "revolute" ? "rad" : "m"), 1)
1778
1623
  ])
1779
- ])) : Jt("", !0)
1624
+ ])) : q("", !0)
1780
1625
  ]);
1781
1626
  }), 128))
1782
- ])) : (U(), $("div", un, a[0] || (a[0] = [
1783
- P("p", null, "未检测到可控制的关节", -1)
1627
+ ])) : (z(), j("div", Ke, G[0] || (G[0] = [
1628
+ p("p", null, "未检测到可控制的关节", -1)
1784
1629
  ])))
1785
1630
  ])
1786
1631
  ], 64));
1787
1632
  }
1788
- }, Gn = /* @__PURE__ */ ut(mn, [["__scopeId", "data-v-54b54492"]]), fn = { class: "container" }, gn = ["xlink:href"];
1789
- function yn(s, t, e, i, r, J) {
1790
- return U(), $("div", fn, [
1791
- (U(), $("svg", {
1792
- class: ie(["svg-icon", [s.$attrs.class, s.spin && "svg-icon-spin"]]),
1793
- style: oe(s.getStyle),
1633
+ }, qe = /* @__PURE__ */ Q(We, [["__scopeId", "data-v-ef47ba0d"]]), Qe = ["xlink:href"];
1634
+ function ti(o, t, e, i, l, u) {
1635
+ return z(), j("div", {
1636
+ class: pt(["container", { active: o.active }])
1637
+ }, [
1638
+ (z(), j("svg", {
1639
+ class: pt(["svg-icon", [o.$attrs.class, o.spin && "svg-icon-spin"]]),
1640
+ style: Ft(o.getStyle),
1794
1641
  "aria-hidden": "true"
1795
1642
  }, [
1796
- P("use", { "xlink:href": s.symbolId }, null, 8, gn)
1643
+ p("use", { "xlink:href": o.symbolId }, null, 8, Qe)
1797
1644
  ], 6))
1798
- ]);
1645
+ ], 2);
1799
1646
  }
1800
- const O = /* @__PURE__ */ ut(ve, [["render", yn], ["__scopeId", "data-v-16b4e6b0"]]), bn = { class: "obj-viewer-container" }, Mn = { class: "buttonGroup-top" }, wn = { class: "buttonGroup-topLeft" }, Rn = { class: "buttonGroup-left" }, vn = { class: "buttonGroup-right" }, Bn = { class: "left-panel" }, En = { class: "panel-header" }, xn = {
1647
+ const C = /* @__PURE__ */ Q(le, [["render", ti], ["__scopeId", "data-v-1f76fc63"]]), ei = { class: "obj-viewer-container" }, ii = { class: "buttonGroup-top" }, oi = { class: "buttonGroup-topLeft" }, ni = { class: "buttonGroup-left" }, ai = { class: "buttonGroup-right" }, si = { class: "left-panel" }, ri = { class: "panel-header" }, li = {
1801
1648
  key: 1,
1802
1649
  class: "panel-content"
1803
- }, Dn = { class: "radio-group" }, Tn = { class: "radio-label" }, Sn = { class: "radio-label" }, An = { class: "radio-label" }, Cn = { class: "radio-label" }, kn = { class: "right-panel" }, zn = { class: "panel-header" }, On = {
1650
+ }, hi = { class: "radio-group" }, di = { class: "radio-label" }, _i = { class: "radio-label" }, ci = { class: "radio-label" }, Pi = { class: "radio-label" }, Ji = { class: "right-panel" }, ui = { class: "panel-header" }, pi = {
1804
1651
  key: 0,
1805
1652
  class: "loading-overlay"
1806
- }, Ln = {
1653
+ }, mi = {
1807
1654
  __name: "threeModel",
1808
- setup(s, { expose: t }) {
1655
+ setup(o, { expose: t }) {
1809
1656
  let e = null, i = !1;
1810
- const r = S(null), J = S(!1), G = S("");
1811
- S(!1), S(!1);
1812
- const o = S(!1), p = S(""), g = S(!1), {
1813
- currentModels: _,
1814
- initThreeJS: Y,
1815
- handleResize: V,
1816
- fitCameraToAllModels: K,
1817
- getThreeJSObjects: I,
1818
- clearAllModels: w,
1819
- cleanup: d
1820
- } = Ke(r), { isAnimating: m, stopAnimation: f } = Xe(I, _), { isClipping: E, activeClippingAxis: R, toggleClipping: H, updateClippingPlanes: x } = We(
1821
- I,
1822
- _
1823
- ), { addModelsFromUrls: h, loadModelByDefaultPath: a, urdfModel: n } = Be(
1824
- I,
1825
- _,
1826
- J,
1827
- G,
1828
- w
1829
- ), l = async () => i ? Promise.resolve() : new Promise((T) => {
1830
- const c = () => {
1831
- i ? T() : requestAnimationFrame(c);
1657
+ const l = D(null), u = D(!1), s = D("");
1658
+ D(!1);
1659
+ const a = D(!1), f = D(!1), h = D(""), x = D(!1), O = D(""), {
1660
+ currentModels: k,
1661
+ initialCameraPosition: I,
1662
+ initialTargetPosition: F,
1663
+ initThreeJS: v,
1664
+ handleResize: d,
1665
+ fitCameraToAllModels: m,
1666
+ getThreeJSObjects: g,
1667
+ clearAllModels: E,
1668
+ cleanup: c
1669
+ } = xe(l), { isAnimating: G, toggleAnimation: _, stopAnimation: J } = Te(g, k), { isClipping: r, activeClippingAxis: n, toggleClipping: b, updateClippingPlanes: R } = Se(
1670
+ g,
1671
+ k
1672
+ ), { addModelsFromUrls: L, loadModelByDefaultPath: N, urdfModel: V } = he(
1673
+ g,
1674
+ k,
1675
+ u,
1676
+ s,
1677
+ E
1678
+ ), Tt = () => {
1679
+ if (a.value || k.value.length === 0) return;
1680
+ a.value = !0, G.value && J();
1681
+ const { camera: T, controls: P } = g();
1682
+ if (!T || !P) return;
1683
+ P.enabled = !0;
1684
+ const Z = (K) => K < 0.5 ? 4 * K * K * K : 1 - Math.pow(-2 * K + 2, 3) / 2, w = T.position.clone(), zt = P.target.clone(), Ot = 1500, Lt = Date.now(), ct = () => {
1685
+ const K = Date.now() - Lt, Pt = Math.min(K / Ot, 1), Jt = Z(Pt);
1686
+ T.position.lerpVectors(w, I.value, Jt), P.target.lerpVectors(zt, F.value, Jt), Pt < 1 ? requestAnimationFrame(ct) : a.value = !1;
1832
1687
  };
1833
- c();
1834
- }), y = async (T, c) => {
1688
+ ct();
1689
+ }, St = async () => i ? Promise.resolve() : new Promise((T) => {
1690
+ const P = () => {
1691
+ i ? T() : requestAnimationFrame(P);
1692
+ };
1693
+ P();
1694
+ }), _t = async (T, P) => {
1835
1695
  try {
1836
- await l(), m.value && f(), E.value && H();
1837
- const et = await c(T);
1838
- return K(), et;
1839
- } catch (et) {
1840
- throw console.error("加载模型失败:", et), et;
1696
+ await St(), G.value && J(), r.value && b();
1697
+ const Z = await P(T);
1698
+ return m(), Z;
1699
+ } catch (Z) {
1700
+ throw console.error("加载模型失败:", Z), Z;
1841
1701
  }
1842
- }, M = async (T) => y(T, h), D = async (T) => y(T, a), k = (T) => {
1843
- o.value = !0, p.value = T, T === "剖面图" && !E.value && H();
1702
+ }, Ct = async (T) => _t(T, L), At = async (T) => _t(T, N), tt = (T) => {
1703
+ f.value = !0, h.value = T, T === "剖面图" && !r.value && b();
1704
+ }, kt = (T) => {
1705
+ x.value = !0, O.value = T;
1844
1706
  };
1845
- return Yt(async () => {
1846
- await ae();
1707
+ return Et(async () => {
1708
+ await Nt();
1847
1709
  try {
1848
- Y(), e = I().scene, i = !0, window.addEventListener("resize", V);
1710
+ v(), e = g().scene, i = !0, window.addEventListener("resize", d);
1849
1711
  } catch (T) {
1850
1712
  console.error("Three.js初始化失败:", T);
1851
1713
  }
1852
- }), se(() => {
1853
- i = !1, window.removeEventListener("resize", V), m.value && f(), d();
1714
+ }), Ut(() => {
1715
+ i = !1, h.value = "", O.value = "", window.removeEventListener("resize", d), G.value && J(), c();
1854
1716
  }), t({
1855
- addModelsFromUrls: M,
1856
- loadModelByDefaultPath: D
1857
- }), (T, c) => {
1858
- const et = bt("el-scrollbar");
1859
- return U(), $("div", bn, [
1860
- P("div", {
1717
+ addModelsFromUrls: Ct,
1718
+ loadModelByDefaultPath: At
1719
+ }), (T, P) => {
1720
+ const Z = Rt("el-scrollbar");
1721
+ return z(), j("div", ei, [
1722
+ p("div", {
1861
1723
  ref_key: "threejsContainer",
1862
- ref: r,
1724
+ ref: l,
1863
1725
  class: "threejs-container"
1864
1726
  }, null, 512),
1865
- P("div", Mn, [
1866
- v(O, {
1727
+ p("div", ii, [
1728
+ B(C, {
1867
1729
  name: "guanjianjiexi",
1868
1730
  size: "34"
1869
1731
  }),
1870
- v(O, {
1732
+ B(C, {
1871
1733
  name: "guanjiekongzhi",
1872
1734
  size: "34"
1873
1735
  }),
1874
- v(O, {
1736
+ B(C, {
1875
1737
  name: "gongyishengcheng",
1876
1738
  size: "34"
1877
1739
  }),
1878
- v(O, {
1740
+ B(C, {
1879
1741
  name: "buchangshezhi",
1880
1742
  size: "34"
1881
1743
  }),
1882
- v(O, {
1744
+ B(C, {
1883
1745
  name: "shuchujiagongchengxu",
1884
1746
  size: "34"
1885
1747
  })
1886
1748
  ]),
1887
- P("div", wn, [
1888
- v(O, {
1749
+ p("div", oi, [
1750
+ B(C, {
1751
+ name: "donghuafangzhen",
1752
+ size: "24",
1753
+ onClick: Tt,
1754
+ title: "重置"
1755
+ }),
1756
+ B(C, {
1889
1757
  name: "fangda",
1890
- size: "24"
1758
+ size: "24",
1759
+ title: "放大"
1891
1760
  }),
1892
- v(O, {
1761
+ B(C, {
1893
1762
  name: "suoxiao",
1894
- size: "24"
1763
+ size: "24",
1764
+ title: "缩小"
1895
1765
  }),
1896
- v(O, {
1897
- name: "fangdazhichuangkou",
1898
- size: "24"
1899
- })
1766
+ B(C, {
1767
+ name: "donghuafangzhen",
1768
+ size: "24",
1769
+ onClick: A(_),
1770
+ title: A(G) ? "停止动画" : "动画视图"
1771
+ }, null, 8, ["onClick", "title"])
1900
1772
  ]),
1901
- P("div", Rn, [
1902
- v(O, {
1773
+ p("div", ni, [
1774
+ B(C, {
1903
1775
  name: "jiegoushu",
1904
1776
  size: "24",
1905
- onClick: c[0] || (c[0] = (B) => k("场景树"))
1906
- }),
1907
- v(O, {
1777
+ onClick: P[0] || (P[0] = (w) => tt("场景树")),
1778
+ active: f.value && h.value === "场景树"
1779
+ }, null, 8, ["active"]),
1780
+ B(C, {
1908
1781
  name: "donghuafangzhen",
1909
1782
  size: "24",
1910
- onClick: c[1] || (c[1] = (B) => k("剖面图"))
1911
- }),
1912
- v(O, {
1783
+ onClick: P[1] || (P[1] = (w) => tt("剖面图")),
1784
+ active: f.value && h.value === "剖面图"
1785
+ }, null, 8, ["active"]),
1786
+ B(C, {
1913
1787
  name: "donghuafangzhen",
1914
1788
  size: "24",
1915
- onClick: c[2] || (c[2] = (B) => k("场景树3"))
1789
+ onClick: P[2] || (P[2] = (w) => tt("场景树3"))
1916
1790
  }),
1917
- v(O, {
1791
+ B(C, {
1918
1792
  name: "donghuafangzhen",
1919
1793
  size: "24",
1920
- onClick: c[3] || (c[3] = (B) => k("场景4"))
1794
+ onClick: P[3] || (P[3] = (w) => tt("场景4"))
1921
1795
  })
1922
1796
  ]),
1923
- P("div", vn, [
1924
- v(O, {
1797
+ p("div", ai, [
1798
+ B(C, {
1925
1799
  name: "donghuafangzhen",
1926
1800
  size: "24"
1927
1801
  }),
1928
- v(O, {
1802
+ B(C, {
1929
1803
  name: "donghuafangzhen",
1930
1804
  size: "24"
1931
1805
  }),
1932
- v(O, {
1806
+ B(C, {
1933
1807
  name: "guanjiekongzhi",
1934
1808
  size: "24",
1935
- onClick: c[4] || (c[4] = (B) => g.value = !0)
1936
- }),
1937
- v(O, {
1809
+ onClick: P[4] || (P[4] = (w) => kt("关节控制")),
1810
+ active: x.value && O.value === "关节控制"
1811
+ }, null, 8, ["active"]),
1812
+ B(C, {
1938
1813
  name: "donghuafangzhen",
1939
1814
  size: "24"
1940
1815
  }),
1941
- v(O, {
1816
+ B(C, {
1942
1817
  name: "donghuafangzhen",
1943
1818
  size: "24"
1944
1819
  }),
1945
- v(O, {
1820
+ B(C, {
1946
1821
  name: "donghuafangzhen",
1947
1822
  size: "24"
1948
1823
  })
1949
1824
  ]),
1950
- ht(P("div", Bn, [
1951
- P("div", En, [
1952
- P("span", null, tt(p.value), 1),
1953
- P("span", {
1825
+ X(p("div", si, [
1826
+ p("div", ri, [
1827
+ p("span", null, Y(h.value), 1),
1828
+ p("span", {
1954
1829
  class: "close",
1955
- onClick: c[5] || (c[5] = (B) => o.value = !1)
1830
+ onClick: P[5] || (P[5] = (w) => f.value = !1)
1956
1831
  }, " X ")
1957
1832
  ]),
1958
- v(et, { "max-height": "650px" }, {
1959
- default: Mt(() => [
1960
- p.value === "场景树" ? (U(), re(Ce, {
1833
+ B(Z, { "max-height": "650px" }, {
1834
+ default: mt(() => [
1835
+ h.value === "场景树" ? (z(), Gt(ue, {
1961
1836
  key: 0,
1962
- model: j(n)
1963
- }, null, 8, ["model"])) : Jt("", !0),
1964
- p.value === "剖面图" ? (U(), $("div", xn, [
1965
- P("div", Dn, [
1966
- P("label", Tn, [
1967
- ht(P("input", {
1837
+ model: A(V)
1838
+ }, null, 8, ["model"])) : q("", !0),
1839
+ h.value === "剖面图" ? (z(), j("div", li, [
1840
+ p("div", hi, [
1841
+ p("label", di, [
1842
+ X(p("input", {
1968
1843
  type: "radio",
1969
1844
  name: "clipping-axis",
1970
1845
  value: "none",
1971
- "onUpdate:modelValue": c[6] || (c[6] = (B) => mt(R) ? R.value = B : null),
1972
- onChange: c[7] || (c[7] = (...B) => j(x) && j(x)(...B))
1846
+ "onUpdate:modelValue": P[6] || (P[6] = (w) => et(n) ? n.value = w : null),
1847
+ onChange: P[7] || (P[7] = (...w) => A(R) && A(R)(...w))
1973
1848
  }, null, 544), [
1974
- [Gt, j(R)]
1849
+ [it, A(n)]
1975
1850
  ]),
1976
- c[15] || (c[15] = P("span", { class: "radio-text" }, "无切割", -1))
1851
+ P[15] || (P[15] = p("span", { class: "radio-text" }, "无切割", -1))
1977
1852
  ]),
1978
- P("label", Sn, [
1979
- ht(P("input", {
1853
+ p("label", _i, [
1854
+ X(p("input", {
1980
1855
  type: "radio",
1981
1856
  name: "clipping-axis",
1982
1857
  value: "x",
1983
- "onUpdate:modelValue": c[8] || (c[8] = (B) => mt(R) ? R.value = B : null),
1984
- onChange: c[9] || (c[9] = (...B) => j(x) && j(x)(...B))
1858
+ "onUpdate:modelValue": P[8] || (P[8] = (w) => et(n) ? n.value = w : null),
1859
+ onChange: P[9] || (P[9] = (...w) => A(R) && A(R)(...w))
1985
1860
  }, null, 544), [
1986
- [Gt, j(R)]
1861
+ [it, A(n)]
1987
1862
  ]),
1988
- c[16] || (c[16] = P("span", { class: "radio-text" }, "X轴切割", -1))
1863
+ P[16] || (P[16] = p("span", { class: "radio-text" }, "X轴切割", -1))
1989
1864
  ]),
1990
- P("label", An, [
1991
- ht(P("input", {
1865
+ p("label", ci, [
1866
+ X(p("input", {
1992
1867
  type: "radio",
1993
1868
  name: "clipping-axis",
1994
1869
  value: "y",
1995
- "onUpdate:modelValue": c[10] || (c[10] = (B) => mt(R) ? R.value = B : null),
1996
- onChange: c[11] || (c[11] = (...B) => j(x) && j(x)(...B))
1870
+ "onUpdate:modelValue": P[10] || (P[10] = (w) => et(n) ? n.value = w : null),
1871
+ onChange: P[11] || (P[11] = (...w) => A(R) && A(R)(...w))
1997
1872
  }, null, 544), [
1998
- [Gt, j(R)]
1873
+ [it, A(n)]
1999
1874
  ]),
2000
- c[17] || (c[17] = P("span", { class: "radio-text" }, "Y轴切割", -1))
1875
+ P[17] || (P[17] = p("span", { class: "radio-text" }, "Y轴切割", -1))
2001
1876
  ]),
2002
- P("label", Cn, [
2003
- ht(P("input", {
1877
+ p("label", Pi, [
1878
+ X(p("input", {
2004
1879
  type: "radio",
2005
1880
  name: "clipping-axis",
2006
1881
  value: "z",
2007
- "onUpdate:modelValue": c[12] || (c[12] = (B) => mt(R) ? R.value = B : null),
2008
- onChange: c[13] || (c[13] = (...B) => j(x) && j(x)(...B))
1882
+ "onUpdate:modelValue": P[12] || (P[12] = (w) => et(n) ? n.value = w : null),
1883
+ onChange: P[13] || (P[13] = (...w) => A(R) && A(R)(...w))
2009
1884
  }, null, 544), [
2010
- [Gt, j(R)]
1885
+ [it, A(n)]
2011
1886
  ]),
2012
- c[18] || (c[18] = P("span", { class: "radio-text" }, "Z轴切割", -1))
1887
+ P[18] || (P[18] = p("span", { class: "radio-text" }, "Z轴切割", -1))
2013
1888
  ])
2014
1889
  ])
2015
- ])) : Jt("", !0)
1890
+ ])) : q("", !0)
2016
1891
  ]),
2017
1892
  _: 1
2018
1893
  })
2019
1894
  ], 512), [
2020
- [Tt, o.value]
1895
+ [ft, f.value]
2021
1896
  ]),
2022
- ht(P("div", kn, [
2023
- P("div", zn, [
2024
- c[19] || (c[19] = P("span", null, tt("关节控制"), -1)),
2025
- P("span", {
1897
+ X(p("div", Ji, [
1898
+ p("div", ui, [
1899
+ p("span", null, Y(O.value), 1),
1900
+ p("span", {
2026
1901
  class: "close",
2027
- onClick: c[14] || (c[14] = (B) => g.value = !1)
1902
+ onClick: P[14] || (P[14] = (w) => x.value = !1)
2028
1903
  }, " X ")
2029
1904
  ]),
2030
- v(et, { "max-height": "650px" }, {
2031
- default: Mt(() => [
2032
- v(Gn, {
2033
- model: j(n),
2034
- scene: j(e)
2035
- }, null, 8, ["model", "scene"])
1905
+ B(Z, { "max-height": "650px" }, {
1906
+ default: mt(() => [
1907
+ O.value === "关节控制" ? (z(), Gt(qe, {
1908
+ key: 0,
1909
+ model: A(V),
1910
+ scene: A(e)
1911
+ }, null, 8, ["model", "scene"])) : q("", !0)
2036
1912
  ]),
2037
1913
  _: 1
2038
1914
  })
2039
1915
  ], 512), [
2040
- [Tt, g.value]
1916
+ [ft, x.value]
2041
1917
  ]),
2042
- J.value ? (U(), $("div", On, [
2043
- c[20] || (c[20] = P("div", { class: "loading-spinner" }, null, -1)),
2044
- P("p", null, tt(G.value), 1)
2045
- ])) : Jt("", !0)
1918
+ u.value ? (z(), j("div", pi, [
1919
+ P[19] || (P[19] = p("div", { class: "loading-spinner" }, null, -1)),
1920
+ p("p", null, Y(s.value), 1)
1921
+ ])) : q("", !0)
2046
1922
  ]);
2047
1923
  };
2048
1924
  }
2049
- }, Fn = /* @__PURE__ */ ut(Ln, [["__scopeId", "data-v-e7dd7d83"]]);
1925
+ }, yi = /* @__PURE__ */ Q(mi, [["__scopeId", "data-v-3e87dec6"]]);
2050
1926
  export {
2051
- Fn as default
1927
+ yi as default
2052
1928
  };