ss-component-new 1.1.430 → 1.1.431

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 (79) hide show
  1. package/dist/{array-CmTW1wXQ.js → array-CYHZDvJf.js} +1 -1
  2. package/dist/{array-BE8kxwbF.cjs → array-DoAPPPoU.cjs} +1 -1
  3. package/dist/{index-D5JRjtWD.cjs → index-0UsRG8Nl.cjs} +1 -1
  4. package/dist/{index-BWHERznY.js → index-4C972HsD.js} +4 -4
  5. package/dist/{index-B3sv--5l.js → index-B2WdBcN2.js} +9 -9
  6. package/dist/{index-BnlhM9YS.js → index-B9YbkQTN.js} +7 -7
  7. package/dist/{index-DQq3rsff.js → index-BGu6K09X.js} +5 -5
  8. package/dist/{index-Bb7GoIJp.cjs → index-BRWn9N9z.cjs} +1 -1
  9. package/dist/{index-DUPkZILz.cjs → index-BSlYS8L6.cjs} +1 -1
  10. package/dist/{index-N9Y_z5k_.cjs → index-BbH6qY5i.cjs} +1 -1
  11. package/dist/{index-DkiBGvqU.js → index-Bp2y9XSw.js} +1 -1
  12. package/dist/{index-CqaFuVhy.cjs → index-Bw61yR16.cjs} +1 -1
  13. package/dist/{index-uatggqnf.js → index-ByKePmLX.js} +5 -5
  14. package/dist/{index-CzfGrSpV.js → index-C1LJSord.js} +1 -1
  15. package/dist/{index-DxNyBY1w.cjs → index-CGf5Z3_H.cjs} +1 -1
  16. package/dist/{index-B_AUqKy_.cjs → index-CGgr5f-z.cjs} +1 -1
  17. package/dist/{index-D2aIlMCu.cjs → index-CKudLJJ1.cjs} +1 -1
  18. package/dist/{index-Di1ajNKI.js → index-CZyGWfHG.js} +4 -4
  19. package/dist/{index-D6iTzH06.cjs → index-CdgOQe0i.cjs} +1 -1
  20. package/dist/{index-BiuhwvlL.js → index-CesPDA_Y.js} +9 -9
  21. package/dist/{index-DygfoHkC.cjs → index-CjjVgYXa.cjs} +1 -1
  22. package/dist/{index-CsHPoVQL.cjs → index-Cn9Oohz3.cjs} +1 -1
  23. package/dist/{index-CMBrDaM5.js → index-Cnqn6WIO.js} +1 -1
  24. package/dist/{index-CONyMR2I.cjs → index-Con3aMMd.cjs} +1 -1
  25. package/dist/{index-BCFtIIf_.cjs → index-CrSg-82a.cjs} +1 -1
  26. package/dist/{index-eH2F0oMQ.js → index-Crmnjr2c.js} +3 -3
  27. package/dist/{index-DOm1fXtU.cjs → index-CsYxP0-F.cjs} +1 -1
  28. package/dist/{index-gXA0eS6O.cjs → index-CydkxCxM.cjs} +1 -1
  29. package/dist/{index-C-jjWrUl.cjs → index-D-nO19V3.cjs} +1 -1
  30. package/dist/{index-Clor83sA.cjs → index-D0mkoPSf.cjs} +1 -1
  31. package/dist/{index-DFilfUFX.js → index-D2P4LtZm.js} +3 -3
  32. package/dist/{index-D_j7_Hn_.cjs → index-DADAKv9O.cjs} +1 -1
  33. package/dist/{index-LoH8EwXA.js → index-DANnEh5L.js} +3 -3
  34. package/dist/{index-DDoTCY3C.js → index-DArGJfKY.js} +5 -5
  35. package/dist/{index-CYOSbBn4.js → index-DHH9k3Cd.js} +16 -16
  36. package/dist/{index-DxCiQhlC.js → index-DMEfwWgq.js} +2 -2
  37. package/dist/{index-Daqdy9e9.js → index-DkAnI-XG.js} +5 -5
  38. package/dist/{index-B8ONEgpW.cjs → index-DoNbKVmQ.cjs} +1 -1
  39. package/dist/{index-BZkQ29Tz.cjs → index-DpRiYeQY.cjs} +1 -1
  40. package/dist/{index-BwhVhBYj.js → index-Dqon02wb.js} +5 -5
  41. package/dist/{index-qEFkFDy8.js → index-DtDR26cB.js} +7 -7
  42. package/dist/{index-CjlMUufz.cjs → index-FqJpETte.cjs} +1 -1
  43. package/dist/{index-CrtuDvMe.js → index-LSoD1i3A.js} +1 -1
  44. package/dist/{index-EzZiR3ly.js → index-SdUkriaK.js} +4 -4
  45. package/dist/{index-Cqd4dRu7.js → index-SrhMzOCY.js} +4 -4
  46. package/dist/{index-pvjM6t0d.js → index-X2ZWiRcv.js} +6 -6
  47. package/dist/{index-DIxSv5u4.cjs → index-b6aBSRMl.cjs} +1 -1
  48. package/dist/{index-CNpklHzK.cjs → index-dlfEnHmI.cjs} +1 -1
  49. package/dist/{index-DXtXtduX.js → index-fvJb5bN3.js} +4 -4
  50. package/dist/{index-CSj1osh5.js → index-lH7K2Ae4.js} +6 -6
  51. package/dist/{index-PdwN7EaB.cjs → index-qYLxQkHk.cjs} +1 -1
  52. package/dist/{index-o5dof3CA.cjs → index-sIPyCyQi.cjs} +1 -1
  53. package/dist/{index-DeXnZk4X.js → index-wFIaJ63i.js} +6 -6
  54. package/dist/{index-D3ah-UXX.cjs → index-xm6KYCoF.cjs} +1 -1
  55. package/dist/{index.vue_vue_type_script_setup_true_lang-YlUeUQJ4.js → index.vue_vue_type_script_setup_true_lang-BWUFgZh-.js} +3 -3
  56. package/dist/{index.vue_vue_type_script_setup_true_lang-EaaJleWP.cjs → index.vue_vue_type_script_setup_true_lang-BZ7tchOp.cjs} +1 -1
  57. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CClJxB6F.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BI2vSErk.js} +2 -2
  58. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Bw_ydbnW.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CZtlnVW5.cjs} +1 -1
  59. package/dist/{index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-B2duMdZT.cjs → index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-B-rWYebv.cjs} +1 -1
  60. package/dist/{index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-CcYfjXoA.js → index.vue_vue_type_style_index_0_scoped_ed9fe0f5_lang-uU-cctzF.js} +8 -8
  61. package/dist/{index.vue_vue_type_style_index_0_scoped_f69cf49c_lang-TQjM60R4.js → index.vue_vue_type_style_index_0_scoped_f69cf49c_lang-DnITgFWi.js} +15 -15
  62. package/dist/{index.vue_vue_type_style_index_0_scoped_f69cf49c_lang-Z8fBYrL9.cjs → index.vue_vue_type_style_index_0_scoped_f69cf49c_lang-DozWSlZt.cjs} +1 -1
  63. package/dist/{login-BMAi9yYX.cjs → login-C7DmHc80.cjs} +1 -1
  64. package/dist/{login-B520hsEu.js → login-CJCoAoN1.js} +1 -1
  65. package/dist/{main-Dpbg9Pxc.js → main-D4Q91qkP.js} +6 -6
  66. package/dist/{main-yzKa6bxy.cjs → main-iJ0nSePL.cjs} +1 -1
  67. package/dist/{menu-qAL8FiSW.js → menu-BuloZZcj.js} +1 -1
  68. package/dist/{menu-BAEUpxbd.cjs → menu-n3qjG2rK.cjs} +1 -1
  69. package/dist/ss-component.cjs +1 -1
  70. package/dist/ss-component.css +1 -1
  71. package/dist/ss-component.js +10 -10
  72. package/dist/ss-component3.cjs +1 -1
  73. package/dist/ss-component3.js +1 -1
  74. package/dist/threeModel-BiEaleFf.cjs +1 -0
  75. package/dist/{threeModel-ClGUp5fG.js → threeModel-apAPzYrf.js} +566 -587
  76. package/dist/{threeModel.vue_vue_type_style_index_0_scoped_3e87dec6_lang-DYhzYEGg.js → threeModel.vue_vue_type_style_index_0_scoped_506601a0_lang-BKIbj4w0.js} +2 -2
  77. package/dist/{threeModel.vue_vue_type_style_index_0_scoped_3e87dec6_lang-BOT5Tivd.cjs → threeModel.vue_vue_type_style_index_0_scoped_506601a0_lang-CaLVdXus.cjs} +1 -1
  78. package/package.json +1 -1
  79. package/dist/threeModel-CxKWxMlL.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("./threeModel.vue_vue_type_style_index_0_scoped_506601a0_lang-CaLVdXus.cjs"),U=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),W={type:"change"},Y={type:"start"},Q={type:"end"},I=new n.Ray,q=new n.Plane,lt=Math.cos(70*n.MathUtils.DEG2RAD),x=new n.Vector3,N=2*Math.PI,v={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},F=1e-6;class ct extends n.Controls{constructor(t,o=null){super(t,o),this.state=v.NONE,this.target=new n.Vector3,this.cursor=new n.Vector3,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=.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:n.MOUSE.ROTATE,MIDDLE:n.MOUSE.DOLLY,RIGHT:n.MOUSE.PAN},this.touches={ONE:n.TOUCH.ROTATE,TWO:n.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new n.Vector3,this._lastQuaternion=new n.Quaternion,this._lastTargetPosition=new n.Vector3,this._quat=new n.Quaternion().setFromUnitVectors(t.up,new n.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new n.Spherical,this._sphericalDelta=new n.Spherical,this._scale=1,this._panOffset=new n.Vector3,this._rotateStart=new n.Vector2,this._rotateEnd=new n.Vector2,this._rotateDelta=new n.Vector2,this._panStart=new n.Vector2,this._panEnd=new n.Vector2,this._panDelta=new n.Vector2,this._dollyStart=new n.Vector2,this._dollyEnd=new n.Vector2,this._dollyDelta=new n.Vector2,this._dollyDirection=new n.Vector3,this._mouse=new n.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=dt.bind(this),this._onPointerDown=ht.bind(this),this._onPointerUp=_t.bind(this),this._onContextMenu=ft.bind(this),this._onMouseWheel=ut.bind(this),this._onKeyDown=pt.bind(this),this._onTouchStart=mt.bind(this),this._onTouchMove=Gt.bind(this),this._onMouseDown=Pt.bind(this),this._onMouseMove=Jt.bind(this),this._interceptControlDown=gt.bind(this),this._interceptControlUp=yt.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(t){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"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(W),this.update(),this.state=v.NONE}update(t=null){const o=this.object.position;x.copy(o).sub(this.target),x.applyQuaternion(this._quat),this._spherical.setFromVector3(x),this.autoRotate&&this.state===v.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);let i=this.minAzimuthAngle,c=this.maxAzimuthAngle;isFinite(i)&&isFinite(c)&&(i<-Math.PI?i+=N:i>Math.PI&&(i-=N),c<-Math.PI?c+=N:c>Math.PI&&(c-=N),i<=c?this._spherical.theta=Math.max(i,Math.min(c,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(i+c)/2?Math.max(i,this._spherical.theta):Math.min(c,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);let p=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const g=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),p=g!=this._spherical.radius}if(x.setFromSpherical(this._spherical),x.applyQuaternion(this._quatInverse),o.copy(this.target).add(x),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){let g=null;if(this.object.isPerspectiveCamera){const l=x.length();g=this._clampDistance(l*this._scale);const M=l-g;this.object.position.addScaledVector(this._dollyDirection,M),this.object.updateMatrixWorld(),p=!!M}else if(this.object.isOrthographicCamera){const l=new n.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const M=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),p=M!==this.object.zoom;const E=new n.Vector3(this._mouse.x,this._mouse.y,0);E.unproject(this.object),this.object.position.sub(E).add(l),this.object.updateMatrixWorld(),g=x.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;g!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(g).add(this.object.position):(I.origin.copy(this.object.position),I.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(I.direction))<lt?this.object.lookAt(this.target):(q.setFromNormalAndCoplanarPoint(this.object.up,this.target),I.intersectPlane(q,this.target))))}else if(this.object.isOrthographicCamera){const g=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),g!==this.object.zoom&&(this.object.updateProjectionMatrix(),p=!0)}return this._scale=1,this._performCursorZoom=!1,p||this._lastPosition.distanceToSquared(this.object.position)>F||8*(1-this._lastQuaternion.dot(this.object.quaternion))>F||this._lastTargetPosition.distanceToSquared(this.target)>F?(this.dispatchEvent(W),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?N/60*this.autoRotateSpeed*t:N/60/60*this.autoRotateSpeed}_getZoomScale(t){const o=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*o)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,o){x.setFromMatrixColumn(o,0),x.multiplyScalar(-t),this._panOffset.add(x)}_panUp(t,o){this.screenSpacePanning===!0?x.setFromMatrixColumn(o,1):(x.setFromMatrixColumn(o,0),x.crossVectors(this.object.up,x)),x.multiplyScalar(t),this._panOffset.add(x)}_pan(t,o){const i=this.domElement;if(this.object.isPerspectiveCamera){const c=this.object.position;x.copy(c).sub(this.target);let p=x.length();p*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*p/i.clientHeight,this.object.matrix),this._panUp(2*o*p/i.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/i.clientWidth,this.object.matrix),this._panUp(o*(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)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,o){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const i=this.domElement.getBoundingClientRect(),c=t-i.left,p=o-i.top,g=i.width,l=i.height;this._mouse.x=c/g*2-1,this._mouse.y=-(p/l)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const o=this.domElement;this._rotateLeft(N*this._rotateDelta.x/o.clientHeight),this._rotateUp(N*this._rotateDelta.y/o.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){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()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let o=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(N*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),o=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-N*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),o=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(N*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),o=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-N*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),o=!0;break}o&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const o=this._getSecondPointerPosition(t),i=.5*(t.pageX+o.x),c=.5*(t.pageY+o.y);this._rotateStart.set(i,c)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const o=this._getSecondPointerPosition(t),i=.5*(t.pageX+o.x),c=.5*(t.pageY+o.y);this._panStart.set(i,c)}}_handleTouchStartDolly(t){const o=this._getSecondPointerPosition(t),i=t.pageX-o.x,c=t.pageY-o.y,p=Math.sqrt(i*i+c*c);this._dollyStart.set(0,p)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const i=this._getSecondPointerPosition(t),c=.5*(t.pageX+i.x),p=.5*(t.pageY+i.y);this._rotateEnd.set(c,p)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const o=this.domElement;this._rotateLeft(N*this._rotateDelta.x/o.clientHeight),this._rotateUp(N*this._rotateDelta.y/o.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const o=this._getSecondPointerPosition(t),i=.5*(t.pageX+o.x),c=.5*(t.pageY+o.y);this._panEnd.set(i,c)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const o=this._getSecondPointerPosition(t),i=t.pageX-o.x,c=t.pageY-o.y,p=Math.sqrt(i*i+c*c);this._dollyEnd.set(0,p),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const g=(t.pageX+o.x)*.5,l=(t.pageY+o.y)*.5;this._updateZoomParameters(g,l)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let o=0;o<this._pointers.length;o++)if(this._pointers[o]==t.pointerId){this._pointers.splice(o,1);return}}_isTrackingPointer(t){for(let o=0;o<this._pointers.length;o++)if(this._pointers[o]==t.pointerId)return!0;return!1}_trackPointer(t){let o=this._pointerPositions[t.pointerId];o===void 0&&(o=new n.Vector2,this._pointerPositions[t.pointerId]=o),o.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const o=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[o]}_customWheelEvent(t){const o=t.deltaMode,i={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(o){case 1:i.deltaY*=16;break;case 2:i.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(i.deltaY*=10),i}}function ht(a){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(a.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(a)&&(this._addPointer(a),a.pointerType==="touch"?this._onTouchStart(a):this._onMouseDown(a)))}function dt(a){this.enabled!==!1&&(a.pointerType==="touch"?this._onTouchMove(a):this._onMouseMove(a))}function _t(a){switch(this._removePointer(a),this._pointers.length){case 0:this.domElement.releasePointerCapture(a.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(Q),this.state=v.NONE;break;case 1:const t=this._pointers[0],o=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:o.x,pageY:o.y});break}}function Pt(a){let t;switch(a.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case n.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(a),this.state=v.DOLLY;break;case n.MOUSE.ROTATE:if(a.ctrlKey||a.metaKey||a.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(a),this.state=v.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(a),this.state=v.ROTATE}break;case n.MOUSE.PAN:if(a.ctrlKey||a.metaKey||a.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(a),this.state=v.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(a),this.state=v.PAN}break;default:this.state=v.NONE}this.state!==v.NONE&&this.dispatchEvent(Y)}function Jt(a){switch(this.state){case v.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(a);break;case v.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(a);break;case v.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(a);break}}function ut(a){this.enabled===!1||this.enableZoom===!1||this.state!==v.NONE||(a.preventDefault(),this.dispatchEvent(Y),this._handleMouseWheel(this._customWheelEvent(a)),this.dispatchEvent(Q))}function pt(a){this.enabled!==!1&&this._handleKeyDown(a)}function mt(a){switch(this._trackPointer(a),this._pointers.length){case 1:switch(this.touches.ONE){case n.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(a),this.state=v.TOUCH_ROTATE;break;case n.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(a),this.state=v.TOUCH_PAN;break;default:this.state=v.NONE}break;case 2:switch(this.touches.TWO){case n.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(a),this.state=v.TOUCH_DOLLY_PAN;break;case n.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(a),this.state=v.TOUCH_DOLLY_ROTATE;break;default:this.state=v.NONE}break;default:this.state=v.NONE}this.state!==v.NONE&&this.dispatchEvent(Y)}function Gt(a){switch(this._trackPointer(a),this.state){case v.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(a),this.update();break;case v.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(a),this.update();break;case v.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(a),this.update();break;case v.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(a),this.update();break;default:this.state=v.NONE}}function ft(a){this.enabled!==!1&&a.preventDefault()}function gt(a){a.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function yt(a){a.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function bt(a){let t=null,o=null,i=null,c=null,p=null,g=null,l=null,M=null;const E=e.ref([]),P=e.ref(new n.Vector3),V=e.ref(new n.Vector3),S=()=>{if(!a.value)return;t=new n.Scene,t.background=new n.Color(15790320);const r=a.value;o=new n.PerspectiveCamera(75,r.clientWidth/r.clientHeight,.1,1e4),o.position.set(8,-8,6),o.up.set(0,0,1),o.lookAt(0,0,0),i=new n.WebGLRenderer({antialias:!0,alpha:!0}),i.setSize(r.clientWidth,r.clientHeight),i.localClippingEnabled=!0,i.shadowMap.enabled=!0,i.shadowMap.type=n.PCFSoftShadowMap,i.toneMapping=n.ACESFilmicToneMapping,i.toneMappingExposure=1,i.outputColorSpace=n.SRGBColorSpace,r.appendChild(i.domElement),c=new ct(o,i.domElement),c.enableDamping=!0,c.dampingFactor=.05,c.mouseButtons={LEFT:n.MOUSE.ROTATE,MIDDLE:n.MOUSE.PAN,RIGHT:null},c.panSpeed=.7,p=new n.Xe(o,i,{container:r,type:"cube",placement:"top-right",offset:{top:10,right:10},background:{color:"#D1D1D1",opacity:1},front:{label:"Top"},bottom:{label:"Front"},left:{label:"Left"},right:{label:"Right"},top:{label:"Back"},back:{label:"Bottom"}}),p.attachControls(c),w(),h()},m=(r,s)=>{l&&(t.remove(l),l.dispose()),M&&(t.remove(M),M.geometry.dispose(),M.material.dispose());const b=Math.min(Math.max(Math.floor(r/20),30),40);l=new n.GridHelper(r,b,13421772,14540253),l.rotateX(Math.PI/2),l.position.copy(s),t.add(l);const B=new n.PlaneGeometry(r,r),k=new n.ShadowMaterial({opacity:.3,color:0});M=new n.Mesh(B,k),M.position.copy(s),M.position.z-=.01,M.receiveShadow=!0,t.add(M)},A=()=>{if(E.value.length===0)return;const r=new n.Box3;E.value.forEach(L=>{r.expandByObject(L)});const s=r.getSize(new n.Vector3),b=r.getCenter(new n.Vector3),B=Math.max(s.x,s.y,s.z),k=Math.max(B*8,50),O=new n.Vector3(b.x,b.y,r.min.z);m(k,O)},w=()=>{const r=new n.AmbientLight(4210752,.6);t.add(r);const s=new n.DirectionalLight(16777215,2);s.position.set(10,10,8),s.castShadow=!0,s.shadow.mapSize.width=4096,s.shadow.mapSize.height=4096,s.shadow.camera.near=.5,s.shadow.camera.far=50,s.shadow.camera.left=-50,s.shadow.camera.right=50,s.shadow.camera.top=50,s.shadow.camera.bottom=-50,t.add(s);const b=new n.DirectionalLight(16777215,.8);b.position.set(-8,-8,6),t.add(b);const B=new n.DirectionalLight(16777215,.6);B.position.set(0,-15,2),t.add(B);const k=new n.HemisphereLight(16777215,4473924,.8);t.add(k);const O=new n.PointLight(16777215,1,50);O.position.set(15,15,15),t.add(O);const L=new n.PointLight(16777215,.5,50);L.position.set(-15,-15,15),t.add(L)},h=()=>{g=requestAnimationFrame(h),c&&c.update(),i&&t&&o&&i.render(t,o),p&&p.render()},G=r=>{["map","normalMap","bumpMap","roughnessMap","metalnessMap","emissiveMap","specularMap","envMap","lightMap","aoMap","displacementMap"].forEach(b=>{r[b]&&r[b].dispose&&r[b].dispose()}),r.dispose&&r.dispose()},y=r=>{r==null||r.traverse(s=>{s.geometry&&s.geometry.dispose(),s.material&&(Array.isArray(s.material)?s.material.forEach(b=>{G(b)}):G(s.material))})};return{currentModels:E,initialCameraPosition:P,initialTargetPosition:V,initThreeJS:S,handleResize:()=>{if(!a.value||!o||!i||!p)return;const r=a.value,s=r.clientWidth,b=r.clientHeight;o.aspect=s/b,o.updateProjectionMatrix(),i.setSize(s,b),p.update()},fitCameraToAllModels:()=>{if(!o||!c||E.value.length===0)return;const r=new n.Box3;E.value.forEach(L=>{r.expandByObject(L)});const s=r.getSize(new n.Vector3),b=r.getCenter(new n.Vector3),k=Math.max(s.x,s.y,s.z)*.8,O=new n.Vector3(b.x+k,b.y-k,b.z+k);o.position.copy(O),o.lookAt(b),c.target.copy(b),c.update(),P.value.copy(O),V.value.copy(b),A()},getThreeJSObjects:()=>({scene:t,camera:o,renderer:i,controls:c,gizmo:p}),clearAllModels:()=>{if(!t)return;E.value.forEach(s=>{t.remove(s),y(s)});const r=[];t.children.forEach(s=>{!s.isLight&&!s.isCamera&&s.type!=="GridHelper"&&s!==M&&r.push(s)}),r.forEach(s=>{t.remove(s),y(s)}),E.value=[],A()},cleanup:()=>{g&&cancelAnimationFrame(g),l&&l.dispose(),M&&(M.geometry.dispose(),M.material.dispose()),i&&i.dispose(),c&&c.dispose(),p&&p.dispose()},updateGridForModels:A}}function Mt(a,t){const o=e.ref(!1);let i=null,c=12700,p=new n.Vector3,g=new n.Vector3,l=new n.Vector3,M=0,E=null;const P=h=>h<.5?4*h*h*h:1-Math.pow(-2*h+2,3)/2,V=h=>{const G=new n.Vector3,y=M*1.2,D=new n.Vector3(l.x+y,l.y,l.z),_=new n.Vector3(l.x,l.y+y,l.z),f=new n.Vector3(l.x,l.y-y,l.z);if(h<=.567){const u=h/.567*Math.PI*2;G.x=l.x+Math.cos(u)*y,G.z=l.z+Math.sin(u)*y,G.y=l.y}else if(h<=.724){const d=(h-.567)/.157,u=P(d);G.lerpVectors(D,_,u)}else if(h<=.881){const d=(h-.724)/.157,r=P(d)*Math.PI;G.x=l.x+Math.sin(r)*y,G.y=l.y+Math.cos(r)*y,G.z=l.z}else{const d=(h-.881)/.119,u=P(d);G.lerpVectors(f,p,u)}return G},S=()=>{const{camera:h,controls:G}=a();if(!h||!G)return;i||(i=Date.now());const y=Date.now()-i,D=Math.min(y/c,1);if(D>=1){A();return}const _=V(D);h.position.copy(_),h.lookAt(l),G.target.copy(l),E=requestAnimationFrame(S)},m=()=>{if(t.value.length===0)return;const{camera:h,controls:G}=a();if(!h||!G)return;p.copy(h.position),g.copy(G.target);const y=new n.Box3;t.value.forEach(s=>{y.expandByObject(s)});const D=y.getSize(new n.Vector3);l=y.getCenter(new n.Vector3),M=Math.max(D.x,D.y,D.z)*1.2;const _=new n.Vector3(l.x+M*1.2,l.y,l.z);G.enabled=!1;const f=h.position.clone(),d=1e3,u=Date.now(),r=()=>{const s=Date.now()-u,b=Math.min(s/d,1),B=P(b);h.position.lerpVectors(f,_,B),h.lookAt(l),G.target.copy(l),b<1?requestAnimationFrame(r):(o.value=!0,i=null,S())};r()},A=()=>{o.value=!1,i=null,E&&(cancelAnimationFrame(E),E=null);const{controls:h}=a();h&&(h.enabled=!0,h.target.copy(g))};return{isAnimating:o,toggleAnimation:()=>{if(o.value){o.value=!1,i=null,E&&(cancelAnimationFrame(E),E=null);const{camera:h,controls:G}=a();if(!h||!G)return;G.enabled=!0;const y=h.position.clone(),D=G.target.clone(),_=1500,f=Date.now(),d=()=>{const u=Date.now()-f,r=Math.min(u/_,1),s=P(r);h.position.lerpVectors(y,p,s),G.target.lerpVectors(D,g,s),r<1&&requestAnimationFrame(d)};d()}else m()},startAnimation:m,stopAnimation:A}}function Et(a,t){const o=e.ref(!1),i=e.ref("none");let c=[],p=[],g=new n.Box3,l=new n.Vector3;const M=()=>{c=[new n.Plane(new n.Vector3(1,0,0),0),new n.Plane(new n.Vector3(0,1,0),0),new n.Plane(new n.Vector3(0,0,1),0)]},E=()=>{g.makeEmpty(),t.value.forEach(w=>{g.expandByObject(w)}),l=g.getCenter(new n.Vector3)},P=w=>{const h=g.getSize(new n.Vector3);let G,y,D;w==="x"?(G=new n.PlaneGeometry(h.z*1.2,h.y*1.2),y=new n.Vector3(l.x,l.y,l.z),D=new n.Euler(0,Math.PI/2,0)):w==="y"?(G=new n.PlaneGeometry(h.x*1.2,h.z*1.2),y=new n.Vector3(l.x,l.y,l.z),D=new n.Euler(Math.PI/2,0,0)):w==="z"&&(G=new n.PlaneGeometry(h.x*1.2,h.y*1.2),y=new n.Vector3(l.x,l.y,l.z),D=new n.Euler(0,0,0));const _=new n.MeshPhongMaterial({color:8900331,transparent:!0,opacity:.3,side:n.DoubleSide,depthWrite:!1}),f=new n.Mesh(G,_);return f.position.copy(y),f.rotation.copy(D),f},V=()=>{if(S(),m(),i.value==="none")return;E();let w=null;if(i.value==="x"?(c[0].constant=-l.x,w=c[0]):i.value==="y"?(c[1].constant=-l.y,w=c[1]):i.value==="z"&&(c[2].constant=-l.z,w=c[2]),w){t.value.forEach(G=>{G.traverse(y=>{y.isMesh&&y.material&&(Array.isArray(y.material)?y.material.forEach(D=>{D.clippingPlanes=[w]}):y.material.clippingPlanes=[w])})});const{scene:h}=a();if(h){const G=P(i.value);h.add(G),p.push(G)}}},S=()=>{t.value.forEach(w=>{w.traverse(h=>{h.isMesh&&h.material&&(Array.isArray(h.material)?h.material.forEach(G=>{G.clippingPlanes=[]}):h.material.clippingPlanes=[])})})},m=()=>{const{scene:w}=a();w&&p.forEach(h=>{w.remove(h),h.geometry.dispose(),h.material.dispose()}),p=[]};return{isClipping:o,activeClippingAxis:i,toggleClipping:()=>{o.value=!o.value,o.value?(M(),t.value.length>0&&E()):(i.value="none",S(),m())},updateClippingPlanes:V,clearClippingPlanes:S,clearClippingMeshes:m}}const vt={class:"panel-content"},wt={__name:"urdfTree",props:{model:Object},emits:["nodeClick"],setup(a,{emit:t}){const o=a,i=t,c=e.ref([]),p={children:"children",label:"label"},g=P=>{i("nodeClick",P)},l=(P,V=0)=>{const S=[];return Array.isArray(P)&&(P==null?void 0:P.length)>0&&P.forEach(m=>{if(!(m!=null&&m.isMesh)&&((m==null?void 0:m.type)==="URDFJoint"||(m==null?void 0:m.type)==="URDFLink")){const A={name:m==null?void 0:m.name,label:m==null?void 0:m.name,show:!0,level:V+1,isPenultimate:!1,type:m==null?void 0:m.type,id:m==null?void 0:m.id,limit:(m==null?void 0:m.limit)??"",children:l(m==null?void 0:m.children,V+1),path:m==null?void 0:m.name};S.push(A)}}),S},M=P=>P?[{name:P==null?void 0:P.name,label:P==null?void 0:P.name,show:!0,level:1,isPenultimate:!1,type:P==null?void 0:P.type,id:P==null?void 0:P.id,limit:(P==null?void 0:P.limit)??"",children:l(P==null?void 0:P.children,1),path:P==null?void 0:P.name}]:[],E=e.computed(()=>o!=null&&o.model?M(o.model):[]);return e.watch(E,P=>{c.value=JSON.parse(JSON.stringify(P))},{immediate:!0}),(P,V)=>{const S=e.resolveComponent("el-tree");return e.openBlock(),e.createElementBlock("div",vt,[e.createVNode(S,{data:c.value,props:p,"default-expand-all":!1,onNodeClick:g},null,8,["data"])])}}},Rt=U._export_sfc(wt,[["__scopeId","data-v-6cd6079b"]]),Bt=[{"J1_Joint(GP1)":-.003172089,"J2_Joint(GP1)":-.096027484,"J3_Joint(GP1)":-1.118475479,"J4_Joint(GP1)":1.57418324,"J5_Joint(GP1)":1.572865909,"J6_Joint(GP1)":-.549141112,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":0},{"J1_Joint(GP1)":-.003172089,"J2_Joint(GP1)":-.096027484,"J3_Joint(GP1)":-1.118475479,"J4_Joint(GP1)":1.57418324,"J5_Joint(GP1)":1.572865909,"J6_Joint(GP1)":-.549141112,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":0},{"J1_Joint(GP1)":-.051468453,"J2_Joint(GP1)":-.094548525,"J3_Joint(GP1)":-1.117172585,"J4_Joint(GP1)":1.615414534,"J5_Joint(GP1)":1.598024878,"J6_Joint(GP1)":-.548360986,"BendRotatePart_Joint(GP2)":.860623343,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":0},{"J1_Joint(GP1)":-.051468453,"J2_Joint(GP1)":-.094548525,"J3_Joint(GP1)":-1.117172585,"J4_Joint(GP1)":1.615414534,"J5_Joint(GP1)":1.598024878,"J6_Joint(GP1)":-.548360986,"BendRotatePart_Joint(GP2)":.860623343,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":0},{"J1_Joint(GP1)":-.054269136,"J2_Joint(GP1)":-.09438254,"J3_Joint(GP1)":-1.117026191,"J4_Joint(GP1)":1.617807288,"J5_Joint(GP1)":1.59948194,"J6_Joint(GP1)":-.548274538,"BendRotatePart_Joint(GP2)":.860623343,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":0},{"J1_Joint(GP1)":-.054269136,"J2_Joint(GP1)":-.09438254,"J3_Joint(GP1)":-1.117026191,"J4_Joint(GP1)":1.617807288,"J5_Joint(GP1)":1.59948194,"J6_Joint(GP1)":-.548274538,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":0},{"J1_Joint(GP1)":-.07106296,"J2_Joint(GP1)":-.093202686,"J3_Joint(GP1)":-1.115984624,"J4_Joint(GP1)":1.632161558,"J5_Joint(GP1)":1.608211995,"J6_Joint(GP1)":-.547662192,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-1.582839141},{"J1_Joint(GP1)":-.07106296,"J2_Joint(GP1)":-.093202686,"J3_Joint(GP1)":-1.115984624,"J4_Joint(GP1)":1.632161558,"J5_Joint(GP1)":1.608211995,"J6_Joint(GP1)":-.547662192,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":-1.582839141},{"J1_Joint(GP1)":-.15885978,"J2_Joint(GP1)":-.081876359,"J3_Joint(GP1)":-1.105898511,"J4_Joint(GP1)":1.707488829,"J5_Joint(GP1)":1.653550174,"J6_Joint(GP1)":-.541902553,"BendRotatePart_Joint(GP2)":1.584934783,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":-1.582839141},{"J1_Joint(GP1)":-.15885978,"J2_Joint(GP1)":-.081876359,"J3_Joint(GP1)":-1.105898511,"J4_Joint(GP1)":1.707488829,"J5_Joint(GP1)":1.653550174,"J6_Joint(GP1)":-.541902553,"BendRotatePart_Joint(GP2)":1.584934783,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-1.582839141},{"J1_Joint(GP1)":-.161596827,"J2_Joint(GP1)":-.081383753,"J3_Joint(GP1)":-1.105456248,"J4_Joint(GP1)":1.709847399,"J5_Joint(GP1)":1.654952777,"J6_Joint(GP1)":-.541656255,"BendRotatePart_Joint(GP2)":1.584934783,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-1.582839141},{"J1_Joint(GP1)":-.161596827,"J2_Joint(GP1)":-.081383753,"J3_Joint(GP1)":-1.105456248,"J4_Joint(GP1)":1.709847399,"J5_Joint(GP1)":1.654952777,"J6_Joint(GP1)":-.541656255,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-1.582839141},{"J1_Joint(GP1)":-.206647418,"J2_Joint(GP1)":-.072058188,"J3_Joint(GP1)":-1.097027028,"J4_Joint(GP1)":1.748782637,"J5_Joint(GP1)":1.677920661,"J6_Joint(GP1)":-.53705618,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-2.788687058},{"J1_Joint(GP1)":-.206647418,"J2_Joint(GP1)":-.072058188,"J3_Joint(GP1)":-1.097027028,"J4_Joint(GP1)":1.748782637,"J5_Joint(GP1)":1.677920661,"J6_Joint(GP1)":-.53705618,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":-2.788687058},{"J1_Joint(GP1)":-.222883715,"J2_Joint(GP1)":-.068132789,"J3_Joint(GP1)":-1.093446644,"J4_Joint(GP1)":1.762872336,"J5_Joint(GP1)":1.686139573,"J6_Joint(GP1)":-.535155089,"BendRotatePart_Joint(GP2)":.302813533,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":-2.788687058},{"J1_Joint(GP1)":-.222883715,"J2_Joint(GP1)":-.068132789,"J3_Joint(GP1)":-1.093446644,"J4_Joint(GP1)":1.762872336,"J5_Joint(GP1)":1.686139573,"J6_Joint(GP1)":-.535155089,"BendRotatePart_Joint(GP2)":.302813533,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-2.788687058},{"J1_Joint(GP1)":-.225553405,"J2_Joint(GP1)":-.067458613,"J3_Joint(GP1)":-1.092829796,"J4_Joint(GP1)":1.765192186,"J5_Joint(GP1)":1.687487837,"J6_Joint(GP1)":-.534830668,"BendRotatePart_Joint(GP2)":.302813533,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-2.788687058},{"J1_Joint(GP1)":-.225553405,"J2_Joint(GP1)":-.067458613,"J3_Joint(GP1)":-1.092829796,"J4_Joint(GP1)":1.765192186,"J5_Joint(GP1)":1.687487837,"J6_Joint(GP1)":-.534830668,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":-2.788687058},{"J1_Joint(GP1)":-.253794227,"J2_Joint(GP1)":-.059828421,"J3_Joint(GP1)":-1.085808974,"J4_Joint(GP1)":1.789788497,"J5_Joint(GP1)":1.701694229,"J6_Joint(GP1)":-.531201442,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.253794227,"J2_Joint(GP1)":-.059828421,"J3_Joint(GP1)":-1.085808974,"J4_Joint(GP1)":1.789788497,"J5_Joint(GP1)":1.701694229,"J6_Joint(GP1)":-.531201442,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.269664357,"J2_Joint(GP1)":-.055139299,"J3_Joint(GP1)":-1.081458321,"J4_Joint(GP1)":1.803657153,"J5_Joint(GP1)":1.709631958,"J6_Joint(GP1)":-.52900977,"BendRotatePart_Joint(GP2)":.302815131,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.269664357,"J2_Joint(GP1)":-.055139299,"J3_Joint(GP1)":-1.081458321,"J4_Joint(GP1)":1.803657153,"J5_Joint(GP1)":1.709631958,"J6_Joint(GP1)":-.52900977,"BendRotatePart_Joint(GP2)":.302815131,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.272271675,"J2_Joint(GP1)":-.05434119,"J3_Joint(GP1)":-1.080715087,"J4_Joint(GP1)":1.805938943,"J5_Joint(GP1)":1.710932883,"J6_Joint(GP1)":-.528639664,"BendRotatePart_Joint(GP2)":.302815131,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.272271675,"J2_Joint(GP1)":-.05434119,"J3_Joint(GP1)":-1.080715087,"J4_Joint(GP1)":1.805938943,"J5_Joint(GP1)":1.710932883,"J6_Joint(GP1)":-.528639664,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.666340342,"J2_Joint(GP1)":.165158009,"J3_Joint(GP1)":-.846100311,"J4_Joint(GP1)":2.1593725,"J5_Joint(GP1)":1.90543118,"J6_Joint(GP1)":-.458042565,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.666340342,"J2_Joint(GP1)":.165158009,"J3_Joint(GP1)":-.846100311,"J4_Joint(GP1)":2.1593725,"J5_Joint(GP1)":1.90543118,"J6_Joint(GP1)":-.458042565,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.676764437,"J2_Joint(GP1)":.174126178,"J3_Joint(GP1)":-.835263449,"J4_Joint(GP1)":2.168745148,"J5_Joint(GP1)":1.911070297,"J6_Joint(GP1)":-.456401397,"BendRotatePart_Joint(GP2)":.302813234,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.676764437,"J2_Joint(GP1)":.174126178,"J3_Joint(GP1)":-.835263449,"J4_Joint(GP1)":2.168745148,"J5_Joint(GP1)":1.911070297,"J6_Joint(GP1)":-.456401397,"BendRotatePart_Joint(GP2)":.302813234,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.678469051,"J2_Joint(GP1)":.175612656,"J3_Joint(GP1)":-.833458171,"J4_Joint(GP1)":2.170275986,"J5_Joint(GP1)":1.911999806,"J6_Joint(GP1)":-.456138025,"BendRotatePart_Joint(GP2)":.302813234,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.678469051,"J2_Joint(GP1)":.175612656,"J3_Joint(GP1)":-.833458171,"J4_Joint(GP1)":2.170275986,"J5_Joint(GP1)":1.911999806,"J6_Joint(GP1)":-.456138025,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":.352905596},{"J1_Joint(GP1)":-.696352039,"J2_Joint(GP1)":.191555012,"J3_Joint(GP1)":-.813935936,"J4_Joint(GP1)":2.186300561,"J5_Joint(GP1)":1.921886405,"J6_Joint(GP1)":-.453466278,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":3.49449825},{"J1_Joint(GP1)":-.696352039,"J2_Joint(GP1)":.191555012,"J3_Joint(GP1)":-.813935936,"J4_Joint(GP1)":2.186300561,"J5_Joint(GP1)":1.921886405,"J6_Joint(GP1)":-.453466278,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":3.49449825},{"J1_Joint(GP1)":-.706279886,"J2_Joint(GP1)":.200687848,"J3_Joint(GP1)":-.80262089,"J4_Joint(GP1)":2.195165367,"J5_Joint(GP1)":1.927490122,"J6_Joint(GP1)":-.452060238,"BendRotatePart_Joint(GP2)":.302814632,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":3.49449825},{"J1_Joint(GP1)":-.706279886,"J2_Joint(GP1)":.200687848,"J3_Joint(GP1)":-.80262089,"J4_Joint(GP1)":2.195165367,"J5_Joint(GP1)":1.927490122,"J6_Joint(GP1)":-.452060238,"BendRotatePart_Joint(GP2)":.302814632,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":3.49449825},{"J1_Joint(GP1)":-.707903161,"J2_Joint(GP1)":.202200891,"J3_Joint(GP1)":-.800737154,"J4_Joint(GP1)":2.196612452,"J5_Joint(GP1)":1.928414793,"J6_Joint(GP1)":-.45183595,"BendRotatePart_Joint(GP2)":.302814632,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":3.49449825},{"J1_Joint(GP1)":-.707903161,"J2_Joint(GP1)":.202200891,"J3_Joint(GP1)":-.800737154,"J4_Joint(GP1)":2.196612452,"J5_Joint(GP1)":1.928414793,"J6_Joint(GP1)":-.45183595,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":3.49449825},{"J1_Joint(GP1)":-.734200754,"J2_Joint(GP1)":.227518671,"J3_Joint(GP1)":-.768834774,"J4_Joint(GP1)":2.219949057,"J5_Joint(GP1)":1.943757592,"J6_Joint(GP1)":-.448441828,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":4.700346166},{"J1_Joint(GP1)":-.734200754,"J2_Joint(GP1)":.227518671,"J3_Joint(GP1)":-.768834774,"J4_Joint(GP1)":2.219949057,"J5_Joint(GP1)":1.943757592,"J6_Joint(GP1)":-.448441828,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":4.700346166},{"J1_Joint(GP1)":-.781149218,"J2_Joint(GP1)":.276839725,"J3_Joint(GP1)":-.704674666,"J4_Joint(GP1)":2.260965081,"J5_Joint(GP1)":1.973194737,"J6_Joint(GP1)":-.443707106,"BendRotatePart_Joint(GP2)":1.584933185,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":4.700346166},{"J1_Joint(GP1)":-.781149218,"J2_Joint(GP1)":.276839725,"J3_Joint(GP1)":-.704674666,"J4_Joint(GP1)":2.260965081,"J5_Joint(GP1)":1.973194737,"J6_Joint(GP1)":-.443707106,"BendRotatePart_Joint(GP2)":1.584933185,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":4.700346166},{"J1_Joint(GP1)":-.782563443,"J2_Joint(GP1)":.278415273,"J3_Joint(GP1)":-.702582574,"J4_Joint(GP1)":2.262184408,"J5_Joint(GP1)":1.974129872,"J6_Joint(GP1)":-.443595316,"BendRotatePart_Joint(GP2)":1.584933185,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":4.700346166},{"J1_Joint(GP1)":-.782563443,"J2_Joint(GP1)":.278415273,"J3_Joint(GP1)":-.702582574,"J4_Joint(GP1)":2.262184408,"J5_Joint(GP1)":1.974129872,"J6_Joint(GP1)":-.443595316,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":4.700346166},{"J1_Joint(GP1)":-.790970382,"J2_Joint(GP1)":.287898042,"J3_Joint(GP1)":-.689936686,"J4_Joint(GP1)":2.269409635,"J5_Joint(GP1)":1.979755278,"J6_Joint(GP1)":-.442972648,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.790970382,"J2_Joint(GP1)":.287898042,"J3_Joint(GP1)":-.689936686,"J4_Joint(GP1)":2.269409635,"J5_Joint(GP1)":1.979755278,"J6_Joint(GP1)":-.442972648,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.81430373,"J2_Joint(GP1)":.315316096,"J3_Joint(GP1)":-.652859101,"J4_Joint(GP1)":2.28923367,"J5_Joint(GP1)":1.996012131,"J6_Joint(GP1)":-.441647984,"BendRotatePart_Joint(GP2)":.860625939,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.81430373,"J2_Joint(GP1)":.315316096,"J3_Joint(GP1)":-.652859101,"J4_Joint(GP1)":2.28923367,"J5_Joint(GP1)":1.996012131,"J6_Joint(GP1)":-.441647984,"BendRotatePart_Joint(GP2)":.860625939,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.815624991,"J2_Joint(GP1)":.31691936,"J3_Joint(GP1)":-.650667784,"J4_Joint(GP1)":2.290345082,"J5_Joint(GP1)":1.9969632,"J6_Joint(GP1)":-.441592027,"BendRotatePart_Joint(GP2)":.860625939,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.815624991,"J2_Joint(GP1)":.31691936,"J3_Joint(GP1)":-.650667784,"J4_Joint(GP1)":2.290345082,"J5_Joint(GP1)":1.9969632,"J6_Joint(GP1)":-.441592027,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.856703221,"J2_Joint(GP1)":.369769111,"J3_Joint(GP1)":-.577053756,"J4_Joint(GP1)":2.324173006,"J5_Joint(GP1)":2.028430263,"J6_Joint(GP1)":-.441031864,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.856703221,"J2_Joint(GP1)":.369769111,"J3_Joint(GP1)":-.577053756,"J4_Joint(GP1)":2.324173006,"J5_Joint(GP1)":2.028430263,"J6_Joint(GP1)":-.441031864,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":0,"BendGuidePart_Joint(GP2)":0,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.856703221,"J2_Joint(GP1)":.369769111,"J3_Joint(GP1)":-.577053756,"J4_Joint(GP1)":2.324173006,"J5_Joint(GP1)":2.028430263,"J6_Joint(GP1)":-.441031864,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307},{"J1_Joint(GP1)":-.85790624,"J2_Joint(GP1)":.371411093,"J3_Joint(GP1)":-.574724957,"J4_Joint(GP1)":2.325139523,"J5_Joint(GP1)":2.029413042,"J6_Joint(GP1)":-.441053498,"BendRotatePart_Joint(GP2)":0,"BendMainPart_Joint(GP2)":-.05,"BendGuidePart_Joint(GP2)":-.015,"HolderRoate_Joint(GP3)":6.283185307}],Dt={class:"panel-actions"},St=["disabled"],Vt={class:"panel-content"},Tt={key:0,class:"joints-list"},xt={class:"joint-info-row"},Ct={class:"joint-left"},kt={class:"joint-name"},Nt={class:"joint-range"},At={class:"joint-type"},Ot={key:0,class:"joint-control-row"},zt={class:"slider-container"},Lt=["min","max","value","onInput","disabled"],Ht={class:"value-display"},jt={class:"joint-value"},It={class:"unit"},Ut={key:1,class:"empty-state"},Ft=1e3,Yt={__name:"jointPanel",props:{model:Object,scene:Object},setup(a){const t=a;e.ref(!0);const o=e.ref([]),i=e.ref(null),c=e.ref(!1),p=e.ref(null),g=Bt;g.length>0&&Object.keys(g[0]);const l=(_,f=!1)=>_==="revolute"?f?Math.PI:-Math.PI:_==="prismatic"?f?1:-1:0,M=_=>{if(!_||!_.joints)return console.warn("URDF模型没有关节信息"),[];const f=[];return Object.keys(_.joints).forEach(d=>{const u=_.joints[d];if(u._jointType==="fixed")return;const r=u.limit?{lower:u.limit.lower??l(u._jointType,!1),upper:u.limit.upper??l(u._jointType,!0)}:{lower:l(u._jointType,!1),upper:l(u._jointType,!0)};f.push({name:d,type:u._jointType||"unknown",limit:r,currentValue:u.angle||0,urdfJoint:u})}),f.sort((d,u)=>d.name.localeCompare(u.name))},E=(_,f)=>{const d=o.value.find(r=>r.name===_);if(!d)return;const u=parseFloat(f);if(d.limit){const r=Math.max(d.limit.lower,Math.min(d.limit.upper,u));d.currentValue=r}else d.currentValue=u;t.model&&t.model.setJointValue?t.model.setJointValue(_,d.currentValue):d.urdfJoint&&d.urdfJoint.setJointValue(d.currentValue)},P=_=>{_&&Object.keys(_).forEach(f=>{const d=_[f],u=o.value.find(r=>r.name===f);u&&(u.currentValue=d,t.model&&t.model.setJointValue?t.model.setJointValue(f,d):u.urdfJoint&&u.urdfJoint.setJointValue(d))})},V=(_,f,d)=>_+(f-_)*d,S=(_,f,d)=>{if(!_||!f)return _||f;const u={};return Object.keys(_).forEach(r=>{const s=_[r],b=f[r];u[r]=V(s,b||s,d)}),u},m=()=>{c.value?w():A()},A=()=>{if(g.length===0){console.warn("没有动画数据");return}c.value=!0;const _=g.length,f=60,d=Ft/f;let u=0,r=0;const s=()=>{if(!c.value)return;const b=u/f,B=g[r],k=g[r+1];if(k){const O=S(B,k,b);P(O)}else P(B);if(u++,u>=f&&(u=0,r++,r>=_-1)){w();return}p.value=setTimeout(s,d)};s()},w=()=>{c.value=!1,p.value&&(clearTimeout(p.value),p.value=null)},h=()=>{o.value.forEach(_=>{(_.type==="revolute"||_.type==="prismatic")&&E(_.name,0)})};e.watch(()=>t.model,_=>{_?o.value=M(_):o.value=[]},{immediate:!0});const G=()=>{!t.model||c.value||o.value.forEach(_=>{_.urdfJoint&&_.urdfJoint.angle!==void 0&&(_.currentValue=_.urdfJoint.angle)})},y=()=>{const _=()=>{G(),i.value=requestAnimationFrame(_)};_()},D=()=>{i.value&&(cancelAnimationFrame(i.value),i.value=null)};return e.onMounted(()=>{y()}),e.onUnmounted(()=>{D(),w()}),(_,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Dt,[e.createElementVNode("button",{onClick:m,class:"animate-btn"},e.toDisplayString(c.value?"停止动画":"开始动画"),1),e.createElementVNode("button",{onClick:h,disabled:c.value},"重置所有关节",8,St)]),e.createElementVNode("div",Vt,[o.value.length>0?(e.openBlock(),e.createElementBlock("div",Tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,d=>{var u,r,s,b;return e.openBlock(),e.createElementBlock("div",{key:d.name,class:"joint-item"},[e.createElementVNode("div",xt,[e.createElementVNode("div",Ct,[e.createElementVNode("span",kt,e.toDisplayString(d.name),1),e.createElementVNode("span",Nt," ["+e.toDisplayString(((u=d.limit)==null?void 0:u.lower.toFixed(2))??(d.type==="revolute"?"-3.14":"-1.00"))+", "+e.toDisplayString(((r=d.limit)==null?void 0:r.upper.toFixed(2))??(d.type==="revolute"?"3.14":"1.00"))+"] ",1)]),e.createElementVNode("span",At,e.toDisplayString(d.type),1)]),d.type==="revolute"||d.type==="prismatic"?(e.openBlock(),e.createElementBlock("div",Ot,[e.createElementVNode("div",zt,[e.createElementVNode("input",{type:"range",min:((s=d.limit)==null?void 0:s.lower)??(d.type==="revolute"?-Math.PI:-1),max:((b=d.limit)==null?void 0:b.upper)??(d.type==="revolute"?Math.PI:1),step:.01,value:d.currentValue,onInput:B=>E(d.name,B.target.value),class:"joint-slider",disabled:c.value},null,40,Lt)]),e.createElementVNode("div",Ht,[e.createElementVNode("span",jt,e.toDisplayString(d.currentValue.toFixed(3)),1),e.createElementVNode("span",It,e.toDisplayString(d.type==="revolute"?"rad":"m"),1)])])):e.createCommentVNode("",!0)])}),128))])):(e.openBlock(),e.createElementBlock("div",Ut,f[0]||(f[0]=[e.createElementVNode("p",null,"未检测到可控制的关节",-1)])))])],64))}},Zt=U._export_sfc(Yt,[["__scopeId","data-v-ef47ba0d"]]),Kt=["xlink:href"];function $t(a,t,o,i,c,p){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["container",{active:a.active}])},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["svg-icon",[a.$attrs.class,a.spin&&"svg-icon-spin"]]),style:e.normalizeStyle(a.getStyle),"aria-hidden":"true"},[e.createElementVNode("use",{"xlink:href":a.symbolId},null,8,Kt)],6))],2)}const C=U._export_sfc(n._sfc_main,[["render",$t],["__scopeId","data-v-1f76fc63"]]),Xt={class:"obj-viewer-container"},Wt={class:"buttonGroup-top"},qt={class:"buttonGroup-topLeft"},Qt={class:"buttonGroup-left"},te={class:"buttonGroup-right"},ee={class:"left-panel"},oe={class:"panel-header"},ne={key:1,class:"panel-content"},ie={class:"radio-group"},ae={class:"radio-label"},se={class:"radio-label"},re={class:"radio-label"},le={class:"radio-label"},ce={class:"right-panel"},he={class:"panel-header"},de={key:0,class:"loading-overlay"},_e={__name:"threeModel",setup(a,{expose:t}){let o=null,i=!1;const c=e.ref(null),p=e.ref(!1),g=e.ref("");e.ref(!1);const l=e.ref(!1),M=e.ref(!1),E=e.ref(""),P=e.ref(!1),V=e.ref(""),{currentModels:S,initialCameraPosition:m,initialTargetPosition:A,initThreeJS:w,handleResize:h,fitCameraToAllModels:G,getThreeJSObjects:y,clearAllModels:D,cleanup:_}=bt(c),{isAnimating:f,toggleAnimation:d,stopAnimation:u}=Mt(y,S),{isClipping:r,activeClippingAxis:s,toggleClipping:b,updateClippingPlanes:B}=Et(y,S),{addModelsFromUrls:k,loadModelByDefaultPath:O,urdfModel:L}=n.useModelLoader(y,S,p,g,D),tt=()=>{if(l.value||S.value.length===0)return;l.value=!0,f.value&&u();const{camera:T,controls:J}=y();if(!T||!J)return;J.enabled=!0;const z=H=>H<.5?4*H*H*H:1-Math.pow(-2*H+2,3)/2,R=T.position.clone(),at=J.target.clone(),st=1500,rt=Date.now(),K=()=>{const H=Date.now()-rt,$=Math.min(H/st,1),X=z($);T.position.lerpVectors(R,m.value,X),J.target.lerpVectors(at,A.value,X),$<1?requestAnimationFrame(K):l.value=!1};K()},et=async()=>i?Promise.resolve():new Promise(T=>{const J=()=>{i?T():requestAnimationFrame(J)};J()}),Z=async(T,J)=>{try{await et(),f.value&&u(),r.value&&b();const z=await J(T);return G(),z}catch(z){throw console.error("加载模型失败:",z),z}},ot=async T=>Z(T,k),nt=async T=>Z(T,O),j=T=>{M.value=!0,E.value=T,T==="剖面图"&&!r.value&&b()},it=T=>{P.value=!0,V.value=T};return e.onMounted(async()=>{await e.nextTick();try{w(),o=y().scene,i=!0,window.addEventListener("resize",h)}catch(T){console.error("Three.js初始化失败:",T)}}),e.onBeforeUnmount(()=>{i=!1,E.value="",V.value="",window.removeEventListener("resize",h),f.value&&u(),_()}),t({addModelsFromUrls:ot,loadModelByDefaultPath:nt}),(T,J)=>{const z=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",{ref_key:"threejsContainer",ref:c,class:"threejs-container"},null,512),e.createElementVNode("div",Wt,[e.createVNode(C,{name:"guanjianjiexi",size:"34"}),e.createVNode(C,{name:"guanjiekongzhi",size:"34"}),e.createVNode(C,{name:"gongyishengcheng",size:"34"}),e.createVNode(C,{name:"buchangshezhi",size:"34"}),e.createVNode(C,{name:"shuchujiagongchengxu",size:"34"})]),e.createElementVNode("div",qt,[e.createVNode(C,{name:"donghuafangzhen",size:"24",onClick:tt,title:"重置"}),e.createVNode(C,{name:"fangda",size:"24",title:"放大"}),e.createVNode(C,{name:"suoxiao",size:"24",title:"缩小"}),e.createVNode(C,{name:"donghuafangzhen",size:"24",onClick:e.unref(d),title:e.unref(f)?"停止动画":"动画视图"},null,8,["onClick","title"])]),e.createElementVNode("div",Qt,[e.createVNode(C,{name:"jiegoushu",size:"24",onClick:J[0]||(J[0]=R=>j("场景树")),active:M.value&&E.value==="场景树"},null,8,["active"]),e.createVNode(C,{name:"donghuafangzhen",size:"24",onClick:J[1]||(J[1]=R=>j("剖面图")),active:M.value&&E.value==="剖面图"},null,8,["active"]),e.createVNode(C,{name:"donghuafangzhen",size:"24",onClick:J[2]||(J[2]=R=>j("场景树3"))}),e.createVNode(C,{name:"donghuafangzhen",size:"24",onClick:J[3]||(J[3]=R=>j("场景4"))})]),e.createElementVNode("div",te,[e.createVNode(C,{name:"donghuafangzhen",size:"24"}),e.createVNode(C,{name:"donghuafangzhen",size:"24"}),e.createVNode(C,{name:"guanjiekongzhi",size:"24",onClick:J[4]||(J[4]=R=>it("关节控制")),active:P.value&&V.value==="关节控制"},null,8,["active"]),e.createVNode(C,{name:"donghuafangzhen",size:"24"}),e.createVNode(C,{name:"donghuafangzhen",size:"24"}),e.createVNode(C,{name:"donghuafangzhen",size:"24"})]),e.withDirectives(e.createElementVNode("div",ee,[e.createElementVNode("div",oe,[e.createElementVNode("span",null,e.toDisplayString(E.value),1),e.createElementVNode("span",{class:"close",onClick:J[5]||(J[5]=R=>M.value=!1)}," X ")]),e.createVNode(z,{"max-height":"650px"},{default:e.withCtx(()=>[E.value==="场景树"?(e.openBlock(),e.createBlock(Rt,{key:0})):e.createCommentVNode("",!0),E.value==="剖面图"?(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",ie,[e.createElementVNode("label",ae,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":J[6]||(J[6]=R=>e.isRef(s)?s.value=R:null),onChange:J[7]||(J[7]=(...R)=>e.unref(B)&&e.unref(B)(...R))},null,544),[[e.vModelRadio,e.unref(s)]]),J[15]||(J[15]=e.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),e.createElementVNode("label",se,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":J[8]||(J[8]=R=>e.isRef(s)?s.value=R:null),onChange:J[9]||(J[9]=(...R)=>e.unref(B)&&e.unref(B)(...R))},null,544),[[e.vModelRadio,e.unref(s)]]),J[16]||(J[16]=e.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),e.createElementVNode("label",re,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":J[10]||(J[10]=R=>e.isRef(s)?s.value=R:null),onChange:J[11]||(J[11]=(...R)=>e.unref(B)&&e.unref(B)(...R))},null,544),[[e.vModelRadio,e.unref(s)]]),J[17]||(J[17]=e.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),e.createElementVNode("label",le,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":J[12]||(J[12]=R=>e.isRef(s)?s.value=R:null),onChange:J[13]||(J[13]=(...R)=>e.unref(B)&&e.unref(B)(...R))},null,544),[[e.vModelRadio,e.unref(s)]]),J[18]||(J[18]=e.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])):e.createCommentVNode("",!0)]),_:1})],512),[[e.vShow,M.value]]),e.withDirectives(e.createElementVNode("div",ce,[e.createElementVNode("div",he,[e.createElementVNode("span",null,e.toDisplayString(V.value),1),e.createElementVNode("span",{class:"close",onClick:J[14]||(J[14]=R=>P.value=!1)}," X ")]),e.createVNode(z,{"max-height":"650px"},{default:e.withCtx(()=>[V.value==="关节控制"?(e.openBlock(),e.createBlock(Zt,{key:0,model:e.unref(L),scene:e.unref(o)},null,8,["model","scene"])):e.createCommentVNode("",!0)]),_:1})],512),[[e.vShow,P.value]]),p.value?(e.openBlock(),e.createElementBlock("div",de,[J[19]||(J[19]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(g.value),1)])):e.createCommentVNode("",!0)])}}},Pe=U._export_sfc(_e,[["__scopeId","data-v-506601a0"]]);exports.default=Pe;