ss-component-new 1.1.413 → 1.1.415
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{array-Dh0i46pi.js → array-CYOvmzeK.js} +2 -2
- package/dist/{array-CSwVpKuJ.cjs → array-DAoy3WS9.cjs} +1 -1
- package/dist/{index-ryZW4H12.cjs → index-3dpRV7yS.cjs} +1 -1
- package/dist/{index-b8cI-JMV.js → index-8nzu3dKT.js} +4 -4
- package/dist/{index-Bm-e95WZ.cjs → index-9QTlnrEQ.cjs} +1 -1
- package/dist/{index-DFLwJ3KT.js → index-9srnYnzT.js} +9 -9
- package/dist/{index-BE-LZbiq.js → index-AzrB9NlT.js} +4 -4
- package/dist/{index-KkjugPBD.js → index-B6_X9xq9.js} +4 -4
- package/dist/{index-Dgf9fuDm.cjs → index-BA-Qtevs.cjs} +1 -1
- package/dist/{index-DnhKk8wP.cjs → index-BHxsT1eb.cjs} +1 -1
- package/dist/{index-DALN1fcs.js → index-BJIMXITA.js} +5 -5
- package/dist/{index-CU9Do_8v.cjs → index-BJiXsb3E.cjs} +1 -1
- package/dist/{index-Dw0rc4QE.cjs → index-BJitBJZu.cjs} +1 -1
- package/dist/{index-RZC24UKn.js → index-BOzZXj2f.js} +7 -7
- package/dist/{index-BU03o3Ju.js → index-BPDslvev.js} +2 -2
- package/dist/{index-D7zpgFH2.js → index-BSAEf__V.js} +5 -5
- package/dist/{index-DxLAL2lm.cjs → index-BVuLbYm9.cjs} +1 -1
- package/dist/{index-Cx0UOXzP.js → index-Bhg9ISur.js} +6 -6
- package/dist/{index-BjaVXOv5.cjs → index-BibIA5-P.cjs} +1 -1
- package/dist/{index-Dp0b548D.cjs → index-BimZK7wy.cjs} +1 -1
- package/dist/{index-Bk37DuoM.cjs → index-BpPyaNFa.cjs} +1 -1
- package/dist/{index-CvB_YjeX.cjs → index-BszUQuvL.cjs} +1 -1
- package/dist/{index-Cr7aGVch.cjs → index-Bvr0YvSP.cjs} +1 -1
- package/dist/{index-BVPTyDGN.js → index-BxHhG5PY.js} +3 -3
- package/dist/{index-Cwveu5wW.cjs → index-C8jmJvXd.cjs} +2 -2
- package/dist/{index-bj7mOAVK.js → index-CA9lI4P8.js} +4 -4
- package/dist/index-CNQtTLfb.cjs +1 -0
- package/dist/{index-_wV6-Llj.cjs → index-CTTEAggF.cjs} +1 -1
- package/dist/{index-vX-r2aen.cjs → index-CdLmmvxi.cjs} +1 -1
- package/dist/{index-BbZUyAdu.cjs → index-CffNkMWN.cjs} +1 -1
- package/dist/{index-BjDV7Cz7.cjs → index-CilqH8oC.cjs} +1 -1
- package/dist/{index-BrdbMKvd.cjs → index-CyOcoFxe.cjs} +1 -1
- package/dist/{index-AYpwatFI.cjs → index-D68A4TXc.cjs} +1 -1
- package/dist/{index-JaxYzGiv.cjs → index-DBB_scdx.cjs} +1 -1
- package/dist/{index-C4OhyEpp.cjs → index-DHhMROzm.cjs} +1 -1
- package/dist/{index-BStNLZ42.js → index-DIv5glVC.js} +15 -15
- package/dist/{index-BCL3B2W3.js → index-DMp2zGXo.js} +7 -7
- package/dist/{index-BTw--p5k.js → index-DPm-3I4S.js} +6 -6
- package/dist/{index-24rHtXOF.js → index-DbuzlHfh.js} +9 -9
- package/dist/{index-CAPbOxeI.cjs → index-DjhZHYH_.cjs} +1 -1
- package/dist/{index-Dle4rTtv.js → index-Dm1_86kX.js} +3 -3
- package/dist/{index-Cz-SX3Vr.cjs → index-Dnq8JVuW.cjs} +1 -1
- package/dist/{index-BDBTYDAm.js → index-DoIHM98M.js} +1 -1
- package/dist/{index-BxnGHDCM.js → index-DrCpGMdZ.js} +3 -3
- package/dist/{index-BBceT0Au.js → index-DrUjNhjW.js} +1 -1
- package/dist/{index-DEowpIN-.js → index-DuwxEG2Y.js} +1 -1
- package/dist/{index-BPynUUkE.cjs → index-Dxfzna5p.cjs} +1 -1
- package/dist/{index-Mzgmsk8P.js → index-FBp-XX6h.js} +1 -1
- package/dist/{index-CY1519pX.js → index-TEDdJfFz.js} +7 -7
- package/dist/{index-B5T7_Hfv.js → index-UYsrvpRs.js} +380 -413
- package/dist/{index-C_Jun3tv.js → index-VOSN3Mnh.js} +5 -5
- package/dist/{index-B2Fq07yi.cjs → index-WPbX9sqP.cjs} +1 -1
- package/dist/{index-mnA3swxC.cjs → index-ZUmqWSaw.cjs} +1 -1
- package/dist/{index-BGGv8YCW.js → index-eSv5uzFM.js} +4 -4
- package/dist/{index-DCXRZxtU.js → index-faxMOO3y.js} +5 -5
- package/dist/{index.vue_vue_type_script_setup_true_lang-d9_SaET-.js → index.vue_vue_type_script_setup_true_lang-CKDefrVd.js} +3 -3
- package/dist/{index.vue_vue_type_script_setup_true_lang-OrELjG9X.cjs → index.vue_vue_type_script_setup_true_lang-Dr6igsfU.cjs} +1 -1
- package/dist/index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CaGB6aRQ.js +9119 -0
- package/dist/index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-x_oCFRtr.cjs +47 -0
- package/dist/{index.vue_vue_type_style_index_0_scoped_306ecd73_lang-C1K4Ki_m.cjs → index.vue_vue_type_style_index_0_scoped_306ecd73_lang-B7CgbfdF.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_306ecd73_lang-DysCq2pc.js → index.vue_vue_type_style_index_0_scoped_306ecd73_lang-CMsb25AU.js} +8 -8
- package/dist/{index.vue_vue_type_style_index_0_scoped_7ee96c6e_lang-CI2nWr0Z.cjs → index.vue_vue_type_style_index_0_scoped_7ee96c6e_lang-COxDD0Fj.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_7ee96c6e_lang-CtkN_3NU.js → index.vue_vue_type_style_index_0_scoped_7ee96c6e_lang-DDi07ZiD.js} +15 -15
- package/dist/{login-jvP43w57.js → login-CARNmuDg.js} +1 -1
- package/dist/{login-CwoRR3Nc.cjs → login-DsWsywlE.cjs} +1 -1
- package/dist/{main-B4JZ9T9G.js → main-C7zpT64X.js} +6 -6
- package/dist/{main-DI3zYE5l.cjs → main-NoOanZcQ.cjs} +1 -1
- package/dist/{menu-Bj4qq0KK.cjs → menu-B-Z5KAh5.cjs} +1 -1
- package/dist/{menu-pNM6_DJi.js → menu-D9x5_s9p.js} +1 -1
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.css +1 -1
- package/dist/ss-component.js +10 -10
- package/dist/ss-component2.cjs +1 -1
- package/dist/ss-component3.cjs +1 -1
- package/dist/ss-component3.js +1 -1
- package/dist/{threeModel-B2v_doHa.js → threeModel-BazaxATJ.js} +1 -1
- package/dist/{threeModel-Bx3XHoSZ.cjs → threeModel-MVkoDB-c.cjs} +1 -1
- package/dist/{threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-BtFDMscB.cjs → threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-CBBWsMHp.cjs} +1 -1
- package/dist/{threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-BeUjxBt-.js → threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-CnQhvwfL.js} +2 -2
- package/package.json +1 -1
- package/dist/index-b6dDRbJK.cjs +0 -1
- package/dist/index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-0DUFsOev.cjs +0 -244
- package/dist/index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BP5MoIJH.js +0 -51941
package/dist/ss-component.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { defineAsyncComponent as s } from "vue";
|
|
2
2
|
import { S as b } from "./index-BHtNKL1L.js";
|
|
3
|
-
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-
|
|
4
|
-
import "./menu-
|
|
5
|
-
import { r as c } from "./index-
|
|
6
|
-
const n = s(() => import("./main-
|
|
3
|
+
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CaGB6aRQ.js";
|
|
4
|
+
import "./menu-D9x5_s9p.js";
|
|
5
|
+
import { r as c } from "./index-DbuzlHfh.js";
|
|
6
|
+
const n = s(() => import("./main-C7zpT64X.js"));
|
|
7
7
|
n.install = (o) => {
|
|
8
8
|
o.component("ssComponent", n);
|
|
9
9
|
};
|
|
10
|
-
const t = s(() => import("./index-
|
|
10
|
+
const t = s(() => import("./index-UYsrvpRs.js").then((o) => o.h));
|
|
11
11
|
t.install = (o) => {
|
|
12
12
|
o.component("ssTab", t);
|
|
13
13
|
};
|
|
14
|
-
const e = s(() => import("./index-
|
|
14
|
+
const e = s(() => import("./index-DuwxEG2Y.js"));
|
|
15
15
|
e.install = (o) => {
|
|
16
16
|
o.component("ssMenu", e);
|
|
17
17
|
};
|
|
18
|
-
const m = s(() => import("./index-
|
|
18
|
+
const m = s(() => import("./index-9srnYnzT.js"));
|
|
19
19
|
m.install = (o) => {
|
|
20
20
|
o.component("ssMenuComponent", m);
|
|
21
21
|
};
|
|
22
|
-
const r = s(() => import("./index-
|
|
22
|
+
const r = s(() => import("./index-FBp-XX6h.js"));
|
|
23
23
|
r.install = (o) => {
|
|
24
24
|
o.component("ssCanvas", r);
|
|
25
25
|
};
|
|
@@ -27,11 +27,11 @@ const p = s(() => import("./index-CZtXRS3l.js"));
|
|
|
27
27
|
p.install = (o) => {
|
|
28
28
|
o.component("ssFold", p);
|
|
29
29
|
};
|
|
30
|
-
const i = s(() => import("./index-
|
|
30
|
+
const i = s(() => import("./index-DrUjNhjW.js"));
|
|
31
31
|
i.install = (o) => {
|
|
32
32
|
o.component("ssAvatar", i);
|
|
33
33
|
};
|
|
34
|
-
const a = s(() => import("./threeModel-
|
|
34
|
+
const a = s(() => import("./threeModel-BazaxATJ.js"));
|
|
35
35
|
a.install = (o) => {
|
|
36
36
|
o.component("ssThree", a);
|
|
37
37
|
};
|
package/dist/ss-component2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-BpPyaNFa.cjs"),e={SvgIcon:o.SvgIcon};function t(n){n.component("SvgIcon",o.SvgIcon)}exports.SvgIcon=o.SvgIcon;exports.components=e;exports.setupGlobalComponents=t;
|
package/dist/ss-component3.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("vue-router");const r=require("./index-
|
|
1
|
+
"use strict";require("vue-router");const r=require("./index-BJitBJZu.cjs");module.exports=r.router;
|
package/dist/ss-component3.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as H, watch as $t, onMounted as Ut, onUnmounted as Qt, resolveComponent as Ot, createElementBlock as V, createCommentVNode as Jt, openBlock as N, createElementVNode as c, createVNode as Lt, withCtx as Ht, withDirectives as Pt, toDisplayString as it, Fragment as te, renderList as ee, vShow as oe, nextTick as Gt, onBeforeUnmount as ne, createBlock as ie, unref as b, normalizeClass as ft, isRef as gt, vModelRadio as yt } from "vue";
|
|
2
|
-
import { C as se, V as p, M as st, T as ct, Q as zt, S as jt, a as q, R as ae, P as Mt, b as re, B as vt, c as le, d as he, e as ce, W as de, f as _e, A as Pe, g as Je, X as ue, G as pe, h as wt, i as me, j as Ct, k as Ge, D as xt, H as fe, l as It, m as Vt, n as ge, E as Dt, o as Tt, p as ye, q as be, r as Me } from "./threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-
|
|
2
|
+
import { C as se, V as p, M as st, T as ct, Q as zt, S as jt, a as q, R as ae, P as Mt, b as re, B as vt, c as le, d as he, e as ce, W as de, f as _e, A as Pe, g as Je, X as ue, G as pe, h as wt, i as me, j as Ct, k as Ge, D as xt, H as fe, l as It, m as Vt, n as ge, E as Dt, o as Tt, p as ye, q as be, r as Me } from "./threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-CnQhvwfL.js";
|
|
3
3
|
import { _ as Yt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
const Ft = { type: "change" }, At = { type: "start" }, Zt = { type: "end" }, bt = new ae(), Nt = new Mt(), we = Math.cos(70 * re.DEG2RAD), A = new p(), F = 2 * Math.PI, y = {
|
|
5
5
|
NONE: -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("./threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-BtFDMscB.cjs"),mt=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ut={type:"change"},Pt={type:"start"},Gt={type:"end"},lt=new o.Ray,pt=new o.Plane,Mt=Math.cos(70*o.MathUtils.DEG2RAD),S=new o.Vector3,H=2*Math.PI,y={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},_t=1e-6;class Et extends o.Controls{constructor(t,n=null){super(t,n),this.state=y.NONE,this.target=new o.Vector3,this.cursor=new o.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:o.MOUSE.ROTATE,MIDDLE:o.MOUSE.DOLLY,RIGHT:o.MOUSE.PAN},this.touches={ONE:o.TOUCH.ROTATE,TWO:o.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 o.Vector3,this._lastQuaternion=new o.Quaternion,this._lastTargetPosition=new o.Vector3,this._quat=new o.Quaternion().setFromUnitVectors(t.up,new o.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new o.Spherical,this._sphericalDelta=new o.Spherical,this._scale=1,this._panOffset=new o.Vector3,this._rotateStart=new o.Vector2,this._rotateEnd=new o.Vector2,this._rotateDelta=new o.Vector2,this._panStart=new o.Vector2,this._panEnd=new o.Vector2,this._panDelta=new o.Vector2,this._dollyStart=new o.Vector2,this._dollyEnd=new o.Vector2,this._dollyDelta=new o.Vector2,this._dollyDirection=new o.Vector3,this._mouse=new o.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Bt.bind(this),this._onPointerDown=wt.bind(this),this._onPointerUp=vt.bind(this),this._onContextMenu=kt.bind(this),this._onMouseWheel=Dt.bind(this),this._onKeyDown=Tt.bind(this),this._onTouchStart=Vt.bind(this),this._onTouchMove=St.bind(this),this._onMouseDown=Rt.bind(this),this._onMouseMove=xt.bind(this),this._interceptControlDown=Ct.bind(this),this._interceptControlUp=At.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(ut),this.update(),this.state=y.NONE}update(t=null){const n=this.object.position;S.copy(n).sub(this.target),S.applyQuaternion(this._quat),this._spherical.setFromVector3(S),this.autoRotate&&this.state===y.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 s=this.minAzimuthAngle,c=this.maxAzimuthAngle;isFinite(s)&&isFinite(c)&&(s<-Math.PI?s+=H:s>Math.PI&&(s-=H),c<-Math.PI?c+=H:c>Math.PI&&(c-=H),s<=c?this._spherical.theta=Math.max(s,Math.min(c,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(s+c)/2?Math.max(s,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 J=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const m=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),J=m!=this._spherical.radius}if(S.setFromSpherical(this._spherical),S.applyQuaternion(this._quatInverse),n.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){let m=null;if(this.object.isPerspectiveCamera){const l=S.length();m=this._clampDistance(l*this._scale);const G=l-m;this.object.position.addScaledVector(this._dollyDirection,G),this.object.updateMatrixWorld(),J=!!G}else if(this.object.isOrthographicCamera){const l=new o.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const G=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),J=G!==this.object.zoom;const M=new o.Vector3(this._mouse.x,this._mouse.y,0);M.unproject(this.object),this.object.position.sub(M).add(l),this.object.updateMatrixWorld(),m=S.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;m!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(m).add(this.object.position):(lt.origin.copy(this.object.position),lt.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(lt.direction))<Mt?this.object.lookAt(this.target):(pt.setFromNormalAndCoplanarPoint(this.object.up,this.target),lt.intersectPlane(pt,this.target))))}else if(this.object.isOrthographicCamera){const m=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),m!==this.object.zoom&&(this.object.updateProjectionMatrix(),J=!0)}return this._scale=1,this._performCursorZoom=!1,J||this._lastPosition.distanceToSquared(this.object.position)>_t||8*(1-this._lastQuaternion.dot(this.object.quaternion))>_t||this._lastTargetPosition.distanceToSquared(this.target)>_t?(this.dispatchEvent(ut),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?H/60*this.autoRotateSpeed*t:H/60/60*this.autoRotateSpeed}_getZoomScale(t){const n=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*n)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,n){S.setFromMatrixColumn(n,0),S.multiplyScalar(-t),this._panOffset.add(S)}_panUp(t,n){this.screenSpacePanning===!0?S.setFromMatrixColumn(n,1):(S.setFromMatrixColumn(n,0),S.crossVectors(this.object.up,S)),S.multiplyScalar(t),this._panOffset.add(S)}_pan(t,n){const s=this.domElement;if(this.object.isPerspectiveCamera){const c=this.object.position;S.copy(c).sub(this.target);let J=S.length();J*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*J/s.clientHeight,this.object.matrix),this._panUp(2*n*J/s.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/s.clientWidth,this.object.matrix),this._panUp(n*(this.object.top-this.object.bottom)/this.object.zoom/s.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,n){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const s=this.domElement.getBoundingClientRect(),c=t-s.left,J=n-s.top,m=s.width,l=s.height;this._mouse.x=c/m*2-1,this._mouse.y=-(J/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 n=this.domElement;this._rotateLeft(H*this._rotateDelta.x/n.clientHeight),this._rotateUp(H*this._rotateDelta.y/n.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 n=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),n=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),n=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),n=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),n=!0;break}n&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),c=.5*(t.pageY+n.y);this._rotateStart.set(s,c)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),c=.5*(t.pageY+n.y);this._panStart.set(s,c)}}_handleTouchStartDolly(t){const n=this._getSecondPointerPosition(t),s=t.pageX-n.x,c=t.pageY-n.y,J=Math.sqrt(s*s+c*c);this._dollyStart.set(0,J)}_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 s=this._getSecondPointerPosition(t),c=.5*(t.pageX+s.x),J=.5*(t.pageY+s.y);this._rotateEnd.set(c,J)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const n=this.domElement;this._rotateLeft(H*this._rotateDelta.x/n.clientHeight),this._rotateUp(H*this._rotateDelta.y/n.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),c=.5*(t.pageY+n.y);this._panEnd.set(s,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 n=this._getSecondPointerPosition(t),s=t.pageX-n.x,c=t.pageY-n.y,J=Math.sqrt(s*s+c*c);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);const m=(t.pageX+n.x)*.5,l=(t.pageY+n.y)*.5;this._updateZoomParameters(m,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 n=0;n<this._pointers.length;n++)if(this._pointers[n]==t.pointerId){this._pointers.splice(n,1);return}}_isTrackingPointer(t){for(let n=0;n<this._pointers.length;n++)if(this._pointers[n]==t.pointerId)return!0;return!1}_trackPointer(t){let n=this._pointerPositions[t.pointerId];n===void 0&&(n=new o.Vector2,this._pointerPositions[t.pointerId]=n),n.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const n=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[n]}_customWheelEvent(t){const n=t.deltaMode,s={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(n){case 1:s.deltaY*=16;break;case 2:s.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(s.deltaY*=10),s}}function wt(r){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(r.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(r)&&(this._addPointer(r),r.pointerType==="touch"?this._onTouchStart(r):this._onMouseDown(r)))}function Bt(r){this.enabled!==!1&&(r.pointerType==="touch"?this._onTouchMove(r):this._onMouseMove(r))}function vt(r){switch(this._removePointer(r),this._pointers.length){case 0:this.domElement.releasePointerCapture(r.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(Gt),this.state=y.NONE;break;case 1:const t=this._pointers[0],n=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:n.x,pageY:n.y});break}}function Rt(r){let t;switch(r.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 o.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(r),this.state=y.DOLLY;break;case o.MOUSE.ROTATE:if(r.ctrlKey||r.metaKey||r.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(r),this.state=y.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(r),this.state=y.ROTATE}break;case o.MOUSE.PAN:if(r.ctrlKey||r.metaKey||r.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(r),this.state=y.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(r),this.state=y.PAN}break;default:this.state=y.NONE}this.state!==y.NONE&&this.dispatchEvent(Pt)}function xt(r){switch(this.state){case y.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(r);break;case y.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(r);break;case y.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(r);break}}function Dt(r){this.enabled===!1||this.enableZoom===!1||this.state!==y.NONE||(r.preventDefault(),this.dispatchEvent(Pt),this._handleMouseWheel(this._customWheelEvent(r)),this.dispatchEvent(Gt))}function Tt(r){this.enabled!==!1&&this._handleKeyDown(r)}function Vt(r){switch(this._trackPointer(r),this._pointers.length){case 1:switch(this.touches.ONE){case o.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(r),this.state=y.TOUCH_ROTATE;break;case o.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(r),this.state=y.TOUCH_PAN;break;default:this.state=y.NONE}break;case 2:switch(this.touches.TWO){case o.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(r),this.state=y.TOUCH_DOLLY_PAN;break;case o.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(r),this.state=y.TOUCH_DOLLY_ROTATE;break;default:this.state=y.NONE}break;default:this.state=y.NONE}this.state!==y.NONE&&this.dispatchEvent(Pt)}function St(r){switch(this._trackPointer(r),this.state){case y.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(r),this.update();break;case y.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(r),this.update();break;case y.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(r),this.update();break;case y.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(r),this.update();break;default:this.state=y.NONE}}function kt(r){this.enabled!==!1&&r.preventDefault()}function Ct(r){r.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function At(r){r.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Ot(r){let t=null,n=null,s=null,c=null,J=null,m=null,l=null,G=null;const M=e.ref([]),O=e.ref(new o.Vector3),j=e.ref(new o.Vector3),C=()=>{if(!r.value)return;t=new o.Scene,t.background=new o.Color(15790320);const i=r.value;n=new o.PerspectiveCamera(75,i.clientWidth/i.clientHeight,.1,1e4),n.position.set(8,-8,6),n.up.set(0,0,1),n.lookAt(0,0,0),s=new o.WebGLRenderer({antialias:!0,alpha:!0}),s.setSize(i.clientWidth,i.clientHeight),s.localClippingEnabled=!0,s.shadowMap.enabled=!0,s.shadowMap.type=o.PCFSoftShadowMap,s.toneMapping=o.ACESFilmicToneMapping,s.toneMappingExposure=1,s.outputColorSpace=o.SRGBColorSpace,i.appendChild(s.domElement),c=new Et(n,s.domElement),c.enableDamping=!0,c.dampingFactor=.05,c.mouseButtons={LEFT:o.MOUSE.ROTATE,MIDDLE:o.MOUSE.PAN,RIGHT:null},c.panSpeed=.7,J=new o.Xe(n,s,{container:i,type:"cube",placement:"bottom-left",offset:{left:260,bottom:22},background:{color:"#D1D1D1",opacity:1},front:{label:"Top"},bottom:{label:"Front"},left:{label:"Left"},right:{label:"Right"},top:{label:"Back"},back:{label:"Bottom"}}),J.attachControls(c),w(),h()},I=(i,a)=>{l&&(t.remove(l),l.dispose()),G&&(t.remove(G),G.geometry.dispose(),G.material.dispose());const d=Math.min(Math.max(Math.floor(i/20),30),40);l=new o.GridHelper(i,d,13421772,14540253),l.rotateX(Math.PI/2),l.position.copy(a),t.add(l);const p=new o.PlaneGeometry(i,i),P=new o.ShadowMaterial({opacity:.3,color:0});G=new o.Mesh(p,P),G.position.copy(a),G.position.z-=.01,G.receiveShadow=!0,t.add(G)},N=()=>{if(M.value.length===0)return;const i=new o.Box3;M.value.forEach(R=>{i.expandByObject(R)});const a=i.getSize(new o.Vector3),d=i.getCenter(new o.Vector3),p=Math.max(a.x,a.y,a.z),P=Math.max(p*8,50),b=new o.Vector3(d.x,d.y,i.min.z);I(P,b)},w=()=>{const i=new o.AmbientLight(4210752,.6);t.add(i);const a=new o.DirectionalLight(16777215,2);a.position.set(10,10,8),a.castShadow=!0,a.shadow.mapSize.width=4096,a.shadow.mapSize.height=4096,a.shadow.camera.near=.5,a.shadow.camera.far=50,a.shadow.camera.left=-50,a.shadow.camera.right=50,a.shadow.camera.top=50,a.shadow.camera.bottom=-50,t.add(a);const d=new o.DirectionalLight(16777215,.8);d.position.set(-8,-8,6),t.add(d);const p=new o.DirectionalLight(16777215,.6);p.position.set(0,-15,2),t.add(p);const P=new o.HemisphereLight(16777215,4473924,.8);t.add(P);const b=new o.PointLight(16777215,1,50);b.position.set(15,15,15),t.add(b);const R=new o.PointLight(16777215,.5,50);R.position.set(-15,-15,15),t.add(R)},h=()=>{m=requestAnimationFrame(h),c&&c.update(),s&&t&&n&&s.render(t,n),J&&J.render()},u=i=>{["map","normalMap","bumpMap","roughnessMap","metalnessMap","emissiveMap","specularMap","envMap","lightMap","aoMap","displacementMap"].forEach(d=>{i[d]&&i[d].dispose&&i[d].dispose()}),i.dispose&&i.dispose()},f=i=>{i==null||i.traverse(a=>{a.geometry&&a.geometry.dispose(),a.material&&(Array.isArray(a.material)?a.material.forEach(d=>{u(d)}):u(a.material))})};return{currentModels:M,initialCameraPosition:O,initialTargetPosition:j,initThreeJS:C,handleResize:()=>{if(!r.value||!n||!s||!J)return;const i=r.value,a=i.clientWidth,d=i.clientHeight;n.aspect=a/d,n.updateProjectionMatrix(),s.setSize(a,d),J.update()},fitCameraToAllModels:()=>{if(!n||!c||M.value.length===0)return;const i=new o.Box3;M.value.forEach(R=>{i.expandByObject(R)});const a=i.getSize(new o.Vector3),d=i.getCenter(new o.Vector3),P=Math.max(a.x,a.y,a.z)*.8,b=new o.Vector3(d.x+P,d.y-P,d.z+P);n.position.copy(b),n.lookAt(d),c.target.copy(d),c.update(),O.value.copy(b),j.value.copy(d),N()},getThreeJSObjects:()=>({scene:t,camera:n,renderer:s,controls:c,gizmo:J}),clearAllModels:()=>{if(!t)return;M.value.forEach(a=>{t.remove(a),f(a)});const i=[];t.children.forEach(a=>{!a.isLight&&!a.isCamera&&a.type!=="GridHelper"&&a!==G&&i.push(a)}),i.forEach(a=>{t.remove(a),f(a)}),M.value=[],N()},cleanup:()=>{m&&cancelAnimationFrame(m),l&&l.dispose(),G&&(G.geometry.dispose(),G.material.dispose()),s&&s.dispose(),c&&c.dispose(),J&&J.dispose()},updateGridForModels:N}}function Nt(r,t){const n=e.ref(!1);let s=null,c=12700,J=new o.Vector3,m=new o.Vector3,l=new o.Vector3,G=0,M=null;const O=h=>h<.5?4*h*h*h:1-Math.pow(-2*h+2,3)/2,j=h=>{const u=new o.Vector3,f=G*1.2,B=new o.Vector3(l.x+f,l.y,l.z),A=new o.Vector3(l.x,l.y+f,l.z),E=new o.Vector3(l.x,l.y-f,l.z);if(h<=.567){const v=h/.567*Math.PI*2;u.x=l.x+Math.cos(v)*f,u.z=l.z+Math.sin(v)*f,u.y=l.y}else if(h<=.724){const V=(h-.567)/.157,v=O(V);u.lerpVectors(B,A,v)}else if(h<=.881){const V=(h-.724)/.157,i=O(V)*Math.PI;u.x=l.x+Math.sin(i)*f,u.y=l.y+Math.cos(i)*f,u.z=l.z}else{const V=(h-.881)/.119,v=O(V);u.lerpVectors(E,J,v)}return u},C=()=>{const{camera:h,controls:u}=r();if(!h||!u)return;s||(s=Date.now());const f=Date.now()-s,B=Math.min(f/c,1);if(B>=1){N();return}const A=j(B);h.position.copy(A),h.lookAt(l),u.target.copy(l),M=requestAnimationFrame(C)},I=()=>{if(t.value.length===0)return;const{camera:h,controls:u}=r();if(!h||!u)return;J.copy(h.position),m.copy(u.target);const f=new o.Box3;t.value.forEach(a=>{f.expandByObject(a)});const B=f.getSize(new o.Vector3);l=f.getCenter(new o.Vector3),G=Math.max(B.x,B.y,B.z)*1.2;const A=new o.Vector3(l.x+G*1.2,l.y,l.z);u.enabled=!1;const E=h.position.clone(),V=1e3,v=Date.now(),i=()=>{const a=Date.now()-v,d=Math.min(a/V,1),p=O(d);h.position.lerpVectors(E,A,p),h.lookAt(l),u.target.copy(l),d<1?requestAnimationFrame(i):(n.value=!0,s=null,C())};i()},N=()=>{n.value=!1,s=null,M&&(cancelAnimationFrame(M),M=null);const{controls:h}=r();h&&(h.enabled=!0,h.target.copy(m))};return{isAnimating:n,toggleAnimation:()=>{if(n.value){n.value=!1,s=null,M&&(cancelAnimationFrame(M),M=null);const{camera:h,controls:u}=r();if(!h||!u)return;u.enabled=!0;const f=h.position.clone(),B=u.target.clone(),A=1500,E=Date.now(),V=()=>{const v=Date.now()-E,i=Math.min(v/A,1),a=O(i);h.position.lerpVectors(f,J,a),u.target.lerpVectors(B,m,a),i<1&&requestAnimationFrame(V)};V()}else I()},startAnimation:I,stopAnimation:N}}function Lt(r,t){const n=e.ref(!1),s=e.ref("none");let c=[],J=[],m=new o.Box3,l=new o.Vector3;const G=()=>{c=[new o.Plane(new o.Vector3(1,0,0),0),new o.Plane(new o.Vector3(0,1,0),0),new o.Plane(new o.Vector3(0,0,1),0)]},M=()=>{m.makeEmpty(),t.value.forEach(w=>{m.expandByObject(w)}),l=m.getCenter(new o.Vector3)},O=w=>{const h=m.getSize(new o.Vector3);let u,f,B;w==="x"?(u=new o.PlaneGeometry(h.z*1.2,h.y*1.2),f=new o.Vector3(l.x,l.y,l.z),B=new o.Euler(0,Math.PI/2,0)):w==="y"?(u=new o.PlaneGeometry(h.x*1.2,h.z*1.2),f=new o.Vector3(l.x,l.y,l.z),B=new o.Euler(Math.PI/2,0,0)):w==="z"&&(u=new o.PlaneGeometry(h.x*1.2,h.y*1.2),f=new o.Vector3(l.x,l.y,l.z),B=new o.Euler(0,0,0));const A=new o.MeshPhongMaterial({color:8900331,transparent:!0,opacity:.3,side:o.DoubleSide,depthWrite:!1}),E=new o.Mesh(u,A);return E.position.copy(f),E.rotation.copy(B),E},j=()=>{if(C(),I(),s.value==="none")return;M();let w=null;if(s.value==="x"?(c[0].constant=-l.x,w=c[0]):s.value==="y"?(c[1].constant=-l.y,w=c[1]):s.value==="z"&&(c[2].constant=-l.z,w=c[2]),w){t.value.forEach(u=>{u.traverse(f=>{f.isMesh&&f.material&&(Array.isArray(f.material)?f.material.forEach(B=>{B.clippingPlanes=[w]}):f.material.clippingPlanes=[w])})});const{scene:h}=r();if(h){const u=O(s.value);h.add(u),J.push(u)}}},C=()=>{t.value.forEach(w=>{w.traverse(h=>{h.isMesh&&h.material&&(Array.isArray(h.material)?h.material.forEach(u=>{u.clippingPlanes=[]}):h.material.clippingPlanes=[])})})},I=()=>{const{scene:w}=r();w&&J.forEach(h=>{w.remove(h),h.geometry.dispose(),h.material.dispose()}),J=[]};return{isClipping:n,activeClippingAxis:s,toggleClipping:()=>{n.value=!n.value,n.value?(G(),t.value.length>0&&M()):(s.value="none",C(),I())},updateClippingPlanes:j,clearClippingPlanes:C,clearClippingMeshes:I}}const Ht=[{"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}],zt={key:0,class:"jointPanel-container"},jt={class:"panel-actions"},It=["disabled"],Ut={class:"panel-content"},Ft={key:0,class:"joints-list"},Yt={class:"joint-info-row"},Zt={class:"joint-left"},Kt={class:"joint-name"},Xt={class:"joint-range"},qt={class:"joint-type"},Wt={key:0,class:"joint-control-row"},$t={class:"slider-container"},Qt=["min","max","value","onInput","disabled"],te={class:"value-display"},ee={class:"joint-value"},oe={class:"unit"},ne={key:1,class:"empty-state"},ie=1e3,ae={__name:"jointPanel",props:{model:Object,scene:Object},setup(r){const t=r,n=e.ref(!0),s=e.ref([]),c=e.ref(null),J=e.ref(!1),m=e.ref(null),l=Ht;l.length>0&&Object.keys(l[0]);const G=(i,a=!1)=>i==="revolute"?a?Math.PI:-Math.PI:i==="prismatic"?a?1:-1:0,M=i=>{if(!i||!i.joints)return console.warn("URDF模型没有关节信息"),[];const a=[];return Object.keys(i.joints).forEach(d=>{const p=i.joints[d];if(p._jointType==="fixed")return;const P=p.limit?{lower:p.limit.lower??G(p._jointType,!1),upper:p.limit.upper??G(p._jointType,!0)}:{lower:G(p._jointType,!1),upper:G(p._jointType,!0)};a.push({name:d,type:p._jointType||"unknown",limit:P,currentValue:p.angle||0,urdfJoint:p})}),a.sort((d,p)=>d.name.localeCompare(p.name))},O=(i,a)=>{const d=s.value.find(P=>P.name===i);if(!d)return;const p=parseFloat(a);if(d.limit){const P=Math.max(d.limit.lower,Math.min(d.limit.upper,p));d.currentValue=P}else d.currentValue=p;t.model&&t.model.setJointValue?t.model.setJointValue(i,d.currentValue):d.urdfJoint&&d.urdfJoint.setJointValue(d.currentValue)},j=i=>{i&&Object.keys(i).forEach(a=>{const d=i[a],p=s.value.find(P=>P.name===a);p&&(p.currentValue=d,t.model&&t.model.setJointValue?t.model.setJointValue(a,d):p.urdfJoint&&p.urdfJoint.setJointValue(d))})},C=(i,a,d)=>i+(a-i)*d,I=(i,a,d)=>{if(!i||!a)return i||a;const p={};return Object.keys(i).forEach(P=>{const b=i[P],R=a[P];p[P]=C(b,R||b,d)}),p},N=()=>{J.value?h():w()},w=()=>{if(l.length===0){console.warn("没有动画数据");return}J.value=!0;const i=l.length,a=60,d=ie/a;let p=0,P=0;const b=()=>{if(!J.value)return;const R=p/a,X=l[P],U=l[P+1];if(U){const D=I(X,U,R);j(D)}else j(X);if(p++,p>=a&&(p=0,P++,P>=i-1)){h();return}m.value=setTimeout(b,d)};b()},h=()=>{J.value=!1,m.value&&(clearTimeout(m.value),m.value=null)},u=()=>{s.value.forEach(i=>{(i.type==="revolute"||i.type==="prismatic")&&O(i.name,0)})};e.watch(()=>t.model,i=>{i?s.value=M(i):s.value=[]},{immediate:!0});const f=()=>{!t.model||J.value||s.value.forEach(i=>{i.urdfJoint&&i.urdfJoint.angle!==void 0&&(i.currentValue=i.urdfJoint.angle)})},B=()=>{const i=()=>{f(),c.value=requestAnimationFrame(i)};i()},A=()=>{c.value&&(cancelAnimationFrame(c.value),c.value=null)};e.onMounted(()=>{B()}),e.onUnmounted(()=>{A(),h()});const E=(i,a,d,p={})=>{const b={...{segmentDuration:3,position:new o.Vector3(1.128,-.699,.378),tubeSegments:12},...p},R=[...i].reverse().map((T,x,k)=>x===k.length-1?{...T,c:0,r:0}:{...T,c:k[x+1].c,r:k[x+1].r});if(!t.scene)return;const X=(T,x)=>Math.abs(T)*Math.PI*x/180,U=[];for(let T=0;T<R.length;T++){const{y:x,b:k,c:Y,r:F}=R[T];if(U.push({type:"straight",length:x,segmentIndex:T,twist:k}),Y!==0&&F!==0){const W=X(Y,F);U.push({type:"bend",length:W,angle:Y,radius:F,segmentIndex:T})}}const D=(T=[])=>{const x=[];let k=new o.Vector3(0,0,0),Y=new o.Vector3(1,0,0),F=new o.Vector3(0,1,0),W=new o.Vector3(0,0,1);x.push(k.clone());for(let z=0;z<U.length;z++){const L=U[z];if(L.type==="straight"){if(L.twist!==0){const $=L.twist*Math.PI/180,K=new o.Matrix4().makeRotationAxis(F,$);Y.applyMatrix4(K),W.applyMatrix4(K)}const tt=L.length/1e3,et=Math.max(8,Math.floor(L.length*.05));for(let $=1;$<=et;$++){const K=$/et,ot=k.clone().add(F.clone().multiplyScalar(tt*K));x.push(ot)}k.add(F.clone().multiplyScalar(tt))}else if(L.type==="bend"){const tt=T[L.segmentIndex]||0,et=L.angle*Math.PI/180,$=L.radius/1e3;if(tt>0){const K=k.clone().add(Y.clone().multiplyScalar(-$)),ot=Math.max(16,Math.floor(Math.abs(L.angle)/5));for(let dt=1;dt<=ot;dt++){const ft=dt/ot,gt=et*tt*ft,yt=new o.Matrix4().makeRotationAxis(W,gt),Jt=Y.clone().multiplyScalar($);Jt.applyMatrix4(yt);const bt=K.clone().add(Jt);x.push(bt)}const nt=et*tt,it=new o.Matrix4().makeRotationAxis(W,nt),rt=Y.clone().multiplyScalar($);rt.applyMatrix4(it),k=K.clone().add(rt),Y.applyMatrix4(it),F.applyMatrix4(it)}else{const K=L.length/1e3,ot=Math.max(8,Math.floor(L.length*.05));for(let nt=1;nt<=ot;nt++){const it=nt/ot,rt=k.clone().add(F.clone().multiplyScalar(K*it));x.push(rt)}k.add(F.clone().multiplyScalar(K))}}}const ht=new o.CatmullRomCurve3(x);return new o.TubeGeometry(ht,x.length*2,d/1e3,b.tubeSegments,!1)},_=new o.MeshPhongMaterial({color:11119017,shininess:60}),g=R.map(()=>0),ct=D(g),q=new o.Mesh(ct,_);q.position.copy(b.position),t.scene.add(q);const at=R.map((T,x)=>T.c!==0&&T.r!==0?x:-1).filter(T=>T!==-1),Q=[...at].reverse(),st=Date.now(),Z=()=>{const x=(Date.now()-st)/1e3,k=Math.min(Math.floor(x/b.segmentDuration),Q.length),Y=x%b.segmentDuration,F=Math.min(Y/b.segmentDuration,1),W=[...Array(R.length)].map(()=>0);for(let z=0;z<k;z++)W[Q[z]]=1;k<Q.length&&(W[Q[k]]=F);try{const z=D(W);q.geometry.dispose(),q.geometry=z}catch(z){console.error("更新几何体失败:",z)}const ht=Q.length*b.segmentDuration;if(x<ht)requestAnimationFrame(Z);else{const z=[...Array(R.length)].map((tt,et)=>at.includes(et)?1:0),L=D(z);q.geometry.dispose(),q.geometry=L}};return Z(),q},V=()=>{if(!t.scene)return;const i=[];t.scene.traverse(a=>{a.isMesh&&a.geometry&&a.geometry.type==="TubeGeometry"&&i.push(a)}),i.forEach(a=>{a.geometry.dispose(),a.material&&a.material.dispose(),t.scene.remove(a)})},v=()=>{V(),E([{y:88.61,b:0,c:90,r:8},{y:54.29,b:-90,c:90,r:8},{y:460.1,b:180,c:90,r:8},{y:48.95,b:-90,c:90,r:8},{y:27,b:0,c:0,r:0}],729,3.17,{segmentDuration:3,position:new o.Vector3(1.128,-.699,.378)})};return(i,a)=>{const d=e.resolveComponent("el-scrollbar"),p=e.resolveComponent("el-collapse-transition");return r.model?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",{class:"panel-header",onClick:a[0]||(a[0]=P=>n.value=!n.value)},a[1]||(a[1]=[e.createElementVNode("h3",null,"关节控制面板",-1)])),e.createVNode(p,null,{default:e.withCtx(()=>[e.withDirectives(e.createVNode(d,{"max-height":"650px"},{default:e.withCtx(()=>[e.createElementVNode("div",jt,[e.createElementVNode("button",{onClick:N,class:"animate-btn"},e.toDisplayString(J.value?"停止动画":"开始动画"),1),e.createElementVNode("button",{onClick:u,disabled:J.value},"重置所有关节",8,It),e.createElementVNode("button",{onClick:v},"弯管"),e.createElementVNode("button",{onClick:V},"清理管子")]),e.createElementVNode("div",Ut,[s.value.length>0?(e.openBlock(),e.createElementBlock("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,P=>{var b,R,X,U;return e.openBlock(),e.createElementBlock("div",{key:P.name,class:"joint-item"},[e.createElementVNode("div",Yt,[e.createElementVNode("div",Zt,[e.createElementVNode("span",Kt,e.toDisplayString(P.name),1),e.createElementVNode("span",Xt," ["+e.toDisplayString(((b=P.limit)==null?void 0:b.lower.toFixed(2))??(P.type==="revolute"?"-3.14":"-1.00"))+", "+e.toDisplayString(((R=P.limit)==null?void 0:R.upper.toFixed(2))??(P.type==="revolute"?"3.14":"1.00"))+"] ",1)]),e.createElementVNode("span",qt,e.toDisplayString(P.type),1)]),P.type==="revolute"||P.type==="prismatic"?(e.openBlock(),e.createElementBlock("div",Wt,[e.createElementVNode("div",$t,[e.createElementVNode("input",{type:"range",min:((X=P.limit)==null?void 0:X.lower)??(P.type==="revolute"?-Math.PI:-1),max:((U=P.limit)==null?void 0:U.upper)??(P.type==="revolute"?Math.PI:1),step:.01,value:P.currentValue,onInput:D=>O(P.name,D.target.value),class:"joint-slider",disabled:J.value},null,40,Qt)]),e.createElementVNode("div",te,[e.createElementVNode("span",ee,e.toDisplayString(P.currentValue.toFixed(3)),1),e.createElementVNode("span",oe,e.toDisplayString(P.type==="revolute"?"rad":"m"),1)])])):e.createCommentVNode("",!0)])}),128))])):(e.openBlock(),e.createElementBlock("div",ne,a[2]||(a[2]=[e.createElementVNode("p",null,"未检测到可控制的关节",-1)])))])]),_:1},512),[[e.vShow,n.value]])]),_:1})])):e.createCommentVNode("",!0)}}},se=mt._export_sfc(ae,[["__scopeId","data-v-b1427bf7"]]),re={class:"obj-viewer-container"},le={class:"floating-controls"},ce=["disabled"],he=["disabled","title"],de={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_e={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Pe=["disabled"],Je=["title"],ue={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},pe={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},me={key:1,class:"clipping-panel"},Ge={class:"panel-content"},fe={class:"radio-group"},ge={class:"radio-label"},ye={class:"radio-label"},be={class:"radio-label"},Me={class:"radio-label"},Ee={key:2,class:"loading-overlay"},we={__name:"threeModel",setup(r,{expose:t}){let n=null;const s=e.ref(null),c=e.ref(!1),J=e.ref(""),m=e.ref(!1),l=e.ref(!1),{currentModels:G,initialCameraPosition:M,initialTargetPosition:O,initThreeJS:j,handleResize:C,fitCameraToAllModels:I,getThreeJSObjects:N,clearAllModels:w,cleanup:h}=Ot(s),{isAnimating:u,toggleAnimation:f,stopAnimation:B}=Nt(N,G),{isClipping:A,activeClippingAxis:E,toggleClipping:V,updateClippingPlanes:v}=Lt(N,G),{addModelsFromUrls:i,loadModelByDefaultPath:a,urdfModel:d}=o.useModelLoader(N,G,c,J,w),p=()=>{if(l.value||G.value.length===0)return;l.value=!0,u.value&&B();const{camera:D,controls:_}=N();if(!D||!_)return;_.enabled=!0;const g=Z=>Z<.5?4*Z*Z*Z:1-Math.pow(-2*Z+2,3)/2,ct=D.position.clone(),q=_.target.clone(),at=1500,Q=Date.now(),st=()=>{const Z=Date.now()-Q,T=Math.min(Z/at,1),x=g(T);D.position.lerpVectors(ct,M.value,x),_.target.lerpVectors(q,O.value,x),T<1?requestAnimationFrame(st):l.value=!1};st()},P=()=>{document.fullscreenElement?document.exitFullscreen().then(()=>{m.value=!1,e.nextTick(()=>{C()})}).catch(D=>{console.error("无法退出全屏:",D)}):s.value.requestFullscreen().then(()=>{m.value=!0,e.nextTick(()=>{C()})}).catch(D=>{console.error("无法进入全屏:",D)})},b=()=>{m.value=!!document.fullscreenElement,m.value||e.nextTick(()=>{C()})},R=async(D,_)=>{try{u.value&&B(),A.value&&V();const g=await _(D);return I(),g}catch(g){throw console.error("加载模型失败:",g),g}},X=async D=>R(D,i),U=async D=>R(D,a);return e.onMounted(async()=>{await e.nextTick(),j(),n=N().scene,window.addEventListener("resize",C),document.addEventListener("fullscreenchange",b)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",C),document.removeEventListener("fullscreenchange",b),u.value&&B(),h()}),t({addModelsFromUrls:X,loadModelByDefaultPath:U,initThreeJS:j}),(D,_)=>(e.openBlock(),e.createElementBlock("div",re,[e.unref(d)?(e.openBlock(),e.createBlock(se,{key:0,model:e.unref(d),scene:e.unref(n)},null,8,["model","scene"])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"threejsContainer",ref:s,class:"threejs-container"},null,512),e.createElementVNode("div",le,[e.createElementVNode("button",{onClick:p,class:e.normalizeClass(["control-btn","reset-btn"]),disabled:c.value||e.unref(G).length===0||l.value,title:"重置"},_[10]||(_[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),e.createElementVNode("polyline",{points:"9,22 9,12 15,12 15,22"})],-1)]),8,ce),e.createElementVNode("button",{onClick:_[0]||(_[0]=(...g)=>e.unref(f)&&e.unref(f)(...g)),class:e.normalizeClass(["control-btn","animation-btn",{active:e.unref(u)}]),disabled:c.value||e.unref(G).length===0,title:e.unref(u)?"停止动画":"动画视图"},[e.unref(u)?(e.openBlock(),e.createElementBlock("svg",_e,_[12]||(_[12]=[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),e.createElementVNode("rect",{x:"9.5",y:"8",width:"2",height:"8",fill:"currentColor"},null,-1),e.createElementVNode("rect",{x:"12.5",y:"8",width:"2",height:"8",fill:"currentColor"},null,-1)]))):(e.openBlock(),e.createElementBlock("svg",de,_[11]||(_[11]=[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),e.createElementVNode("polygon",{points:"10,8 16,12 10,16",fill:"currentColor"},null,-1)])))],10,he),e.createElementVNode("button",{onClick:_[1]||(_[1]=(...g)=>e.unref(V)&&e.unref(V)(...g)),class:e.normalizeClass(["control-btn","clipping-btn",{active:e.unref(A)}]),disabled:c.value||e.unref(G).length===0,title:"剖面视图"},_[13]||(_[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("rect",{x:"3",y:"3",width:"18",height:"18"}),e.createElementVNode("line",{x1:"-14",y1:"12",x2:"30",y2:"12","stroke-dasharray":"4,2"})],-1)]),10,Pe),e.createElementVNode("button",{onClick:P,class:e.normalizeClass(["control-btn","fullscreen-btn"]),title:m.value?"退出全屏":"全屏"},[m.value?(e.openBlock(),e.createElementBlock("svg",pe,_[15]||(_[15]=[e.createElementVNode("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)]))):(e.openBlock(),e.createElementBlock("svg",ue,_[14]||(_[14]=[e.createElementVNode("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])))],8,Je)]),e.unref(A)?(e.openBlock(),e.createElementBlock("div",me,[e.createElementVNode("div",Ge,[e.createElementVNode("div",fe,[e.createElementVNode("label",ge,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":_[2]||(_[2]=g=>e.isRef(E)?E.value=g:null),onChange:_[3]||(_[3]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[16]||(_[16]=e.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),e.createElementVNode("label",ye,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":_[4]||(_[4]=g=>e.isRef(E)?E.value=g:null),onChange:_[5]||(_[5]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[17]||(_[17]=e.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),e.createElementVNode("label",be,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":_[6]||(_[6]=g=>e.isRef(E)?E.value=g:null),onChange:_[7]||(_[7]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[18]||(_[18]=e.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),e.createElementVNode("label",Me,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":_[8]||(_[8]=g=>e.isRef(E)?E.value=g:null),onChange:_[9]||(_[9]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[19]||(_[19]=e.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("div",Ee,[_[20]||(_[20]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(J.value),1)])):e.createCommentVNode("",!0)]))}},Be=mt._export_sfc(we,[["__scopeId","data-v-28fc9fe5"]]);exports.default=Be;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("./threeModel.vue_vue_type_style_index_0_scoped_28fc9fe5_lang-CBBWsMHp.cjs"),mt=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ut={type:"change"},Pt={type:"start"},Gt={type:"end"},lt=new o.Ray,pt=new o.Plane,Mt=Math.cos(70*o.MathUtils.DEG2RAD),S=new o.Vector3,H=2*Math.PI,y={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},_t=1e-6;class Et extends o.Controls{constructor(t,n=null){super(t,n),this.state=y.NONE,this.target=new o.Vector3,this.cursor=new o.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:o.MOUSE.ROTATE,MIDDLE:o.MOUSE.DOLLY,RIGHT:o.MOUSE.PAN},this.touches={ONE:o.TOUCH.ROTATE,TWO:o.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 o.Vector3,this._lastQuaternion=new o.Quaternion,this._lastTargetPosition=new o.Vector3,this._quat=new o.Quaternion().setFromUnitVectors(t.up,new o.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new o.Spherical,this._sphericalDelta=new o.Spherical,this._scale=1,this._panOffset=new o.Vector3,this._rotateStart=new o.Vector2,this._rotateEnd=new o.Vector2,this._rotateDelta=new o.Vector2,this._panStart=new o.Vector2,this._panEnd=new o.Vector2,this._panDelta=new o.Vector2,this._dollyStart=new o.Vector2,this._dollyEnd=new o.Vector2,this._dollyDelta=new o.Vector2,this._dollyDirection=new o.Vector3,this._mouse=new o.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Bt.bind(this),this._onPointerDown=wt.bind(this),this._onPointerUp=vt.bind(this),this._onContextMenu=kt.bind(this),this._onMouseWheel=Dt.bind(this),this._onKeyDown=Tt.bind(this),this._onTouchStart=Vt.bind(this),this._onTouchMove=St.bind(this),this._onMouseDown=Rt.bind(this),this._onMouseMove=xt.bind(this),this._interceptControlDown=Ct.bind(this),this._interceptControlUp=At.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(ut),this.update(),this.state=y.NONE}update(t=null){const n=this.object.position;S.copy(n).sub(this.target),S.applyQuaternion(this._quat),this._spherical.setFromVector3(S),this.autoRotate&&this.state===y.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 s=this.minAzimuthAngle,c=this.maxAzimuthAngle;isFinite(s)&&isFinite(c)&&(s<-Math.PI?s+=H:s>Math.PI&&(s-=H),c<-Math.PI?c+=H:c>Math.PI&&(c-=H),s<=c?this._spherical.theta=Math.max(s,Math.min(c,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(s+c)/2?Math.max(s,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 J=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const m=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),J=m!=this._spherical.radius}if(S.setFromSpherical(this._spherical),S.applyQuaternion(this._quatInverse),n.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){let m=null;if(this.object.isPerspectiveCamera){const l=S.length();m=this._clampDistance(l*this._scale);const G=l-m;this.object.position.addScaledVector(this._dollyDirection,G),this.object.updateMatrixWorld(),J=!!G}else if(this.object.isOrthographicCamera){const l=new o.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const G=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),J=G!==this.object.zoom;const M=new o.Vector3(this._mouse.x,this._mouse.y,0);M.unproject(this.object),this.object.position.sub(M).add(l),this.object.updateMatrixWorld(),m=S.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;m!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(m).add(this.object.position):(lt.origin.copy(this.object.position),lt.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(lt.direction))<Mt?this.object.lookAt(this.target):(pt.setFromNormalAndCoplanarPoint(this.object.up,this.target),lt.intersectPlane(pt,this.target))))}else if(this.object.isOrthographicCamera){const m=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),m!==this.object.zoom&&(this.object.updateProjectionMatrix(),J=!0)}return this._scale=1,this._performCursorZoom=!1,J||this._lastPosition.distanceToSquared(this.object.position)>_t||8*(1-this._lastQuaternion.dot(this.object.quaternion))>_t||this._lastTargetPosition.distanceToSquared(this.target)>_t?(this.dispatchEvent(ut),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?H/60*this.autoRotateSpeed*t:H/60/60*this.autoRotateSpeed}_getZoomScale(t){const n=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*n)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,n){S.setFromMatrixColumn(n,0),S.multiplyScalar(-t),this._panOffset.add(S)}_panUp(t,n){this.screenSpacePanning===!0?S.setFromMatrixColumn(n,1):(S.setFromMatrixColumn(n,0),S.crossVectors(this.object.up,S)),S.multiplyScalar(t),this._panOffset.add(S)}_pan(t,n){const s=this.domElement;if(this.object.isPerspectiveCamera){const c=this.object.position;S.copy(c).sub(this.target);let J=S.length();J*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*J/s.clientHeight,this.object.matrix),this._panUp(2*n*J/s.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/s.clientWidth,this.object.matrix),this._panUp(n*(this.object.top-this.object.bottom)/this.object.zoom/s.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,n){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const s=this.domElement.getBoundingClientRect(),c=t-s.left,J=n-s.top,m=s.width,l=s.height;this._mouse.x=c/m*2-1,this._mouse.y=-(J/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 n=this.domElement;this._rotateLeft(H*this._rotateDelta.x/n.clientHeight),this._rotateUp(H*this._rotateDelta.y/n.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 n=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),n=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),n=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),n=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-H*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),n=!0;break}n&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),c=.5*(t.pageY+n.y);this._rotateStart.set(s,c)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),c=.5*(t.pageY+n.y);this._panStart.set(s,c)}}_handleTouchStartDolly(t){const n=this._getSecondPointerPosition(t),s=t.pageX-n.x,c=t.pageY-n.y,J=Math.sqrt(s*s+c*c);this._dollyStart.set(0,J)}_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 s=this._getSecondPointerPosition(t),c=.5*(t.pageX+s.x),J=.5*(t.pageY+s.y);this._rotateEnd.set(c,J)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const n=this.domElement;this._rotateLeft(H*this._rotateDelta.x/n.clientHeight),this._rotateUp(H*this._rotateDelta.y/n.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),c=.5*(t.pageY+n.y);this._panEnd.set(s,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 n=this._getSecondPointerPosition(t),s=t.pageX-n.x,c=t.pageY-n.y,J=Math.sqrt(s*s+c*c);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);const m=(t.pageX+n.x)*.5,l=(t.pageY+n.y)*.5;this._updateZoomParameters(m,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 n=0;n<this._pointers.length;n++)if(this._pointers[n]==t.pointerId){this._pointers.splice(n,1);return}}_isTrackingPointer(t){for(let n=0;n<this._pointers.length;n++)if(this._pointers[n]==t.pointerId)return!0;return!1}_trackPointer(t){let n=this._pointerPositions[t.pointerId];n===void 0&&(n=new o.Vector2,this._pointerPositions[t.pointerId]=n),n.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const n=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[n]}_customWheelEvent(t){const n=t.deltaMode,s={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(n){case 1:s.deltaY*=16;break;case 2:s.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(s.deltaY*=10),s}}function wt(r){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(r.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(r)&&(this._addPointer(r),r.pointerType==="touch"?this._onTouchStart(r):this._onMouseDown(r)))}function Bt(r){this.enabled!==!1&&(r.pointerType==="touch"?this._onTouchMove(r):this._onMouseMove(r))}function vt(r){switch(this._removePointer(r),this._pointers.length){case 0:this.domElement.releasePointerCapture(r.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(Gt),this.state=y.NONE;break;case 1:const t=this._pointers[0],n=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:n.x,pageY:n.y});break}}function Rt(r){let t;switch(r.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 o.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(r),this.state=y.DOLLY;break;case o.MOUSE.ROTATE:if(r.ctrlKey||r.metaKey||r.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(r),this.state=y.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(r),this.state=y.ROTATE}break;case o.MOUSE.PAN:if(r.ctrlKey||r.metaKey||r.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(r),this.state=y.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(r),this.state=y.PAN}break;default:this.state=y.NONE}this.state!==y.NONE&&this.dispatchEvent(Pt)}function xt(r){switch(this.state){case y.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(r);break;case y.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(r);break;case y.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(r);break}}function Dt(r){this.enabled===!1||this.enableZoom===!1||this.state!==y.NONE||(r.preventDefault(),this.dispatchEvent(Pt),this._handleMouseWheel(this._customWheelEvent(r)),this.dispatchEvent(Gt))}function Tt(r){this.enabled!==!1&&this._handleKeyDown(r)}function Vt(r){switch(this._trackPointer(r),this._pointers.length){case 1:switch(this.touches.ONE){case o.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(r),this.state=y.TOUCH_ROTATE;break;case o.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(r),this.state=y.TOUCH_PAN;break;default:this.state=y.NONE}break;case 2:switch(this.touches.TWO){case o.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(r),this.state=y.TOUCH_DOLLY_PAN;break;case o.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(r),this.state=y.TOUCH_DOLLY_ROTATE;break;default:this.state=y.NONE}break;default:this.state=y.NONE}this.state!==y.NONE&&this.dispatchEvent(Pt)}function St(r){switch(this._trackPointer(r),this.state){case y.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(r),this.update();break;case y.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(r),this.update();break;case y.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(r),this.update();break;case y.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(r),this.update();break;default:this.state=y.NONE}}function kt(r){this.enabled!==!1&&r.preventDefault()}function Ct(r){r.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function At(r){r.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Ot(r){let t=null,n=null,s=null,c=null,J=null,m=null,l=null,G=null;const M=e.ref([]),O=e.ref(new o.Vector3),j=e.ref(new o.Vector3),C=()=>{if(!r.value)return;t=new o.Scene,t.background=new o.Color(15790320);const i=r.value;n=new o.PerspectiveCamera(75,i.clientWidth/i.clientHeight,.1,1e4),n.position.set(8,-8,6),n.up.set(0,0,1),n.lookAt(0,0,0),s=new o.WebGLRenderer({antialias:!0,alpha:!0}),s.setSize(i.clientWidth,i.clientHeight),s.localClippingEnabled=!0,s.shadowMap.enabled=!0,s.shadowMap.type=o.PCFSoftShadowMap,s.toneMapping=o.ACESFilmicToneMapping,s.toneMappingExposure=1,s.outputColorSpace=o.SRGBColorSpace,i.appendChild(s.domElement),c=new Et(n,s.domElement),c.enableDamping=!0,c.dampingFactor=.05,c.mouseButtons={LEFT:o.MOUSE.ROTATE,MIDDLE:o.MOUSE.PAN,RIGHT:null},c.panSpeed=.7,J=new o.Xe(n,s,{container:i,type:"cube",placement:"bottom-left",offset:{left:260,bottom:22},background:{color:"#D1D1D1",opacity:1},front:{label:"Top"},bottom:{label:"Front"},left:{label:"Left"},right:{label:"Right"},top:{label:"Back"},back:{label:"Bottom"}}),J.attachControls(c),w(),h()},I=(i,a)=>{l&&(t.remove(l),l.dispose()),G&&(t.remove(G),G.geometry.dispose(),G.material.dispose());const d=Math.min(Math.max(Math.floor(i/20),30),40);l=new o.GridHelper(i,d,13421772,14540253),l.rotateX(Math.PI/2),l.position.copy(a),t.add(l);const p=new o.PlaneGeometry(i,i),P=new o.ShadowMaterial({opacity:.3,color:0});G=new o.Mesh(p,P),G.position.copy(a),G.position.z-=.01,G.receiveShadow=!0,t.add(G)},N=()=>{if(M.value.length===0)return;const i=new o.Box3;M.value.forEach(R=>{i.expandByObject(R)});const a=i.getSize(new o.Vector3),d=i.getCenter(new o.Vector3),p=Math.max(a.x,a.y,a.z),P=Math.max(p*8,50),b=new o.Vector3(d.x,d.y,i.min.z);I(P,b)},w=()=>{const i=new o.AmbientLight(4210752,.6);t.add(i);const a=new o.DirectionalLight(16777215,2);a.position.set(10,10,8),a.castShadow=!0,a.shadow.mapSize.width=4096,a.shadow.mapSize.height=4096,a.shadow.camera.near=.5,a.shadow.camera.far=50,a.shadow.camera.left=-50,a.shadow.camera.right=50,a.shadow.camera.top=50,a.shadow.camera.bottom=-50,t.add(a);const d=new o.DirectionalLight(16777215,.8);d.position.set(-8,-8,6),t.add(d);const p=new o.DirectionalLight(16777215,.6);p.position.set(0,-15,2),t.add(p);const P=new o.HemisphereLight(16777215,4473924,.8);t.add(P);const b=new o.PointLight(16777215,1,50);b.position.set(15,15,15),t.add(b);const R=new o.PointLight(16777215,.5,50);R.position.set(-15,-15,15),t.add(R)},h=()=>{m=requestAnimationFrame(h),c&&c.update(),s&&t&&n&&s.render(t,n),J&&J.render()},u=i=>{["map","normalMap","bumpMap","roughnessMap","metalnessMap","emissiveMap","specularMap","envMap","lightMap","aoMap","displacementMap"].forEach(d=>{i[d]&&i[d].dispose&&i[d].dispose()}),i.dispose&&i.dispose()},f=i=>{i==null||i.traverse(a=>{a.geometry&&a.geometry.dispose(),a.material&&(Array.isArray(a.material)?a.material.forEach(d=>{u(d)}):u(a.material))})};return{currentModels:M,initialCameraPosition:O,initialTargetPosition:j,initThreeJS:C,handleResize:()=>{if(!r.value||!n||!s||!J)return;const i=r.value,a=i.clientWidth,d=i.clientHeight;n.aspect=a/d,n.updateProjectionMatrix(),s.setSize(a,d),J.update()},fitCameraToAllModels:()=>{if(!n||!c||M.value.length===0)return;const i=new o.Box3;M.value.forEach(R=>{i.expandByObject(R)});const a=i.getSize(new o.Vector3),d=i.getCenter(new o.Vector3),P=Math.max(a.x,a.y,a.z)*.8,b=new o.Vector3(d.x+P,d.y-P,d.z+P);n.position.copy(b),n.lookAt(d),c.target.copy(d),c.update(),O.value.copy(b),j.value.copy(d),N()},getThreeJSObjects:()=>({scene:t,camera:n,renderer:s,controls:c,gizmo:J}),clearAllModels:()=>{if(!t)return;M.value.forEach(a=>{t.remove(a),f(a)});const i=[];t.children.forEach(a=>{!a.isLight&&!a.isCamera&&a.type!=="GridHelper"&&a!==G&&i.push(a)}),i.forEach(a=>{t.remove(a),f(a)}),M.value=[],N()},cleanup:()=>{m&&cancelAnimationFrame(m),l&&l.dispose(),G&&(G.geometry.dispose(),G.material.dispose()),s&&s.dispose(),c&&c.dispose(),J&&J.dispose()},updateGridForModels:N}}function Nt(r,t){const n=e.ref(!1);let s=null,c=12700,J=new o.Vector3,m=new o.Vector3,l=new o.Vector3,G=0,M=null;const O=h=>h<.5?4*h*h*h:1-Math.pow(-2*h+2,3)/2,j=h=>{const u=new o.Vector3,f=G*1.2,B=new o.Vector3(l.x+f,l.y,l.z),A=new o.Vector3(l.x,l.y+f,l.z),E=new o.Vector3(l.x,l.y-f,l.z);if(h<=.567){const v=h/.567*Math.PI*2;u.x=l.x+Math.cos(v)*f,u.z=l.z+Math.sin(v)*f,u.y=l.y}else if(h<=.724){const V=(h-.567)/.157,v=O(V);u.lerpVectors(B,A,v)}else if(h<=.881){const V=(h-.724)/.157,i=O(V)*Math.PI;u.x=l.x+Math.sin(i)*f,u.y=l.y+Math.cos(i)*f,u.z=l.z}else{const V=(h-.881)/.119,v=O(V);u.lerpVectors(E,J,v)}return u},C=()=>{const{camera:h,controls:u}=r();if(!h||!u)return;s||(s=Date.now());const f=Date.now()-s,B=Math.min(f/c,1);if(B>=1){N();return}const A=j(B);h.position.copy(A),h.lookAt(l),u.target.copy(l),M=requestAnimationFrame(C)},I=()=>{if(t.value.length===0)return;const{camera:h,controls:u}=r();if(!h||!u)return;J.copy(h.position),m.copy(u.target);const f=new o.Box3;t.value.forEach(a=>{f.expandByObject(a)});const B=f.getSize(new o.Vector3);l=f.getCenter(new o.Vector3),G=Math.max(B.x,B.y,B.z)*1.2;const A=new o.Vector3(l.x+G*1.2,l.y,l.z);u.enabled=!1;const E=h.position.clone(),V=1e3,v=Date.now(),i=()=>{const a=Date.now()-v,d=Math.min(a/V,1),p=O(d);h.position.lerpVectors(E,A,p),h.lookAt(l),u.target.copy(l),d<1?requestAnimationFrame(i):(n.value=!0,s=null,C())};i()},N=()=>{n.value=!1,s=null,M&&(cancelAnimationFrame(M),M=null);const{controls:h}=r();h&&(h.enabled=!0,h.target.copy(m))};return{isAnimating:n,toggleAnimation:()=>{if(n.value){n.value=!1,s=null,M&&(cancelAnimationFrame(M),M=null);const{camera:h,controls:u}=r();if(!h||!u)return;u.enabled=!0;const f=h.position.clone(),B=u.target.clone(),A=1500,E=Date.now(),V=()=>{const v=Date.now()-E,i=Math.min(v/A,1),a=O(i);h.position.lerpVectors(f,J,a),u.target.lerpVectors(B,m,a),i<1&&requestAnimationFrame(V)};V()}else I()},startAnimation:I,stopAnimation:N}}function Lt(r,t){const n=e.ref(!1),s=e.ref("none");let c=[],J=[],m=new o.Box3,l=new o.Vector3;const G=()=>{c=[new o.Plane(new o.Vector3(1,0,0),0),new o.Plane(new o.Vector3(0,1,0),0),new o.Plane(new o.Vector3(0,0,1),0)]},M=()=>{m.makeEmpty(),t.value.forEach(w=>{m.expandByObject(w)}),l=m.getCenter(new o.Vector3)},O=w=>{const h=m.getSize(new o.Vector3);let u,f,B;w==="x"?(u=new o.PlaneGeometry(h.z*1.2,h.y*1.2),f=new o.Vector3(l.x,l.y,l.z),B=new o.Euler(0,Math.PI/2,0)):w==="y"?(u=new o.PlaneGeometry(h.x*1.2,h.z*1.2),f=new o.Vector3(l.x,l.y,l.z),B=new o.Euler(Math.PI/2,0,0)):w==="z"&&(u=new o.PlaneGeometry(h.x*1.2,h.y*1.2),f=new o.Vector3(l.x,l.y,l.z),B=new o.Euler(0,0,0));const A=new o.MeshPhongMaterial({color:8900331,transparent:!0,opacity:.3,side:o.DoubleSide,depthWrite:!1}),E=new o.Mesh(u,A);return E.position.copy(f),E.rotation.copy(B),E},j=()=>{if(C(),I(),s.value==="none")return;M();let w=null;if(s.value==="x"?(c[0].constant=-l.x,w=c[0]):s.value==="y"?(c[1].constant=-l.y,w=c[1]):s.value==="z"&&(c[2].constant=-l.z,w=c[2]),w){t.value.forEach(u=>{u.traverse(f=>{f.isMesh&&f.material&&(Array.isArray(f.material)?f.material.forEach(B=>{B.clippingPlanes=[w]}):f.material.clippingPlanes=[w])})});const{scene:h}=r();if(h){const u=O(s.value);h.add(u),J.push(u)}}},C=()=>{t.value.forEach(w=>{w.traverse(h=>{h.isMesh&&h.material&&(Array.isArray(h.material)?h.material.forEach(u=>{u.clippingPlanes=[]}):h.material.clippingPlanes=[])})})},I=()=>{const{scene:w}=r();w&&J.forEach(h=>{w.remove(h),h.geometry.dispose(),h.material.dispose()}),J=[]};return{isClipping:n,activeClippingAxis:s,toggleClipping:()=>{n.value=!n.value,n.value?(G(),t.value.length>0&&M()):(s.value="none",C(),I())},updateClippingPlanes:j,clearClippingPlanes:C,clearClippingMeshes:I}}const Ht=[{"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}],zt={key:0,class:"jointPanel-container"},jt={class:"panel-actions"},It=["disabled"],Ut={class:"panel-content"},Ft={key:0,class:"joints-list"},Yt={class:"joint-info-row"},Zt={class:"joint-left"},Kt={class:"joint-name"},Xt={class:"joint-range"},qt={class:"joint-type"},Wt={key:0,class:"joint-control-row"},$t={class:"slider-container"},Qt=["min","max","value","onInput","disabled"],te={class:"value-display"},ee={class:"joint-value"},oe={class:"unit"},ne={key:1,class:"empty-state"},ie=1e3,ae={__name:"jointPanel",props:{model:Object,scene:Object},setup(r){const t=r,n=e.ref(!0),s=e.ref([]),c=e.ref(null),J=e.ref(!1),m=e.ref(null),l=Ht;l.length>0&&Object.keys(l[0]);const G=(i,a=!1)=>i==="revolute"?a?Math.PI:-Math.PI:i==="prismatic"?a?1:-1:0,M=i=>{if(!i||!i.joints)return console.warn("URDF模型没有关节信息"),[];const a=[];return Object.keys(i.joints).forEach(d=>{const p=i.joints[d];if(p._jointType==="fixed")return;const P=p.limit?{lower:p.limit.lower??G(p._jointType,!1),upper:p.limit.upper??G(p._jointType,!0)}:{lower:G(p._jointType,!1),upper:G(p._jointType,!0)};a.push({name:d,type:p._jointType||"unknown",limit:P,currentValue:p.angle||0,urdfJoint:p})}),a.sort((d,p)=>d.name.localeCompare(p.name))},O=(i,a)=>{const d=s.value.find(P=>P.name===i);if(!d)return;const p=parseFloat(a);if(d.limit){const P=Math.max(d.limit.lower,Math.min(d.limit.upper,p));d.currentValue=P}else d.currentValue=p;t.model&&t.model.setJointValue?t.model.setJointValue(i,d.currentValue):d.urdfJoint&&d.urdfJoint.setJointValue(d.currentValue)},j=i=>{i&&Object.keys(i).forEach(a=>{const d=i[a],p=s.value.find(P=>P.name===a);p&&(p.currentValue=d,t.model&&t.model.setJointValue?t.model.setJointValue(a,d):p.urdfJoint&&p.urdfJoint.setJointValue(d))})},C=(i,a,d)=>i+(a-i)*d,I=(i,a,d)=>{if(!i||!a)return i||a;const p={};return Object.keys(i).forEach(P=>{const b=i[P],R=a[P];p[P]=C(b,R||b,d)}),p},N=()=>{J.value?h():w()},w=()=>{if(l.length===0){console.warn("没有动画数据");return}J.value=!0;const i=l.length,a=60,d=ie/a;let p=0,P=0;const b=()=>{if(!J.value)return;const R=p/a,X=l[P],U=l[P+1];if(U){const D=I(X,U,R);j(D)}else j(X);if(p++,p>=a&&(p=0,P++,P>=i-1)){h();return}m.value=setTimeout(b,d)};b()},h=()=>{J.value=!1,m.value&&(clearTimeout(m.value),m.value=null)},u=()=>{s.value.forEach(i=>{(i.type==="revolute"||i.type==="prismatic")&&O(i.name,0)})};e.watch(()=>t.model,i=>{i?s.value=M(i):s.value=[]},{immediate:!0});const f=()=>{!t.model||J.value||s.value.forEach(i=>{i.urdfJoint&&i.urdfJoint.angle!==void 0&&(i.currentValue=i.urdfJoint.angle)})},B=()=>{const i=()=>{f(),c.value=requestAnimationFrame(i)};i()},A=()=>{c.value&&(cancelAnimationFrame(c.value),c.value=null)};e.onMounted(()=>{B()}),e.onUnmounted(()=>{A(),h()});const E=(i,a,d,p={})=>{const b={...{segmentDuration:3,position:new o.Vector3(1.128,-.699,.378),tubeSegments:12},...p},R=[...i].reverse().map((T,x,k)=>x===k.length-1?{...T,c:0,r:0}:{...T,c:k[x+1].c,r:k[x+1].r});if(!t.scene)return;const X=(T,x)=>Math.abs(T)*Math.PI*x/180,U=[];for(let T=0;T<R.length;T++){const{y:x,b:k,c:Y,r:F}=R[T];if(U.push({type:"straight",length:x,segmentIndex:T,twist:k}),Y!==0&&F!==0){const W=X(Y,F);U.push({type:"bend",length:W,angle:Y,radius:F,segmentIndex:T})}}const D=(T=[])=>{const x=[];let k=new o.Vector3(0,0,0),Y=new o.Vector3(1,0,0),F=new o.Vector3(0,1,0),W=new o.Vector3(0,0,1);x.push(k.clone());for(let z=0;z<U.length;z++){const L=U[z];if(L.type==="straight"){if(L.twist!==0){const $=L.twist*Math.PI/180,K=new o.Matrix4().makeRotationAxis(F,$);Y.applyMatrix4(K),W.applyMatrix4(K)}const tt=L.length/1e3,et=Math.max(8,Math.floor(L.length*.05));for(let $=1;$<=et;$++){const K=$/et,ot=k.clone().add(F.clone().multiplyScalar(tt*K));x.push(ot)}k.add(F.clone().multiplyScalar(tt))}else if(L.type==="bend"){const tt=T[L.segmentIndex]||0,et=L.angle*Math.PI/180,$=L.radius/1e3;if(tt>0){const K=k.clone().add(Y.clone().multiplyScalar(-$)),ot=Math.max(16,Math.floor(Math.abs(L.angle)/5));for(let dt=1;dt<=ot;dt++){const ft=dt/ot,gt=et*tt*ft,yt=new o.Matrix4().makeRotationAxis(W,gt),Jt=Y.clone().multiplyScalar($);Jt.applyMatrix4(yt);const bt=K.clone().add(Jt);x.push(bt)}const nt=et*tt,it=new o.Matrix4().makeRotationAxis(W,nt),rt=Y.clone().multiplyScalar($);rt.applyMatrix4(it),k=K.clone().add(rt),Y.applyMatrix4(it),F.applyMatrix4(it)}else{const K=L.length/1e3,ot=Math.max(8,Math.floor(L.length*.05));for(let nt=1;nt<=ot;nt++){const it=nt/ot,rt=k.clone().add(F.clone().multiplyScalar(K*it));x.push(rt)}k.add(F.clone().multiplyScalar(K))}}}const ht=new o.CatmullRomCurve3(x);return new o.TubeGeometry(ht,x.length*2,d/1e3,b.tubeSegments,!1)},_=new o.MeshPhongMaterial({color:11119017,shininess:60}),g=R.map(()=>0),ct=D(g),q=new o.Mesh(ct,_);q.position.copy(b.position),t.scene.add(q);const at=R.map((T,x)=>T.c!==0&&T.r!==0?x:-1).filter(T=>T!==-1),Q=[...at].reverse(),st=Date.now(),Z=()=>{const x=(Date.now()-st)/1e3,k=Math.min(Math.floor(x/b.segmentDuration),Q.length),Y=x%b.segmentDuration,F=Math.min(Y/b.segmentDuration,1),W=[...Array(R.length)].map(()=>0);for(let z=0;z<k;z++)W[Q[z]]=1;k<Q.length&&(W[Q[k]]=F);try{const z=D(W);q.geometry.dispose(),q.geometry=z}catch(z){console.error("更新几何体失败:",z)}const ht=Q.length*b.segmentDuration;if(x<ht)requestAnimationFrame(Z);else{const z=[...Array(R.length)].map((tt,et)=>at.includes(et)?1:0),L=D(z);q.geometry.dispose(),q.geometry=L}};return Z(),q},V=()=>{if(!t.scene)return;const i=[];t.scene.traverse(a=>{a.isMesh&&a.geometry&&a.geometry.type==="TubeGeometry"&&i.push(a)}),i.forEach(a=>{a.geometry.dispose(),a.material&&a.material.dispose(),t.scene.remove(a)})},v=()=>{V(),E([{y:88.61,b:0,c:90,r:8},{y:54.29,b:-90,c:90,r:8},{y:460.1,b:180,c:90,r:8},{y:48.95,b:-90,c:90,r:8},{y:27,b:0,c:0,r:0}],729,3.17,{segmentDuration:3,position:new o.Vector3(1.128,-.699,.378)})};return(i,a)=>{const d=e.resolveComponent("el-scrollbar"),p=e.resolveComponent("el-collapse-transition");return r.model?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",{class:"panel-header",onClick:a[0]||(a[0]=P=>n.value=!n.value)},a[1]||(a[1]=[e.createElementVNode("h3",null,"关节控制面板",-1)])),e.createVNode(p,null,{default:e.withCtx(()=>[e.withDirectives(e.createVNode(d,{"max-height":"650px"},{default:e.withCtx(()=>[e.createElementVNode("div",jt,[e.createElementVNode("button",{onClick:N,class:"animate-btn"},e.toDisplayString(J.value?"停止动画":"开始动画"),1),e.createElementVNode("button",{onClick:u,disabled:J.value},"重置所有关节",8,It),e.createElementVNode("button",{onClick:v},"弯管"),e.createElementVNode("button",{onClick:V},"清理管子")]),e.createElementVNode("div",Ut,[s.value.length>0?(e.openBlock(),e.createElementBlock("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,P=>{var b,R,X,U;return e.openBlock(),e.createElementBlock("div",{key:P.name,class:"joint-item"},[e.createElementVNode("div",Yt,[e.createElementVNode("div",Zt,[e.createElementVNode("span",Kt,e.toDisplayString(P.name),1),e.createElementVNode("span",Xt," ["+e.toDisplayString(((b=P.limit)==null?void 0:b.lower.toFixed(2))??(P.type==="revolute"?"-3.14":"-1.00"))+", "+e.toDisplayString(((R=P.limit)==null?void 0:R.upper.toFixed(2))??(P.type==="revolute"?"3.14":"1.00"))+"] ",1)]),e.createElementVNode("span",qt,e.toDisplayString(P.type),1)]),P.type==="revolute"||P.type==="prismatic"?(e.openBlock(),e.createElementBlock("div",Wt,[e.createElementVNode("div",$t,[e.createElementVNode("input",{type:"range",min:((X=P.limit)==null?void 0:X.lower)??(P.type==="revolute"?-Math.PI:-1),max:((U=P.limit)==null?void 0:U.upper)??(P.type==="revolute"?Math.PI:1),step:.01,value:P.currentValue,onInput:D=>O(P.name,D.target.value),class:"joint-slider",disabled:J.value},null,40,Qt)]),e.createElementVNode("div",te,[e.createElementVNode("span",ee,e.toDisplayString(P.currentValue.toFixed(3)),1),e.createElementVNode("span",oe,e.toDisplayString(P.type==="revolute"?"rad":"m"),1)])])):e.createCommentVNode("",!0)])}),128))])):(e.openBlock(),e.createElementBlock("div",ne,a[2]||(a[2]=[e.createElementVNode("p",null,"未检测到可控制的关节",-1)])))])]),_:1},512),[[e.vShow,n.value]])]),_:1})])):e.createCommentVNode("",!0)}}},se=mt._export_sfc(ae,[["__scopeId","data-v-b1427bf7"]]),re={class:"obj-viewer-container"},le={class:"floating-controls"},ce=["disabled"],he=["disabled","title"],de={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_e={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Pe=["disabled"],Je=["title"],ue={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},pe={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},me={key:1,class:"clipping-panel"},Ge={class:"panel-content"},fe={class:"radio-group"},ge={class:"radio-label"},ye={class:"radio-label"},be={class:"radio-label"},Me={class:"radio-label"},Ee={key:2,class:"loading-overlay"},we={__name:"threeModel",setup(r,{expose:t}){let n=null;const s=e.ref(null),c=e.ref(!1),J=e.ref(""),m=e.ref(!1),l=e.ref(!1),{currentModels:G,initialCameraPosition:M,initialTargetPosition:O,initThreeJS:j,handleResize:C,fitCameraToAllModels:I,getThreeJSObjects:N,clearAllModels:w,cleanup:h}=Ot(s),{isAnimating:u,toggleAnimation:f,stopAnimation:B}=Nt(N,G),{isClipping:A,activeClippingAxis:E,toggleClipping:V,updateClippingPlanes:v}=Lt(N,G),{addModelsFromUrls:i,loadModelByDefaultPath:a,urdfModel:d}=o.useModelLoader(N,G,c,J,w),p=()=>{if(l.value||G.value.length===0)return;l.value=!0,u.value&&B();const{camera:D,controls:_}=N();if(!D||!_)return;_.enabled=!0;const g=Z=>Z<.5?4*Z*Z*Z:1-Math.pow(-2*Z+2,3)/2,ct=D.position.clone(),q=_.target.clone(),at=1500,Q=Date.now(),st=()=>{const Z=Date.now()-Q,T=Math.min(Z/at,1),x=g(T);D.position.lerpVectors(ct,M.value,x),_.target.lerpVectors(q,O.value,x),T<1?requestAnimationFrame(st):l.value=!1};st()},P=()=>{document.fullscreenElement?document.exitFullscreen().then(()=>{m.value=!1,e.nextTick(()=>{C()})}).catch(D=>{console.error("无法退出全屏:",D)}):s.value.requestFullscreen().then(()=>{m.value=!0,e.nextTick(()=>{C()})}).catch(D=>{console.error("无法进入全屏:",D)})},b=()=>{m.value=!!document.fullscreenElement,m.value||e.nextTick(()=>{C()})},R=async(D,_)=>{try{u.value&&B(),A.value&&V();const g=await _(D);return I(),g}catch(g){throw console.error("加载模型失败:",g),g}},X=async D=>R(D,i),U=async D=>R(D,a);return e.onMounted(async()=>{await e.nextTick(),j(),n=N().scene,window.addEventListener("resize",C),document.addEventListener("fullscreenchange",b)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",C),document.removeEventListener("fullscreenchange",b),u.value&&B(),h()}),t({addModelsFromUrls:X,loadModelByDefaultPath:U,initThreeJS:j}),(D,_)=>(e.openBlock(),e.createElementBlock("div",re,[e.unref(d)?(e.openBlock(),e.createBlock(se,{key:0,model:e.unref(d),scene:e.unref(n)},null,8,["model","scene"])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"threejsContainer",ref:s,class:"threejs-container"},null,512),e.createElementVNode("div",le,[e.createElementVNode("button",{onClick:p,class:e.normalizeClass(["control-btn","reset-btn"]),disabled:c.value||e.unref(G).length===0||l.value,title:"重置"},_[10]||(_[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),e.createElementVNode("polyline",{points:"9,22 9,12 15,12 15,22"})],-1)]),8,ce),e.createElementVNode("button",{onClick:_[0]||(_[0]=(...g)=>e.unref(f)&&e.unref(f)(...g)),class:e.normalizeClass(["control-btn","animation-btn",{active:e.unref(u)}]),disabled:c.value||e.unref(G).length===0,title:e.unref(u)?"停止动画":"动画视图"},[e.unref(u)?(e.openBlock(),e.createElementBlock("svg",_e,_[12]||(_[12]=[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),e.createElementVNode("rect",{x:"9.5",y:"8",width:"2",height:"8",fill:"currentColor"},null,-1),e.createElementVNode("rect",{x:"12.5",y:"8",width:"2",height:"8",fill:"currentColor"},null,-1)]))):(e.openBlock(),e.createElementBlock("svg",de,_[11]||(_[11]=[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),e.createElementVNode("polygon",{points:"10,8 16,12 10,16",fill:"currentColor"},null,-1)])))],10,he),e.createElementVNode("button",{onClick:_[1]||(_[1]=(...g)=>e.unref(V)&&e.unref(V)(...g)),class:e.normalizeClass(["control-btn","clipping-btn",{active:e.unref(A)}]),disabled:c.value||e.unref(G).length===0,title:"剖面视图"},_[13]||(_[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("rect",{x:"3",y:"3",width:"18",height:"18"}),e.createElementVNode("line",{x1:"-14",y1:"12",x2:"30",y2:"12","stroke-dasharray":"4,2"})],-1)]),10,Pe),e.createElementVNode("button",{onClick:P,class:e.normalizeClass(["control-btn","fullscreen-btn"]),title:m.value?"退出全屏":"全屏"},[m.value?(e.openBlock(),e.createElementBlock("svg",pe,_[15]||(_[15]=[e.createElementVNode("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)]))):(e.openBlock(),e.createElementBlock("svg",ue,_[14]||(_[14]=[e.createElementVNode("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])))],8,Je)]),e.unref(A)?(e.openBlock(),e.createElementBlock("div",me,[e.createElementVNode("div",Ge,[e.createElementVNode("div",fe,[e.createElementVNode("label",ge,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":_[2]||(_[2]=g=>e.isRef(E)?E.value=g:null),onChange:_[3]||(_[3]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[16]||(_[16]=e.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),e.createElementVNode("label",ye,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":_[4]||(_[4]=g=>e.isRef(E)?E.value=g:null),onChange:_[5]||(_[5]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[17]||(_[17]=e.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),e.createElementVNode("label",be,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":_[6]||(_[6]=g=>e.isRef(E)?E.value=g:null),onChange:_[7]||(_[7]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[18]||(_[18]=e.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),e.createElementVNode("label",Me,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":_[8]||(_[8]=g=>e.isRef(E)?E.value=g:null),onChange:_[9]||(_[9]=(...g)=>e.unref(v)&&e.unref(v)(...g))},null,544),[[e.vModelRadio,e.unref(E)]]),_[19]||(_[19]=e.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("div",Ee,[_[20]||(_[20]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(J.value),1)])):e.createCommentVNode("",!0)]))}},Be=mt._export_sfc(we,[["__scopeId","data-v-28fc9fe5"]]);exports.default=Be;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const Lh=require("./index-
|
|
1
|
+
"use strict";const Lh=require("./index-BszUQuvL.cjs"),rs=require("./menu-B-Z5KAh5.cjs"),Dh=require("vue"),Fu=rs.defineStore("modelComp",{state:()=>({itemData:[],originalData:[],extraContents:[],nodeDev:"",isEdit:"view",isRefreshCurStructure:!1,isSubmitCurStructure:!1,curStructureCompIds:[],systemPath:"",freshContent:!1,routeToChildPath:""}),actions:{setItemData(s){this.itemData=s},setFreshContent(s){this.freshContent=s},setRouteToChildPath(s){this.routeToChildPath=s},setSubmitCurStructure(s){this.isSubmitCurStructure=s},setCurStructureCompIds(s){this.curStructureCompIds=s},setRefreshCurStructure(s){this.isRefreshCurStructure=s},setOriginalData(s){this.originalData=s},setExtraContents(s){this.extraContents=s},setNodeDev(s){this.nodeDev=s},setIsEdit(s){this.isEdit=s},setSystemPath(s){this.systemPath=s}}});/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2010-2025 Three.js Authors
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as bh } from "./index-
|
|
2
|
-
import { f as Eh, b as So, s as wh, p as Th } from "./menu-
|
|
1
|
+
import { d as bh } from "./index-DoIHM98M.js";
|
|
2
|
+
import { f as Eh, b as So, s as wh, p as Th } from "./menu-D9x5_s9p.js";
|
|
3
3
|
import { ref as Ah } from "vue";
|
|
4
4
|
const Rh = Eh("modelComp", {
|
|
5
5
|
state: () => ({
|
package/package.json
CHANGED
package/dist/index-b6dDRbJK.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");require("./index-Bk37DuoM.cjs");require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-0DUFsOev.cjs");require("./menu-Bj4qq0KK.cjs");const r=require("./index-Dgf9fuDm.cjs"),n=require("./index-BjaVXOv5.cjs"),a=require("./index-JaxYzGiv.cjs"),i={class:"role-wrapper"},o=e.defineComponent({__name:"index",setup(c){const t=e.reactive({...n.State});return e.onMounted(async()=>{t.structureId=await a.getActivePageStructureId()}),(u,s)=>(e.openBlock(),e.createElementBlock("div",i,[e.createVNode(r.ssTable,{itemData:t.pageData,onChange:t.handleItemDataChange},null,8,["itemData","onChange"])]))}});exports.default=o;
|