ss-component-new 1.1.290 → 1.1.310
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-D339uZXb.js → array-CFIAOkpU.js} +2 -2
- package/dist/{array-AtQFJ2vI.cjs → array-Dp3mG6qP.cjs} +1 -1
- package/dist/{cloneDeep-CQWIrbqu.js → cloneDeep-BC6hApUL.js} +1 -1
- package/dist/{cloneDeep-Cy5gcH4s.cjs → cloneDeep-Dqfzct8G.cjs} +1 -1
- package/dist/{index-3kKzSjZ0.cjs → index-563TMWMC.cjs} +1 -1
- package/dist/{index-B8ZxJexC.cjs → index-5W3FYly6.cjs} +1 -1
- package/dist/{index-C2MFTfzW.js → index-6DprAE2h.js} +6 -6
- package/dist/{index-DXwKNWWk.cjs → index-B0WB2KTa.cjs} +1 -1
- package/dist/{index-cShxcVK6.js → index-B1nJ-Z39.js} +3 -3
- package/dist/{index-DnMhJfWN.js → index-B2-tbMJV.js} +4 -4
- package/dist/{index-CKju-MUG.cjs → index-BPoaubFA.cjs} +1 -1
- package/dist/{index-Bn4_BTJF.cjs → index-BRebILsV.cjs} +1 -1
- package/dist/{index-CtaOQXvX.cjs → index-BTnKTcJy.cjs} +1 -1
- package/dist/{index-BeqtgUA4.cjs → index-BUzuQGku.cjs} +1 -1
- package/dist/{index-Cv_BJkoF.js → index-BiA96Te2.js} +4 -4
- package/dist/{index-Qu4zMvbx.cjs → index-BlnkYO02.cjs} +1 -1
- package/dist/{index-CMclZit7.js → index-BqyjHr9C.js} +4 -4
- package/dist/{index-D07AfqMk.js → index-BsoflaB1.js} +3 -3
- package/dist/{index-BHcmcUsH.cjs → index-C098N8un.cjs} +1 -1
- package/dist/{index-D2t0GHuc.js → index-C4Sp8WeM.js} +4 -4
- package/dist/{index-Dv507uaz.cjs → index-CG7LSylY.cjs} +1 -1
- package/dist/{index-BBlUzqj4.cjs → index-CKbCejX8.cjs} +1 -1
- package/dist/{index-B5ot2AKt.cjs → index-CMhrZyHq.cjs} +1 -1
- package/dist/{index-DawWVxkB.js → index-CND4bAN1.js} +6 -6
- package/dist/{index-IjvmSCm2.js → index-COWtJfBt.js} +5 -5
- package/dist/{index-BsbrUEYh.js → index-CSMb6JUa.js} +9 -9
- package/dist/{index-YooFxY8Y.cjs → index-Cb4nldBH.cjs} +1 -1
- package/dist/{index-D9po9WOs.js → index-Cd3MpYaF.js} +8 -8
- package/dist/{index-BeriQ3fM.js → index-CeIsvjm_.js} +8 -8
- package/dist/{index-C7NJ9nFX.cjs → index-Cehda098.cjs} +1 -1
- package/dist/{index-DxO-iCvu.js → index-CfUQUcR0.js} +1 -1
- package/dist/{index-CmYcmqtc.cjs → index-Ci-roF0f.cjs} +1 -1
- package/dist/{index-Bzym-5H_.cjs → index-CqoO4f6W.cjs} +1 -1
- package/dist/{index-BQZDQO_i.js → index-CxHjQMe7.js} +5 -5
- package/dist/{index-4RyZMkSe.js → index-Cykuj77e.js} +7 -7
- package/dist/{index-BQDIPZDa.js → index-D25w_LCd.js} +4 -4
- package/dist/{index-BEGBgo_B.js → index-D4-10GVB.js} +5 -5
- package/dist/{index-DNNd6eR_.cjs → index-DA3Sh1Tz.cjs} +1 -1
- package/dist/{index-gNi9T_lb.cjs → index-DCCRnjTu.cjs} +1 -1
- package/dist/{index-CrrFhzv_.js → index-DE3uvzqv.js} +1 -1
- package/dist/{index-Cp7F_B6D.js → index-DJUjFOtq.js} +3 -3
- package/dist/{index-D5yajhtO.cjs → index-DX-ZG8i5.cjs} +1 -1
- package/dist/{index-BmmcZ2Tp.js → index-DhNtgRPf.js} +1 -1
- package/dist/{index-qs5AhtIZ.js → index-Dj4GAvUp.js} +3 -3
- package/dist/{index-EPYWKP2l.js → index-DjAg2mhq.js} +3 -3
- package/dist/{index-CjMbwBqq.js → index-Dk4rHBYA.js} +1 -1
- package/dist/index-Dl7Iwabv.cjs +9 -0
- package/dist/{index-YGsZEZKX.cjs → index-DpgIfvxQ.cjs} +1 -1
- package/dist/{index-Cnf64BJ6.cjs → index-Dv0cT1Jj.cjs} +1 -1
- package/dist/{index-uDD9_wyq.cjs → index-DzHb-2qg.cjs} +1 -1
- package/dist/{index-CwDWgUj2.js → index-KxCRKhYW.js} +7 -7
- package/dist/{index-DSmuTNGj.cjs → index-Tu-PtE4a.cjs} +1 -1
- package/dist/{index-f7hoVZUM.js → index-epYwDqWZ.js} +5 -5
- package/dist/{index-Cne4xArW.cjs → index-i0BszWbX.cjs} +1 -1
- package/dist/{index-DYiya7rv.js → index-ts5b_rKm.js} +1215 -1216
- package/dist/{index-DjfrBuEe.cjs → index-ukJ-kt4p.cjs} +1 -1
- package/dist/{index.vue_vue_type_script_setup_true_lang-Z3XfdBed.cjs → index.vue_vue_type_script_setup_true_lang-C1lQOWLE.cjs} +1 -1
- package/dist/{index.vue_vue_type_script_setup_true_lang-BZmr7K21.js → index.vue_vue_type_script_setup_true_lang-CApK0j7g.js} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_4bf164f6_lang-trTIwTQe.cjs → index.vue_vue_type_style_index_0_scoped_4bf164f6_lang-CmoZt9g1.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_4bf164f6_lang-D31_EwO5.js → index.vue_vue_type_style_index_0_scoped_4bf164f6_lang-PEeio78T.js} +13 -13
- package/dist/{index.vue_vue_type_style_index_0_scoped_d9b749a8_lang-CIggOAuR.js → index.vue_vue_type_style_index_0_scoped_d9b749a8_lang-DOzj8ZRs.js} +8 -8
- package/dist/{index.vue_vue_type_style_index_0_scoped_d9b749a8_lang-COaR4FnN.cjs → index.vue_vue_type_style_index_0_scoped_d9b749a8_lang-r-NO8sGY.cjs} +1 -1
- package/dist/{login-CmjkXwNQ.cjs → login-BPkLsYkz.cjs} +1 -1
- package/dist/{login-DQiz4jLw.js → login-UhUPZuPH.js} +2 -2
- package/dist/{main-DjwccYLR.cjs → main-BTYMrU5V.cjs} +1 -1
- package/dist/{main-0Gji26N_.js → main-dSK-267_.js} +7 -7
- package/dist/{menu-djOhwwFt.cjs → menu-D1SsYDhc.cjs} +1 -1
- package/dist/{menu-CvBl29K2.js → menu-dd51TtC8.js} +1 -1
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.css +1 -1
- package/dist/ss-component.js +7 -7
- package/dist/ss-component3.cjs +1 -1
- package/dist/ss-component3.js +1 -1
- package/package.json +1 -1
- package/dist/index-CS_8ym5J.cjs +0 -9
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { m as Bn, a as zn, b as Vn } from "./index-
|
|
3
|
-
import Ln from "./index-
|
|
4
|
-
import { p as tt } from "./index-
|
|
5
|
-
import { C as wo, V as
|
|
6
|
-
import { s as et, u as wn, b as ot, g as qo } from "./menu-
|
|
7
|
-
import { u as Yo } from "./index-
|
|
8
|
-
import { o as Rs, c as Ds, a as Fs, b as mn, s as
|
|
1
|
+
import { ref as me, onMounted as gn, nextTick as Qt, onBeforeUnmount as go, createElementBlock as ye, openBlock as le, createElementVNode as Y, createCommentVNode as Be, normalizeClass as en, unref as U, withDirectives as zt, isRef as tn, vModelRadio as nn, toDisplayString as qe, watch as it, Fragment as un, renderList as hn, normalizeStyle as bo, resolveComponent as Pe, resolveDirective as Ts, createBlock as Ie, withCtx as fe, createVNode as ie, createTextVNode as yt, renderSlot as Kt, resolveDynamicComponent as Pn, defineComponent as yo } from "vue";
|
|
2
|
+
import { m as Bn, a as zn, b as Vn } from "./index-CeIsvjm_.js";
|
|
3
|
+
import Ln from "./index-CfUQUcR0.js";
|
|
4
|
+
import { p as tt } from "./index-DE3uvzqv.js";
|
|
5
|
+
import { C as wo, V as ce, M as Ht, T as Vt, Q as pn, S as ls, a as Ge, R as _o, P as an, b as Bt, c as Es, d as wt, e as Sn, W as vo, f as ko, A as xo, g as Oe, X as Co, h as Ns, D as rn, H as Ao, i as Rn, B as Hn, j as xn, k as $e, l as Et, m as Ze, E as ln, L as Wt, F as bn, G as fn, n as $t, o as Ue, p as Gt, q as cs, r as qt, s as Dn, t as cn, v as Gn, w as Ms, x as Yt, y as Nt, z as Ps, I as $n, J as Cn, K as To, N as Eo, O as ut, U as ds, Y as us, Z as No, _ as Mo, $ as Po, a0 as hs, a1 as Lo, a2 as So, a3 as Ro, a4 as Ls, a5 as Do, a6 as ps, a7 as Fo, a8 as fs, a9 as jo, aa as Oo, ab as Io, ac as Uo, ad as Bo, ae as zo, af as Vo, u as yn, ag as Ho, ah as qn, ai as Go, aj as $o, ak as Ss } from "./index-COWtJfBt.js";
|
|
6
|
+
import { s as et, u as wn, b as ot, g as qo } from "./menu-dd51TtC8.js";
|
|
7
|
+
import { u as Yo } from "./index-KxCRKhYW.js";
|
|
8
|
+
import { o as Rs, c as Ds, a as Fs, b as mn, s as We, g as Fn, d as jn, e as On, f as In, _ as Ko, h as Wo, i as Zo } from "./index.vue_vue_type_style_index_0_scoped_4bf164f6_lang-PEeio78T.js";
|
|
9
9
|
import { _ as Pt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
10
|
-
import { i as Xo, e as Jo, b as ms, c as gs, a as Qo } from "./array-
|
|
11
|
-
import { u as js } from "./login-
|
|
10
|
+
import { i as Xo, e as Jo, b as ms, c as gs, a as Qo } from "./array-CFIAOkpU.js";
|
|
11
|
+
import { u as js } from "./login-UhUPZuPH.js";
|
|
12
12
|
import { S as bt } from "./index-BHtNKL1L.js";
|
|
13
|
-
import { E as ei, s as ti } from "./index-
|
|
14
|
-
import { c as Mt } from "./cloneDeep-
|
|
15
|
-
import { d as Un } from "./index-
|
|
16
|
-
import { _ as ni } from "./index-
|
|
17
|
-
const bs = { type: "change" }, Yn = { type: "start" }, Os = { type: "end" }, sn = new _o(), ys = new an(), si = Math.cos(70 * Bt.DEG2RAD), Se = new
|
|
13
|
+
import { E as ei, s as ti } from "./index-CSMb6JUa.js";
|
|
14
|
+
import { c as Mt } from "./cloneDeep-BC6hApUL.js";
|
|
15
|
+
import { d as Un } from "./index-DJUjFOtq.js";
|
|
16
|
+
import { _ as ni } from "./index-BqyjHr9C.js";
|
|
17
|
+
const bs = { type: "change" }, Yn = { type: "start" }, Os = { type: "end" }, sn = new _o(), ys = new an(), si = Math.cos(70 * Bt.DEG2RAD), Se = new ce(), He = 2 * Math.PI, xe = {
|
|
18
18
|
NONE: -1,
|
|
19
19
|
ROTATE: 0,
|
|
20
20
|
DOLLY: 1,
|
|
@@ -32,7 +32,7 @@ class oi extends wo {
|
|
|
32
32
|
* @param {?HTMLDOMElement} domElement - The HTML element used for event listeners.
|
|
33
33
|
*/
|
|
34
34
|
constructor(n, a = null) {
|
|
35
|
-
super(n, a), this.state = xe.NONE, this.target = new
|
|
35
|
+
super(n, a), this.state = xe.NONE, this.target = new ce(), this.cursor = new ce(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: Ht.ROTATE, MIDDLE: Ht.DOLLY, RIGHT: Ht.PAN }, this.touches = { ONE: Vt.ROTATE, TWO: Vt.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new ce(), this._lastQuaternion = new pn(), this._lastTargetPosition = new ce(), this._quat = new pn().setFromUnitVectors(n.up, new ce(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new ls(), this._sphericalDelta = new ls(), this._scale = 1, this._panOffset = new ce(), this._rotateStart = new Ge(), this._rotateEnd = new Ge(), this._rotateDelta = new Ge(), this._panStart = new Ge(), this._panEnd = new Ge(), this._panDelta = new Ge(), this._dollyStart = new Ge(), this._dollyEnd = new Ge(), this._dollyDelta = new Ge(), this._dollyDirection = new ce(), this._mouse = new Ge(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = ai.bind(this), this._onPointerDown = ii.bind(this), this._onPointerUp = ri.bind(this), this._onContextMenu = fi.bind(this), this._onMouseWheel = di.bind(this), this._onKeyDown = ui.bind(this), this._onTouchStart = hi.bind(this), this._onTouchMove = pi.bind(this), this._onMouseDown = li.bind(this), this._onMouseMove = ci.bind(this), this._interceptControlDown = mi.bind(this), this._interceptControlUp = gi.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
|
|
36
36
|
}
|
|
37
37
|
connect(n) {
|
|
38
38
|
super.connect(n), 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";
|
|
@@ -99,7 +99,7 @@ class oi extends wo {
|
|
|
99
99
|
const a = this.object.position;
|
|
100
100
|
Se.copy(a).sub(this.target), Se.applyQuaternion(this._quat), this._spherical.setFromVector3(Se), this.autoRotate && this.state === xe.NONE && this._rotateLeft(this._getAutoRotationAngle(n)), 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);
|
|
101
101
|
let r = this.minAzimuthAngle, c = this.maxAzimuthAngle;
|
|
102
|
-
isFinite(r) && isFinite(c) && (r < -Math.PI ? r +=
|
|
102
|
+
isFinite(r) && isFinite(c) && (r < -Math.PI ? r += He : r > Math.PI && (r -= He), c < -Math.PI ? c += He : c > Math.PI && (c -= He), r <= c ? this._spherical.theta = Math.max(r, Math.min(c, this._spherical.theta)) : this._spherical.theta = this._spherical.theta > (r + c) / 2 ? Math.max(r, 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);
|
|
103
103
|
let l = !1;
|
|
104
104
|
if (this.zoomToCursor && this._performCursorZoom || this.object.isOrthographicCamera)
|
|
105
105
|
this._spherical.radius = this._clampDistance(this._spherical.radius);
|
|
@@ -115,11 +115,11 @@ class oi extends wo {
|
|
|
115
115
|
const b = u - y;
|
|
116
116
|
this.object.position.addScaledVector(this._dollyDirection, b), this.object.updateMatrixWorld(), l = !!b;
|
|
117
117
|
} else if (this.object.isOrthographicCamera) {
|
|
118
|
-
const u = new
|
|
118
|
+
const u = new ce(this._mouse.x, this._mouse.y, 0);
|
|
119
119
|
u.unproject(this.object);
|
|
120
120
|
const b = this.object.zoom;
|
|
121
121
|
this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), this.object.updateProjectionMatrix(), l = b !== this.object.zoom;
|
|
122
|
-
const g = new
|
|
122
|
+
const g = new ce(this._mouse.x, this._mouse.y, 0);
|
|
123
123
|
g.unproject(this.object), this.object.position.sub(g).add(u), this.object.updateMatrixWorld(), y = Se.length();
|
|
124
124
|
} else
|
|
125
125
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
|
|
@@ -131,7 +131,7 @@ class oi extends wo {
|
|
|
131
131
|
return this._scale = 1, this._performCursorZoom = !1, l || this._lastPosition.distanceToSquared(this.object.position) > An || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > An || this._lastTargetPosition.distanceToSquared(this.target) > An ? (this.dispatchEvent(bs), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
|
|
132
132
|
}
|
|
133
133
|
_getAutoRotationAngle(n) {
|
|
134
|
-
return n !== null ?
|
|
134
|
+
return n !== null ? He / 60 * this.autoRotateSpeed * n : He / 60 / 60 * this.autoRotateSpeed;
|
|
135
135
|
}
|
|
136
136
|
_getZoomScale(n) {
|
|
137
137
|
const a = Math.abs(n * 0.01);
|
|
@@ -190,7 +190,7 @@ class oi extends wo {
|
|
|
190
190
|
_handleMouseMoveRotate(n) {
|
|
191
191
|
this._rotateEnd.set(n.clientX, n.clientY), this._rotateDelta.subVectors(this._rotateEnd, this._rotateStart).multiplyScalar(this.rotateSpeed);
|
|
192
192
|
const a = this.domElement;
|
|
193
|
-
this._rotateLeft(
|
|
193
|
+
this._rotateLeft(He * this._rotateDelta.x / a.clientHeight), this._rotateUp(He * this._rotateDelta.y / a.clientHeight), this._rotateStart.copy(this._rotateEnd), this.update();
|
|
194
194
|
}
|
|
195
195
|
_handleMouseMoveDolly(n) {
|
|
196
196
|
this._dollyEnd.set(n.clientX, n.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();
|
|
@@ -205,16 +205,16 @@ class oi extends wo {
|
|
|
205
205
|
let a = !1;
|
|
206
206
|
switch (n.code) {
|
|
207
207
|
case this.keys.UP:
|
|
208
|
-
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateUp(
|
|
208
|
+
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateUp(He * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(0, this.keyPanSpeed), a = !0;
|
|
209
209
|
break;
|
|
210
210
|
case this.keys.BOTTOM:
|
|
211
|
-
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateUp(-
|
|
211
|
+
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateUp(-He * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(0, -this.keyPanSpeed), a = !0;
|
|
212
212
|
break;
|
|
213
213
|
case this.keys.LEFT:
|
|
214
|
-
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateLeft(
|
|
214
|
+
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateLeft(He * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(this.keyPanSpeed, 0), a = !0;
|
|
215
215
|
break;
|
|
216
216
|
case this.keys.RIGHT:
|
|
217
|
-
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateLeft(-
|
|
217
|
+
n.ctrlKey || n.metaKey || n.shiftKey ? this.enableRotate && this._rotateLeft(-He * this.keyRotateSpeed / this.domElement.clientHeight) : this.enablePan && this._pan(-this.keyPanSpeed, 0), a = !0;
|
|
218
218
|
break;
|
|
219
219
|
}
|
|
220
220
|
a && (n.preventDefault(), this.update());
|
|
@@ -254,7 +254,7 @@ class oi extends wo {
|
|
|
254
254
|
}
|
|
255
255
|
this._rotateDelta.subVectors(this._rotateEnd, this._rotateStart).multiplyScalar(this.rotateSpeed);
|
|
256
256
|
const a = this.domElement;
|
|
257
|
-
this._rotateLeft(
|
|
257
|
+
this._rotateLeft(He * this._rotateDelta.x / a.clientHeight), this._rotateUp(He * this._rotateDelta.y / a.clientHeight), this._rotateStart.copy(this._rotateEnd);
|
|
258
258
|
}
|
|
259
259
|
_handleTouchMovePan(n) {
|
|
260
260
|
if (this._pointers.length === 1)
|
|
@@ -296,7 +296,7 @@ class oi extends wo {
|
|
|
296
296
|
}
|
|
297
297
|
_trackPointer(n) {
|
|
298
298
|
let a = this._pointerPositions[n.pointerId];
|
|
299
|
-
a === void 0 && (a = new
|
|
299
|
+
a === void 0 && (a = new Ge(), this._pointerPositions[n.pointerId] = a), a.set(n.pageX, n.pageY);
|
|
300
300
|
}
|
|
301
301
|
_getSecondPointerPosition(n) {
|
|
302
302
|
const a = n.pointerId === this._pointers[0] ? this._pointers[1] : this._pointers[0];
|
|
@@ -470,14 +470,14 @@ function gi(E) {
|
|
|
470
470
|
}
|
|
471
471
|
function bi(E) {
|
|
472
472
|
let n = null, a = null, r = null, c = null, l = null, y = null;
|
|
473
|
-
const u =
|
|
473
|
+
const u = me([]), b = me(new ce()), g = me(new ce()), L = () => {
|
|
474
474
|
if (!E.value) return;
|
|
475
475
|
n = new Es(), n.background = new wt(16777215);
|
|
476
476
|
const C = E.value;
|
|
477
477
|
a = new Sn(75, C.clientWidth / C.clientHeight, 0.1, 1e4), r = new vo({
|
|
478
478
|
antialias: !0,
|
|
479
479
|
alpha: !0
|
|
480
|
-
}), r.setSize(C.clientWidth, C.clientHeight), r.localClippingEnabled = !0, r.shadowMap.enabled = !0, r.shadowMap.type = ko, r.toneMapping = xo, r.toneMappingExposure = 1, r.outputColorSpace =
|
|
480
|
+
}), r.setSize(C.clientWidth, C.clientHeight), r.localClippingEnabled = !0, r.shadowMap.enabled = !0, r.shadowMap.type = ko, r.toneMapping = xo, r.toneMappingExposure = 1, r.outputColorSpace = Oe, C.appendChild(r.domElement), c = new oi(a, r.domElement), c.enableDamping = !0, c.dampingFactor = 0.05, l = new Co(a, r, {
|
|
481
481
|
container: C,
|
|
482
482
|
type: "cube",
|
|
483
483
|
placement: "bottom-left",
|
|
@@ -488,24 +488,24 @@ function bi(E) {
|
|
|
488
488
|
background: {
|
|
489
489
|
color: "#D1D1D1"
|
|
490
490
|
}
|
|
491
|
-
}), l.attachControls(c),
|
|
492
|
-
},
|
|
491
|
+
}), l.attachControls(c), D(), S();
|
|
492
|
+
}, D = () => {
|
|
493
493
|
const C = new Ns(4210752, 0.6);
|
|
494
494
|
n.add(C);
|
|
495
|
-
const
|
|
496
|
-
|
|
495
|
+
const w = new rn(16777215, 2);
|
|
496
|
+
w.position.set(10, 10, 8), w.castShadow = !0, w.shadow.mapSize.width = 2048, w.shadow.mapSize.height = 2048, w.shadow.camera.near = 0.5, w.shadow.camera.far = 50, n.add(w);
|
|
497
497
|
const f = new rn(16777215, 0.8);
|
|
498
498
|
f.position.set(-8, -8, 6), n.add(f);
|
|
499
|
-
const
|
|
500
|
-
|
|
499
|
+
const j = new rn(16777215, 0.6);
|
|
500
|
+
j.position.set(0, -15, 2), n.add(j);
|
|
501
501
|
const T = new Ao(16777215, 4473924, 0.8);
|
|
502
502
|
n.add(T);
|
|
503
503
|
const k = new Rn(16777215, 1, 50);
|
|
504
504
|
k.position.set(15, 15, 15), n.add(k);
|
|
505
505
|
const H = new Rn(16777215, 0.5, 50);
|
|
506
506
|
H.position.set(-15, -15, 15), n.add(H);
|
|
507
|
-
},
|
|
508
|
-
y = requestAnimationFrame(
|
|
507
|
+
}, S = () => {
|
|
508
|
+
y = requestAnimationFrame(S), c && c.update(), r && n && a && r.render(n, a), l && l.render();
|
|
509
509
|
}, A = (C) => {
|
|
510
510
|
[
|
|
511
511
|
"map",
|
|
@@ -522,11 +522,11 @@ function bi(E) {
|
|
|
522
522
|
].forEach((f) => {
|
|
523
523
|
C[f] && C[f].dispose && C[f].dispose();
|
|
524
524
|
}), C.dispose && C.dispose();
|
|
525
|
-
},
|
|
526
|
-
C.traverse((
|
|
527
|
-
|
|
525
|
+
}, R = (C) => {
|
|
526
|
+
C.traverse((w) => {
|
|
527
|
+
w.geometry && w.geometry.dispose(), w.material && (Array.isArray(w.material) ? w.material.forEach((f) => {
|
|
528
528
|
A(f);
|
|
529
|
-
}) : A(
|
|
529
|
+
}) : A(w.material));
|
|
530
530
|
});
|
|
531
531
|
};
|
|
532
532
|
return {
|
|
@@ -535,19 +535,19 @@ function bi(E) {
|
|
|
535
535
|
initialCameraPosition: b,
|
|
536
536
|
initialTargetPosition: g,
|
|
537
537
|
// 方法
|
|
538
|
-
initThreeJS:
|
|
538
|
+
initThreeJS: L,
|
|
539
539
|
handleResize: () => {
|
|
540
540
|
if (!E.value || !a || !r || !l) return;
|
|
541
|
-
const C = E.value,
|
|
542
|
-
a.aspect =
|
|
541
|
+
const C = E.value, w = C.clientWidth, f = C.clientHeight;
|
|
542
|
+
a.aspect = w / f, a.updateProjectionMatrix(), r.setSize(w, f), l.update();
|
|
543
543
|
},
|
|
544
544
|
fitCameraToAllModels: () => {
|
|
545
545
|
if (!a || !c || u.value.length === 0) return;
|
|
546
546
|
const C = new Hn();
|
|
547
|
-
u.value.forEach((
|
|
548
|
-
C.expandByObject(
|
|
547
|
+
u.value.forEach((F) => {
|
|
548
|
+
C.expandByObject(F);
|
|
549
549
|
});
|
|
550
|
-
const
|
|
550
|
+
const w = C.getSize(new ce()), f = C.getCenter(new ce()), T = Math.max(w.x, w.y, w.z) * 0.8, k = new ce(f.x + T, f.y + T, f.z + T), H = f.clone();
|
|
551
551
|
a.position.copy(k), a.lookAt(H), c.target.copy(H), c.update(), b.value.copy(k), g.value.copy(H);
|
|
552
552
|
},
|
|
553
553
|
getThreeJSObjects: () => ({
|
|
@@ -559,14 +559,14 @@ function bi(E) {
|
|
|
559
559
|
}),
|
|
560
560
|
clearAllModels: () => {
|
|
561
561
|
if (!n) return;
|
|
562
|
-
u.value.forEach((
|
|
563
|
-
n.remove(
|
|
562
|
+
u.value.forEach((w) => {
|
|
563
|
+
n.remove(w), R(w);
|
|
564
564
|
});
|
|
565
565
|
const C = [];
|
|
566
|
-
n.children.forEach((
|
|
567
|
-
!
|
|
568
|
-
}), C.forEach((
|
|
569
|
-
n.remove(
|
|
566
|
+
n.children.forEach((w) => {
|
|
567
|
+
!w.isLight && !w.isCamera && C.push(w);
|
|
568
|
+
}), C.forEach((w) => {
|
|
569
|
+
n.remove(w), R(w);
|
|
570
570
|
}), u.value = [];
|
|
571
571
|
},
|
|
572
572
|
cleanup: () => {
|
|
@@ -575,35 +575,35 @@ function bi(E) {
|
|
|
575
575
|
};
|
|
576
576
|
}
|
|
577
577
|
function yi(E, n) {
|
|
578
|
-
const a =
|
|
579
|
-
let r = null, c = 12700, l = new
|
|
580
|
-
const
|
|
581
|
-
const N = new
|
|
578
|
+
const a = me(!1);
|
|
579
|
+
let r = null, c = 12700, l = new ce(), y = new ce(), u = new ce(), b = 0, g = null;
|
|
580
|
+
const L = (p) => p < 0.5 ? 4 * p * p * p : 1 - Math.pow(-2 * p + 2, 3) / 2, D = (p) => {
|
|
581
|
+
const N = new ce(), x = b * 1.2, O = new ce(u.x + x, u.y, u.z), C = new ce(u.x, u.y + x, u.z), w = new ce(u.x, u.y - x, u.z);
|
|
582
582
|
if (p <= 0.567) {
|
|
583
|
-
const
|
|
584
|
-
N.x = u.x + Math.cos(
|
|
583
|
+
const j = p / 0.567 * Math.PI * 2;
|
|
584
|
+
N.x = u.x + Math.cos(j) * x, N.z = u.z + Math.sin(j) * x, N.y = u.y;
|
|
585
585
|
} else if (p <= 0.724) {
|
|
586
|
-
const f = (p - 0.567) / 0.157,
|
|
587
|
-
N.lerpVectors(
|
|
586
|
+
const f = (p - 0.567) / 0.157, j = L(f);
|
|
587
|
+
N.lerpVectors(O, C, j);
|
|
588
588
|
} else if (p <= 0.881) {
|
|
589
|
-
const f = (p - 0.724) / 0.157, T =
|
|
589
|
+
const f = (p - 0.724) / 0.157, T = L(f) * Math.PI;
|
|
590
590
|
N.x = u.x + Math.sin(T) * x, N.y = u.y + Math.cos(T) * x, N.z = u.z;
|
|
591
591
|
} else {
|
|
592
|
-
const f = (p - 0.881) / 0.119,
|
|
593
|
-
N.lerpVectors(
|
|
592
|
+
const f = (p - 0.881) / 0.119, j = L(f);
|
|
593
|
+
N.lerpVectors(w, l, j);
|
|
594
594
|
}
|
|
595
595
|
return N;
|
|
596
|
-
},
|
|
596
|
+
}, S = () => {
|
|
597
597
|
const { camera: p, controls: N } = E();
|
|
598
598
|
if (!p || !N) return;
|
|
599
599
|
r || (r = Date.now());
|
|
600
|
-
const x = Date.now() - r,
|
|
601
|
-
if (
|
|
602
|
-
|
|
600
|
+
const x = Date.now() - r, O = Math.min(x / c, 1);
|
|
601
|
+
if (O >= 1) {
|
|
602
|
+
R();
|
|
603
603
|
return;
|
|
604
604
|
}
|
|
605
|
-
const C =
|
|
606
|
-
p.position.copy(C), p.lookAt(u), N.target.copy(u), g = requestAnimationFrame(
|
|
605
|
+
const C = D(O);
|
|
606
|
+
p.position.copy(C), p.lookAt(u), N.target.copy(u), g = requestAnimationFrame(S);
|
|
607
607
|
}, A = () => {
|
|
608
608
|
if (n.value.length === 0) return;
|
|
609
609
|
const { camera: p, controls: N } = E();
|
|
@@ -613,16 +613,16 @@ function yi(E, n) {
|
|
|
613
613
|
n.value.forEach((k) => {
|
|
614
614
|
x.expandByObject(k);
|
|
615
615
|
});
|
|
616
|
-
const
|
|
617
|
-
u = x.getCenter(new
|
|
618
|
-
const C = new
|
|
616
|
+
const O = x.getSize(new ce());
|
|
617
|
+
u = x.getCenter(new ce()), b = Math.max(O.x, O.y, O.z) * 1.2;
|
|
618
|
+
const C = new ce(u.x + b * 1.2, u.y, u.z);
|
|
619
619
|
N.enabled = !1;
|
|
620
|
-
const
|
|
621
|
-
const k = Date.now() -
|
|
622
|
-
p.position.lerpVectors(
|
|
620
|
+
const w = p.position.clone(), f = 1e3, j = Date.now(), T = () => {
|
|
621
|
+
const k = Date.now() - j, H = Math.min(k / f, 1), F = L(H);
|
|
622
|
+
p.position.lerpVectors(w, C, F), p.lookAt(u), N.target.copy(u), H < 1 ? requestAnimationFrame(T) : (a.value = !0, r = null, S());
|
|
623
623
|
};
|
|
624
624
|
T();
|
|
625
|
-
},
|
|
625
|
+
}, R = () => {
|
|
626
626
|
a.value = !1, r = null, g && (cancelAnimationFrame(g), g = null);
|
|
627
627
|
const { controls: p } = E();
|
|
628
628
|
p && (p.enabled = !0, p.target.copy(y));
|
|
@@ -635,91 +635,91 @@ function yi(E, n) {
|
|
|
635
635
|
const { camera: p, controls: N } = E();
|
|
636
636
|
if (!p || !N) return;
|
|
637
637
|
N.enabled = !0;
|
|
638
|
-
const x = p.position.clone(),
|
|
639
|
-
const
|
|
640
|
-
p.position.lerpVectors(x, l, k), N.target.lerpVectors(
|
|
638
|
+
const x = p.position.clone(), O = N.target.clone(), C = 1500, w = Date.now(), f = () => {
|
|
639
|
+
const j = Date.now() - w, T = Math.min(j / C, 1), k = L(T);
|
|
640
|
+
p.position.lerpVectors(x, l, k), N.target.lerpVectors(O, y, k), T < 1 && requestAnimationFrame(f);
|
|
641
641
|
};
|
|
642
642
|
f();
|
|
643
643
|
} else
|
|
644
644
|
A();
|
|
645
645
|
},
|
|
646
646
|
startAnimation: A,
|
|
647
|
-
stopAnimation:
|
|
647
|
+
stopAnimation: R
|
|
648
648
|
};
|
|
649
649
|
}
|
|
650
650
|
function wi(E, n) {
|
|
651
|
-
const a =
|
|
652
|
-
let c = [], l = [], y = new Hn(), u = new
|
|
651
|
+
const a = me(!1), r = me("none");
|
|
652
|
+
let c = [], l = [], y = new Hn(), u = new ce();
|
|
653
653
|
const b = () => {
|
|
654
654
|
c = [
|
|
655
|
-
new an(new
|
|
655
|
+
new an(new ce(1, 0, 0), 0),
|
|
656
656
|
// X轴平面
|
|
657
|
-
new an(new
|
|
657
|
+
new an(new ce(0, 1, 0), 0),
|
|
658
658
|
// Y轴平面
|
|
659
|
-
new an(new
|
|
659
|
+
new an(new ce(0, 0, 1), 0)
|
|
660
660
|
// Z轴平面
|
|
661
661
|
];
|
|
662
662
|
}, g = () => {
|
|
663
|
-
y.makeEmpty(), n.value.forEach((
|
|
664
|
-
y.expandByObject(
|
|
665
|
-
}), u = y.getCenter(new
|
|
666
|
-
},
|
|
667
|
-
const p = y.getSize(new
|
|
668
|
-
let N, x,
|
|
669
|
-
|
|
670
|
-
const C = new
|
|
663
|
+
y.makeEmpty(), n.value.forEach((v) => {
|
|
664
|
+
y.expandByObject(v);
|
|
665
|
+
}), u = y.getCenter(new ce());
|
|
666
|
+
}, L = (v) => {
|
|
667
|
+
const p = y.getSize(new ce());
|
|
668
|
+
let N, x, O;
|
|
669
|
+
v === "x" ? (N = new xn(p.z * 1.2, p.y * 1.2), x = new ce(u.x, u.y, u.z), O = new ln(0, Math.PI / 2, 0)) : v === "y" ? (N = new xn(p.x * 1.2, p.z * 1.2), x = new ce(u.x, u.y, u.z), O = new ln(Math.PI / 2, 0, 0)) : v === "z" && (N = new xn(p.x * 1.2, p.y * 1.2), x = new ce(u.x, u.y, u.z), O = new ln(0, 0, 0));
|
|
670
|
+
const C = new $e({
|
|
671
671
|
color: 8900331,
|
|
672
672
|
transparent: !0,
|
|
673
673
|
opacity: 0.3,
|
|
674
674
|
side: Et,
|
|
675
675
|
depthWrite: !1
|
|
676
|
-
}),
|
|
677
|
-
return
|
|
678
|
-
},
|
|
679
|
-
if (
|
|
676
|
+
}), w = new Ze(N, C);
|
|
677
|
+
return w.position.copy(x), w.rotation.copy(O), w;
|
|
678
|
+
}, D = () => {
|
|
679
|
+
if (S(), A(), r.value === "none")
|
|
680
680
|
return;
|
|
681
681
|
g();
|
|
682
|
-
let
|
|
683
|
-
if (r.value === "x" ? (c[0].constant = -u.x,
|
|
682
|
+
let v = null;
|
|
683
|
+
if (r.value === "x" ? (c[0].constant = -u.x, v = c[0]) : r.value === "y" ? (c[1].constant = -u.y, v = c[1]) : r.value === "z" && (c[2].constant = -u.z, v = c[2]), v) {
|
|
684
684
|
n.value.forEach((N) => {
|
|
685
685
|
N.traverse((x) => {
|
|
686
|
-
x.isMesh && x.material && (Array.isArray(x.material) ? x.material.forEach((
|
|
687
|
-
|
|
688
|
-
}) : x.material.clippingPlanes = [
|
|
686
|
+
x.isMesh && x.material && (Array.isArray(x.material) ? x.material.forEach((O) => {
|
|
687
|
+
O.clippingPlanes = [v];
|
|
688
|
+
}) : x.material.clippingPlanes = [v]);
|
|
689
689
|
});
|
|
690
690
|
});
|
|
691
691
|
const { scene: p } = E();
|
|
692
692
|
if (p) {
|
|
693
|
-
const N =
|
|
693
|
+
const N = L(r.value);
|
|
694
694
|
p.add(N), l.push(N);
|
|
695
695
|
}
|
|
696
696
|
}
|
|
697
|
-
},
|
|
698
|
-
n.value.forEach((
|
|
699
|
-
|
|
697
|
+
}, S = () => {
|
|
698
|
+
n.value.forEach((v) => {
|
|
699
|
+
v.traverse((p) => {
|
|
700
700
|
p.isMesh && p.material && (Array.isArray(p.material) ? p.material.forEach((N) => {
|
|
701
701
|
N.clippingPlanes = [];
|
|
702
702
|
}) : p.material.clippingPlanes = []);
|
|
703
703
|
});
|
|
704
704
|
});
|
|
705
705
|
}, A = () => {
|
|
706
|
-
const { scene:
|
|
707
|
-
|
|
708
|
-
|
|
706
|
+
const { scene: v } = E();
|
|
707
|
+
v && l.forEach((p) => {
|
|
708
|
+
v.remove(p), p.geometry.dispose(), p.material.dispose();
|
|
709
709
|
}), l = [];
|
|
710
710
|
};
|
|
711
711
|
return {
|
|
712
712
|
isClipping: a,
|
|
713
713
|
activeClippingAxis: r,
|
|
714
714
|
toggleClipping: () => {
|
|
715
|
-
a.value = !a.value, a.value ? (b(), n.value.length > 0 && g()) : (r.value = "none",
|
|
715
|
+
a.value = !a.value, a.value ? (b(), n.value.length > 0 && g()) : (r.value = "none", S(), A());
|
|
716
716
|
},
|
|
717
|
-
updateClippingPlanes:
|
|
718
|
-
clearClippingPlanes:
|
|
717
|
+
updateClippingPlanes: D,
|
|
718
|
+
clearClippingPlanes: S,
|
|
719
719
|
clearClippingMeshes: A
|
|
720
720
|
};
|
|
721
721
|
}
|
|
722
|
-
const _i = /^[og]\s*(.+)?/, vi = /^mtllib /, ki = /^usemtl /, xi = /^usemap /, ws = /\s+/, _s = new
|
|
722
|
+
const _i = /^[og]\s*(.+)?/, vi = /^mtllib /, ki = /^usemtl /, xi = /^usemap /, ws = /\s+/, _s = new ce(), Tn = new ce(), vs = new ce(), ks = new ce(), Qe = new ce(), on = new wt();
|
|
723
723
|
function Ci() {
|
|
724
724
|
const E = {
|
|
725
725
|
objects: [],
|
|
@@ -848,16 +848,16 @@ function Ci() {
|
|
|
848
848
|
this.object.geometry.uvs.push(a[n + 0], a[n + 1]);
|
|
849
849
|
},
|
|
850
850
|
addFace: function(n, a, r, c, l, y, u, b, g) {
|
|
851
|
-
const
|
|
852
|
-
let
|
|
853
|
-
if (this.addVertex(
|
|
854
|
-
const
|
|
855
|
-
|
|
851
|
+
const L = this.vertices.length;
|
|
852
|
+
let D = this.parseVertexIndex(n, L), S = this.parseVertexIndex(a, L), A = this.parseVertexIndex(r, L);
|
|
853
|
+
if (this.addVertex(D, S, A), this.addColor(D, S, A), u !== void 0 && u !== "") {
|
|
854
|
+
const R = this.normals.length;
|
|
855
|
+
D = this.parseNormalIndex(u, R), S = this.parseNormalIndex(b, R), A = this.parseNormalIndex(g, R), this.addNormal(D, S, A);
|
|
856
856
|
} else
|
|
857
|
-
this.addFaceNormal(
|
|
857
|
+
this.addFaceNormal(D, S, A);
|
|
858
858
|
if (c !== void 0 && c !== "") {
|
|
859
|
-
const
|
|
860
|
-
|
|
859
|
+
const R = this.uvs.length;
|
|
860
|
+
D = this.parseUVIndex(c, R), S = this.parseUVIndex(l, R), A = this.parseUVIndex(y, R), this.addUV(D, S, A), this.object.geometry.hasUVIndices = !0;
|
|
861
861
|
} else
|
|
862
862
|
this.addDefaultUV();
|
|
863
863
|
},
|
|
@@ -935,93 +935,93 @@ class En extends Wt {
|
|
|
935
935
|
for (let u = 0, b = r.length; u < b; u++) {
|
|
936
936
|
const g = r[u].trimStart();
|
|
937
937
|
if (g.length === 0) continue;
|
|
938
|
-
const
|
|
939
|
-
if (
|
|
940
|
-
if (
|
|
941
|
-
const
|
|
942
|
-
switch (
|
|
938
|
+
const L = g.charAt(0);
|
|
939
|
+
if (L !== "#")
|
|
940
|
+
if (L === "v") {
|
|
941
|
+
const D = g.split(ws);
|
|
942
|
+
switch (D[0]) {
|
|
943
943
|
case "v":
|
|
944
944
|
a.vertices.push(
|
|
945
|
-
parseFloat(
|
|
946
|
-
parseFloat(
|
|
947
|
-
parseFloat(
|
|
948
|
-
),
|
|
949
|
-
parseFloat(
|
|
950
|
-
parseFloat(
|
|
951
|
-
parseFloat(
|
|
952
|
-
|
|
945
|
+
parseFloat(D[1]),
|
|
946
|
+
parseFloat(D[2]),
|
|
947
|
+
parseFloat(D[3])
|
|
948
|
+
), D.length >= 7 ? (on.setRGB(
|
|
949
|
+
parseFloat(D[4]),
|
|
950
|
+
parseFloat(D[5]),
|
|
951
|
+
parseFloat(D[6]),
|
|
952
|
+
Oe
|
|
953
953
|
), a.colors.push(on.r, on.g, on.b)) : a.colors.push(void 0, void 0, void 0);
|
|
954
954
|
break;
|
|
955
955
|
case "vn":
|
|
956
956
|
a.normals.push(
|
|
957
|
-
parseFloat(
|
|
958
|
-
parseFloat(
|
|
959
|
-
parseFloat(
|
|
957
|
+
parseFloat(D[1]),
|
|
958
|
+
parseFloat(D[2]),
|
|
959
|
+
parseFloat(D[3])
|
|
960
960
|
);
|
|
961
961
|
break;
|
|
962
962
|
case "vt":
|
|
963
963
|
a.uvs.push(
|
|
964
|
-
parseFloat(
|
|
965
|
-
parseFloat(
|
|
964
|
+
parseFloat(D[1]),
|
|
965
|
+
parseFloat(D[2])
|
|
966
966
|
);
|
|
967
967
|
break;
|
|
968
968
|
}
|
|
969
|
-
} else if (
|
|
970
|
-
const
|
|
971
|
-
for (let
|
|
972
|
-
const N =
|
|
969
|
+
} else if (L === "f") {
|
|
970
|
+
const S = g.slice(1).trim().split(ws), A = [];
|
|
971
|
+
for (let v = 0, p = S.length; v < p; v++) {
|
|
972
|
+
const N = S[v];
|
|
973
973
|
if (N.length > 0) {
|
|
974
974
|
const x = N.split("/");
|
|
975
975
|
A.push(x);
|
|
976
976
|
}
|
|
977
977
|
}
|
|
978
|
-
const
|
|
979
|
-
for (let
|
|
980
|
-
const N = A[
|
|
978
|
+
const R = A[0];
|
|
979
|
+
for (let v = 1, p = A.length - 1; v < p; v++) {
|
|
980
|
+
const N = A[v], x = A[v + 1];
|
|
981
981
|
a.addFace(
|
|
982
|
-
|
|
982
|
+
R[0],
|
|
983
983
|
N[0],
|
|
984
984
|
x[0],
|
|
985
|
-
|
|
985
|
+
R[1],
|
|
986
986
|
N[1],
|
|
987
987
|
x[1],
|
|
988
|
-
|
|
988
|
+
R[2],
|
|
989
989
|
N[2],
|
|
990
990
|
x[2]
|
|
991
991
|
);
|
|
992
992
|
}
|
|
993
|
-
} else if (
|
|
994
|
-
const
|
|
995
|
-
let
|
|
993
|
+
} else if (L === "l") {
|
|
994
|
+
const D = g.substring(1).trim().split(" ");
|
|
995
|
+
let S = [];
|
|
996
996
|
const A = [];
|
|
997
997
|
if (g.indexOf("/") === -1)
|
|
998
|
-
|
|
998
|
+
S = D;
|
|
999
999
|
else
|
|
1000
|
-
for (let
|
|
1001
|
-
const p = R
|
|
1002
|
-
p[0] !== "" &&
|
|
1000
|
+
for (let R = 0, v = D.length; R < v; R++) {
|
|
1001
|
+
const p = D[R].split("/");
|
|
1002
|
+
p[0] !== "" && S.push(p[0]), p[1] !== "" && A.push(p[1]);
|
|
1003
1003
|
}
|
|
1004
|
-
a.addLineGeometry(
|
|
1005
|
-
} else if (
|
|
1006
|
-
const
|
|
1007
|
-
a.addPointGeometry(
|
|
1004
|
+
a.addLineGeometry(S, A);
|
|
1005
|
+
} else if (L === "p") {
|
|
1006
|
+
const S = g.slice(1).trim().split(" ");
|
|
1007
|
+
a.addPointGeometry(S);
|
|
1008
1008
|
} else if ((c = _i.exec(g)) !== null) {
|
|
1009
|
-
const
|
|
1010
|
-
a.startObject(
|
|
1009
|
+
const D = (" " + c[0].slice(1).trim()).slice(1);
|
|
1010
|
+
a.startObject(D);
|
|
1011
1011
|
} else if (ki.test(g))
|
|
1012
1012
|
a.object.startMaterial(g.substring(7).trim(), a.materialLibraries);
|
|
1013
1013
|
else if (vi.test(g))
|
|
1014
1014
|
a.materialLibraries.push(g.substring(7).trim());
|
|
1015
1015
|
else if (xi.test(g))
|
|
1016
1016
|
console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');
|
|
1017
|
-
else if (
|
|
1017
|
+
else if (L === "s") {
|
|
1018
1018
|
if (c = g.split(" "), c.length > 1) {
|
|
1019
|
-
const
|
|
1020
|
-
a.object.smooth =
|
|
1019
|
+
const S = c[1].trim().toLowerCase();
|
|
1020
|
+
a.object.smooth = S !== "0" && S !== "off";
|
|
1021
1021
|
} else
|
|
1022
1022
|
a.object.smooth = !0;
|
|
1023
|
-
const
|
|
1024
|
-
|
|
1023
|
+
const D = a.object.currentMaterial();
|
|
1024
|
+
D && (D.smooth = a.object.smooth);
|
|
1025
1025
|
} else {
|
|
1026
1026
|
if (g === "\0") continue;
|
|
1027
1027
|
console.warn('THREE.OBJLoader: Unexpected line: "' + g + '"');
|
|
@@ -1031,40 +1031,40 @@ class En extends Wt {
|
|
|
1031
1031
|
const l = new fn();
|
|
1032
1032
|
if (l.materialLibraries = [].concat(a.materialLibraries), !(a.objects.length === 1 && a.objects[0].geometry.vertices.length === 0) === !0)
|
|
1033
1033
|
for (let u = 0, b = a.objects.length; u < b; u++) {
|
|
1034
|
-
const g = a.objects[u],
|
|
1035
|
-
let
|
|
1036
|
-
if (
|
|
1037
|
-
const
|
|
1038
|
-
|
|
1034
|
+
const g = a.objects[u], L = g.geometry, D = g.materials, S = L.type === "Line", A = L.type === "Points";
|
|
1035
|
+
let R = !1;
|
|
1036
|
+
if (L.vertices.length === 0) continue;
|
|
1037
|
+
const v = new $t();
|
|
1038
|
+
v.setAttribute("position", new Ue(L.vertices, 3)), L.normals.length > 0 && v.setAttribute("normal", new Ue(L.normals, 3)), L.colors.length > 0 && (R = !0, v.setAttribute("color", new Ue(L.colors, 3))), L.hasUVIndices === !0 && v.setAttribute("uv", new Ue(L.uvs, 2));
|
|
1039
1039
|
const p = [];
|
|
1040
|
-
for (let x = 0,
|
|
1041
|
-
const C =
|
|
1042
|
-
let f = a.materials[
|
|
1040
|
+
for (let x = 0, O = D.length; x < O; x++) {
|
|
1041
|
+
const C = D[x], w = C.name + "_" + C.smooth + "_" + R;
|
|
1042
|
+
let f = a.materials[w];
|
|
1043
1043
|
if (this.materials !== null) {
|
|
1044
|
-
if (f = this.materials.create(C.name),
|
|
1045
|
-
const
|
|
1046
|
-
cs.prototype.copy.call(
|
|
1044
|
+
if (f = this.materials.create(C.name), S && f && !(f instanceof Gt)) {
|
|
1045
|
+
const j = new Gt();
|
|
1046
|
+
cs.prototype.copy.call(j, f), j.color.copy(f.color), f = j;
|
|
1047
1047
|
} else if (A && f && !(f instanceof qt)) {
|
|
1048
|
-
const
|
|
1049
|
-
cs.prototype.copy.call(
|
|
1048
|
+
const j = new qt({ size: 10, sizeAttenuation: !1 });
|
|
1049
|
+
cs.prototype.copy.call(j, f), j.color.copy(f.color), j.map = f.map, f = j;
|
|
1050
1050
|
}
|
|
1051
1051
|
}
|
|
1052
|
-
f === void 0 && (
|
|
1052
|
+
f === void 0 && (S ? f = new Gt() : A ? f = new qt({ size: 1, sizeAttenuation: !1 }) : f = new $e(), f.name = C.name, f.flatShading = !C.smooth, f.vertexColors = R, a.materials[w] = f), p.push(f);
|
|
1053
1053
|
}
|
|
1054
1054
|
let N;
|
|
1055
1055
|
if (p.length > 1) {
|
|
1056
|
-
for (let x = 0,
|
|
1057
|
-
const C =
|
|
1058
|
-
|
|
1056
|
+
for (let x = 0, O = D.length; x < O; x++) {
|
|
1057
|
+
const C = D[x];
|
|
1058
|
+
v.addGroup(C.groupStart, C.groupCount, x);
|
|
1059
1059
|
}
|
|
1060
|
-
|
|
1060
|
+
S ? N = new Dn(v, p) : A ? N = new cn(v, p) : N = new Ze(v, p);
|
|
1061
1061
|
} else
|
|
1062
|
-
|
|
1062
|
+
S ? N = new Dn(v, p[0]) : A ? N = new cn(v, p[0]) : N = new Ze(v, p[0]);
|
|
1063
1063
|
N.name = g.name, l.add(N);
|
|
1064
1064
|
}
|
|
1065
1065
|
else if (a.vertices.length > 0) {
|
|
1066
1066
|
const u = new qt({ size: 1, sizeAttenuation: !1 }), b = new $t();
|
|
1067
|
-
b.setAttribute("position", new
|
|
1067
|
+
b.setAttribute("position", new Ue(a.vertices, 3)), a.colors.length > 0 && a.colors[0] !== void 0 && (b.setAttribute("color", new Ue(a.colors, 3)), u.vertexColors = !0);
|
|
1068
1068
|
const g = new cn(b, u);
|
|
1069
1069
|
l.add(g);
|
|
1070
1070
|
}
|
|
@@ -1119,17 +1119,17 @@ class Nn extends Wt {
|
|
|
1119
1119
|
let g = r[b];
|
|
1120
1120
|
if (g = g.trim(), g.length === 0 || g.charAt(0) === "#")
|
|
1121
1121
|
continue;
|
|
1122
|
-
const
|
|
1123
|
-
let
|
|
1124
|
-
|
|
1125
|
-
let
|
|
1126
|
-
if (
|
|
1127
|
-
c = { name:
|
|
1128
|
-
else if (
|
|
1129
|
-
const A =
|
|
1130
|
-
c[
|
|
1122
|
+
const L = g.indexOf(" ");
|
|
1123
|
+
let D = L >= 0 ? g.substring(0, L) : g;
|
|
1124
|
+
D = D.toLowerCase();
|
|
1125
|
+
let S = L >= 0 ? g.substring(L + 1) : "";
|
|
1126
|
+
if (S = S.trim(), D === "newmtl")
|
|
1127
|
+
c = { name: S }, y[S] = c;
|
|
1128
|
+
else if (D === "ka" || D === "kd" || D === "ks" || D === "ke") {
|
|
1129
|
+
const A = S.split(l, 3);
|
|
1130
|
+
c[D] = [parseFloat(A[0]), parseFloat(A[1]), parseFloat(A[2])];
|
|
1131
1131
|
} else
|
|
1132
|
-
c[
|
|
1132
|
+
c[D] = S;
|
|
1133
1133
|
}
|
|
1134
1134
|
const u = new Ai(this.resourcePath || a, this.materialOptions);
|
|
1135
1135
|
return u.setCrossOrigin(this.crossOrigin), u.setManager(this.manager), u.setMaterials(y), u;
|
|
@@ -1195,8 +1195,8 @@ class Ai {
|
|
|
1195
1195
|
}
|
|
1196
1196
|
function y(u, b) {
|
|
1197
1197
|
if (c[u]) return;
|
|
1198
|
-
const g = a.getTextureParams(b, c),
|
|
1199
|
-
|
|
1198
|
+
const g = a.getTextureParams(b, c), L = a.loadTexture(l(a.baseUrl, g.url));
|
|
1199
|
+
L.repeat.copy(g.scale), L.offset.copy(g.offset), L.wrapS = a.wrap, L.wrapT = a.wrap, (u === "map" || u === "emissiveMap") && (L.colorSpace = Oe), c[u] = L;
|
|
1200
1200
|
}
|
|
1201
1201
|
for (const u in r) {
|
|
1202
1202
|
const b = r[u];
|
|
@@ -1205,13 +1205,13 @@ class Ai {
|
|
|
1205
1205
|
switch (u.toLowerCase()) {
|
|
1206
1206
|
// Ns is material specular exponent
|
|
1207
1207
|
case "kd":
|
|
1208
|
-
c.color = Nt.colorSpaceToWorking(new wt().fromArray(b),
|
|
1208
|
+
c.color = Nt.colorSpaceToWorking(new wt().fromArray(b), Oe);
|
|
1209
1209
|
break;
|
|
1210
1210
|
case "ks":
|
|
1211
|
-
c.specular = Nt.colorSpaceToWorking(new wt().fromArray(b),
|
|
1211
|
+
c.specular = Nt.colorSpaceToWorking(new wt().fromArray(b), Oe);
|
|
1212
1212
|
break;
|
|
1213
1213
|
case "ke":
|
|
1214
|
-
c.emissive = Nt.colorSpaceToWorking(new wt().fromArray(b),
|
|
1214
|
+
c.emissive = Nt.colorSpaceToWorking(new wt().fromArray(b), Oe);
|
|
1215
1215
|
break;
|
|
1216
1216
|
case "map_kd":
|
|
1217
1217
|
y("map", b);
|
|
@@ -1246,12 +1246,12 @@ class Ai {
|
|
|
1246
1246
|
break;
|
|
1247
1247
|
}
|
|
1248
1248
|
}
|
|
1249
|
-
return this.materials[n] = new
|
|
1249
|
+
return this.materials[n] = new $e(c), this.materials[n];
|
|
1250
1250
|
}
|
|
1251
1251
|
getTextureParams(n, a) {
|
|
1252
1252
|
const r = {
|
|
1253
|
-
scale: new
|
|
1254
|
-
offset: new
|
|
1253
|
+
scale: new Ge(1, 1),
|
|
1254
|
+
offset: new Ge(0, 0)
|
|
1255
1255
|
}, c = n.split(/\s+/);
|
|
1256
1256
|
let l;
|
|
1257
1257
|
return l = c.indexOf("-bm"), l >= 0 && (a.bumpScale = parseFloat(c[l + 1]), c.splice(l, 2)), l = c.indexOf("-mm"), l >= 0 && (a.displacementBias = parseFloat(c[l + 1]), a.displacementScale = parseFloat(c[l + 2]), c.splice(l, 3)), l = c.indexOf("-s"), l >= 0 && (r.scale.set(parseFloat(c[l + 1]), parseFloat(c[l + 2])), c.splice(l, 4)), l = c.indexOf("-o"), l >= 0 && (r.offset.set(parseFloat(c[l + 1]), parseFloat(c[l + 2])), c.splice(l, 4)), r.url = c.join(" ").trim(), r;
|
|
@@ -1300,69 +1300,69 @@ class dn extends Wt {
|
|
|
1300
1300
|
*/
|
|
1301
1301
|
parse(n) {
|
|
1302
1302
|
function a(g) {
|
|
1303
|
-
const
|
|
1304
|
-
if (80 + 32 / 8 +
|
|
1303
|
+
const L = new DataView(g), D = 32 / 8 * 3 + 32 / 8 * 3 * 3 + 16 / 8, S = L.getUint32(80, !0);
|
|
1304
|
+
if (80 + 32 / 8 + S * D === L.byteLength)
|
|
1305
1305
|
return !0;
|
|
1306
|
-
const
|
|
1307
|
-
for (let
|
|
1308
|
-
if (r(
|
|
1306
|
+
const R = [115, 111, 108, 105, 100];
|
|
1307
|
+
for (let v = 0; v < 5; v++)
|
|
1308
|
+
if (r(R, L, v)) return !1;
|
|
1309
1309
|
return !0;
|
|
1310
1310
|
}
|
|
1311
|
-
function r(g,
|
|
1312
|
-
for (let
|
|
1313
|
-
if (g[
|
|
1311
|
+
function r(g, L, D) {
|
|
1312
|
+
for (let S = 0, A = g.length; S < A; S++)
|
|
1313
|
+
if (g[S] !== L.getUint8(D + S)) return !1;
|
|
1314
1314
|
return !0;
|
|
1315
1315
|
}
|
|
1316
1316
|
function c(g) {
|
|
1317
|
-
const
|
|
1318
|
-
let
|
|
1319
|
-
for (let
|
|
1320
|
-
|
|
1321
|
-
const
|
|
1322
|
-
for (let
|
|
1323
|
-
const B =
|
|
1324
|
-
if (
|
|
1325
|
-
const d =
|
|
1326
|
-
(d & 32768) === 0 ? (
|
|
1317
|
+
const L = new DataView(g), D = L.getUint32(80, !0);
|
|
1318
|
+
let S, A, R, v = !1, p, N, x, O, C;
|
|
1319
|
+
for (let F = 0; F < 70; F++)
|
|
1320
|
+
L.getUint32(F, !1) == 1129270351 && L.getUint8(F + 4) == 82 && L.getUint8(F + 5) == 61 && (v = !0, p = new Float32Array(D * 3 * 3), N = L.getUint8(F + 6) / 255, x = L.getUint8(F + 7) / 255, O = L.getUint8(F + 8) / 255, C = L.getUint8(F + 9) / 255);
|
|
1321
|
+
const w = 84, f = 12 * 4 + 2, j = new $t(), T = new Float32Array(D * 3 * 3), k = new Float32Array(D * 3 * 3), H = new wt();
|
|
1322
|
+
for (let F = 0; F < D; F++) {
|
|
1323
|
+
const B = w + F * f, ae = L.getFloat32(B, !0), he = L.getFloat32(B + 4, !0), m = L.getFloat32(B + 8, !0);
|
|
1324
|
+
if (v) {
|
|
1325
|
+
const d = L.getUint16(B + 48, !0);
|
|
1326
|
+
(d & 32768) === 0 ? (S = (d & 31) / 31, A = (d >> 5 & 31) / 31, R = (d >> 10 & 31) / 31) : (S = N, A = x, R = O);
|
|
1327
1327
|
}
|
|
1328
1328
|
for (let d = 1; d <= 3; d++) {
|
|
1329
|
-
const I = B + d * 12,
|
|
1330
|
-
T[
|
|
1329
|
+
const I = B + d * 12, $ = F * 3 * 3 + (d - 1) * 3;
|
|
1330
|
+
T[$] = L.getFloat32(I, !0), T[$ + 1] = L.getFloat32(I + 4, !0), T[$ + 2] = L.getFloat32(I + 8, !0), k[$] = ae, k[$ + 1] = he, k[$ + 2] = m, v && (H.setRGB(S, A, R, Oe), p[$] = H.r, p[$ + 1] = H.g, p[$ + 2] = H.b);
|
|
1331
1331
|
}
|
|
1332
1332
|
}
|
|
1333
|
-
return
|
|
1333
|
+
return j.setAttribute("position", new Cn(T, 3)), j.setAttribute("normal", new Cn(k, 3)), v && (j.setAttribute("color", new Cn(p, 3)), j.hasColors = !0, j.alpha = C), j;
|
|
1334
1334
|
}
|
|
1335
1335
|
function l(g) {
|
|
1336
|
-
const
|
|
1337
|
-
let
|
|
1338
|
-
const
|
|
1339
|
-
let f,
|
|
1340
|
-
for (; (f =
|
|
1336
|
+
const L = new $t(), D = /solid([\s\S]*?)endsolid/g, S = /facet([\s\S]*?)endfacet/g, A = /solid\s(.+)/;
|
|
1337
|
+
let R = 0;
|
|
1338
|
+
const v = /[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source, p = new RegExp("vertex" + v + v + v, "g"), N = new RegExp("normal" + v + v + v, "g"), x = [], O = [], C = [], w = new ce();
|
|
1339
|
+
let f, j = 0, T = 0, k = 0;
|
|
1340
|
+
for (; (f = D.exec(g)) !== null; ) {
|
|
1341
1341
|
T = k;
|
|
1342
|
-
const H = f[0],
|
|
1343
|
-
for (C.push(
|
|
1342
|
+
const H = f[0], F = (f = A.exec(H)) !== null ? f[1] : "";
|
|
1343
|
+
for (C.push(F); (f = S.exec(H)) !== null; ) {
|
|
1344
1344
|
let he = 0, m = 0;
|
|
1345
1345
|
const d = f[0];
|
|
1346
1346
|
for (; (f = N.exec(d)) !== null; )
|
|
1347
|
-
|
|
1347
|
+
w.x = parseFloat(f[1]), w.y = parseFloat(f[2]), w.z = parseFloat(f[3]), m++;
|
|
1348
1348
|
for (; (f = p.exec(d)) !== null; )
|
|
1349
|
-
x.push(parseFloat(f[1]), parseFloat(f[2]), parseFloat(f[3])),
|
|
1350
|
-
m !== 1 && console.error("THREE.STLLoader: Something isn't right with the normal of face number " +
|
|
1349
|
+
x.push(parseFloat(f[1]), parseFloat(f[2]), parseFloat(f[3])), O.push(w.x, w.y, w.z), he++, k++;
|
|
1350
|
+
m !== 1 && console.error("THREE.STLLoader: Something isn't right with the normal of face number " + R), he !== 3 && console.error("THREE.STLLoader: Something isn't right with the vertices of face number " + R), R++;
|
|
1351
1351
|
}
|
|
1352
|
-
const B = T,
|
|
1353
|
-
|
|
1352
|
+
const B = T, ae = k - T;
|
|
1353
|
+
L.userData.groupNames = C, L.addGroup(B, ae, j), j++;
|
|
1354
1354
|
}
|
|
1355
|
-
return
|
|
1355
|
+
return L.setAttribute("position", new Ue(x, 3)), L.setAttribute("normal", new Ue(O, 3)), L;
|
|
1356
1356
|
}
|
|
1357
1357
|
function y(g) {
|
|
1358
1358
|
return typeof g != "string" ? new TextDecoder().decode(g) : g;
|
|
1359
1359
|
}
|
|
1360
1360
|
function u(g) {
|
|
1361
1361
|
if (typeof g == "string") {
|
|
1362
|
-
const
|
|
1363
|
-
for (let
|
|
1364
|
-
|
|
1365
|
-
return
|
|
1362
|
+
const L = new Uint8Array(g.length);
|
|
1363
|
+
for (let D = 0; D < g.length; D++)
|
|
1364
|
+
L[D] = g.charCodeAt(D) & 255;
|
|
1365
|
+
return L.buffer || L;
|
|
1366
1366
|
} else
|
|
1367
1367
|
return g;
|
|
1368
1368
|
}
|
|
@@ -1389,21 +1389,21 @@ class xs extends To {
|
|
|
1389
1389
|
function a(d) {
|
|
1390
1390
|
switch (d.image_type) {
|
|
1391
1391
|
// check indexed type
|
|
1392
|
-
case
|
|
1393
|
-
case
|
|
1392
|
+
case S:
|
|
1393
|
+
case v:
|
|
1394
1394
|
if (d.colormap_length > 256 || d.colormap_size !== 24 || d.colormap_type !== 1)
|
|
1395
1395
|
throw new Error("THREE.TGALoader: Invalid type colormap data for indexed type.");
|
|
1396
1396
|
break;
|
|
1397
1397
|
// check colormap type
|
|
1398
1398
|
case A:
|
|
1399
|
-
case
|
|
1399
|
+
case R:
|
|
1400
1400
|
case p:
|
|
1401
1401
|
case N:
|
|
1402
1402
|
if (d.colormap_type)
|
|
1403
1403
|
throw new Error("THREE.TGALoader: Invalid type colormap data for colormap type.");
|
|
1404
1404
|
break;
|
|
1405
1405
|
// What the need of a file without data ?
|
|
1406
|
-
case
|
|
1406
|
+
case D:
|
|
1407
1407
|
throw new Error("THREE.TGALoader: No data.");
|
|
1408
1408
|
// Invalid type ?
|
|
1409
1409
|
default:
|
|
@@ -1414,108 +1414,108 @@ class xs extends To {
|
|
|
1414
1414
|
if (d.pixel_size !== 8 && d.pixel_size !== 16 && d.pixel_size !== 24 && d.pixel_size !== 32)
|
|
1415
1415
|
throw new Error("THREE.TGALoader: Invalid pixel size " + d.pixel_size);
|
|
1416
1416
|
}
|
|
1417
|
-
function r(d, I, G,
|
|
1418
|
-
let
|
|
1419
|
-
const
|
|
1420
|
-
if (I && (
|
|
1421
|
-
|
|
1422
|
-
let
|
|
1423
|
-
const be = new Uint8Array(
|
|
1424
|
-
for (;
|
|
1425
|
-
if (
|
|
1426
|
-
for (J = 0; J <
|
|
1427
|
-
be[J] =
|
|
1417
|
+
function r(d, I, $, G, de) {
|
|
1418
|
+
let M, oe;
|
|
1419
|
+
const W = $.pixel_size >> 3, K = $.width * $.height * W;
|
|
1420
|
+
if (I && (oe = de.subarray(G, G += $.colormap_length * ($.colormap_size >> 3))), d) {
|
|
1421
|
+
M = new Uint8Array(K);
|
|
1422
|
+
let Z, V, J, ge = 0;
|
|
1423
|
+
const be = new Uint8Array(W);
|
|
1424
|
+
for (; ge < K; )
|
|
1425
|
+
if (Z = de[G++], V = (Z & 127) + 1, Z & 128) {
|
|
1426
|
+
for (J = 0; J < W; ++J)
|
|
1427
|
+
be[J] = de[G++];
|
|
1428
1428
|
for (J = 0; J < V; ++J)
|
|
1429
|
-
|
|
1430
|
-
|
|
1429
|
+
M.set(be, ge + J * W);
|
|
1430
|
+
ge += W * V;
|
|
1431
1431
|
} else {
|
|
1432
|
-
for (V *=
|
|
1433
|
-
|
|
1434
|
-
|
|
1432
|
+
for (V *= W, J = 0; J < V; ++J)
|
|
1433
|
+
M[ge + J] = de[G++];
|
|
1434
|
+
ge += V;
|
|
1435
1435
|
}
|
|
1436
1436
|
} else
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1437
|
+
M = de.subarray(
|
|
1438
|
+
G,
|
|
1439
|
+
G += I ? $.width * $.height : K
|
|
1440
1440
|
);
|
|
1441
1441
|
return {
|
|
1442
|
-
pixel_data:
|
|
1443
|
-
palettes:
|
|
1442
|
+
pixel_data: M,
|
|
1443
|
+
palettes: oe
|
|
1444
1444
|
};
|
|
1445
1445
|
}
|
|
1446
|
-
function c(d, I, G,
|
|
1447
|
-
const
|
|
1448
|
-
let V, J = 0,
|
|
1446
|
+
function c(d, I, $, G, de, M, oe, W, K) {
|
|
1447
|
+
const Z = K;
|
|
1448
|
+
let V, J = 0, ge, be;
|
|
1449
1449
|
const ue = H.width;
|
|
1450
|
-
for (be = I; be !==
|
|
1451
|
-
for (
|
|
1452
|
-
V =
|
|
1450
|
+
for (be = I; be !== G; be += $)
|
|
1451
|
+
for (ge = de; ge !== oe; ge += M, J++)
|
|
1452
|
+
V = W[J], d[(ge + ue * be) * 4 + 3] = 255, d[(ge + ue * be) * 4 + 2] = Z[V * 3 + 0], d[(ge + ue * be) * 4 + 1] = Z[V * 3 + 1], d[(ge + ue * be) * 4 + 0] = Z[V * 3 + 2];
|
|
1453
1453
|
return d;
|
|
1454
1454
|
}
|
|
1455
|
-
function l(d, I, G,
|
|
1456
|
-
let
|
|
1457
|
-
const
|
|
1458
|
-
for (J = I; J !==
|
|
1459
|
-
for (V =
|
|
1460
|
-
|
|
1455
|
+
function l(d, I, $, G, de, M, oe, W) {
|
|
1456
|
+
let K, Z = 0, V, J;
|
|
1457
|
+
const ge = H.width;
|
|
1458
|
+
for (J = I; J !== G; J += $)
|
|
1459
|
+
for (V = de; V !== oe; V += M, Z += 2)
|
|
1460
|
+
K = W[Z + 0] + (W[Z + 1] << 8), d[(V + ge * J) * 4 + 0] = (K & 31744) >> 7, d[(V + ge * J) * 4 + 1] = (K & 992) >> 2, d[(V + ge * J) * 4 + 2] = (K & 31) << 3, d[(V + ge * J) * 4 + 3] = K & 32768 ? 0 : 255;
|
|
1461
1461
|
return d;
|
|
1462
1462
|
}
|
|
1463
|
-
function y(d, I, G,
|
|
1464
|
-
let
|
|
1463
|
+
function y(d, I, $, G, de, M, oe, W) {
|
|
1464
|
+
let K = 0, Z, V;
|
|
1465
1465
|
const J = H.width;
|
|
1466
|
-
for (V = I; V !==
|
|
1467
|
-
for (
|
|
1468
|
-
d[(
|
|
1466
|
+
for (V = I; V !== G; V += $)
|
|
1467
|
+
for (Z = de; Z !== oe; Z += M, K += 3)
|
|
1468
|
+
d[(Z + J * V) * 4 + 3] = 255, d[(Z + J * V) * 4 + 2] = W[K + 0], d[(Z + J * V) * 4 + 1] = W[K + 1], d[(Z + J * V) * 4 + 0] = W[K + 2];
|
|
1469
1469
|
return d;
|
|
1470
1470
|
}
|
|
1471
|
-
function u(d, I, G,
|
|
1472
|
-
let
|
|
1471
|
+
function u(d, I, $, G, de, M, oe, W) {
|
|
1472
|
+
let K = 0, Z, V;
|
|
1473
1473
|
const J = H.width;
|
|
1474
|
-
for (V = I; V !==
|
|
1475
|
-
for (
|
|
1476
|
-
d[(
|
|
1474
|
+
for (V = I; V !== G; V += $)
|
|
1475
|
+
for (Z = de; Z !== oe; Z += M, K += 4)
|
|
1476
|
+
d[(Z + J * V) * 4 + 2] = W[K + 0], d[(Z + J * V) * 4 + 1] = W[K + 1], d[(Z + J * V) * 4 + 0] = W[K + 2], d[(Z + J * V) * 4 + 3] = W[K + 3];
|
|
1477
1477
|
return d;
|
|
1478
1478
|
}
|
|
1479
|
-
function b(d, I, G,
|
|
1480
|
-
let
|
|
1481
|
-
const
|
|
1482
|
-
for (J = I; J !==
|
|
1483
|
-
for (V =
|
|
1484
|
-
|
|
1479
|
+
function b(d, I, $, G, de, M, oe, W) {
|
|
1480
|
+
let K, Z = 0, V, J;
|
|
1481
|
+
const ge = H.width;
|
|
1482
|
+
for (J = I; J !== G; J += $)
|
|
1483
|
+
for (V = de; V !== oe; V += M, Z++)
|
|
1484
|
+
K = W[Z], d[(V + ge * J) * 4 + 0] = K, d[(V + ge * J) * 4 + 1] = K, d[(V + ge * J) * 4 + 2] = K, d[(V + ge * J) * 4 + 3] = 255;
|
|
1485
1485
|
return d;
|
|
1486
1486
|
}
|
|
1487
|
-
function g(d, I, G,
|
|
1488
|
-
let
|
|
1487
|
+
function g(d, I, $, G, de, M, oe, W) {
|
|
1488
|
+
let K = 0, Z, V;
|
|
1489
1489
|
const J = H.width;
|
|
1490
|
-
for (V = I; V !==
|
|
1491
|
-
for (
|
|
1492
|
-
d[(
|
|
1490
|
+
for (V = I; V !== G; V += $)
|
|
1491
|
+
for (Z = de; Z !== oe; Z += M, K += 2)
|
|
1492
|
+
d[(Z + J * V) * 4 + 0] = W[K + 0], d[(Z + J * V) * 4 + 1] = W[K + 0], d[(Z + J * V) * 4 + 2] = W[K + 0], d[(Z + J * V) * 4 + 3] = W[K + 1];
|
|
1493
1493
|
return d;
|
|
1494
1494
|
}
|
|
1495
|
-
function
|
|
1496
|
-
let oe,
|
|
1497
|
-
switch ((H.flags & x) >>
|
|
1495
|
+
function L(d, I, $, G, de) {
|
|
1496
|
+
let M, oe, W, K, Z, V;
|
|
1497
|
+
switch ((H.flags & x) >> O) {
|
|
1498
1498
|
default:
|
|
1499
1499
|
case f:
|
|
1500
|
-
|
|
1500
|
+
M = 0, W = 1, Z = I, oe = 0, K = 1, V = $;
|
|
1501
1501
|
break;
|
|
1502
1502
|
case C:
|
|
1503
|
-
|
|
1503
|
+
M = 0, W = 1, Z = I, oe = $ - 1, K = -1, V = -1;
|
|
1504
1504
|
break;
|
|
1505
|
-
case
|
|
1506
|
-
|
|
1505
|
+
case j:
|
|
1506
|
+
M = I - 1, W = -1, Z = -1, oe = 0, K = 1, V = $;
|
|
1507
1507
|
break;
|
|
1508
|
-
case
|
|
1509
|
-
|
|
1508
|
+
case w:
|
|
1509
|
+
M = I - 1, W = -1, Z = -1, oe = $ - 1, K = -1, V = -1;
|
|
1510
1510
|
break;
|
|
1511
1511
|
}
|
|
1512
|
-
if (
|
|
1512
|
+
if (ae)
|
|
1513
1513
|
switch (H.pixel_size) {
|
|
1514
1514
|
case 8:
|
|
1515
|
-
b(d,
|
|
1515
|
+
b(d, oe, K, V, M, W, Z, G);
|
|
1516
1516
|
break;
|
|
1517
1517
|
case 16:
|
|
1518
|
-
g(d,
|
|
1518
|
+
g(d, oe, K, V, M, W, Z, G);
|
|
1519
1519
|
break;
|
|
1520
1520
|
default:
|
|
1521
1521
|
throw new Error("THREE.TGALoader: Format not supported.");
|
|
@@ -1523,23 +1523,23 @@ class xs extends To {
|
|
|
1523
1523
|
else
|
|
1524
1524
|
switch (H.pixel_size) {
|
|
1525
1525
|
case 8:
|
|
1526
|
-
c(d,
|
|
1526
|
+
c(d, oe, K, V, M, W, Z, G, de);
|
|
1527
1527
|
break;
|
|
1528
1528
|
case 16:
|
|
1529
|
-
l(d,
|
|
1529
|
+
l(d, oe, K, V, M, W, Z, G);
|
|
1530
1530
|
break;
|
|
1531
1531
|
case 24:
|
|
1532
|
-
y(d,
|
|
1532
|
+
y(d, oe, K, V, M, W, Z, G);
|
|
1533
1533
|
break;
|
|
1534
1534
|
case 32:
|
|
1535
|
-
u(d,
|
|
1535
|
+
u(d, oe, K, V, M, W, Z, G);
|
|
1536
1536
|
break;
|
|
1537
1537
|
default:
|
|
1538
1538
|
throw new Error("THREE.TGALoader: Format not supported.");
|
|
1539
1539
|
}
|
|
1540
1540
|
return d;
|
|
1541
1541
|
}
|
|
1542
|
-
const
|
|
1542
|
+
const D = 0, S = 1, A = 2, R = 3, v = 9, p = 10, N = 11, x = 48, O = 4, C = 0, w = 1, f = 2, j = 3;
|
|
1543
1543
|
if (n.length < 19) throw new Error("THREE.TGALoader: Not enough data to contain header.");
|
|
1544
1544
|
let T = 0;
|
|
1545
1545
|
const k = new Uint8Array(n), H = {
|
|
@@ -1561,28 +1561,28 @@ class xs extends To {
|
|
|
1561
1561
|
if (a(H), H.id_length + T > n.length)
|
|
1562
1562
|
throw new Error("THREE.TGALoader: No data.");
|
|
1563
1563
|
T += H.id_length;
|
|
1564
|
-
let
|
|
1564
|
+
let F = !1, B = !1, ae = !1;
|
|
1565
1565
|
switch (H.image_type) {
|
|
1566
|
-
case
|
|
1567
|
-
|
|
1566
|
+
case v:
|
|
1567
|
+
F = !0, B = !0;
|
|
1568
1568
|
break;
|
|
1569
|
-
case
|
|
1569
|
+
case S:
|
|
1570
1570
|
B = !0;
|
|
1571
1571
|
break;
|
|
1572
1572
|
case p:
|
|
1573
|
-
|
|
1573
|
+
F = !0;
|
|
1574
1574
|
break;
|
|
1575
1575
|
case A:
|
|
1576
1576
|
break;
|
|
1577
1577
|
case N:
|
|
1578
|
-
|
|
1578
|
+
F = !0, ae = !0;
|
|
1579
1579
|
break;
|
|
1580
|
-
case
|
|
1581
|
-
|
|
1580
|
+
case R:
|
|
1581
|
+
ae = !0;
|
|
1582
1582
|
break;
|
|
1583
1583
|
}
|
|
1584
|
-
const he = new Uint8Array(H.width * H.height * 4), m = r(
|
|
1585
|
-
return
|
|
1584
|
+
const he = new Uint8Array(H.width * H.height * 4), m = r(F, B, H, T, k);
|
|
1585
|
+
return L(he, H.width, H.height, m.pixel_data, m.palettes), {
|
|
1586
1586
|
data: he,
|
|
1587
1587
|
width: H.width,
|
|
1588
1588
|
height: H.height,
|
|
@@ -1624,8 +1624,8 @@ class Ti extends Wt {
|
|
|
1624
1624
|
function r(t, e) {
|
|
1625
1625
|
const o = [], s = t.childNodes;
|
|
1626
1626
|
for (let i = 0, h = s.length; i < h; i++) {
|
|
1627
|
-
const
|
|
1628
|
-
|
|
1627
|
+
const _ = s[i];
|
|
1628
|
+
_.nodeName === e && o.push(_);
|
|
1629
1629
|
}
|
|
1630
1630
|
return o;
|
|
1631
1631
|
}
|
|
@@ -1659,33 +1659,33 @@ class Ti extends Wt {
|
|
|
1659
1659
|
function g(t) {
|
|
1660
1660
|
return Object.keys(t).length === 0;
|
|
1661
1661
|
}
|
|
1662
|
-
function
|
|
1662
|
+
function L(t) {
|
|
1663
1663
|
return {
|
|
1664
|
-
unit:
|
|
1665
|
-
upAxis:
|
|
1664
|
+
unit: D(r(t, "unit")[0]),
|
|
1665
|
+
upAxis: S(r(t, "up_axis")[0])
|
|
1666
1666
|
};
|
|
1667
1667
|
}
|
|
1668
|
-
function
|
|
1668
|
+
function D(t) {
|
|
1669
1669
|
return t !== void 0 && t.hasAttribute("meter") === !0 ? parseFloat(t.getAttribute("meter")) : 1;
|
|
1670
1670
|
}
|
|
1671
|
-
function
|
|
1671
|
+
function S(t) {
|
|
1672
1672
|
return t !== void 0 ? t.textContent : "Y_UP";
|
|
1673
1673
|
}
|
|
1674
1674
|
function A(t, e, o, s) {
|
|
1675
1675
|
const i = r(t, e)[0];
|
|
1676
1676
|
if (i !== void 0) {
|
|
1677
1677
|
const h = r(i, o);
|
|
1678
|
-
for (let
|
|
1679
|
-
s(h[
|
|
1678
|
+
for (let _ = 0; _ < h.length; _++)
|
|
1679
|
+
s(h[_]);
|
|
1680
1680
|
}
|
|
1681
1681
|
}
|
|
1682
|
-
function
|
|
1682
|
+
function R(t, e) {
|
|
1683
1683
|
for (const o in t) {
|
|
1684
1684
|
const s = t[o];
|
|
1685
1685
|
s.build = e(t[o]);
|
|
1686
1686
|
}
|
|
1687
1687
|
}
|
|
1688
|
-
function
|
|
1688
|
+
function v(t, e) {
|
|
1689
1689
|
return t.build !== void 0 || (t.build = e(t)), t.build;
|
|
1690
1690
|
}
|
|
1691
1691
|
function p(t) {
|
|
@@ -1698,16 +1698,16 @@ class Ti extends Wt {
|
|
|
1698
1698
|
for (let s = 0, i = t.childNodes.length; s < i; s++) {
|
|
1699
1699
|
const h = t.childNodes[s];
|
|
1700
1700
|
if (h.nodeType !== 1) continue;
|
|
1701
|
-
let
|
|
1701
|
+
let _;
|
|
1702
1702
|
switch (h.nodeName) {
|
|
1703
1703
|
case "source":
|
|
1704
|
-
|
|
1704
|
+
_ = h.getAttribute("id"), e.sources[_] = at(h);
|
|
1705
1705
|
break;
|
|
1706
1706
|
case "sampler":
|
|
1707
|
-
|
|
1707
|
+
_ = h.getAttribute("id"), e.samplers[_] = N(h);
|
|
1708
1708
|
break;
|
|
1709
1709
|
case "channel":
|
|
1710
|
-
|
|
1710
|
+
_ = h.getAttribute("target"), e.channels[_] = x(h);
|
|
1711
1711
|
break;
|
|
1712
1712
|
case "animation":
|
|
1713
1713
|
p(h), o = !0;
|
|
@@ -1716,7 +1716,7 @@ class Ti extends Wt {
|
|
|
1716
1716
|
console.log(h);
|
|
1717
1717
|
}
|
|
1718
1718
|
}
|
|
1719
|
-
o === !1 && (
|
|
1719
|
+
o === !1 && (re.animations[t.getAttribute("id") || Bt.generateUUID()] = e);
|
|
1720
1720
|
}
|
|
1721
1721
|
function N(t) {
|
|
1722
1722
|
const e = {
|
|
@@ -1727,8 +1727,8 @@ class Ti extends Wt {
|
|
|
1727
1727
|
if (i.nodeType === 1)
|
|
1728
1728
|
switch (i.nodeName) {
|
|
1729
1729
|
case "input":
|
|
1730
|
-
const h = u(i.getAttribute("source")),
|
|
1731
|
-
e.inputs[
|
|
1730
|
+
const h = u(i.getAttribute("source")), _ = i.getAttribute("semantic");
|
|
1731
|
+
e.inputs[_] = h;
|
|
1732
1732
|
break;
|
|
1733
1733
|
}
|
|
1734
1734
|
}
|
|
@@ -1739,43 +1739,43 @@ class Ti extends Wt {
|
|
|
1739
1739
|
let s = t.getAttribute("target").split("/");
|
|
1740
1740
|
const i = s.shift();
|
|
1741
1741
|
let h = s.shift();
|
|
1742
|
-
const
|
|
1743
|
-
if (
|
|
1742
|
+
const _ = h.indexOf("(") !== -1, X = h.indexOf(".") !== -1;
|
|
1743
|
+
if (X)
|
|
1744
1744
|
s = h.split("."), h = s.shift(), e.member = s.shift();
|
|
1745
|
-
else if (
|
|
1745
|
+
else if (_) {
|
|
1746
1746
|
const z = h.split("(");
|
|
1747
1747
|
h = z.shift();
|
|
1748
|
-
for (let
|
|
1749
|
-
z[
|
|
1748
|
+
for (let q = 0; q < z.length; q++)
|
|
1749
|
+
z[q] = parseInt(z[q].replace(/\)/, ""));
|
|
1750
1750
|
e.indices = z;
|
|
1751
1751
|
}
|
|
1752
|
-
return e.id = i, e.sid = h, e.arraySyntax =
|
|
1752
|
+
return e.id = i, e.sid = h, e.arraySyntax = _, e.memberSyntax = X, e.sampler = u(t.getAttribute("source")), e;
|
|
1753
1753
|
}
|
|
1754
|
-
function
|
|
1754
|
+
function O(t) {
|
|
1755
1755
|
const e = [], o = t.channels, s = t.samplers, i = t.sources;
|
|
1756
1756
|
for (const h in o)
|
|
1757
1757
|
if (o.hasOwnProperty(h)) {
|
|
1758
|
-
const
|
|
1758
|
+
const _ = o[h], X = s[_.sampler], z = X.inputs.INPUT, q = X.inputs.OUTPUT, te = i[z], P = i[q], ee = w(_, te, P);
|
|
1759
1759
|
H(ee, e);
|
|
1760
1760
|
}
|
|
1761
1761
|
return e;
|
|
1762
1762
|
}
|
|
1763
1763
|
function C(t) {
|
|
1764
|
-
return
|
|
1764
|
+
return v(re.animations[t], O);
|
|
1765
1765
|
}
|
|
1766
|
-
function
|
|
1767
|
-
const s =
|
|
1768
|
-
let
|
|
1766
|
+
function w(t, e, o) {
|
|
1767
|
+
const s = re.nodes[t.id], i = Ot(s.id), h = s.transforms[t.sid], _ = s.matrix.clone().transpose();
|
|
1768
|
+
let X, z, q, te, P, ee;
|
|
1769
1769
|
const Q = {};
|
|
1770
1770
|
switch (h) {
|
|
1771
1771
|
case "matrix":
|
|
1772
|
-
for (
|
|
1773
|
-
if (
|
|
1774
|
-
const
|
|
1775
|
-
Q[
|
|
1772
|
+
for (q = 0, te = e.array.length; q < te; q++)
|
|
1773
|
+
if (X = e.array[q], z = q * o.stride, Q[X] === void 0 && (Q[X] = {}), t.arraySyntax === !0) {
|
|
1774
|
+
const Ee = o.array[z], ke = t.indices[0] + 4 * t.indices[1];
|
|
1775
|
+
Q[X][ke] = Ee;
|
|
1776
1776
|
} else
|
|
1777
|
-
for (
|
|
1778
|
-
Q[
|
|
1777
|
+
for (P = 0, ee = o.stride; P < ee; P++)
|
|
1778
|
+
Q[X][P] = o.array[z + P];
|
|
1779
1779
|
break;
|
|
1780
1780
|
case "translate":
|
|
1781
1781
|
console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.', h);
|
|
@@ -1787,10 +1787,10 @@ class Ti extends Wt {
|
|
|
1787
1787
|
console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.', h);
|
|
1788
1788
|
break;
|
|
1789
1789
|
}
|
|
1790
|
-
const
|
|
1790
|
+
const se = f(Q, _);
|
|
1791
1791
|
return {
|
|
1792
1792
|
name: i.uuid,
|
|
1793
|
-
keyframes:
|
|
1793
|
+
keyframes: se
|
|
1794
1794
|
};
|
|
1795
1795
|
}
|
|
1796
1796
|
function f(t, e) {
|
|
@@ -1799,27 +1799,27 @@ class Ti extends Wt {
|
|
|
1799
1799
|
o.push({ time: parseFloat(i), value: t[i] });
|
|
1800
1800
|
o.sort(s);
|
|
1801
1801
|
for (let i = 0; i < 16; i++)
|
|
1802
|
-
|
|
1802
|
+
F(o, i, e.elements[i]);
|
|
1803
1803
|
return o;
|
|
1804
1804
|
function s(i, h) {
|
|
1805
1805
|
return i.time - h.time;
|
|
1806
1806
|
}
|
|
1807
1807
|
}
|
|
1808
|
-
const
|
|
1808
|
+
const j = new ce(), T = new ce(), k = new pn();
|
|
1809
1809
|
function H(t, e) {
|
|
1810
|
-
const o = t.keyframes, s = t.name, i = [], h = [],
|
|
1811
|
-
for (let z = 0,
|
|
1812
|
-
const te = o[z],
|
|
1813
|
-
|
|
1810
|
+
const o = t.keyframes, s = t.name, i = [], h = [], _ = [], X = [];
|
|
1811
|
+
for (let z = 0, q = o.length; z < q; z++) {
|
|
1812
|
+
const te = o[z], P = te.time, ee = te.value;
|
|
1813
|
+
Ke.fromArray(ee).transpose(), Ke.decompose(j, k, T), i.push(P), h.push(j.x, j.y, j.z), _.push(k.x, k.y, k.z, k.w), X.push(T.x, T.y, T.z);
|
|
1814
1814
|
}
|
|
1815
|
-
return h.length > 0 && e.push(new hs(s + ".position", i, h)),
|
|
1815
|
+
return h.length > 0 && e.push(new hs(s + ".position", i, h)), _.length > 0 && e.push(new Lo(s + ".quaternion", i, _)), X.length > 0 && e.push(new hs(s + ".scale", i, X)), e;
|
|
1816
1816
|
}
|
|
1817
|
-
function
|
|
1818
|
-
let s, i = !0, h,
|
|
1819
|
-
for (h = 0,
|
|
1817
|
+
function F(t, e, o) {
|
|
1818
|
+
let s, i = !0, h, _;
|
|
1819
|
+
for (h = 0, _ = t.length; h < _; h++)
|
|
1820
1820
|
s = t[h], s.value[e] === void 0 ? s.value[e] = null : i = !1;
|
|
1821
1821
|
if (i === !0)
|
|
1822
|
-
for (h = 0,
|
|
1822
|
+
for (h = 0, _ = t.length; h < _; h++)
|
|
1823
1823
|
s = t[h], s.value[e] = o;
|
|
1824
1824
|
else
|
|
1825
1825
|
B(t, e);
|
|
@@ -1827,21 +1827,21 @@ class Ti extends Wt {
|
|
|
1827
1827
|
function B(t, e) {
|
|
1828
1828
|
let o, s;
|
|
1829
1829
|
for (let i = 0, h = t.length; i < h; i++) {
|
|
1830
|
-
const
|
|
1831
|
-
if (
|
|
1832
|
-
if (o =
|
|
1833
|
-
|
|
1830
|
+
const _ = t[i];
|
|
1831
|
+
if (_.value[e] === null) {
|
|
1832
|
+
if (o = ae(t, i, e), s = he(t, i, e), o === null) {
|
|
1833
|
+
_.value[e] = s.value[e];
|
|
1834
1834
|
continue;
|
|
1835
1835
|
}
|
|
1836
1836
|
if (s === null) {
|
|
1837
|
-
|
|
1837
|
+
_.value[e] = o.value[e];
|
|
1838
1838
|
continue;
|
|
1839
1839
|
}
|
|
1840
|
-
m(
|
|
1840
|
+
m(_, o, s, e);
|
|
1841
1841
|
}
|
|
1842
1842
|
}
|
|
1843
1843
|
}
|
|
1844
|
-
function
|
|
1844
|
+
function ae(t, e, o) {
|
|
1845
1845
|
for (; e >= 0; ) {
|
|
1846
1846
|
const s = t[e];
|
|
1847
1847
|
if (s.value[o] !== null) return s;
|
|
@@ -1880,37 +1880,37 @@ class Ti extends Wt {
|
|
|
1880
1880
|
break;
|
|
1881
1881
|
}
|
|
1882
1882
|
}
|
|
1883
|
-
|
|
1883
|
+
re.clips[t.getAttribute("id")] = e;
|
|
1884
1884
|
}
|
|
1885
1885
|
function I(t) {
|
|
1886
1886
|
const e = [], o = t.name, s = t.end - t.start || -1, i = t.animations;
|
|
1887
|
-
for (let h = 0,
|
|
1888
|
-
const
|
|
1889
|
-
for (let z = 0,
|
|
1890
|
-
e.push(
|
|
1887
|
+
for (let h = 0, _ = i.length; h < _; h++) {
|
|
1888
|
+
const X = C(i[h]);
|
|
1889
|
+
for (let z = 0, q = X.length; z < q; z++)
|
|
1890
|
+
e.push(X[z]);
|
|
1891
1891
|
}
|
|
1892
1892
|
return new us(o, s, e);
|
|
1893
1893
|
}
|
|
1894
|
-
function
|
|
1895
|
-
return
|
|
1894
|
+
function $(t) {
|
|
1895
|
+
return v(re.clips[t], I);
|
|
1896
1896
|
}
|
|
1897
|
-
function
|
|
1897
|
+
function G(t) {
|
|
1898
1898
|
const e = {};
|
|
1899
1899
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
1900
1900
|
const i = t.childNodes[o];
|
|
1901
1901
|
if (i.nodeType === 1)
|
|
1902
1902
|
switch (i.nodeName) {
|
|
1903
1903
|
case "skin":
|
|
1904
|
-
e.id = u(i.getAttribute("source")), e.skin =
|
|
1904
|
+
e.id = u(i.getAttribute("source")), e.skin = de(i);
|
|
1905
1905
|
break;
|
|
1906
1906
|
case "morph":
|
|
1907
1907
|
e.id = u(i.getAttribute("source")), console.warn("THREE.ColladaLoader: Morph target animation not supported yet.");
|
|
1908
1908
|
break;
|
|
1909
1909
|
}
|
|
1910
1910
|
}
|
|
1911
|
-
|
|
1911
|
+
re.controllers[t.getAttribute("id")] = e;
|
|
1912
1912
|
}
|
|
1913
|
-
function
|
|
1913
|
+
function de(t) {
|
|
1914
1914
|
const e = {
|
|
1915
1915
|
sources: {}
|
|
1916
1916
|
};
|
|
@@ -1926,16 +1926,16 @@ class Ti extends Wt {
|
|
|
1926
1926
|
e.sources[h] = at(i);
|
|
1927
1927
|
break;
|
|
1928
1928
|
case "joints":
|
|
1929
|
-
e.joints =
|
|
1929
|
+
e.joints = M(i);
|
|
1930
1930
|
break;
|
|
1931
1931
|
case "vertex_weights":
|
|
1932
|
-
e.vertexWeights =
|
|
1932
|
+
e.vertexWeights = oe(i);
|
|
1933
1933
|
break;
|
|
1934
1934
|
}
|
|
1935
1935
|
}
|
|
1936
1936
|
return e;
|
|
1937
1937
|
}
|
|
1938
|
-
function
|
|
1938
|
+
function M(t) {
|
|
1939
1939
|
const e = {
|
|
1940
1940
|
inputs: {}
|
|
1941
1941
|
};
|
|
@@ -1944,14 +1944,14 @@ class Ti extends Wt {
|
|
|
1944
1944
|
if (i.nodeType === 1)
|
|
1945
1945
|
switch (i.nodeName) {
|
|
1946
1946
|
case "input":
|
|
1947
|
-
const h = i.getAttribute("semantic"),
|
|
1948
|
-
e.inputs[h] =
|
|
1947
|
+
const h = i.getAttribute("semantic"), _ = u(i.getAttribute("source"));
|
|
1948
|
+
e.inputs[h] = _;
|
|
1949
1949
|
break;
|
|
1950
1950
|
}
|
|
1951
1951
|
}
|
|
1952
1952
|
return e;
|
|
1953
1953
|
}
|
|
1954
|
-
function
|
|
1954
|
+
function oe(t) {
|
|
1955
1955
|
const e = {
|
|
1956
1956
|
inputs: {}
|
|
1957
1957
|
};
|
|
@@ -1960,8 +1960,8 @@ class Ti extends Wt {
|
|
|
1960
1960
|
if (i.nodeType === 1)
|
|
1961
1961
|
switch (i.nodeName) {
|
|
1962
1962
|
case "input":
|
|
1963
|
-
const h = i.getAttribute("semantic"),
|
|
1964
|
-
e.inputs[h] = { id:
|
|
1963
|
+
const h = i.getAttribute("semantic"), _ = u(i.getAttribute("source")), X = parseInt(i.getAttribute("offset"));
|
|
1964
|
+
e.inputs[h] = { id: _, offset: X };
|
|
1965
1965
|
break;
|
|
1966
1966
|
case "vcount":
|
|
1967
1967
|
e.vcount = y(i.textContent);
|
|
@@ -1973,13 +1973,13 @@ class Ti extends Wt {
|
|
|
1973
1973
|
}
|
|
1974
1974
|
return e;
|
|
1975
1975
|
}
|
|
1976
|
-
function
|
|
1976
|
+
function W(t) {
|
|
1977
1977
|
const e = {
|
|
1978
1978
|
id: t.id
|
|
1979
|
-
}, o =
|
|
1980
|
-
return t.skin !== void 0 && (e.skin =
|
|
1979
|
+
}, o = re.geometries[e.id];
|
|
1980
|
+
return t.skin !== void 0 && (e.skin = K(t.skin), o.sources.skinIndices = e.skin.indices, o.sources.skinWeights = e.skin.weights), e;
|
|
1981
1981
|
}
|
|
1982
|
-
function
|
|
1982
|
+
function K(t) {
|
|
1983
1983
|
const o = {
|
|
1984
1984
|
joints: [],
|
|
1985
1985
|
// this must be an array to preserve the joint order
|
|
@@ -1991,43 +1991,43 @@ class Ti extends Wt {
|
|
|
1991
1991
|
array: [],
|
|
1992
1992
|
stride: 4
|
|
1993
1993
|
}
|
|
1994
|
-
}, s = t.sources, i = t.vertexWeights, h = i.vcount,
|
|
1995
|
-
let ee = 0, Q,
|
|
1996
|
-
for (Q = 0,
|
|
1994
|
+
}, s = t.sources, i = t.vertexWeights, h = i.vcount, _ = i.v, X = i.inputs.JOINT.offset, z = i.inputs.WEIGHT.offset, q = t.sources[t.joints.inputs.JOINT], te = t.sources[t.joints.inputs.INV_BIND_MATRIX], P = s[i.inputs.WEIGHT.id].array;
|
|
1995
|
+
let ee = 0, Q, se, ne;
|
|
1996
|
+
for (Q = 0, ne = h.length; Q < ne; Q++) {
|
|
1997
1997
|
const ke = h[Q], we = [];
|
|
1998
|
-
for (
|
|
1999
|
-
const _e =
|
|
2000
|
-
we.push({ index: _e, weight:
|
|
1998
|
+
for (se = 0; se < ke; se++) {
|
|
1999
|
+
const _e = _[ee + X], dt = _[ee + z], Ve = P[dt];
|
|
2000
|
+
we.push({ index: _e, weight: Ve }), ee += 2;
|
|
2001
2001
|
}
|
|
2002
|
-
for (we.sort(
|
|
2003
|
-
const _e = we[
|
|
2002
|
+
for (we.sort(Ee), se = 0; se < 4; se++) {
|
|
2003
|
+
const _e = we[se];
|
|
2004
2004
|
_e !== void 0 ? (o.indices.array.push(_e.index), o.weights.array.push(_e.weight)) : (o.indices.array.push(0), o.weights.array.push(0));
|
|
2005
2005
|
}
|
|
2006
2006
|
}
|
|
2007
|
-
for (t.bindShapeMatrix ? o.bindMatrix = new ut().fromArray(t.bindShapeMatrix).transpose() : o.bindMatrix = new ut().identity(), Q = 0,
|
|
2008
|
-
const ke =
|
|
2007
|
+
for (t.bindShapeMatrix ? o.bindMatrix = new ut().fromArray(t.bindShapeMatrix).transpose() : o.bindMatrix = new ut().identity(), Q = 0, ne = q.array.length; Q < ne; Q++) {
|
|
2008
|
+
const ke = q.array[Q], we = new ut().fromArray(te.array, Q * te.stride).transpose();
|
|
2009
2009
|
o.joints.push({ name: ke, boneInverse: we });
|
|
2010
2010
|
}
|
|
2011
2011
|
return o;
|
|
2012
|
-
function
|
|
2012
|
+
function Ee(ke, we) {
|
|
2013
2013
|
return we.weight - ke.weight;
|
|
2014
2014
|
}
|
|
2015
2015
|
}
|
|
2016
|
-
function
|
|
2017
|
-
return
|
|
2016
|
+
function Z(t) {
|
|
2017
|
+
return v(re.controllers[t], W);
|
|
2018
2018
|
}
|
|
2019
2019
|
function V(t) {
|
|
2020
2020
|
const e = {
|
|
2021
2021
|
init_from: r(t, "init_from")[0].textContent
|
|
2022
2022
|
};
|
|
2023
|
-
|
|
2023
|
+
re.images[t.getAttribute("id")] = e;
|
|
2024
2024
|
}
|
|
2025
2025
|
function J(t) {
|
|
2026
2026
|
return t.build !== void 0 ? t.build : t.init_from;
|
|
2027
2027
|
}
|
|
2028
|
-
function
|
|
2029
|
-
const e =
|
|
2030
|
-
return e !== void 0 ?
|
|
2028
|
+
function ge(t) {
|
|
2029
|
+
const e = re.images[t];
|
|
2030
|
+
return e !== void 0 ? v(e, J) : (console.warn("THREE.ColladaLoader: Couldn't find image with ID:", t), null);
|
|
2031
2031
|
}
|
|
2032
2032
|
function be(t) {
|
|
2033
2033
|
const e = {};
|
|
@@ -2040,7 +2040,7 @@ class Ti extends Wt {
|
|
|
2040
2040
|
break;
|
|
2041
2041
|
}
|
|
2042
2042
|
}
|
|
2043
|
-
|
|
2043
|
+
re.effects[t.getAttribute("id")] = e;
|
|
2044
2044
|
}
|
|
2045
2045
|
function ue(t) {
|
|
2046
2046
|
const e = {
|
|
@@ -2058,7 +2058,7 @@ class Ti extends Wt {
|
|
|
2058
2058
|
e.technique = _t(i);
|
|
2059
2059
|
break;
|
|
2060
2060
|
case "extra":
|
|
2061
|
-
e.extra =
|
|
2061
|
+
e.extra = nt(i);
|
|
2062
2062
|
break;
|
|
2063
2063
|
}
|
|
2064
2064
|
}
|
|
@@ -2071,15 +2071,15 @@ class Ti extends Wt {
|
|
|
2071
2071
|
if (h.nodeType === 1)
|
|
2072
2072
|
switch (h.nodeName) {
|
|
2073
2073
|
case "surface":
|
|
2074
|
-
e.surfaces[o] =
|
|
2074
|
+
e.surfaces[o] = ze(h);
|
|
2075
2075
|
break;
|
|
2076
2076
|
case "sampler2D":
|
|
2077
|
-
e.samplers[o] =
|
|
2077
|
+
e.samplers[o] = Xe(h);
|
|
2078
2078
|
break;
|
|
2079
2079
|
}
|
|
2080
2080
|
}
|
|
2081
2081
|
}
|
|
2082
|
-
function
|
|
2082
|
+
function ze(t) {
|
|
2083
2083
|
const e = {};
|
|
2084
2084
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
2085
2085
|
const i = t.childNodes[o];
|
|
@@ -2092,7 +2092,7 @@ class Ti extends Wt {
|
|
|
2092
2092
|
}
|
|
2093
2093
|
return e;
|
|
2094
2094
|
}
|
|
2095
|
-
function
|
|
2095
|
+
function Xe(t) {
|
|
2096
2096
|
const e = {};
|
|
2097
2097
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
2098
2098
|
const i = t.childNodes[o];
|
|
@@ -2118,7 +2118,7 @@ class Ti extends Wt {
|
|
|
2118
2118
|
e.type = i.nodeName, e.parameters = vt(i);
|
|
2119
2119
|
break;
|
|
2120
2120
|
case "extra":
|
|
2121
|
-
e.extra =
|
|
2121
|
+
e.extra = nt(i);
|
|
2122
2122
|
break;
|
|
2123
2123
|
}
|
|
2124
2124
|
}
|
|
@@ -2210,25 +2210,25 @@ class Ti extends Wt {
|
|
|
2210
2210
|
i.textContent.toUpperCase() === "TRUE" ? e.technique[i.nodeName] = 1 : i.textContent.toUpperCase() === "FALSE" ? e.technique[i.nodeName] = 0 : e.technique[i.nodeName] = parseInt(i.textContent);
|
|
2211
2211
|
break;
|
|
2212
2212
|
case "bump":
|
|
2213
|
-
e[i.nodeName] =
|
|
2213
|
+
e[i.nodeName] = je(i);
|
|
2214
2214
|
break;
|
|
2215
2215
|
}
|
|
2216
2216
|
}
|
|
2217
2217
|
}
|
|
2218
|
-
function
|
|
2218
|
+
function nt(t) {
|
|
2219
2219
|
const e = {};
|
|
2220
2220
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
2221
2221
|
const i = t.childNodes[o];
|
|
2222
2222
|
if (i.nodeType === 1)
|
|
2223
2223
|
switch (i.nodeName) {
|
|
2224
2224
|
case "technique":
|
|
2225
|
-
e.technique =
|
|
2225
|
+
e.technique = Ne(i);
|
|
2226
2226
|
break;
|
|
2227
2227
|
}
|
|
2228
2228
|
}
|
|
2229
2229
|
return e;
|
|
2230
2230
|
}
|
|
2231
|
-
function
|
|
2231
|
+
function Ne(t) {
|
|
2232
2232
|
const e = {};
|
|
2233
2233
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
2234
2234
|
const i = t.childNodes[o];
|
|
@@ -2238,13 +2238,13 @@ class Ti extends Wt {
|
|
|
2238
2238
|
e[i.nodeName] = parseInt(i.textContent);
|
|
2239
2239
|
break;
|
|
2240
2240
|
case "bump":
|
|
2241
|
-
e[i.nodeName] =
|
|
2241
|
+
e[i.nodeName] = je(i);
|
|
2242
2242
|
break;
|
|
2243
2243
|
}
|
|
2244
2244
|
}
|
|
2245
2245
|
return e;
|
|
2246
2246
|
}
|
|
2247
|
-
function
|
|
2247
|
+
function je(t) {
|
|
2248
2248
|
const e = {};
|
|
2249
2249
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
2250
2250
|
const i = t.childNodes[o];
|
|
@@ -2257,11 +2257,11 @@ class Ti extends Wt {
|
|
|
2257
2257
|
}
|
|
2258
2258
|
return e;
|
|
2259
2259
|
}
|
|
2260
|
-
function
|
|
2260
|
+
function pe(t) {
|
|
2261
2261
|
return t;
|
|
2262
2262
|
}
|
|
2263
|
-
function
|
|
2264
|
-
return
|
|
2263
|
+
function Lt(t) {
|
|
2264
|
+
return v(re.effects[t], pe);
|
|
2265
2265
|
}
|
|
2266
2266
|
function St(t) {
|
|
2267
2267
|
const e = {
|
|
@@ -2276,9 +2276,9 @@ class Ti extends Wt {
|
|
|
2276
2276
|
break;
|
|
2277
2277
|
}
|
|
2278
2278
|
}
|
|
2279
|
-
|
|
2279
|
+
re.materials[t.getAttribute("id")] = e;
|
|
2280
2280
|
}
|
|
2281
|
-
function
|
|
2281
|
+
function Te(t) {
|
|
2282
2282
|
let e, o = t.slice((t.lastIndexOf(".") - 1 >>> 0) + 2);
|
|
2283
2283
|
switch (o = o.toLowerCase(), o) {
|
|
2284
2284
|
case "tga":
|
|
@@ -2290,12 +2290,12 @@ class Ti extends Wt {
|
|
|
2290
2290
|
return e;
|
|
2291
2291
|
}
|
|
2292
2292
|
function ft(t) {
|
|
2293
|
-
const e =
|
|
2293
|
+
const e = Lt(t.url), o = e.profile.technique;
|
|
2294
2294
|
let s;
|
|
2295
2295
|
switch (o.type) {
|
|
2296
2296
|
case "phong":
|
|
2297
2297
|
case "blinn":
|
|
2298
|
-
s = new
|
|
2298
|
+
s = new $e();
|
|
2299
2299
|
break;
|
|
2300
2300
|
case "lambert":
|
|
2301
2301
|
s = new No();
|
|
@@ -2305,95 +2305,95 @@ class Ti extends Wt {
|
|
|
2305
2305
|
break;
|
|
2306
2306
|
}
|
|
2307
2307
|
s.name = t.name || "";
|
|
2308
|
-
function i(z,
|
|
2308
|
+
function i(z, q = null) {
|
|
2309
2309
|
const te = e.profile.samplers[z.id];
|
|
2310
|
-
let
|
|
2310
|
+
let P = null;
|
|
2311
2311
|
if (te !== void 0) {
|
|
2312
2312
|
const ee = e.profile.surfaces[te.source];
|
|
2313
|
-
|
|
2313
|
+
P = ge(ee.init_from);
|
|
2314
2314
|
} else
|
|
2315
|
-
console.warn("THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530)."),
|
|
2316
|
-
if (
|
|
2317
|
-
const ee =
|
|
2315
|
+
console.warn("THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530)."), P = ge(z.id);
|
|
2316
|
+
if (P !== null) {
|
|
2317
|
+
const ee = Te(P);
|
|
2318
2318
|
if (ee !== void 0) {
|
|
2319
|
-
const Q = ee.load(
|
|
2320
|
-
if (
|
|
2321
|
-
const
|
|
2322
|
-
Q.wrapS =
|
|
2319
|
+
const Q = ee.load(P), se = z.extra;
|
|
2320
|
+
if (se !== void 0 && se.technique !== void 0 && g(se.technique) === !1) {
|
|
2321
|
+
const ne = se.technique;
|
|
2322
|
+
Q.wrapS = ne.wrapU ? Yt : ps, Q.wrapT = ne.wrapV ? Yt : ps, Q.offset.set(ne.offsetU || 0, ne.offsetV || 0), Q.repeat.set(ne.repeatU || 1, ne.repeatV || 1);
|
|
2323
2323
|
} else
|
|
2324
2324
|
Q.wrapS = Yt, Q.wrapT = Yt;
|
|
2325
|
-
return
|
|
2325
|
+
return q !== null && (Q.colorSpace = q), Q;
|
|
2326
2326
|
} else
|
|
2327
|
-
return console.warn("THREE.ColladaLoader: Loader for texture %s not found.",
|
|
2327
|
+
return console.warn("THREE.ColladaLoader: Loader for texture %s not found.", P), null;
|
|
2328
2328
|
} else
|
|
2329
2329
|
return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:", z.id), null;
|
|
2330
2330
|
}
|
|
2331
2331
|
const h = o.parameters;
|
|
2332
2332
|
for (const z in h) {
|
|
2333
|
-
const
|
|
2333
|
+
const q = h[z];
|
|
2334
2334
|
switch (z) {
|
|
2335
2335
|
case "diffuse":
|
|
2336
|
-
|
|
2336
|
+
q.color && s.color.fromArray(q.color), q.texture && (s.map = i(q.texture, Oe));
|
|
2337
2337
|
break;
|
|
2338
2338
|
case "specular":
|
|
2339
|
-
|
|
2339
|
+
q.color && s.specular && s.specular.fromArray(q.color), q.texture && (s.specularMap = i(q.texture));
|
|
2340
2340
|
break;
|
|
2341
2341
|
case "bump":
|
|
2342
|
-
|
|
2342
|
+
q.texture && (s.normalMap = i(q.texture));
|
|
2343
2343
|
break;
|
|
2344
2344
|
case "ambient":
|
|
2345
|
-
|
|
2345
|
+
q.texture && (s.lightMap = i(q.texture, Oe));
|
|
2346
2346
|
break;
|
|
2347
2347
|
case "shininess":
|
|
2348
|
-
|
|
2348
|
+
q.float && s.shininess && (s.shininess = q.float);
|
|
2349
2349
|
break;
|
|
2350
2350
|
case "emission":
|
|
2351
|
-
|
|
2351
|
+
q.color && s.emissive && s.emissive.fromArray(q.color), q.texture && (s.emissiveMap = i(q.texture, Oe));
|
|
2352
2352
|
break;
|
|
2353
2353
|
}
|
|
2354
2354
|
}
|
|
2355
|
-
Nt.colorSpaceToWorking(s.color,
|
|
2356
|
-
let
|
|
2357
|
-
if (
|
|
2355
|
+
Nt.colorSpaceToWorking(s.color, Oe), s.specular && Nt.colorSpaceToWorking(s.specular, Oe), s.emissive && Nt.colorSpaceToWorking(s.emissive, Oe);
|
|
2356
|
+
let _ = h.transparent, X = h.transparency;
|
|
2357
|
+
if (X === void 0 && _ && (X = {
|
|
2358
2358
|
float: 1
|
|
2359
|
-
}),
|
|
2359
|
+
}), _ === void 0 && X && (_ = {
|
|
2360
2360
|
opaque: "A_ONE",
|
|
2361
2361
|
data: {
|
|
2362
2362
|
color: [1, 1, 1, 1]
|
|
2363
2363
|
}
|
|
2364
|
-
}),
|
|
2365
|
-
if (
|
|
2364
|
+
}), _ && X)
|
|
2365
|
+
if (_.data.texture)
|
|
2366
2366
|
s.transparent = !0;
|
|
2367
2367
|
else {
|
|
2368
|
-
const z =
|
|
2369
|
-
switch (
|
|
2368
|
+
const z = _.data.color;
|
|
2369
|
+
switch (_.opaque) {
|
|
2370
2370
|
case "A_ONE":
|
|
2371
|
-
s.opacity = z[3] *
|
|
2371
|
+
s.opacity = z[3] * X.float;
|
|
2372
2372
|
break;
|
|
2373
2373
|
case "RGB_ZERO":
|
|
2374
|
-
s.opacity = 1 - z[0] *
|
|
2374
|
+
s.opacity = 1 - z[0] * X.float;
|
|
2375
2375
|
break;
|
|
2376
2376
|
case "A_ZERO":
|
|
2377
|
-
s.opacity = 1 - z[3] *
|
|
2377
|
+
s.opacity = 1 - z[3] * X.float;
|
|
2378
2378
|
break;
|
|
2379
2379
|
case "RGB_ONE":
|
|
2380
|
-
s.opacity = z[0] *
|
|
2380
|
+
s.opacity = z[0] * X.float;
|
|
2381
2381
|
break;
|
|
2382
2382
|
default:
|
|
2383
|
-
console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',
|
|
2383
|
+
console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.', _.opaque);
|
|
2384
2384
|
}
|
|
2385
2385
|
s.opacity < 1 && (s.transparent = !0);
|
|
2386
2386
|
}
|
|
2387
2387
|
if (o.extra !== void 0 && o.extra.technique !== void 0) {
|
|
2388
2388
|
const z = o.extra.technique;
|
|
2389
|
-
for (const
|
|
2390
|
-
const te = z[
|
|
2391
|
-
switch (
|
|
2389
|
+
for (const q in z) {
|
|
2390
|
+
const te = z[q];
|
|
2391
|
+
switch (q) {
|
|
2392
2392
|
case "double_sided":
|
|
2393
2393
|
s.side = te === 1 ? Et : Ms;
|
|
2394
2394
|
break;
|
|
2395
2395
|
case "bump":
|
|
2396
|
-
s.normalMap = i(te.texture), s.normalScale = new
|
|
2396
|
+
s.normalMap = i(te.texture), s.normalScale = new Ge(1, 1);
|
|
2397
2397
|
break;
|
|
2398
2398
|
}
|
|
2399
2399
|
}
|
|
@@ -2401,7 +2401,7 @@ class Ti extends Wt {
|
|
|
2401
2401
|
return s;
|
|
2402
2402
|
}
|
|
2403
2403
|
function xt(t) {
|
|
2404
|
-
return
|
|
2404
|
+
return v(re.materials[t], ft);
|
|
2405
2405
|
}
|
|
2406
2406
|
function Ct(t) {
|
|
2407
2407
|
const e = {
|
|
@@ -2416,7 +2416,7 @@ class Ti extends Wt {
|
|
|
2416
2416
|
break;
|
|
2417
2417
|
}
|
|
2418
2418
|
}
|
|
2419
|
-
|
|
2419
|
+
re.cameras[t.getAttribute("id")] = e;
|
|
2420
2420
|
}
|
|
2421
2421
|
function Rt(t) {
|
|
2422
2422
|
for (let e = 0; e < t.childNodes.length; e++) {
|
|
@@ -2489,9 +2489,9 @@ class Ti extends Wt {
|
|
|
2489
2489
|
}
|
|
2490
2490
|
return e.name = t.name || "", e;
|
|
2491
2491
|
}
|
|
2492
|
-
function
|
|
2493
|
-
const e =
|
|
2494
|
-
return e !== void 0 ?
|
|
2492
|
+
function Ae(t) {
|
|
2493
|
+
const e = re.cameras[t];
|
|
2494
|
+
return e !== void 0 ? v(e, ve) : (console.warn("THREE.ColladaLoader: Couldn't find camera with ID:", t), null);
|
|
2495
2495
|
}
|
|
2496
2496
|
function Je(t) {
|
|
2497
2497
|
let e = {};
|
|
@@ -2504,7 +2504,7 @@ class Ti extends Wt {
|
|
|
2504
2504
|
break;
|
|
2505
2505
|
}
|
|
2506
2506
|
}
|
|
2507
|
-
|
|
2507
|
+
re.lights[t.getAttribute("id")] = e;
|
|
2508
2508
|
}
|
|
2509
2509
|
function Re(t) {
|
|
2510
2510
|
const e = {};
|
|
@@ -2516,12 +2516,12 @@ class Ti extends Wt {
|
|
|
2516
2516
|
case "point":
|
|
2517
2517
|
case "spot":
|
|
2518
2518
|
case "ambient":
|
|
2519
|
-
e.technique = i.nodeName, e.parameters =
|
|
2519
|
+
e.technique = i.nodeName, e.parameters = Ce(i);
|
|
2520
2520
|
}
|
|
2521
2521
|
}
|
|
2522
2522
|
return e;
|
|
2523
2523
|
}
|
|
2524
|
-
function
|
|
2524
|
+
function Ce(t) {
|
|
2525
2525
|
const e = {};
|
|
2526
2526
|
for (let o = 0, s = t.childNodes.length; o < s; o++) {
|
|
2527
2527
|
const i = t.childNodes[o];
|
|
@@ -2529,20 +2529,20 @@ class Ti extends Wt {
|
|
|
2529
2529
|
switch (i.nodeName) {
|
|
2530
2530
|
case "color":
|
|
2531
2531
|
const h = l(i.textContent);
|
|
2532
|
-
e.color = new wt().fromArray(h), Nt.colorSpaceToWorking(e.color,
|
|
2532
|
+
e.color = new wt().fromArray(h), Nt.colorSpaceToWorking(e.color, Oe);
|
|
2533
2533
|
break;
|
|
2534
2534
|
case "falloff_angle":
|
|
2535
2535
|
e.falloffAngle = parseFloat(i.textContent);
|
|
2536
2536
|
break;
|
|
2537
2537
|
case "quadratic_attenuation":
|
|
2538
|
-
const
|
|
2539
|
-
e.distance =
|
|
2538
|
+
const _ = parseFloat(i.textContent);
|
|
2539
|
+
e.distance = _ ? Math.sqrt(1 / _) : 0;
|
|
2540
2540
|
break;
|
|
2541
2541
|
}
|
|
2542
2542
|
}
|
|
2543
2543
|
return e;
|
|
2544
2544
|
}
|
|
2545
|
-
function
|
|
2545
|
+
function Ye(t) {
|
|
2546
2546
|
let e;
|
|
2547
2547
|
switch (t.technique) {
|
|
2548
2548
|
case "directional":
|
|
@@ -2561,8 +2561,8 @@ class Ti extends Wt {
|
|
|
2561
2561
|
return t.parameters.color && e.color.copy(t.parameters.color), t.parameters.distance && (e.distance = t.parameters.distance), e;
|
|
2562
2562
|
}
|
|
2563
2563
|
function rt(t) {
|
|
2564
|
-
const e =
|
|
2565
|
-
return e !== void 0 ?
|
|
2564
|
+
const e = re.lights[t];
|
|
2565
|
+
return e !== void 0 ? v(e, Ye) : (console.warn("THREE.ColladaLoader: Couldn't find light with ID:", t), null);
|
|
2566
2566
|
}
|
|
2567
2567
|
function lt(t) {
|
|
2568
2568
|
const e = {
|
|
@@ -2596,7 +2596,7 @@ class Ti extends Wt {
|
|
|
2596
2596
|
console.log(i);
|
|
2597
2597
|
}
|
|
2598
2598
|
}
|
|
2599
|
-
|
|
2599
|
+
re.geometries[t.getAttribute("id")] = e;
|
|
2600
2600
|
}
|
|
2601
2601
|
}
|
|
2602
2602
|
function at(t) {
|
|
@@ -2644,8 +2644,8 @@ class Ti extends Wt {
|
|
|
2644
2644
|
if (i.nodeType === 1)
|
|
2645
2645
|
switch (i.nodeName) {
|
|
2646
2646
|
case "input":
|
|
2647
|
-
const h = u(i.getAttribute("source")),
|
|
2648
|
-
e.inputs[
|
|
2647
|
+
const h = u(i.getAttribute("source")), _ = i.getAttribute("semantic"), X = parseInt(i.getAttribute("offset")), z = parseInt(i.getAttribute("set")), q = z > 0 ? _ + z : _;
|
|
2648
|
+
e.inputs[q] = { id: h, offset: X }, e.stride = Math.max(e.stride, X + 1), _ === "TEXCOORD" && (e.hasUV = !0);
|
|
2649
2649
|
break;
|
|
2650
2650
|
case "vcount":
|
|
2651
2651
|
e.vcount = y(i.textContent);
|
|
@@ -2675,29 +2675,29 @@ class Ti extends Wt {
|
|
|
2675
2675
|
const e = {}, o = t.sources, s = t.vertices, i = t.primitives;
|
|
2676
2676
|
if (i.length === 0) return {};
|
|
2677
2677
|
const h = gt(i);
|
|
2678
|
-
for (const
|
|
2679
|
-
const
|
|
2680
|
-
ct(
|
|
2678
|
+
for (const _ in h) {
|
|
2679
|
+
const X = h[_];
|
|
2680
|
+
ct(X), e[_] = Us(X, o, s);
|
|
2681
2681
|
}
|
|
2682
2682
|
return e;
|
|
2683
2683
|
}
|
|
2684
2684
|
function Us(t, e, o) {
|
|
2685
|
-
const s = {}, i = { array: [], stride: 0 }, h = { array: [], stride: 0 },
|
|
2685
|
+
const s = {}, i = { array: [], stride: 0 }, h = { array: [], stride: 0 }, _ = { array: [], stride: 0 }, X = { array: [], stride: 0 }, z = { array: [], stride: 0 }, q = { array: [], stride: 4 }, te = { array: [], stride: 4 }, P = new $t(), ee = [];
|
|
2686
2686
|
let Q = 0;
|
|
2687
|
-
for (let
|
|
2688
|
-
const
|
|
2687
|
+
for (let se = 0; se < t.length; se++) {
|
|
2688
|
+
const ne = t[se], Ee = ne.inputs;
|
|
2689
2689
|
let ke = 0;
|
|
2690
|
-
switch (
|
|
2690
|
+
switch (ne.type) {
|
|
2691
2691
|
case "lines":
|
|
2692
2692
|
case "linestrips":
|
|
2693
|
-
ke =
|
|
2693
|
+
ke = ne.count * 2;
|
|
2694
2694
|
break;
|
|
2695
2695
|
case "triangles":
|
|
2696
|
-
ke =
|
|
2696
|
+
ke = ne.count * 3;
|
|
2697
2697
|
break;
|
|
2698
2698
|
case "polylist":
|
|
2699
|
-
for (let we = 0; we <
|
|
2700
|
-
const _e =
|
|
2699
|
+
for (let we = 0; we < ne.count; we++) {
|
|
2700
|
+
const _e = ne.vcount[we];
|
|
2701
2701
|
switch (_e) {
|
|
2702
2702
|
case 3:
|
|
2703
2703
|
ke += 3;
|
|
@@ -2712,35 +2712,35 @@ class Ti extends Wt {
|
|
|
2712
2712
|
}
|
|
2713
2713
|
break;
|
|
2714
2714
|
default:
|
|
2715
|
-
console.warn("THREE.ColladaLoader: Unknown primitive type:",
|
|
2715
|
+
console.warn("THREE.ColladaLoader: Unknown primitive type:", ne.type);
|
|
2716
2716
|
}
|
|
2717
|
-
|
|
2718
|
-
for (const we in
|
|
2719
|
-
const _e =
|
|
2717
|
+
P.addGroup(Q, ke, se), Q += ke, ne.material && ee.push(ne.material);
|
|
2718
|
+
for (const we in Ee) {
|
|
2719
|
+
const _e = Ee[we];
|
|
2720
2720
|
switch (we) {
|
|
2721
2721
|
case "VERTEX":
|
|
2722
2722
|
for (const dt in o) {
|
|
2723
|
-
const
|
|
2723
|
+
const Ve = o[dt];
|
|
2724
2724
|
switch (dt) {
|
|
2725
2725
|
case "POSITION":
|
|
2726
2726
|
const It = i.array.length;
|
|
2727
|
-
if (st(
|
|
2727
|
+
if (st(ne, e[Ve], _e.offset, i.array), i.stride = e[Ve].stride, e.skinWeights && e.skinIndices && (st(ne, e.skinIndices, _e.offset, q.array), st(ne, e.skinWeights, _e.offset, te.array)), ne.hasUV === !1 && t.uvsNeedsFix === !0) {
|
|
2728
2728
|
const mo = (i.array.length - It) / i.stride;
|
|
2729
2729
|
for (let rs = 0; rs < mo; rs++)
|
|
2730
|
-
|
|
2730
|
+
_.array.push(0, 0);
|
|
2731
2731
|
}
|
|
2732
2732
|
break;
|
|
2733
2733
|
case "NORMAL":
|
|
2734
|
-
st(
|
|
2734
|
+
st(ne, e[Ve], _e.offset, h.array), h.stride = e[Ve].stride;
|
|
2735
2735
|
break;
|
|
2736
2736
|
case "COLOR":
|
|
2737
|
-
st(
|
|
2737
|
+
st(ne, e[Ve], _e.offset, z.array), z.stride = e[Ve].stride;
|
|
2738
2738
|
break;
|
|
2739
2739
|
case "TEXCOORD":
|
|
2740
|
-
st(
|
|
2740
|
+
st(ne, e[Ve], _e.offset, _.array), _.stride = e[Ve].stride;
|
|
2741
2741
|
break;
|
|
2742
2742
|
case "TEXCOORD1":
|
|
2743
|
-
st(
|
|
2743
|
+
st(ne, e[Ve], _e.offset, X.array), _.stride = e[Ve].stride;
|
|
2744
2744
|
break;
|
|
2745
2745
|
default:
|
|
2746
2746
|
console.warn('THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.', dt);
|
|
@@ -2748,63 +2748,63 @@ class Ti extends Wt {
|
|
|
2748
2748
|
}
|
|
2749
2749
|
break;
|
|
2750
2750
|
case "NORMAL":
|
|
2751
|
-
st(
|
|
2751
|
+
st(ne, e[_e.id], _e.offset, h.array), h.stride = e[_e.id].stride;
|
|
2752
2752
|
break;
|
|
2753
2753
|
case "COLOR":
|
|
2754
|
-
st(
|
|
2754
|
+
st(ne, e[_e.id], _e.offset, z.array, !0), z.stride = e[_e.id].stride;
|
|
2755
2755
|
break;
|
|
2756
2756
|
case "TEXCOORD":
|
|
2757
|
-
st(
|
|
2757
|
+
st(ne, e[_e.id], _e.offset, _.array), _.stride = e[_e.id].stride;
|
|
2758
2758
|
break;
|
|
2759
2759
|
case "TEXCOORD1":
|
|
2760
|
-
st(
|
|
2760
|
+
st(ne, e[_e.id], _e.offset, X.array), X.stride = e[_e.id].stride;
|
|
2761
2761
|
break;
|
|
2762
2762
|
}
|
|
2763
2763
|
}
|
|
2764
2764
|
}
|
|
2765
|
-
return i.array.length > 0 &&
|
|
2765
|
+
return i.array.length > 0 && P.setAttribute("position", new Ue(i.array, i.stride)), h.array.length > 0 && P.setAttribute("normal", new Ue(h.array, h.stride)), z.array.length > 0 && P.setAttribute("color", new Ue(z.array, z.stride)), _.array.length > 0 && P.setAttribute("uv", new Ue(_.array, _.stride)), X.array.length > 0 && P.setAttribute("uv1", new Ue(X.array, X.stride)), q.array.length > 0 && P.setAttribute("skinIndex", new Ue(q.array, q.stride)), te.array.length > 0 && P.setAttribute("skinWeight", new Ue(te.array, te.stride)), s.data = P, s.type = t[0].type, s.materialKeys = ee, s;
|
|
2766
2766
|
}
|
|
2767
2767
|
function st(t, e, o, s, i = !1) {
|
|
2768
|
-
const h = t.p,
|
|
2769
|
-
function z(
|
|
2770
|
-
let ee = h[
|
|
2768
|
+
const h = t.p, _ = t.stride, X = t.vcount;
|
|
2769
|
+
function z(P) {
|
|
2770
|
+
let ee = h[P + o] * te;
|
|
2771
2771
|
const Q = ee + te;
|
|
2772
2772
|
for (; ee < Q; ee++)
|
|
2773
|
-
s.push(
|
|
2773
|
+
s.push(q[ee]);
|
|
2774
2774
|
if (i) {
|
|
2775
|
-
const
|
|
2775
|
+
const se = s.length - te - 1;
|
|
2776
2776
|
Zt.setRGB(
|
|
2777
|
-
s[
|
|
2778
|
-
s[
|
|
2779
|
-
s[
|
|
2780
|
-
|
|
2781
|
-
), s[
|
|
2777
|
+
s[se + 0],
|
|
2778
|
+
s[se + 1],
|
|
2779
|
+
s[se + 2],
|
|
2780
|
+
Oe
|
|
2781
|
+
), s[se + 0] = Zt.r, s[se + 1] = Zt.g, s[se + 2] = Zt.b;
|
|
2782
2782
|
}
|
|
2783
2783
|
}
|
|
2784
|
-
const
|
|
2784
|
+
const q = e.array, te = e.stride;
|
|
2785
2785
|
if (t.vcount !== void 0) {
|
|
2786
|
-
let
|
|
2787
|
-
for (let ee = 0, Q =
|
|
2788
|
-
const
|
|
2789
|
-
if (
|
|
2790
|
-
const
|
|
2791
|
-
z(
|
|
2792
|
-
} else if (
|
|
2793
|
-
const
|
|
2794
|
-
z(
|
|
2795
|
-
} else if (
|
|
2796
|
-
for (let
|
|
2797
|
-
const ke =
|
|
2786
|
+
let P = 0;
|
|
2787
|
+
for (let ee = 0, Q = X.length; ee < Q; ee++) {
|
|
2788
|
+
const se = X[ee];
|
|
2789
|
+
if (se === 4) {
|
|
2790
|
+
const ne = P + _ * 0, Ee = P + _ * 1, ke = P + _ * 2, we = P + _ * 3;
|
|
2791
|
+
z(ne), z(Ee), z(we), z(Ee), z(ke), z(we);
|
|
2792
|
+
} else if (se === 3) {
|
|
2793
|
+
const ne = P + _ * 0, Ee = P + _ * 1, ke = P + _ * 2;
|
|
2794
|
+
z(ne), z(Ee), z(ke);
|
|
2795
|
+
} else if (se > 4)
|
|
2796
|
+
for (let ne = 1, Ee = se - 2; ne <= Ee; ne++) {
|
|
2797
|
+
const ke = P + _ * 0, we = P + _ * ne, _e = P + _ * (ne + 1);
|
|
2798
2798
|
z(ke), z(we), z(_e);
|
|
2799
2799
|
}
|
|
2800
|
-
|
|
2800
|
+
P += _ * se;
|
|
2801
2801
|
}
|
|
2802
2802
|
} else
|
|
2803
|
-
for (let
|
|
2804
|
-
z(
|
|
2803
|
+
for (let P = 0, ee = h.length; P < ee; P += _)
|
|
2804
|
+
z(P);
|
|
2805
2805
|
}
|
|
2806
2806
|
function Kn(t) {
|
|
2807
|
-
return
|
|
2807
|
+
return v(re.geometries[t], Ft);
|
|
2808
2808
|
}
|
|
2809
2809
|
function Bs(t) {
|
|
2810
2810
|
const e = {
|
|
@@ -2821,13 +2821,13 @@ class Ti extends Wt {
|
|
|
2821
2821
|
break;
|
|
2822
2822
|
}
|
|
2823
2823
|
}
|
|
2824
|
-
|
|
2824
|
+
re.kinematicsModels[t.getAttribute("id")] = e;
|
|
2825
2825
|
}
|
|
2826
2826
|
function zs(t) {
|
|
2827
2827
|
return t.build !== void 0 ? t.build : t;
|
|
2828
2828
|
}
|
|
2829
2829
|
function Vs(t) {
|
|
2830
|
-
return
|
|
2830
|
+
return v(re.kinematicsModels[t], zs);
|
|
2831
2831
|
}
|
|
2832
2832
|
function Hs(t, e) {
|
|
2833
2833
|
for (let o = 0; o < t.childNodes.length; o++) {
|
|
@@ -2861,7 +2861,7 @@ class Ti extends Wt {
|
|
|
2861
2861
|
const e = {
|
|
2862
2862
|
sid: t.getAttribute("sid"),
|
|
2863
2863
|
name: t.getAttribute("name") || "",
|
|
2864
|
-
axis: new
|
|
2864
|
+
axis: new ce(),
|
|
2865
2865
|
limits: {
|
|
2866
2866
|
min: 0,
|
|
2867
2867
|
max: 0
|
|
@@ -2880,8 +2880,8 @@ class Ti extends Wt {
|
|
|
2880
2880
|
e.axis.fromArray(i);
|
|
2881
2881
|
break;
|
|
2882
2882
|
case "limits":
|
|
2883
|
-
const h = s.getElementsByTagName("max")[0],
|
|
2884
|
-
e.limits.max = parseFloat(h.textContent), e.limits.min = parseFloat(
|
|
2883
|
+
const h = s.getElementsByTagName("max")[0], _ = s.getElementsByTagName("min")[0];
|
|
2884
|
+
e.limits.max = parseFloat(h.textContent), e.limits.min = parseFloat(_.textContent);
|
|
2885
2885
|
break;
|
|
2886
2886
|
}
|
|
2887
2887
|
}
|
|
@@ -2941,10 +2941,10 @@ class Ti extends Wt {
|
|
|
2941
2941
|
e.obj = new ut(), e.obj.fromArray(o).transpose();
|
|
2942
2942
|
break;
|
|
2943
2943
|
case "translate":
|
|
2944
|
-
e.obj = new
|
|
2944
|
+
e.obj = new ce(), e.obj.fromArray(o);
|
|
2945
2945
|
break;
|
|
2946
2946
|
case "rotate":
|
|
2947
|
-
e.obj = new
|
|
2947
|
+
e.obj = new ce(), e.obj.fromArray(o), e.angle = Bt.degToRad(o[3]);
|
|
2948
2948
|
break;
|
|
2949
2949
|
}
|
|
2950
2950
|
return e;
|
|
@@ -2963,7 +2963,7 @@ class Ti extends Wt {
|
|
|
2963
2963
|
break;
|
|
2964
2964
|
}
|
|
2965
2965
|
}
|
|
2966
|
-
|
|
2966
|
+
re.physicsModels[t.getAttribute("id")] = e;
|
|
2967
2967
|
}
|
|
2968
2968
|
function Ks(t, e) {
|
|
2969
2969
|
for (let o = 0; o < t.childNodes.length; o++) {
|
|
@@ -3003,7 +3003,7 @@ class Ti extends Wt {
|
|
|
3003
3003
|
break;
|
|
3004
3004
|
}
|
|
3005
3005
|
}
|
|
3006
|
-
|
|
3006
|
+
re.kinematicsScenes[u(t.getAttribute("url"))] = e;
|
|
3007
3007
|
}
|
|
3008
3008
|
function Xs(t) {
|
|
3009
3009
|
const e = {
|
|
@@ -3027,59 +3027,59 @@ class Ti extends Wt {
|
|
|
3027
3027
|
return t.build !== void 0 ? t.build : t;
|
|
3028
3028
|
}
|
|
3029
3029
|
function Qs(t) {
|
|
3030
|
-
return
|
|
3030
|
+
return v(re.kinematicsScenes[t], Js);
|
|
3031
3031
|
}
|
|
3032
3032
|
function eo() {
|
|
3033
|
-
const t = Object.keys(
|
|
3033
|
+
const t = Object.keys(re.kinematicsModels)[0], e = Object.keys(re.kinematicsScenes)[0], o = Object.keys(re.visualScenes)[0];
|
|
3034
3034
|
if (t === void 0 || e === void 0) return;
|
|
3035
|
-
const s = Vs(t), i = Qs(e), h = ns(o),
|
|
3036
|
-
for (let te = 0,
|
|
3037
|
-
const ee =
|
|
3035
|
+
const s = Vs(t), i = Qs(e), h = ns(o), _ = i.bindJointAxis, X = {};
|
|
3036
|
+
for (let te = 0, P = _.length; te < P; te++) {
|
|
3037
|
+
const ee = _[te], Q = Le.querySelector('[sid="' + ee.target + '"]');
|
|
3038
3038
|
if (Q) {
|
|
3039
|
-
const
|
|
3040
|
-
z(ee.jointIndex,
|
|
3039
|
+
const se = Q.parentElement;
|
|
3040
|
+
z(ee.jointIndex, se);
|
|
3041
3041
|
}
|
|
3042
3042
|
}
|
|
3043
|
-
function z(te,
|
|
3044
|
-
const ee =
|
|
3045
|
-
h.traverse(function(
|
|
3046
|
-
|
|
3047
|
-
object:
|
|
3048
|
-
transforms: to(
|
|
3043
|
+
function z(te, P) {
|
|
3044
|
+
const ee = P.getAttribute("name"), Q = s.joints[te];
|
|
3045
|
+
h.traverse(function(se) {
|
|
3046
|
+
se.name === ee && (X[te] = {
|
|
3047
|
+
object: se,
|
|
3048
|
+
transforms: to(P),
|
|
3049
3049
|
joint: Q,
|
|
3050
3050
|
position: Q.zeroPosition
|
|
3051
3051
|
});
|
|
3052
3052
|
});
|
|
3053
3053
|
}
|
|
3054
|
-
const
|
|
3054
|
+
const q = new ut();
|
|
3055
3055
|
as = {
|
|
3056
3056
|
joints: s && s.joints,
|
|
3057
3057
|
getJointValue: function(te) {
|
|
3058
|
-
const
|
|
3059
|
-
if (
|
|
3060
|
-
return
|
|
3058
|
+
const P = X[te];
|
|
3059
|
+
if (P)
|
|
3060
|
+
return P.position;
|
|
3061
3061
|
console.warn("THREE.ColladaLoader: Joint " + te + " doesn't exist.");
|
|
3062
3062
|
},
|
|
3063
|
-
setJointValue: function(te,
|
|
3064
|
-
const ee =
|
|
3063
|
+
setJointValue: function(te, P) {
|
|
3064
|
+
const ee = X[te];
|
|
3065
3065
|
if (ee) {
|
|
3066
3066
|
const Q = ee.joint;
|
|
3067
|
-
if (
|
|
3068
|
-
console.warn("THREE.ColladaLoader: Joint " + te + " value " +
|
|
3067
|
+
if (P > Q.limits.max || P < Q.limits.min)
|
|
3068
|
+
console.warn("THREE.ColladaLoader: Joint " + te + " value " + P + " outside of limits (min: " + Q.limits.min + ", max: " + Q.limits.max + ").");
|
|
3069
3069
|
else if (Q.static)
|
|
3070
3070
|
console.warn("THREE.ColladaLoader: Joint " + te + " is static.");
|
|
3071
3071
|
else {
|
|
3072
|
-
const
|
|
3073
|
-
|
|
3074
|
-
for (let ke = 0; ke <
|
|
3075
|
-
const we =
|
|
3072
|
+
const se = ee.object, ne = Q.axis, Ee = ee.transforms;
|
|
3073
|
+
Ke.identity();
|
|
3074
|
+
for (let ke = 0; ke < Ee.length; ke++) {
|
|
3075
|
+
const we = Ee[ke];
|
|
3076
3076
|
if (we.sid && we.sid.indexOf(te) !== -1)
|
|
3077
3077
|
switch (Q.type) {
|
|
3078
3078
|
case "revolute":
|
|
3079
|
-
|
|
3079
|
+
Ke.multiply(q.makeRotationAxis(ne, Bt.degToRad(P)));
|
|
3080
3080
|
break;
|
|
3081
3081
|
case "prismatic":
|
|
3082
|
-
|
|
3082
|
+
Ke.multiply(q.makeTranslation(ne.x * P, ne.y * P, ne.z * P));
|
|
3083
3083
|
break;
|
|
3084
3084
|
default:
|
|
3085
3085
|
console.warn("THREE.ColladaLoader: Unknown joint type: " + Q.type);
|
|
@@ -3088,20 +3088,20 @@ class Ti extends Wt {
|
|
|
3088
3088
|
else
|
|
3089
3089
|
switch (we.type) {
|
|
3090
3090
|
case "matrix":
|
|
3091
|
-
|
|
3091
|
+
Ke.multiply(we.obj);
|
|
3092
3092
|
break;
|
|
3093
3093
|
case "translate":
|
|
3094
|
-
|
|
3094
|
+
Ke.multiply(q.makeTranslation(we.obj.x, we.obj.y, we.obj.z));
|
|
3095
3095
|
break;
|
|
3096
3096
|
case "scale":
|
|
3097
|
-
|
|
3097
|
+
Ke.scale(we.obj);
|
|
3098
3098
|
break;
|
|
3099
3099
|
case "rotate":
|
|
3100
|
-
|
|
3100
|
+
Ke.multiply(q.makeRotationAxis(we.obj, we.angle));
|
|
3101
3101
|
break;
|
|
3102
3102
|
}
|
|
3103
3103
|
}
|
|
3104
|
-
|
|
3104
|
+
se.matrix.copy(Ke), se.matrix.decompose(se.position, se.quaternion, se.scale), X[te].position = P;
|
|
3105
3105
|
}
|
|
3106
3106
|
} else
|
|
3107
3107
|
console.log("THREE.ColladaLoader: " + te + " does not exist.");
|
|
@@ -3113,32 +3113,32 @@ class Ti extends Wt {
|
|
|
3113
3113
|
for (let s = 0; s < o.childNodes.length; s++) {
|
|
3114
3114
|
const i = o.childNodes[s];
|
|
3115
3115
|
if (i.nodeType !== 1) continue;
|
|
3116
|
-
let h,
|
|
3116
|
+
let h, _;
|
|
3117
3117
|
switch (i.nodeName) {
|
|
3118
3118
|
case "matrix":
|
|
3119
3119
|
h = l(i.textContent);
|
|
3120
|
-
const
|
|
3120
|
+
const X = new ut().fromArray(h).transpose();
|
|
3121
3121
|
e.push({
|
|
3122
3122
|
sid: i.getAttribute("sid"),
|
|
3123
3123
|
type: i.nodeName,
|
|
3124
|
-
obj:
|
|
3124
|
+
obj: X
|
|
3125
3125
|
});
|
|
3126
3126
|
break;
|
|
3127
3127
|
case "translate":
|
|
3128
3128
|
case "scale":
|
|
3129
|
-
h = l(i.textContent),
|
|
3129
|
+
h = l(i.textContent), _ = new ce().fromArray(h), e.push({
|
|
3130
3130
|
sid: i.getAttribute("sid"),
|
|
3131
3131
|
type: i.nodeName,
|
|
3132
|
-
obj:
|
|
3132
|
+
obj: _
|
|
3133
3133
|
});
|
|
3134
3134
|
break;
|
|
3135
3135
|
case "rotate":
|
|
3136
|
-
h = l(i.textContent),
|
|
3136
|
+
h = l(i.textContent), _ = new ce().fromArray(h);
|
|
3137
3137
|
const z = Bt.degToRad(h[3]);
|
|
3138
3138
|
e.push({
|
|
3139
3139
|
sid: i.getAttribute("sid"),
|
|
3140
3140
|
type: i.nodeName,
|
|
3141
|
-
obj:
|
|
3141
|
+
obj: _,
|
|
3142
3142
|
angle: z
|
|
3143
3143
|
});
|
|
3144
3144
|
break;
|
|
@@ -3153,7 +3153,7 @@ class Ti extends Wt {
|
|
|
3153
3153
|
s.hasAttribute("id") === !1 && s.setAttribute("id", b());
|
|
3154
3154
|
}
|
|
3155
3155
|
}
|
|
3156
|
-
const
|
|
3156
|
+
const Ke = new ut(), jt = new ce();
|
|
3157
3157
|
function _n(t) {
|
|
3158
3158
|
const e = {
|
|
3159
3159
|
name: t.getAttribute("name") || "",
|
|
@@ -3193,15 +3193,15 @@ class Ti extends Wt {
|
|
|
3193
3193
|
e.instanceNodes.push(u(s.getAttribute("url")));
|
|
3194
3194
|
break;
|
|
3195
3195
|
case "matrix":
|
|
3196
|
-
i = l(s.textContent), e.matrix.multiply(
|
|
3196
|
+
i = l(s.textContent), e.matrix.multiply(Ke.fromArray(i).transpose()), e.transforms[s.getAttribute("sid")] = s.nodeName;
|
|
3197
3197
|
break;
|
|
3198
3198
|
case "translate":
|
|
3199
|
-
i = l(s.textContent), jt.fromArray(i), e.matrix.multiply(
|
|
3199
|
+
i = l(s.textContent), jt.fromArray(i), e.matrix.multiply(Ke.makeTranslation(jt.x, jt.y, jt.z)), e.transforms[s.getAttribute("sid")] = s.nodeName;
|
|
3200
3200
|
break;
|
|
3201
3201
|
case "rotate":
|
|
3202
3202
|
i = l(s.textContent);
|
|
3203
3203
|
const h = Bt.degToRad(i[3]);
|
|
3204
|
-
e.matrix.multiply(
|
|
3204
|
+
e.matrix.multiply(Ke.makeRotationAxis(jt.fromArray(i), h)), e.transforms[s.getAttribute("sid")] = s.nodeName;
|
|
3205
3205
|
break;
|
|
3206
3206
|
case "scale":
|
|
3207
3207
|
i = l(s.textContent), e.matrix.scale(jt.fromArray(i)), e.transforms[s.getAttribute("sid")] = s.nodeName;
|
|
@@ -3212,7 +3212,7 @@ class Ti extends Wt {
|
|
|
3212
3212
|
console.log(s);
|
|
3213
3213
|
}
|
|
3214
3214
|
}
|
|
3215
|
-
return es(e.id) ? console.warn("THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.", e.id) :
|
|
3215
|
+
return es(e.id) ? console.warn("THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.", e.id) : re.nodes[e.id] = e, e;
|
|
3216
3216
|
}
|
|
3217
3217
|
function Xn(t) {
|
|
3218
3218
|
const e = {
|
|
@@ -3226,8 +3226,8 @@ class Ti extends Wt {
|
|
|
3226
3226
|
case "bind_material":
|
|
3227
3227
|
const i = s.getElementsByTagName("instance_material");
|
|
3228
3228
|
for (let h = 0; h < i.length; h++) {
|
|
3229
|
-
const
|
|
3230
|
-
e.materials[
|
|
3229
|
+
const _ = i[h], X = _.getAttribute("symbol"), z = _.getAttribute("target");
|
|
3230
|
+
e.materials[X] = u(z);
|
|
3231
3231
|
}
|
|
3232
3232
|
break;
|
|
3233
3233
|
case "skeleton":
|
|
@@ -3239,45 +3239,45 @@ class Ti extends Wt {
|
|
|
3239
3239
|
}
|
|
3240
3240
|
function so(t, e) {
|
|
3241
3241
|
const o = [], s = [];
|
|
3242
|
-
let i, h,
|
|
3242
|
+
let i, h, _;
|
|
3243
3243
|
for (i = 0; i < t.length; i++) {
|
|
3244
|
-
const
|
|
3244
|
+
const q = t[i];
|
|
3245
3245
|
let te;
|
|
3246
|
-
if (es(
|
|
3247
|
-
te = Ot(
|
|
3248
|
-
else if (lo(
|
|
3249
|
-
const ee =
|
|
3246
|
+
if (es(q))
|
|
3247
|
+
te = Ot(q), Jn(te, e, o);
|
|
3248
|
+
else if (lo(q)) {
|
|
3249
|
+
const ee = re.visualScenes[q].children;
|
|
3250
3250
|
for (let Q = 0; Q < ee.length; Q++) {
|
|
3251
|
-
const
|
|
3252
|
-
if (
|
|
3253
|
-
const
|
|
3254
|
-
Jn(
|
|
3251
|
+
const se = ee[Q];
|
|
3252
|
+
if (se.type === "JOINT") {
|
|
3253
|
+
const ne = Ot(se.id);
|
|
3254
|
+
Jn(ne, e, o);
|
|
3255
3255
|
}
|
|
3256
3256
|
}
|
|
3257
3257
|
} else
|
|
3258
|
-
console.error("THREE.ColladaLoader: Unable to find root bone of skeleton with ID:",
|
|
3258
|
+
console.error("THREE.ColladaLoader: Unable to find root bone of skeleton with ID:", q);
|
|
3259
3259
|
}
|
|
3260
3260
|
for (i = 0; i < e.length; i++)
|
|
3261
3261
|
for (h = 0; h < o.length; h++)
|
|
3262
|
-
if (
|
|
3263
|
-
s[i] =
|
|
3262
|
+
if (_ = o[h], _.bone.name === e[i].name) {
|
|
3263
|
+
s[i] = _, _.processed = !0;
|
|
3264
3264
|
break;
|
|
3265
3265
|
}
|
|
3266
3266
|
for (i = 0; i < o.length; i++)
|
|
3267
|
-
|
|
3268
|
-
const
|
|
3267
|
+
_ = o[i], _.processed === !1 && (s.push(_), _.processed = !0);
|
|
3268
|
+
const X = [], z = [];
|
|
3269
3269
|
for (i = 0; i < s.length; i++)
|
|
3270
|
-
|
|
3271
|
-
return new Do(
|
|
3270
|
+
_ = s[i], X.push(_.bone), z.push(_.boneInverse);
|
|
3271
|
+
return new Do(X, z);
|
|
3272
3272
|
}
|
|
3273
3273
|
function Jn(t, e, o) {
|
|
3274
3274
|
t.traverse(function(s) {
|
|
3275
3275
|
if (s.isBone === !0) {
|
|
3276
3276
|
let i;
|
|
3277
3277
|
for (let h = 0; h < e.length; h++) {
|
|
3278
|
-
const
|
|
3279
|
-
if (
|
|
3280
|
-
i =
|
|
3278
|
+
const _ = e[h];
|
|
3279
|
+
if (_.name === s.name) {
|
|
3280
|
+
i = _.boneInverse;
|
|
3281
3281
|
break;
|
|
3282
3282
|
}
|
|
3283
3283
|
}
|
|
@@ -3286,38 +3286,38 @@ class Ti extends Wt {
|
|
|
3286
3286
|
});
|
|
3287
3287
|
}
|
|
3288
3288
|
function oo(t) {
|
|
3289
|
-
const e = [], o = t.matrix, s = t.nodes, i = t.type, h = t.instanceCameras,
|
|
3290
|
-
for (let
|
|
3291
|
-
e.push(Ot(s[
|
|
3292
|
-
for (let
|
|
3293
|
-
const Q =
|
|
3289
|
+
const e = [], o = t.matrix, s = t.nodes, i = t.type, h = t.instanceCameras, _ = t.instanceControllers, X = t.instanceLights, z = t.instanceGeometries, q = t.instanceNodes;
|
|
3290
|
+
for (let P = 0, ee = s.length; P < ee; P++)
|
|
3291
|
+
e.push(Ot(s[P]));
|
|
3292
|
+
for (let P = 0, ee = h.length; P < ee; P++) {
|
|
3293
|
+
const Q = Ae(h[P]);
|
|
3294
3294
|
Q !== null && e.push(Q.clone());
|
|
3295
3295
|
}
|
|
3296
|
-
for (let
|
|
3297
|
-
const Q =
|
|
3298
|
-
for (let dt = 0,
|
|
3299
|
-
const It =
|
|
3300
|
-
It.isSkinnedMesh && (It.bind(_e,
|
|
3296
|
+
for (let P = 0, ee = _.length; P < ee; P++) {
|
|
3297
|
+
const Q = _[P], se = Z(Q.id), ne = Kn(se.id), Ee = Qn(ne, Q.materials), ke = Q.skeletons, we = se.skin.joints, _e = so(ke, we);
|
|
3298
|
+
for (let dt = 0, Ve = Ee.length; dt < Ve; dt++) {
|
|
3299
|
+
const It = Ee[dt];
|
|
3300
|
+
It.isSkinnedMesh && (It.bind(_e, se.skin.bindMatrix), It.normalizeSkinWeights()), e.push(It);
|
|
3301
3301
|
}
|
|
3302
3302
|
}
|
|
3303
|
-
for (let
|
|
3304
|
-
const Q = rt(
|
|
3303
|
+
for (let P = 0, ee = X.length; P < ee; P++) {
|
|
3304
|
+
const Q = rt(X[P]);
|
|
3305
3305
|
Q !== null && e.push(Q.clone());
|
|
3306
3306
|
}
|
|
3307
|
-
for (let
|
|
3308
|
-
const Q = z[
|
|
3309
|
-
for (let
|
|
3310
|
-
e.push(
|
|
3307
|
+
for (let P = 0, ee = z.length; P < ee; P++) {
|
|
3308
|
+
const Q = z[P], se = Kn(Q.id), ne = Qn(se, Q.materials);
|
|
3309
|
+
for (let Ee = 0, ke = ne.length; Ee < ke; Ee++)
|
|
3310
|
+
e.push(ne[Ee]);
|
|
3311
3311
|
}
|
|
3312
|
-
for (let
|
|
3313
|
-
e.push(Ot(
|
|
3312
|
+
for (let P = 0, ee = q.length; P < ee; P++)
|
|
3313
|
+
e.push(Ot(q[P]).clone());
|
|
3314
3314
|
let te;
|
|
3315
3315
|
if (s.length === 0 && e.length === 1)
|
|
3316
3316
|
te = e[0];
|
|
3317
3317
|
else {
|
|
3318
3318
|
te = i === "JOINT" ? new So() : new fn();
|
|
3319
|
-
for (let
|
|
3320
|
-
te.add(e[
|
|
3319
|
+
for (let P = 0; P < e.length; P++)
|
|
3320
|
+
te.add(e[P]);
|
|
3321
3321
|
}
|
|
3322
3322
|
return te.name = i === "JOINT" ? t.sid : t.name, te.matrix.copy(o), te.matrix.decompose(te.position, te.quaternion, te.scale), te;
|
|
3323
3323
|
}
|
|
@@ -3337,26 +3337,26 @@ class Ti extends Wt {
|
|
|
3337
3337
|
const o = [];
|
|
3338
3338
|
for (const s in t) {
|
|
3339
3339
|
const i = t[s], h = ao(i.materialKeys, e);
|
|
3340
|
-
if (h.length === 0 && (s === "lines" || s === "linestrips" ? h.push(new Gt()) : h.push(new
|
|
3341
|
-
for (let
|
|
3342
|
-
const
|
|
3343
|
-
if (
|
|
3340
|
+
if (h.length === 0 && (s === "lines" || s === "linestrips" ? h.push(new Gt()) : h.push(new $e())), s === "lines" || s === "linestrips")
|
|
3341
|
+
for (let q = 0, te = h.length; q < te; q++) {
|
|
3342
|
+
const P = h[q];
|
|
3343
|
+
if (P.isMeshPhongMaterial === !0 || P.isMeshLambertMaterial === !0) {
|
|
3344
3344
|
const ee = new Gt();
|
|
3345
|
-
ee.color.copy(
|
|
3345
|
+
ee.color.copy(P.color), ee.opacity = P.opacity, ee.transparent = P.transparent, h[q] = ee;
|
|
3346
3346
|
}
|
|
3347
3347
|
}
|
|
3348
|
-
const
|
|
3348
|
+
const _ = i.data.attributes.skinIndex !== void 0, X = h.length === 1 ? h[0] : h;
|
|
3349
3349
|
let z;
|
|
3350
3350
|
switch (s) {
|
|
3351
3351
|
case "lines":
|
|
3352
|
-
z = new Dn(i.data,
|
|
3352
|
+
z = new Dn(i.data, X);
|
|
3353
3353
|
break;
|
|
3354
3354
|
case "linestrips":
|
|
3355
|
-
z = new Ls(i.data,
|
|
3355
|
+
z = new Ls(i.data, X);
|
|
3356
3356
|
break;
|
|
3357
3357
|
case "triangles":
|
|
3358
3358
|
case "polylist":
|
|
3359
|
-
|
|
3359
|
+
_ ? z = new Ro(i.data, X) : z = new Ze(i.data, X);
|
|
3360
3360
|
break;
|
|
3361
3361
|
}
|
|
3362
3362
|
o.push(z);
|
|
@@ -3364,10 +3364,10 @@ class Ti extends Wt {
|
|
|
3364
3364
|
return o;
|
|
3365
3365
|
}
|
|
3366
3366
|
function es(t) {
|
|
3367
|
-
return
|
|
3367
|
+
return re.nodes[t] !== void 0;
|
|
3368
3368
|
}
|
|
3369
3369
|
function Ot(t) {
|
|
3370
|
-
return
|
|
3370
|
+
return v(re.nodes[t], oo);
|
|
3371
3371
|
}
|
|
3372
3372
|
function ro(t) {
|
|
3373
3373
|
const e = {
|
|
@@ -3378,7 +3378,7 @@ class Ti extends Wt {
|
|
|
3378
3378
|
const o = r(t, "node");
|
|
3379
3379
|
for (let s = 0; s < o.length; s++)
|
|
3380
3380
|
e.children.push(_n(o[s]));
|
|
3381
|
-
|
|
3381
|
+
re.visualScenes[t.getAttribute("id")] = e;
|
|
3382
3382
|
}
|
|
3383
3383
|
function ts(t) {
|
|
3384
3384
|
const e = new fn();
|
|
@@ -3391,21 +3391,21 @@ class Ti extends Wt {
|
|
|
3391
3391
|
return e;
|
|
3392
3392
|
}
|
|
3393
3393
|
function lo(t) {
|
|
3394
|
-
return
|
|
3394
|
+
return re.visualScenes[t] !== void 0;
|
|
3395
3395
|
}
|
|
3396
3396
|
function ns(t) {
|
|
3397
|
-
return
|
|
3397
|
+
return v(re.visualScenes[t], ts);
|
|
3398
3398
|
}
|
|
3399
3399
|
function co(t) {
|
|
3400
3400
|
const e = r(t, "instance_visual_scene")[0];
|
|
3401
3401
|
return ns(u(e.getAttribute("url")));
|
|
3402
3402
|
}
|
|
3403
3403
|
function uo() {
|
|
3404
|
-
const t =
|
|
3404
|
+
const t = re.clips;
|
|
3405
3405
|
if (g(t) === !0) {
|
|
3406
|
-
if (g(
|
|
3406
|
+
if (g(re.animations) === !1) {
|
|
3407
3407
|
const e = [];
|
|
3408
|
-
for (const o in
|
|
3408
|
+
for (const o in re.animations) {
|
|
3409
3409
|
const s = C(o);
|
|
3410
3410
|
for (let i = 0, h = s.length; i < h; i++)
|
|
3411
3411
|
e.push(s[i]);
|
|
@@ -3414,7 +3414,7 @@ class Ti extends Wt {
|
|
|
3414
3414
|
}
|
|
3415
3415
|
} else
|
|
3416
3416
|
for (const e in t)
|
|
3417
|
-
Xt.push(
|
|
3417
|
+
Xt.push($(e));
|
|
3418
3418
|
}
|
|
3419
3419
|
function ho(t) {
|
|
3420
3420
|
let e = "";
|
|
@@ -3437,13 +3437,13 @@ class Ti extends Wt {
|
|
|
3437
3437
|
}
|
|
3438
3438
|
const po = Le.getAttribute("version");
|
|
3439
3439
|
console.debug("THREE.ColladaLoader: File version", po);
|
|
3440
|
-
const os =
|
|
3440
|
+
const os = L(r(Le, "asset")[0]), is = new $n(this.manager);
|
|
3441
3441
|
is.setPath(this.resourcePath || a).setCrossOrigin(this.crossOrigin);
|
|
3442
3442
|
let kn;
|
|
3443
3443
|
xs && (kn = new xs(this.manager), kn.setPath(this.resourcePath || a));
|
|
3444
3444
|
const Zt = new wt(), Xt = [];
|
|
3445
3445
|
let as = {}, fo = 0;
|
|
3446
|
-
const
|
|
3446
|
+
const re = {
|
|
3447
3447
|
animations: {},
|
|
3448
3448
|
clips: {},
|
|
3449
3449
|
controllers: {},
|
|
@@ -3459,14 +3459,14 @@ class Ti extends Wt {
|
|
|
3459
3459
|
physicsModels: {},
|
|
3460
3460
|
kinematicsScenes: {}
|
|
3461
3461
|
};
|
|
3462
|
-
A(Le, "library_animations", "animation", p), A(Le, "library_animation_clips", "animation_clip", d), A(Le, "library_controllers", "controller",
|
|
3462
|
+
A(Le, "library_animations", "animation", p), A(Le, "library_animation_clips", "animation_clip", d), A(Le, "library_controllers", "controller", G), A(Le, "library_images", "image", V), A(Le, "library_effects", "effect", be), A(Le, "library_materials", "material", St), A(Le, "library_cameras", "camera", Ct), A(Le, "library_lights", "light", Je), A(Le, "library_geometries", "geometry", lt), A(Le, "library_nodes", "node", _n), A(Le, "library_visual_scenes", "visual_scene", ro), A(Le, "library_kinematics_models", "kinematics_model", Bs), A(Le, "library_physics_models", "physics_model", Ys), A(Le, "scene", "instance_kinematics_scene", Zs), R(re.animations, O), R(re.clips, I), R(re.controllers, W), R(re.images, J), R(re.effects, pe), R(re.materials, ft), R(re.cameras, ve), R(re.lights, Ye), R(re.geometries, Ft), R(re.visualScenes, ts), uo(), eo();
|
|
3463
3463
|
const Jt = co(r(Le, "scene")[0]);
|
|
3464
3464
|
return Jt.animations = Xt, os.upAxis === "Z_UP" && (console.warn("THREE.ColladaLoader: You are loading an asset with a Z-UP coordinate system. The loader just rotates the asset to transform it into Y-UP. The vertex data are not converted, see #24289."), Jt.rotation.set(-Math.PI / 2, 0, 0)), Jt.scale.multiplyScalar(os.unit), {
|
|
3465
3465
|
get animations() {
|
|
3466
3466
|
return console.warn("THREE.ColladaLoader: Please access animations over scene.animations now."), Xt;
|
|
3467
3467
|
},
|
|
3468
3468
|
kinematics: as,
|
|
3469
|
-
library:
|
|
3469
|
+
library: re,
|
|
3470
3470
|
scene: Jt
|
|
3471
3471
|
};
|
|
3472
3472
|
}
|
|
@@ -3504,342 +3504,342 @@ class Ei {
|
|
|
3504
3504
|
});
|
|
3505
3505
|
}
|
|
3506
3506
|
parse(n, a = this.workingPath) {
|
|
3507
|
-
const r = this.packages, c = this.loadMeshCb, l = this.parseVisual, y = this.parseCollision, u = this.manager, b = {}, g = {},
|
|
3508
|
-
function
|
|
3507
|
+
const r = this.packages, c = this.loadMeshCb, l = this.parseVisual, y = this.parseCollision, u = this.manager, b = {}, g = {}, L = {};
|
|
3508
|
+
function D(x) {
|
|
3509
3509
|
if (!/^package:\/\//.test(x))
|
|
3510
3510
|
return a ? a + x : x;
|
|
3511
|
-
const [
|
|
3511
|
+
const [O, C] = x.replace(/^package:\/\//, "").split(/\/(.+)/);
|
|
3512
3512
|
if (typeof r == "string")
|
|
3513
|
-
return r.endsWith(
|
|
3513
|
+
return r.endsWith(O) ? r + "/" + C : r + "/" + O + "/" + C;
|
|
3514
3514
|
if (r instanceof Function)
|
|
3515
|
-
return r(
|
|
3515
|
+
return r(O) + "/" + C;
|
|
3516
3516
|
if (typeof r == "object")
|
|
3517
|
-
return
|
|
3517
|
+
return O in r ? r[O] + "/" + C : (console.error(`URDFLoader : ${O} not found in provided package list.`), null);
|
|
3518
3518
|
}
|
|
3519
|
-
function
|
|
3520
|
-
let
|
|
3521
|
-
x instanceof Document ?
|
|
3522
|
-
const C =
|
|
3519
|
+
function S(x) {
|
|
3520
|
+
let O;
|
|
3521
|
+
x instanceof Document ? O = [...x.children] : x instanceof Element ? O = [x] : O = [...new DOMParser().parseFromString(x, "text/xml").children];
|
|
3522
|
+
const C = O.filter((w) => w.nodeName === "robot").pop();
|
|
3523
3523
|
return A(C);
|
|
3524
3524
|
}
|
|
3525
3525
|
function A(x) {
|
|
3526
|
-
const
|
|
3527
|
-
|
|
3528
|
-
const B =
|
|
3529
|
-
|
|
3526
|
+
const O = [...x.children], C = O.filter((F) => F.nodeName.toLowerCase() === "link"), w = O.filter((F) => F.nodeName.toLowerCase() === "joint"), f = O.filter((F) => F.nodeName.toLowerCase() === "material"), j = new Fo();
|
|
3527
|
+
j.robotName = x.getAttribute("name"), j.urdfRobotNode = x, f.forEach((F) => {
|
|
3528
|
+
const B = F.getAttribute("name");
|
|
3529
|
+
L[B] = p(F);
|
|
3530
3530
|
});
|
|
3531
3531
|
const T = {}, k = {};
|
|
3532
|
-
C.forEach((
|
|
3533
|
-
const B =
|
|
3534
|
-
b[B] =
|
|
3535
|
-
}),
|
|
3536
|
-
const B =
|
|
3537
|
-
g[B] =
|
|
3538
|
-
}),
|
|
3532
|
+
C.forEach((F) => {
|
|
3533
|
+
const B = F.getAttribute("name"), ae = x.querySelector(`child[link="${B}"]`) === null;
|
|
3534
|
+
b[B] = v(F, T, k, ae ? j : null);
|
|
3535
|
+
}), w.forEach((F) => {
|
|
3536
|
+
const B = F.getAttribute("name");
|
|
3537
|
+
g[B] = R(F);
|
|
3538
|
+
}), j.joints = g, j.links = b, j.colliders = k, j.visual = T;
|
|
3539
3539
|
const H = Object.values(g);
|
|
3540
|
-
return H.forEach((
|
|
3541
|
-
|
|
3542
|
-
}), H.forEach((
|
|
3543
|
-
const B = /* @__PURE__ */ new Set(),
|
|
3540
|
+
return H.forEach((F) => {
|
|
3541
|
+
F instanceof fs && g[F.mimicJoint].mimicJoints.push(F);
|
|
3542
|
+
}), H.forEach((F) => {
|
|
3543
|
+
const B = /* @__PURE__ */ new Set(), ae = (he) => {
|
|
3544
3544
|
if (B.has(he))
|
|
3545
3545
|
throw new Error("URDFLoader: Detected an infinite loop of mimic joints.");
|
|
3546
3546
|
B.add(he), he.mimicJoints.forEach((m) => {
|
|
3547
|
-
|
|
3547
|
+
ae(m);
|
|
3548
3548
|
});
|
|
3549
3549
|
};
|
|
3550
|
-
|
|
3551
|
-
}),
|
|
3550
|
+
ae(F);
|
|
3551
|
+
}), j.frames = {
|
|
3552
3552
|
...k,
|
|
3553
3553
|
...T,
|
|
3554
3554
|
...b,
|
|
3555
3555
|
...g
|
|
3556
|
-
},
|
|
3556
|
+
}, j;
|
|
3557
3557
|
}
|
|
3558
|
-
function
|
|
3559
|
-
const
|
|
3560
|
-
let
|
|
3561
|
-
const f =
|
|
3562
|
-
f ? (
|
|
3563
|
-
let
|
|
3564
|
-
|
|
3565
|
-
const
|
|
3566
|
-
|
|
3567
|
-
}),
|
|
3568
|
-
const
|
|
3569
|
-
if (
|
|
3570
|
-
const B =
|
|
3571
|
-
|
|
3558
|
+
function R(x) {
|
|
3559
|
+
const O = [...x.children], C = x.getAttribute("type");
|
|
3560
|
+
let w;
|
|
3561
|
+
const f = O.find((B) => B.nodeName.toLowerCase() === "mimic");
|
|
3562
|
+
f ? (w = new fs(), w.mimicJoint = f.getAttribute("joint"), w.multiplier = parseFloat(f.getAttribute("multiplier") || 1), w.offset = parseFloat(f.getAttribute("offset") || 0)) : w = new jo(), w.urdfNode = x, w.name = x.getAttribute("name"), w.urdfName = w.name, w.jointType = C;
|
|
3563
|
+
let j = null, T = null, k = [0, 0, 0], H = [0, 0, 0];
|
|
3564
|
+
O.forEach((B) => {
|
|
3565
|
+
const ae = B.nodeName.toLowerCase();
|
|
3566
|
+
ae === "origin" ? (k = Ut(B.getAttribute("xyz")), H = Ut(B.getAttribute("rpy"))) : ae === "child" ? T = b[B.getAttribute("link")] : ae === "parent" ? j = b[B.getAttribute("link")] : ae === "limit" && (w.limit.lower = parseFloat(B.getAttribute("lower") || w.limit.lower), w.limit.upper = parseFloat(B.getAttribute("upper") || w.limit.upper));
|
|
3567
|
+
}), j.add(w), w.add(T), As(w, H), w.position.set(k[0], k[1], k[2]);
|
|
3568
|
+
const F = O.filter((B) => B.nodeName.toLowerCase() === "axis")[0];
|
|
3569
|
+
if (F) {
|
|
3570
|
+
const B = F.getAttribute("xyz").split(/\s+/g).map((ae) => parseFloat(ae));
|
|
3571
|
+
w.axis = new ce(B[0], B[1], B[2]), w.axis.normalize();
|
|
3572
3572
|
}
|
|
3573
|
-
return
|
|
3573
|
+
return w;
|
|
3574
3574
|
}
|
|
3575
|
-
function
|
|
3576
|
-
|
|
3575
|
+
function v(x, O, C, w = null) {
|
|
3576
|
+
w === null && (w = new Oo());
|
|
3577
3577
|
const f = [...x.children];
|
|
3578
|
-
return
|
|
3579
|
-
const k = N(T,
|
|
3580
|
-
if (
|
|
3578
|
+
return w.name = x.getAttribute("name"), w.urdfName = w.name, w.urdfNode = x, l && f.filter((T) => T.nodeName.toLowerCase() === "visual").forEach((T) => {
|
|
3579
|
+
const k = N(T, L);
|
|
3580
|
+
if (w.add(k), T.hasAttribute("name")) {
|
|
3581
3581
|
const H = T.getAttribute("name");
|
|
3582
|
-
k.name = H, k.urdfName = H,
|
|
3582
|
+
k.name = H, k.urdfName = H, O[H] = k;
|
|
3583
3583
|
}
|
|
3584
3584
|
}), y && f.filter((T) => T.nodeName.toLowerCase() === "collision").forEach((T) => {
|
|
3585
3585
|
const k = N(T);
|
|
3586
|
-
if (
|
|
3586
|
+
if (w.add(k), T.hasAttribute("name")) {
|
|
3587
3587
|
const H = T.getAttribute("name");
|
|
3588
3588
|
k.name = H, k.urdfName = H, C[H] = k;
|
|
3589
3589
|
}
|
|
3590
|
-
}),
|
|
3590
|
+
}), w;
|
|
3591
3591
|
}
|
|
3592
3592
|
function p(x) {
|
|
3593
|
-
const
|
|
3594
|
-
return C.name = x.getAttribute("name") || "",
|
|
3595
|
-
const f =
|
|
3593
|
+
const O = [...x.children], C = new $e();
|
|
3594
|
+
return C.name = x.getAttribute("name") || "", O.forEach((w) => {
|
|
3595
|
+
const f = w.nodeName.toLowerCase();
|
|
3596
3596
|
if (f === "color") {
|
|
3597
|
-
const
|
|
3598
|
-
C.color.setRGB(
|
|
3597
|
+
const j = w.getAttribute("rgba").split(/\s/g).map((T) => parseFloat(T));
|
|
3598
|
+
C.color.setRGB(j[0], j[1], j[2]), C.opacity = j[3], C.transparent = j[3] < 1, C.depthWrite = !C.transparent;
|
|
3599
3599
|
} else if (f === "texture") {
|
|
3600
|
-
const
|
|
3601
|
-
if (
|
|
3602
|
-
const T = new $n(u), k =
|
|
3603
|
-
C.map = T.load(k), C.map.colorSpace =
|
|
3600
|
+
const j = w.getAttribute("filename");
|
|
3601
|
+
if (j) {
|
|
3602
|
+
const T = new $n(u), k = D(j);
|
|
3603
|
+
C.map = T.load(k), C.map.colorSpace = Oe;
|
|
3604
3604
|
}
|
|
3605
3605
|
}
|
|
3606
3606
|
}), C;
|
|
3607
3607
|
}
|
|
3608
|
-
function N(x,
|
|
3609
|
-
const C = x.nodeName.toLowerCase() === "collision",
|
|
3608
|
+
function N(x, O = {}) {
|
|
3609
|
+
const C = x.nodeName.toLowerCase() === "collision", w = [...x.children];
|
|
3610
3610
|
let f = null;
|
|
3611
|
-
const
|
|
3612
|
-
if (
|
|
3613
|
-
const k =
|
|
3614
|
-
k && k in
|
|
3611
|
+
const j = w.filter((k) => k.nodeName.toLowerCase() === "material")[0];
|
|
3612
|
+
if (j) {
|
|
3613
|
+
const k = j.getAttribute("name");
|
|
3614
|
+
k && k in O ? f = O[k] : f = p(j);
|
|
3615
3615
|
} else
|
|
3616
|
-
f = new
|
|
3616
|
+
f = new $e();
|
|
3617
3617
|
const T = C ? new Io() : new Uo();
|
|
3618
|
-
return T.urdfNode = x,
|
|
3618
|
+
return T.urdfNode = x, w.forEach((k) => {
|
|
3619
3619
|
const H = k.nodeName.toLowerCase();
|
|
3620
3620
|
if (H === "geometry") {
|
|
3621
|
-
const
|
|
3622
|
-
if (
|
|
3623
|
-
const B = k.children[0].getAttribute("filename"),
|
|
3624
|
-
if (
|
|
3621
|
+
const F = k.children[0].nodeName.toLowerCase();
|
|
3622
|
+
if (F === "mesh") {
|
|
3623
|
+
const B = k.children[0].getAttribute("filename"), ae = D(B);
|
|
3624
|
+
if (ae !== null) {
|
|
3625
3625
|
const he = k.children[0].getAttribute("scale");
|
|
3626
3626
|
if (he) {
|
|
3627
3627
|
const m = Ut(he);
|
|
3628
3628
|
T.scale.set(m[0], m[1], m[2]);
|
|
3629
3629
|
}
|
|
3630
|
-
c(
|
|
3631
|
-
d ? console.error("URDFLoader: Error loading mesh.", d) : m && (m instanceof
|
|
3630
|
+
c(ae, u, (m, d) => {
|
|
3631
|
+
d ? console.error("URDFLoader: Error loading mesh.", d) : m && (m instanceof Ze && (m.material = f), m.position.set(0, 0, 0), m.quaternion.identity(), T.add(m));
|
|
3632
3632
|
});
|
|
3633
3633
|
}
|
|
3634
|
-
} else if (
|
|
3635
|
-
const B = new
|
|
3634
|
+
} else if (F === "box") {
|
|
3635
|
+
const B = new Ze();
|
|
3636
3636
|
B.geometry = new Bo(1, 1, 1), B.material = f;
|
|
3637
|
-
const
|
|
3638
|
-
B.scale.set(
|
|
3639
|
-
} else if (
|
|
3640
|
-
const B = new
|
|
3637
|
+
const ae = Ut(k.children[0].getAttribute("size"));
|
|
3638
|
+
B.scale.set(ae[0], ae[1], ae[2]), T.add(B);
|
|
3639
|
+
} else if (F === "sphere") {
|
|
3640
|
+
const B = new Ze();
|
|
3641
3641
|
B.geometry = new zo(1, 30, 30), B.material = f;
|
|
3642
|
-
const
|
|
3643
|
-
B.scale.set(
|
|
3644
|
-
} else if (
|
|
3645
|
-
const B = new
|
|
3642
|
+
const ae = parseFloat(k.children[0].getAttribute("radius")) || 0;
|
|
3643
|
+
B.scale.set(ae, ae, ae), T.add(B);
|
|
3644
|
+
} else if (F === "cylinder") {
|
|
3645
|
+
const B = new Ze();
|
|
3646
3646
|
B.geometry = new Vo(1, 1, 1, 30), B.material = f;
|
|
3647
|
-
const
|
|
3648
|
-
B.scale.set(
|
|
3647
|
+
const ae = parseFloat(k.children[0].getAttribute("radius")) || 0, he = parseFloat(k.children[0].getAttribute("length")) || 0;
|
|
3648
|
+
B.scale.set(ae, he, ae), B.rotation.set(Math.PI / 2, 0, 0), T.add(B);
|
|
3649
3649
|
}
|
|
3650
3650
|
} else if (H === "origin") {
|
|
3651
|
-
const
|
|
3652
|
-
T.position.set(
|
|
3651
|
+
const F = Ut(k.getAttribute("xyz")), B = Ut(k.getAttribute("rpy"));
|
|
3652
|
+
T.position.set(F[0], F[1], F[2]), T.rotation.set(0, 0, 0), As(T, B);
|
|
3653
3653
|
}
|
|
3654
3654
|
}), T;
|
|
3655
3655
|
}
|
|
3656
|
-
return
|
|
3656
|
+
return S(n);
|
|
3657
3657
|
}
|
|
3658
3658
|
// Default mesh loading function
|
|
3659
3659
|
defaultMeshLoader(n, a, r) {
|
|
3660
3660
|
/\.stl$/i.test(n) ? new dn(a).load(n, (l) => {
|
|
3661
|
-
const y = new
|
|
3661
|
+
const y = new Ze(l, new $e());
|
|
3662
3662
|
r(y);
|
|
3663
3663
|
}) : /\.dae$/i.test(n) ? new Ti(a).load(n, (l) => r(l.scene)) : console.warn(`URDFLoader: Could not load model at ${n}.
|
|
3664
3664
|
No loader available`);
|
|
3665
3665
|
}
|
|
3666
3666
|
}
|
|
3667
3667
|
function Ni(E, n, a, r, c) {
|
|
3668
|
-
const l = async (
|
|
3668
|
+
const l = async (S) => {
|
|
3669
3669
|
try {
|
|
3670
|
-
const A = await Un({ url:
|
|
3670
|
+
const A = await Un({ url: S });
|
|
3671
3671
|
if (A.status !== 200)
|
|
3672
3672
|
throw new Error(`下载失败: ${A.status}`);
|
|
3673
3673
|
return A.data;
|
|
3674
3674
|
} catch (A) {
|
|
3675
3675
|
throw console.error("addModelFromUrl失败:", A), A;
|
|
3676
3676
|
}
|
|
3677
|
-
}, y = (
|
|
3678
|
-
const
|
|
3679
|
-
|
|
3677
|
+
}, y = (S) => new Promise((A, R) => {
|
|
3678
|
+
const v = new FileReader();
|
|
3679
|
+
v.onload = (p) => {
|
|
3680
3680
|
try {
|
|
3681
|
-
const N = p.target.result,
|
|
3682
|
-
|
|
3681
|
+
const N = p.target.result, O = new Nn().parse(N);
|
|
3682
|
+
O.preload(), A(O);
|
|
3683
3683
|
} catch (N) {
|
|
3684
|
-
|
|
3684
|
+
R(N);
|
|
3685
3685
|
}
|
|
3686
|
-
},
|
|
3687
|
-
|
|
3688
|
-
},
|
|
3689
|
-
}), u = async (
|
|
3686
|
+
}, v.onerror = () => {
|
|
3687
|
+
R(new Error("MTL文件读取失败"));
|
|
3688
|
+
}, v.readAsText(S);
|
|
3689
|
+
}), u = async (S) => {
|
|
3690
3690
|
const A = {
|
|
3691
3691
|
materials: {},
|
|
3692
|
-
create: function(
|
|
3693
|
-
return this.materials[
|
|
3692
|
+
create: function(R) {
|
|
3693
|
+
return this.materials[R] ? this.materials[R] : (console.warn(`Material '${R}' not found, using default material`), new $e({
|
|
3694
3694
|
color: 8947848,
|
|
3695
3695
|
side: Et
|
|
3696
3696
|
}));
|
|
3697
3697
|
},
|
|
3698
3698
|
getAsArray: function() {
|
|
3699
|
-
const
|
|
3700
|
-
for (const
|
|
3701
|
-
|
|
3702
|
-
return
|
|
3699
|
+
const R = [];
|
|
3700
|
+
for (const v in this.materials)
|
|
3701
|
+
R.push(this.materials[v]);
|
|
3702
|
+
return R;
|
|
3703
3703
|
},
|
|
3704
3704
|
preload: function() {
|
|
3705
|
-
for (const
|
|
3706
|
-
this.materials[
|
|
3705
|
+
for (const R in this.materials)
|
|
3706
|
+
this.materials[R].map && (this.materials[R].map.needsUpdate = !0);
|
|
3707
3707
|
}
|
|
3708
3708
|
};
|
|
3709
|
-
for (const
|
|
3710
|
-
const
|
|
3711
|
-
Object.assign(A.materials,
|
|
3709
|
+
for (const R of S) {
|
|
3710
|
+
const v = await y(R);
|
|
3711
|
+
Object.assign(A.materials, v.materials);
|
|
3712
3712
|
}
|
|
3713
3713
|
return A.preload(), A;
|
|
3714
|
-
}, b = async (
|
|
3714
|
+
}, b = async (S, A = []) => new Promise((R, v) => {
|
|
3715
3715
|
const p = new FileReader();
|
|
3716
3716
|
p.onload = async (N) => {
|
|
3717
3717
|
try {
|
|
3718
3718
|
const x = N.target.result;
|
|
3719
|
-
let
|
|
3720
|
-
A && A.length > 0 && (A.length === 1 ?
|
|
3719
|
+
let O = null;
|
|
3720
|
+
A && A.length > 0 && (A.length === 1 ? O = await y(A[0]) : O = await u(A));
|
|
3721
3721
|
const C = new En();
|
|
3722
|
-
|
|
3723
|
-
const
|
|
3724
|
-
|
|
3725
|
-
f.isMesh && (f.material = new
|
|
3722
|
+
O && C.setMaterials(O);
|
|
3723
|
+
const w = C.parse(x);
|
|
3724
|
+
O || w.traverse((f) => {
|
|
3725
|
+
f.isMesh && (f.material = new $e({
|
|
3726
3726
|
color: 8947848,
|
|
3727
3727
|
side: Et
|
|
3728
3728
|
}));
|
|
3729
|
-
}),
|
|
3729
|
+
}), R(w);
|
|
3730
3730
|
} catch (x) {
|
|
3731
|
-
|
|
3731
|
+
v(x);
|
|
3732
3732
|
}
|
|
3733
3733
|
}, p.onerror = () => {
|
|
3734
|
-
|
|
3735
|
-
}, p.readAsText(
|
|
3736
|
-
}), g = async (
|
|
3734
|
+
v(new Error("OBJ文件读取失败"));
|
|
3735
|
+
}, p.readAsText(S);
|
|
3736
|
+
}), g = async (S) => {
|
|
3737
3737
|
var A;
|
|
3738
3738
|
try {
|
|
3739
3739
|
a.value = !0;
|
|
3740
|
-
const { scene:
|
|
3741
|
-
if (!
|
|
3740
|
+
const { scene: R } = E();
|
|
3741
|
+
if (!R)
|
|
3742
3742
|
throw new Error("Scene not initialized");
|
|
3743
3743
|
c();
|
|
3744
|
-
const
|
|
3745
|
-
for (let p = 0; p <
|
|
3746
|
-
const N =
|
|
3747
|
-
r.value = `正在加载模型 ${p + 1}/${
|
|
3748
|
-
const x = await l(N.objUrl),
|
|
3749
|
-
let
|
|
3744
|
+
const v = [];
|
|
3745
|
+
for (let p = 0; p < S.length; p++) {
|
|
3746
|
+
const N = S[p];
|
|
3747
|
+
r.value = `正在加载模型 ${p + 1}/${S.length}...`;
|
|
3748
|
+
const x = await l(N.objUrl), O = ((A = N.objUrl) == null ? void 0 : A.split("/").pop()) || `model_${p}.obj`, C = new File([x], O, { type: x.type });
|
|
3749
|
+
let w = [];
|
|
3750
3750
|
if (N.mtlUrls) {
|
|
3751
|
-
const
|
|
3752
|
-
for (let T = 0; T <
|
|
3753
|
-
const k =
|
|
3754
|
-
|
|
3751
|
+
const j = Array.isArray(N.mtlUrls) ? N.mtlUrls : [N.mtlUrls];
|
|
3752
|
+
for (let T = 0; T < j.length; T++) {
|
|
3753
|
+
const k = j[T], H = await l(k), F = (k == null ? void 0 : k.split("/").pop()) || `material_${p}_${T}.mtl`, B = new File([H], F, { type: H.type });
|
|
3754
|
+
w.push(B);
|
|
3755
3755
|
}
|
|
3756
3756
|
}
|
|
3757
|
-
const f = await b(C,
|
|
3758
|
-
|
|
3757
|
+
const f = await b(C, w);
|
|
3758
|
+
R.add(f), n.value.push(f), v.push(f);
|
|
3759
3759
|
}
|
|
3760
|
-
return a.value = !1,
|
|
3761
|
-
} catch (
|
|
3762
|
-
throw console.error("加载模型失败:",
|
|
3760
|
+
return a.value = !1, v;
|
|
3761
|
+
} catch (R) {
|
|
3762
|
+
throw console.error("加载模型失败:", R), a.value = !1, R;
|
|
3763
3763
|
}
|
|
3764
|
-
},
|
|
3764
|
+
}, L = async (S, A, R = [], v = []) => {
|
|
3765
3765
|
let p;
|
|
3766
|
-
const N =
|
|
3766
|
+
const N = S.toLowerCase();
|
|
3767
3767
|
switch (N) {
|
|
3768
3768
|
case ".txt":
|
|
3769
3769
|
case ".cpt":
|
|
3770
3770
|
case ".obj":
|
|
3771
3771
|
const x = await A.text();
|
|
3772
3772
|
if (N === ".txt" || N === ".cpt") {
|
|
3773
|
-
const he = /^(?!.*\bf\b)[^\n]*?(-?\d*\.?\d+)[^\n]*?(-?\d*\.?\d+)[^\n]*?(-?\d*\.?\d+)[^\n]*?$/gm, d = [...x.matchAll(he)].map((
|
|
3774
|
-
x: parseFloat(
|
|
3775
|
-
y: parseFloat(
|
|
3776
|
-
z: parseFloat(
|
|
3777
|
-
})), I = new $t(),
|
|
3778
|
-
if (I.setAttribute("position", new
|
|
3779
|
-
const
|
|
3773
|
+
const he = /^(?!.*\bf\b)[^\n]*?(-?\d*\.?\d+)[^\n]*?(-?\d*\.?\d+)[^\n]*?(-?\d*\.?\d+)[^\n]*?$/gm, d = [...x.matchAll(he)].map((G) => ({
|
|
3774
|
+
x: parseFloat(G[1]),
|
|
3775
|
+
y: parseFloat(G[2]),
|
|
3776
|
+
z: parseFloat(G[3])
|
|
3777
|
+
})), I = new $t(), $ = d.flatMap((G) => [G.x, G.y, G.z]);
|
|
3778
|
+
if (I.setAttribute("position", new Ue($, 3)), N === ".txt") {
|
|
3779
|
+
const G = new qt({
|
|
3780
3780
|
color: "#5B5C99",
|
|
3781
3781
|
size: 1,
|
|
3782
3782
|
sizeAttenuation: !1
|
|
3783
3783
|
});
|
|
3784
|
-
p = new cn(I,
|
|
3784
|
+
p = new cn(I, G);
|
|
3785
3785
|
} else if (N === ".cpt") {
|
|
3786
|
-
const
|
|
3786
|
+
const G = new Gt({
|
|
3787
3787
|
color: "#5B5C99",
|
|
3788
3788
|
linewidth: 100
|
|
3789
3789
|
});
|
|
3790
|
-
p = new Ls(I,
|
|
3790
|
+
p = new Ls(I, G);
|
|
3791
3791
|
}
|
|
3792
3792
|
} else if (N === ".obj") {
|
|
3793
3793
|
const he = new En();
|
|
3794
|
-
if (
|
|
3794
|
+
if (R && R.length > 0) {
|
|
3795
3795
|
const m = new Nn();
|
|
3796
|
-
for (const d of
|
|
3797
|
-
const I = await d.text(),
|
|
3798
|
-
|
|
3796
|
+
for (const d of R) {
|
|
3797
|
+
const I = await d.text(), $ = m.parse(I);
|
|
3798
|
+
$.preload(), he.setMaterials($);
|
|
3799
3799
|
break;
|
|
3800
3800
|
}
|
|
3801
3801
|
}
|
|
3802
|
-
p = he.parse(x), (!
|
|
3803
|
-
m.isMesh && (m.material = new
|
|
3802
|
+
p = he.parse(x), (!R || R.length === 0) && p.traverse((m) => {
|
|
3803
|
+
m.isMesh && (m.material = new $e({ color: "#B3B3D4" })), m instanceof Ze && (m.material.side = Et);
|
|
3804
3804
|
});
|
|
3805
3805
|
}
|
|
3806
3806
|
break;
|
|
3807
3807
|
case ".stl":
|
|
3808
|
-
const
|
|
3808
|
+
const O = await A.arrayBuffer(), w = new dn().parse(O), f = new $e({
|
|
3809
3809
|
color: "#B3B3D4",
|
|
3810
3810
|
side: Et
|
|
3811
3811
|
});
|
|
3812
|
-
p = new
|
|
3812
|
+
p = new Ze(w, f);
|
|
3813
3813
|
break;
|
|
3814
3814
|
case ".urdf":
|
|
3815
|
-
const
|
|
3816
|
-
|
|
3815
|
+
const j = await A.text(), T = new Ei(), k = /* @__PURE__ */ new Map();
|
|
3816
|
+
v.forEach((he) => {
|
|
3817
3817
|
k.set(he.name, he.blob);
|
|
3818
|
-
}), T.loadMeshCb = async (he, m, d, I,
|
|
3819
|
-
const
|
|
3820
|
-
if (!
|
|
3821
|
-
|
|
3818
|
+
}), T.loadMeshCb = async (he, m, d, I, $) => {
|
|
3819
|
+
const G = he.split("/").pop(), de = k.get(G);
|
|
3820
|
+
if (!de) {
|
|
3821
|
+
$(new Error(`找不到文件: ${G}`));
|
|
3822
3822
|
return;
|
|
3823
3823
|
}
|
|
3824
|
-
const
|
|
3825
|
-
switch (
|
|
3824
|
+
const M = G.split(".").pop().toLowerCase();
|
|
3825
|
+
switch (M) {
|
|
3826
3826
|
case "stl":
|
|
3827
|
-
const
|
|
3828
|
-
d(
|
|
3827
|
+
const oe = await de.arrayBuffer(), K = new dn(m).parse(oe), Z = new Ze(K, new $e());
|
|
3828
|
+
d(Z);
|
|
3829
3829
|
break;
|
|
3830
3830
|
case "obj":
|
|
3831
|
-
const V = await
|
|
3831
|
+
const V = await de.text(), J = new En(m), ge = G.replace(".obj", ".mtl"), be = k.get(ge);
|
|
3832
3832
|
if (be) {
|
|
3833
|
-
const Fe = await be.text(),
|
|
3834
|
-
|
|
3833
|
+
const Fe = await be.text(), Xe = new Nn(m).parse(Fe);
|
|
3834
|
+
Xe.preload(), J.setMaterials(Xe);
|
|
3835
3835
|
}
|
|
3836
3836
|
const ue = J.parse(V);
|
|
3837
3837
|
d(ue);
|
|
3838
3838
|
break;
|
|
3839
3839
|
default:
|
|
3840
|
-
|
|
3840
|
+
$(new Error(`不支持的文件格式: ${M}`));
|
|
3841
3841
|
}
|
|
3842
|
-
}, p = T.parse(
|
|
3842
|
+
}, p = T.parse(j);
|
|
3843
3843
|
break;
|
|
3844
3844
|
case ".nc":
|
|
3845
3845
|
const H = [
|
|
@@ -3849,59 +3849,59 @@ function Ni(E, n, a, r, c) {
|
|
|
3849
3849
|
"Mach_Y_Axis_0.STL",
|
|
3850
3850
|
"Mach_Z_Axis_0.STL",
|
|
3851
3851
|
"Mach_Spindle_0.STL"
|
|
3852
|
-
],
|
|
3852
|
+
], F = {
|
|
3853
3853
|
"Mach_Y_Axis_0.STL": "rgb(128,118,152)",
|
|
3854
3854
|
"Mach_B_Axis_0.STL": "rgb(204,143,89)",
|
|
3855
3855
|
"Mach_C_Axis_0.STL": "rgb(145,245,251)",
|
|
3856
3856
|
"Mach_X_Axis_0.STL": "rgb(125,158,192)",
|
|
3857
3857
|
"Mach_Z_Axis_0.STL": "rgb(248,228,118)",
|
|
3858
3858
|
"Mach_Spindle_0.STL": "rgb(145,145,145)"
|
|
3859
|
-
}, B = new fn(),
|
|
3859
|
+
}, B = new fn(), ae = H.map((he) => new Promise((m, d) => {
|
|
3860
3860
|
new dn().load(
|
|
3861
3861
|
`/model/${he}`,
|
|
3862
|
-
(
|
|
3863
|
-
const
|
|
3864
|
-
color:
|
|
3862
|
+
($) => {
|
|
3863
|
+
const G = new $e({
|
|
3864
|
+
color: F[he] || "#B3B3D4",
|
|
3865
3865
|
side: Et
|
|
3866
|
-
}),
|
|
3867
|
-
m(
|
|
3866
|
+
}), de = new Ze($, G);
|
|
3867
|
+
m(de);
|
|
3868
3868
|
},
|
|
3869
3869
|
void 0,
|
|
3870
3870
|
d
|
|
3871
3871
|
);
|
|
3872
3872
|
}));
|
|
3873
3873
|
try {
|
|
3874
|
-
(await Promise.all(
|
|
3874
|
+
(await Promise.all(ae)).forEach((m) => B.add(m)), p = B;
|
|
3875
3875
|
} catch (he) {
|
|
3876
3876
|
throw console.error("加载NC文件对应的STL文件失败:", he), new Error("无法加载.NC文件对应的STL文件");
|
|
3877
3877
|
}
|
|
3878
3878
|
break;
|
|
3879
3879
|
default:
|
|
3880
|
-
throw new Error(`不支持的文件格式: ${
|
|
3880
|
+
throw new Error(`不支持的文件格式: ${S}`);
|
|
3881
3881
|
}
|
|
3882
3882
|
return p;
|
|
3883
3883
|
};
|
|
3884
3884
|
return {
|
|
3885
3885
|
addModelsFromUrls: g,
|
|
3886
|
-
loadModelByDefaultPath: async (
|
|
3887
|
-
console.log(
|
|
3886
|
+
loadModelByDefaultPath: async (S) => {
|
|
3887
|
+
console.log(S);
|
|
3888
3888
|
try {
|
|
3889
3889
|
a.value = !0, r.value = "正在加载模型...";
|
|
3890
3890
|
const { scene: A } = E();
|
|
3891
3891
|
if (!A)
|
|
3892
3892
|
throw new Error("Scene not initialized");
|
|
3893
|
-
c(), await new Promise((
|
|
3894
|
-
const
|
|
3895
|
-
for (let
|
|
3896
|
-
const p =
|
|
3893
|
+
c(), await new Promise((v) => setTimeout(v, 100));
|
|
3894
|
+
const R = [];
|
|
3895
|
+
for (let v = 0; v < S.length; v++) {
|
|
3896
|
+
const p = S[v], N = await L(
|
|
3897
3897
|
p.suffix,
|
|
3898
3898
|
p.blob,
|
|
3899
3899
|
p.mtlBlobs || [],
|
|
3900
3900
|
p.meshFiles || []
|
|
3901
3901
|
);
|
|
3902
|
-
A.add(N), n.value.push(N),
|
|
3902
|
+
A.add(N), n.value.push(N), R.push(N);
|
|
3903
3903
|
}
|
|
3904
|
-
return a.value = !1, r.value = "",
|
|
3904
|
+
return a.value = !1, r.value = "", R;
|
|
3905
3905
|
} catch (A) {
|
|
3906
3906
|
throw console.error("加载模型失败:", A), a.value = !1, r.value = "", A;
|
|
3907
3907
|
}
|
|
@@ -3941,71 +3941,71 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
3941
3941
|
}, Yi = {
|
|
3942
3942
|
__name: "threeModel",
|
|
3943
3943
|
setup(E, { expose: n }) {
|
|
3944
|
-
const a =
|
|
3944
|
+
const a = me(null), r = me(!1), c = me(""), l = me(!1), y = me(!1), {
|
|
3945
3945
|
currentModels: u,
|
|
3946
3946
|
initialCameraPosition: b,
|
|
3947
3947
|
initialTargetPosition: g,
|
|
3948
|
-
initThreeJS:
|
|
3949
|
-
handleResize:
|
|
3950
|
-
fitCameraToAllModels:
|
|
3948
|
+
initThreeJS: L,
|
|
3949
|
+
handleResize: D,
|
|
3950
|
+
fitCameraToAllModels: S,
|
|
3951
3951
|
getThreeJSObjects: A,
|
|
3952
|
-
clearAllModels:
|
|
3953
|
-
cleanup:
|
|
3954
|
-
} = bi(a), { isAnimating: p, toggleAnimation: N, stopAnimation: x } = yi(A, u), { isClipping:
|
|
3952
|
+
clearAllModels: R,
|
|
3953
|
+
cleanup: v
|
|
3954
|
+
} = bi(a), { isAnimating: p, toggleAnimation: N, stopAnimation: x } = yi(A, u), { isClipping: O, activeClippingAxis: C, toggleClipping: w, updateClippingPlanes: f } = wi(
|
|
3955
3955
|
A,
|
|
3956
3956
|
u
|
|
3957
|
-
), { addModelsFromUrls:
|
|
3957
|
+
), { addModelsFromUrls: j, loadModelByDefaultPath: T } = Ni(
|
|
3958
3958
|
A,
|
|
3959
3959
|
u,
|
|
3960
3960
|
r,
|
|
3961
3961
|
c,
|
|
3962
|
-
|
|
3962
|
+
R
|
|
3963
3963
|
), k = () => {
|
|
3964
3964
|
if (y.value || u.value.length === 0) return;
|
|
3965
3965
|
y.value = !0, p.value && x();
|
|
3966
3966
|
const { camera: m, controls: d } = A();
|
|
3967
3967
|
if (!m || !d) return;
|
|
3968
3968
|
d.enabled = !0;
|
|
3969
|
-
const I = (
|
|
3970
|
-
const
|
|
3971
|
-
m.position.lerpVectors(
|
|
3969
|
+
const I = (W) => W < 0.5 ? 4 * W * W * W : 1 - Math.pow(-2 * W + 2, 3) / 2, $ = m.position.clone(), G = d.target.clone(), de = 1500, M = Date.now(), oe = () => {
|
|
3970
|
+
const W = Date.now() - M, K = Math.min(W / de, 1), Z = I(K);
|
|
3971
|
+
m.position.lerpVectors($, b.value, Z), d.target.lerpVectors(G, g.value, Z), K < 1 ? requestAnimationFrame(oe) : y.value = !1;
|
|
3972
3972
|
};
|
|
3973
|
-
|
|
3973
|
+
oe();
|
|
3974
3974
|
}, H = () => {
|
|
3975
3975
|
document.fullscreenElement ? document.exitFullscreen().then(() => {
|
|
3976
3976
|
l.value = !1, Qt(() => {
|
|
3977
|
-
|
|
3977
|
+
D();
|
|
3978
3978
|
});
|
|
3979
3979
|
}).catch((m) => {
|
|
3980
3980
|
console.error("无法退出全屏:", m);
|
|
3981
3981
|
}) : a.value.requestFullscreen().then(() => {
|
|
3982
3982
|
l.value = !0, Qt(() => {
|
|
3983
|
-
|
|
3983
|
+
D();
|
|
3984
3984
|
});
|
|
3985
3985
|
}).catch((m) => {
|
|
3986
3986
|
console.error("无法进入全屏:", m);
|
|
3987
3987
|
});
|
|
3988
|
-
},
|
|
3988
|
+
}, F = () => {
|
|
3989
3989
|
l.value = !!document.fullscreenElement, l.value || Qt(() => {
|
|
3990
|
-
|
|
3990
|
+
D();
|
|
3991
3991
|
});
|
|
3992
3992
|
}, B = async (m, d) => {
|
|
3993
3993
|
try {
|
|
3994
|
-
p.value && x(),
|
|
3994
|
+
p.value && x(), O.value && w();
|
|
3995
3995
|
const I = await d(m);
|
|
3996
|
-
return
|
|
3996
|
+
return S(), I;
|
|
3997
3997
|
} catch (I) {
|
|
3998
3998
|
throw console.error("加载模型失败:", I), I;
|
|
3999
3999
|
}
|
|
4000
|
-
},
|
|
4000
|
+
}, ae = async (m) => B(m, j), he = async (m) => B(m, T);
|
|
4001
4001
|
return gn(async () => {
|
|
4002
|
-
await Qt(),
|
|
4002
|
+
await Qt(), L(), window.addEventListener("resize", D), document.addEventListener("fullscreenchange", F);
|
|
4003
4003
|
}), go(() => {
|
|
4004
|
-
window.removeEventListener("resize",
|
|
4004
|
+
window.removeEventListener("resize", D), document.removeEventListener("fullscreenchange", F), p.value && x(), v();
|
|
4005
4005
|
}), n({
|
|
4006
|
-
addModelsFromUrls:
|
|
4006
|
+
addModelsFromUrls: ae,
|
|
4007
4007
|
loadModelByDefaultPath: he
|
|
4008
|
-
}), (m, d) => (
|
|
4008
|
+
}), (m, d) => (le(), ye("div", Mi, [
|
|
4009
4009
|
Y("div", {
|
|
4010
4010
|
ref_key: "threejsContainer",
|
|
4011
4011
|
ref: a,
|
|
@@ -4034,7 +4034,7 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4034
4034
|
disabled: r.value || U(u).length === 0,
|
|
4035
4035
|
title: U(p) ? "停止动画" : "动画视图"
|
|
4036
4036
|
}, [
|
|
4037
|
-
U(p) ? (
|
|
4037
|
+
U(p) ? (le(), ye("svg", Di, d[12] || (d[12] = [
|
|
4038
4038
|
Y("circle", {
|
|
4039
4039
|
cx: "12",
|
|
4040
4040
|
cy: "12",
|
|
@@ -4054,7 +4054,7 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4054
4054
|
height: "8",
|
|
4055
4055
|
fill: "currentColor"
|
|
4056
4056
|
}, null, -1)
|
|
4057
|
-
]))) : (
|
|
4057
|
+
]))) : (le(), ye("svg", Ri, d[11] || (d[11] = [
|
|
4058
4058
|
Y("circle", {
|
|
4059
4059
|
cx: "12",
|
|
4060
4060
|
cy: "12",
|
|
@@ -4067,8 +4067,8 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4067
4067
|
])))
|
|
4068
4068
|
], 10, Si),
|
|
4069
4069
|
Y("button", {
|
|
4070
|
-
onClick: d[1] || (d[1] = (...I) => U(
|
|
4071
|
-
class: en(["control-btn", "clipping-btn", { active: U(
|
|
4070
|
+
onClick: d[1] || (d[1] = (...I) => U(w) && U(w)(...I)),
|
|
4071
|
+
class: en(["control-btn", "clipping-btn", { active: U(O) }]),
|
|
4072
4072
|
disabled: r.value || U(u).length === 0,
|
|
4073
4073
|
title: "剖面视图"
|
|
4074
4074
|
}, d[13] || (d[13] = [
|
|
@@ -4098,14 +4098,14 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4098
4098
|
class: en(["control-btn", "fullscreen-btn"]),
|
|
4099
4099
|
title: l.value ? "退出全屏" : "全屏"
|
|
4100
4100
|
}, [
|
|
4101
|
-
l.value ? (
|
|
4101
|
+
l.value ? (le(), ye("svg", Ii, d[15] || (d[15] = [
|
|
4102
4102
|
Y("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)
|
|
4103
|
-
]))) : (
|
|
4103
|
+
]))) : (le(), ye("svg", Oi, d[14] || (d[14] = [
|
|
4104
4104
|
Y("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)
|
|
4105
4105
|
])))
|
|
4106
4106
|
], 8, ji)
|
|
4107
4107
|
]),
|
|
4108
|
-
U(
|
|
4108
|
+
U(O) ? (le(), ye("div", Ui, [
|
|
4109
4109
|
Y("div", Bi, [
|
|
4110
4110
|
Y("div", zi, [
|
|
4111
4111
|
Y("label", Vi, [
|
|
@@ -4158,11 +4158,11 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4158
4158
|
])
|
|
4159
4159
|
])
|
|
4160
4160
|
])
|
|
4161
|
-
])) :
|
|
4162
|
-
r.value ? (
|
|
4161
|
+
])) : Be("", !0),
|
|
4162
|
+
r.value ? (le(), ye("div", qi, [
|
|
4163
4163
|
d[20] || (d[20] = Y("div", { class: "loading-spinner" }, null, -1)),
|
|
4164
|
-
Y("p", null,
|
|
4165
|
-
])) :
|
|
4164
|
+
Y("p", null, qe(c.value), 1)
|
|
4165
|
+
])) : Be("", !0)
|
|
4166
4166
|
]));
|
|
4167
4167
|
}
|
|
4168
4168
|
}, Ki = /* @__PURE__ */ Pt(Yi, [["__scopeId", "data-v-4d1111d9"]]), Wi = { class: "bread-content" }, Zi = ["onClick"], Xi = {
|
|
@@ -4178,7 +4178,7 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4178
4178
|
},
|
|
4179
4179
|
emits: ["click"],
|
|
4180
4180
|
setup(E, { emit: n }) {
|
|
4181
|
-
const a = E, r =
|
|
4181
|
+
const a = E, r = me([]), c = n;
|
|
4182
4182
|
gn(() => {
|
|
4183
4183
|
r.value = a == null ? void 0 : a.breadArray;
|
|
4184
4184
|
}), it(
|
|
@@ -4191,19 +4191,19 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4191
4191
|
const l = (y) => {
|
|
4192
4192
|
c("click", y);
|
|
4193
4193
|
};
|
|
4194
|
-
return (y, u) => (
|
|
4195
|
-
(
|
|
4196
|
-
var
|
|
4197
|
-
return
|
|
4194
|
+
return (y, u) => (le(), ye("div", Wi, [
|
|
4195
|
+
(le(!0), ye(un, null, hn(r.value, (b, g) => {
|
|
4196
|
+
var L;
|
|
4197
|
+
return le(), ye("div", {
|
|
4198
4198
|
key: g,
|
|
4199
4199
|
class: "bread-item"
|
|
4200
4200
|
}, [
|
|
4201
4201
|
Y("div", {
|
|
4202
4202
|
class: "bread-title",
|
|
4203
|
-
onClick: (
|
|
4204
|
-
style: bo({ opacity: ((
|
|
4205
|
-
},
|
|
4206
|
-
g !== r.value.length - 1 && Array.isArray(r.value) ? (
|
|
4203
|
+
onClick: (D) => l(b),
|
|
4204
|
+
style: bo({ opacity: ((L = r.value) == null ? void 0 : L.length) - 1 === g ? "0.7" : "1" })
|
|
4205
|
+
}, qe(b.value), 13, Zi),
|
|
4206
|
+
g !== r.value.length - 1 && Array.isArray(r.value) ? (le(), ye("div", Xi, qe("/"))) : Be("", !0)
|
|
4207
4207
|
]);
|
|
4208
4208
|
}), 128))
|
|
4209
4209
|
]));
|
|
@@ -4239,90 +4239,90 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4239
4239
|
});
|
|
4240
4240
|
});
|
|
4241
4241
|
const l = yn(tt);
|
|
4242
|
-
Ho(tt),
|
|
4242
|
+
Ho(tt), me(!0);
|
|
4243
4243
|
const y = wn();
|
|
4244
|
-
|
|
4245
|
-
const { itemData: u, isEdit: b, isRefreshCurStructure: g, curStructureCompIds:
|
|
4246
|
-
return
|
|
4247
|
-
const
|
|
4248
|
-
return zt((
|
|
4249
|
-
default:
|
|
4250
|
-
U(b) === "view" ? (
|
|
4244
|
+
me(!0);
|
|
4245
|
+
const { itemData: u, isEdit: b, isRefreshCurStructure: g, curStructureCompIds: L } = et(l), D = qn(tt), { activeMenuPath: S, menus: A, importLoading: R } = et(y), { selectIndex: v, selectTitle: p } = et(D);
|
|
4246
|
+
return me([]), me(!1), (N, x) => {
|
|
4247
|
+
const O = Pe("el-aside"), C = Pe("el-button"), w = Pe("el-avatar"), f = Pe("el-header"), j = Pe("router-view"), T = Pe("el-main"), k = Pe("el-container"), H = Ts("loading");
|
|
4248
|
+
return zt((le(), Ie(k, { "element-loading-text": "正在加载页面数据..." }, {
|
|
4249
|
+
default: fe(() => [
|
|
4250
|
+
U(b) === "view" ? (le(), Ie(O, {
|
|
4251
4251
|
key: 0,
|
|
4252
4252
|
width: "250px"
|
|
4253
4253
|
}, {
|
|
4254
|
-
default:
|
|
4255
|
-
|
|
4254
|
+
default: fe(() => [
|
|
4255
|
+
ie(Ln, { mode: "vertical" })
|
|
4256
4256
|
]),
|
|
4257
4257
|
_: 1
|
|
4258
|
-
})) :
|
|
4259
|
-
|
|
4260
|
-
default:
|
|
4261
|
-
|
|
4262
|
-
default:
|
|
4263
|
-
var
|
|
4258
|
+
})) : Be("", !0),
|
|
4259
|
+
ie(k, null, {
|
|
4260
|
+
default: fe(() => [
|
|
4261
|
+
ie(f, null, {
|
|
4262
|
+
default: fe(() => {
|
|
4263
|
+
var F;
|
|
4264
4264
|
return [
|
|
4265
4265
|
Y("div", Qi, [
|
|
4266
4266
|
Y("div", ea, [
|
|
4267
|
-
U(b) === "edit" ? (
|
|
4268
|
-
|
|
4267
|
+
U(b) === "edit" ? (le(), ye("div", ta, [
|
|
4268
|
+
ie(C, {
|
|
4269
4269
|
text: "",
|
|
4270
4270
|
onClick: U(Rs)
|
|
4271
4271
|
}, {
|
|
4272
|
-
default:
|
|
4272
|
+
default: fe(() => x[2] || (x[2] = [
|
|
4273
4273
|
yt(" 返回页面 ")
|
|
4274
4274
|
])),
|
|
4275
4275
|
_: 1,
|
|
4276
4276
|
__: [2]
|
|
4277
4277
|
}, 8, ["onClick"]),
|
|
4278
|
-
|
|
4278
|
+
ie(C, {
|
|
4279
4279
|
text: "",
|
|
4280
4280
|
onClick: x[0] || (x[0] = (B) => {
|
|
4281
|
-
var
|
|
4282
|
-
return U(Ds)((he = (
|
|
4281
|
+
var ae, he;
|
|
4282
|
+
return U(Ds)((he = (ae = U(p)) == null ? void 0 : ae.map((m) => m.value)) == null ? void 0 : he.join("/"));
|
|
4283
4283
|
})
|
|
4284
4284
|
}, {
|
|
4285
|
-
icon:
|
|
4286
|
-
|
|
4285
|
+
icon: fe(() => [
|
|
4286
|
+
ie(bt, { name: "Store" })
|
|
4287
4287
|
]),
|
|
4288
|
-
default:
|
|
4288
|
+
default: fe(() => [
|
|
4289
4289
|
x[3] || (x[3] = yt(" 保存页面 "))
|
|
4290
4290
|
]),
|
|
4291
4291
|
_: 1,
|
|
4292
4292
|
__: [3]
|
|
4293
4293
|
})
|
|
4294
|
-
])) :
|
|
4295
|
-
(
|
|
4294
|
+
])) : Be("", !0),
|
|
4295
|
+
(le(), Ie(Is, {
|
|
4296
4296
|
key: U(p),
|
|
4297
4297
|
breadArray: U(p),
|
|
4298
4298
|
onClick: U(Fs)
|
|
4299
4299
|
}, null, 8, ["breadArray", "onClick"]))
|
|
4300
4300
|
]),
|
|
4301
4301
|
Y("div", na, [
|
|
4302
|
-
U(b) === "view" ? (
|
|
4302
|
+
U(b) === "view" ? (le(), ye("div", {
|
|
4303
4303
|
key: 0,
|
|
4304
4304
|
class: "select-icon",
|
|
4305
4305
|
onClick: x[1] || (x[1] = (...B) => U(mn) && U(mn)(...B))
|
|
4306
4306
|
}, [
|
|
4307
4307
|
Y("div", sa, [
|
|
4308
|
-
|
|
4308
|
+
ie(bt, {
|
|
4309
4309
|
name: "write",
|
|
4310
4310
|
style: { width: "clamp(12px, 0.9375rem, 15px)", height: "clamp(12px, 0.9375rem, 15px)" }
|
|
4311
4311
|
})
|
|
4312
4312
|
]),
|
|
4313
|
-
x[4] || (x[4] = Y("div", { class: "layout-trigger" },
|
|
4314
|
-
])) :
|
|
4313
|
+
x[4] || (x[4] = Y("div", { class: "layout-trigger" }, qe("修改布局"), -1))
|
|
4314
|
+
])) : Be("", !0),
|
|
4315
4315
|
Y("div", oa, [
|
|
4316
4316
|
Kt(N.$slots, "default", {}, void 0, !0)
|
|
4317
4317
|
]),
|
|
4318
|
-
|
|
4318
|
+
ie(w, {
|
|
4319
4319
|
size: 35,
|
|
4320
|
-
src: (
|
|
4320
|
+
src: (F = U(r)) == null ? void 0 : F.avatarUrl
|
|
4321
4321
|
}, {
|
|
4322
|
-
default:
|
|
4322
|
+
default: fe(() => {
|
|
4323
4323
|
var B;
|
|
4324
4324
|
return [
|
|
4325
|
-
yt(
|
|
4325
|
+
yt(qe(((B = U(r)) == null ? void 0 : B.account) ?? "未知"), 1)
|
|
4326
4326
|
];
|
|
4327
4327
|
}),
|
|
4328
4328
|
_: 1
|
|
@@ -4333,35 +4333,35 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4333
4333
|
}),
|
|
4334
4334
|
_: 3
|
|
4335
4335
|
}),
|
|
4336
|
-
|
|
4337
|
-
default:
|
|
4338
|
-
var
|
|
4336
|
+
ie(T, null, {
|
|
4337
|
+
default: fe(() => {
|
|
4338
|
+
var F, B, ae, he;
|
|
4339
4339
|
return [
|
|
4340
|
-
U(b) === "edit" ? (
|
|
4340
|
+
U(b) === "edit" ? (le(), ye("div", ia, [
|
|
4341
4341
|
Y("div", aa, [
|
|
4342
|
-
|
|
4342
|
+
ie(Bn)
|
|
4343
4343
|
]),
|
|
4344
|
-
(
|
|
4344
|
+
(le(), ye("div", {
|
|
4345
4345
|
class: "model-show",
|
|
4346
4346
|
key: N.innerWidth
|
|
4347
4347
|
}, [
|
|
4348
|
-
|
|
4348
|
+
ie(zn)
|
|
4349
4349
|
])),
|
|
4350
4350
|
Y("div", ra, [
|
|
4351
|
-
|
|
4351
|
+
ie(Vn)
|
|
4352
4352
|
])
|
|
4353
|
-
])) : N.$route.path === "/" && ((
|
|
4353
|
+
])) : N.$route.path === "/" && ((F = U(We)) == null ? void 0 : F.length) > 0 && U(b) === "view" ? (le(), ye("div", la, [
|
|
4354
4354
|
Y("div", ca, [
|
|
4355
|
-
(B = U(Mt)(U(
|
|
4355
|
+
(B = U(Mt)(U(We))) != null && B.find((m) => m.comp === "FormTop") ? (le(), ye("div", {
|
|
4356
4356
|
class: "show-header",
|
|
4357
4357
|
key: N.index
|
|
4358
4358
|
}, [
|
|
4359
|
-
(
|
|
4359
|
+
(le(!0), ye(un, null, hn((ae = U(Mt)(U(We))) == null ? void 0 : ae.filter((m) => m.comp === "FormTop"), (m, d) => (le(), ye("div", {
|
|
4360
4360
|
class: "item-content",
|
|
4361
4361
|
key: d
|
|
4362
4362
|
}, [
|
|
4363
|
-
Y("div", da,
|
|
4364
|
-
(
|
|
4363
|
+
Y("div", da, qe(m.name), 1),
|
|
4364
|
+
(le(), Ie(Pn(U(Fn)(m.comp)), {
|
|
4365
4365
|
itemData: m == null ? void 0 : m.compData,
|
|
4366
4366
|
childItemData: m == null ? void 0 : m.itemChildData,
|
|
4367
4367
|
key: (m == null ? void 0 : m.id) ?? d,
|
|
@@ -4371,14 +4371,14 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4371
4371
|
onPageChange: U(jn)
|
|
4372
4372
|
}, null, 40, ["itemData", "childItemData", "onChange", "index", "onContentChange", "onPageChange"]))
|
|
4373
4373
|
]))), 128))
|
|
4374
|
-
])) :
|
|
4374
|
+
])) : Be("", !0),
|
|
4375
4375
|
Y("div", ua, [
|
|
4376
|
-
(
|
|
4376
|
+
(le(!0), ye(un, null, hn((he = U(Mt)(U(We))) == null ? void 0 : he.filter((m) => m.comp !== "FormTop"), (m, d) => (le(), ye("div", {
|
|
4377
4377
|
class: "item-content",
|
|
4378
4378
|
key: d
|
|
4379
4379
|
}, [
|
|
4380
|
-
Y("div", ha,
|
|
4381
|
-
(
|
|
4380
|
+
Y("div", ha, qe(m.name), 1),
|
|
4381
|
+
(le(), Ie(Pn(U(Fn)(m.comp)), {
|
|
4382
4382
|
itemData: m == null ? void 0 : m.compData,
|
|
4383
4383
|
childItemData: m == null ? void 0 : m.itemChildData,
|
|
4384
4384
|
key: (m == null ? void 0 : m.id) ?? d,
|
|
@@ -4390,9 +4390,9 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4390
4390
|
]))), 128))
|
|
4391
4391
|
])
|
|
4392
4392
|
])
|
|
4393
|
-
])) : U(b) === "view" ? (
|
|
4394
|
-
|
|
4395
|
-
])) :
|
|
4393
|
+
])) : U(b) === "view" ? (le(), ye("div", pa, [
|
|
4394
|
+
ie(j)
|
|
4395
|
+
])) : Be("", !0)
|
|
4396
4396
|
];
|
|
4397
4397
|
}),
|
|
4398
4398
|
_: 1
|
|
@@ -4403,26 +4403,26 @@ const Mi = { class: "obj-viewer-container" }, Pi = { class: "floating-controls"
|
|
|
4403
4403
|
]),
|
|
4404
4404
|
_: 3
|
|
4405
4405
|
})), [
|
|
4406
|
-
[H, U(
|
|
4406
|
+
[H, U(R)]
|
|
4407
4407
|
]);
|
|
4408
4408
|
};
|
|
4409
4409
|
}
|
|
4410
4410
|
}, ma = /* @__PURE__ */ Pt(fa, [["__scopeId", "data-v-d2611062"]]);
|
|
4411
4411
|
function ga(E, n, a, r, c, l) {
|
|
4412
4412
|
const y = Pe("svg-icon"), u = Pe("ssMenu");
|
|
4413
|
-
return
|
|
4413
|
+
return le(), Ie(u, {
|
|
4414
4414
|
mode: E.mode,
|
|
4415
4415
|
menuList: E.renderMenuList,
|
|
4416
4416
|
onClickMenu: E.clickMenu,
|
|
4417
4417
|
onOpenMenu: E.openMenu,
|
|
4418
4418
|
onCloseMenu: E.closeMenu
|
|
4419
4419
|
}, {
|
|
4420
|
-
title:
|
|
4421
|
-
|
|
4420
|
+
title: fe(({ menu: b }) => [
|
|
4421
|
+
ie(y, {
|
|
4422
4422
|
name: b.icon ?? "Fold",
|
|
4423
4423
|
class: "menu-icon"
|
|
4424
4424
|
}, null, 8, ["name"]),
|
|
4425
|
-
Y("span", null,
|
|
4425
|
+
Y("span", null, qe(b.title ?? ""), 1)
|
|
4426
4426
|
]),
|
|
4427
4427
|
_: 1
|
|
4428
4428
|
}, 8, ["mode", "menuList", "onClickMenu", "onOpenMenu", "onCloseMenu"]);
|
|
@@ -4491,164 +4491,163 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4491
4491
|
}
|
|
4492
4492
|
},
|
|
4493
4493
|
setup(E) {
|
|
4494
|
-
const n = qn(tt), a =
|
|
4495
|
-
it(() =>
|
|
4496
|
-
m && (
|
|
4494
|
+
const n = qn(tt), a = me(0), r = me(!1), { selectTitle: c } = et(n), l = me(!1), y = Go(tt), { tableShowThree: u } = et(y), b = js(), { loginUserInfo: g } = et(b), L = yn(tt), { isEdit: D } = et(L), S = wn(tt), A = Yo(tt), { objUrl: R, blobUrls: v } = et(A), p = me(null), N = me(!0), { importLoading: x, activeMenuPath: O, platName: C } = et(S), w = me(!1);
|
|
4495
|
+
it(() => O.value, async (m) => {
|
|
4496
|
+
m && (w.value = !0);
|
|
4497
4497
|
}, { immediate: !0 });
|
|
4498
4498
|
const f = async (m) => {
|
|
4499
|
-
var G,
|
|
4500
|
-
const d = (
|
|
4499
|
+
var $, G, de, M, oe, W, K;
|
|
4500
|
+
const d = ($ = m == null ? void 0 : m.split("/")) == null ? void 0 : $[0], I = await qo({
|
|
4501
4501
|
key: {
|
|
4502
4502
|
type: "mainEquip",
|
|
4503
4503
|
systemKey: sessionStorage.getItem("systemKey"),
|
|
4504
4504
|
pageKey: d
|
|
4505
4505
|
}
|
|
4506
4506
|
});
|
|
4507
|
-
return ((
|
|
4507
|
+
return ((G = I == null ? void 0 : I.data) == null ? void 0 : G.type) === "success" ? ((K = (W = (oe = (M = (de = I == null ? void 0 : I.data) == null ? void 0 : de.result) == null ? void 0 : M[0]) == null ? void 0 : oe.value) == null ? void 0 : W.tableData) == null ? void 0 : K.隐藏三维显示) !== !0 : !0;
|
|
4508
4508
|
};
|
|
4509
4509
|
it(
|
|
4510
|
-
() =>
|
|
4510
|
+
() => We.value,
|
|
4511
4511
|
() => {
|
|
4512
4512
|
var m, d, I;
|
|
4513
|
-
((m =
|
|
4513
|
+
((m = We.value) == null ? void 0 : m.length) === 2 && ((d = We.value) != null && d.find(($) => ($ == null ? void 0 : $.name) === "输入")) && ((I = We.value) != null && I.find(($) => ($ == null ? void 0 : $.name) === "输出")) ? l.value = !0 : l.value = !1;
|
|
4514
4514
|
},
|
|
4515
4515
|
{ deep: !0, immediate: !0 }
|
|
4516
4516
|
), it(
|
|
4517
|
-
() =>
|
|
4517
|
+
() => O.value,
|
|
4518
4518
|
async () => {
|
|
4519
|
-
|
|
4519
|
+
O.value && (N.value = await f(O.value));
|
|
4520
4520
|
},
|
|
4521
4521
|
{ deep: !0, immediate: !0 }
|
|
4522
4522
|
), it(
|
|
4523
|
-
() => [
|
|
4523
|
+
() => [R.value, p.value],
|
|
4524
4524
|
() => {
|
|
4525
4525
|
var m;
|
|
4526
|
-
((m =
|
|
4526
|
+
((m = R.value) == null ? void 0 : m.length) > 0 && p.value && p.value.addModelsFromUrls(R.value);
|
|
4527
4527
|
},
|
|
4528
4528
|
{ immediate: !0, deep: !0 }
|
|
4529
4529
|
), it(
|
|
4530
|
-
() =>
|
|
4530
|
+
() => v == null ? void 0 : v.value,
|
|
4531
4531
|
async () => {
|
|
4532
|
-
var m, d, I,
|
|
4533
|
-
if (
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
K = await ot.get(Ce, {
|
|
4532
|
+
var m, d, I, $;
|
|
4533
|
+
if (v != null && v.value && ((m = v == null ? void 0 : v.value) == null ? void 0 : m.length) > 0 && !((d = We.value) != null && d.find((G) => (G == null ? void 0 : G.name) === "输入") && ((I = We.value) != null && I.find((G) => (G == null ? void 0 : G.name) === "输出")))) {
|
|
4534
|
+
let G = [];
|
|
4535
|
+
const de = await (($ = Mt(v == null ? void 0 : v.value)) == null ? void 0 : $.map(async (M) => {
|
|
4536
|
+
var Z, V, J, ge, be, ue, Fe, ze, Xe, _t, vt, ht, pt, kt, Me;
|
|
4537
|
+
let oe, W, K = (Z = M == null ? void 0 : M.blob) == null ? void 0 : Z.split(",");
|
|
4538
|
+
if ((K == null ? void 0 : K.length) > 1) {
|
|
4539
|
+
let nt = await (K == null ? void 0 : K.map(async (Ne) => {
|
|
4540
|
+
var pe, Lt, St, Te, ft, xt, Ct;
|
|
4541
|
+
console.log(232, Ne), oe = await ot.get((pe = Ne.split("undefined,")) == null ? void 0 : pe[1], {
|
|
4543
4542
|
responseType: "blob",
|
|
4544
4543
|
headers: {
|
|
4545
4544
|
"Content-Type": "application/json"
|
|
4546
4545
|
}
|
|
4547
|
-
});
|
|
4548
|
-
let
|
|
4549
|
-
if (((
|
|
4550
|
-
let Rt = await ((St =
|
|
4546
|
+
}), console.log(2321, oe);
|
|
4547
|
+
let je = [];
|
|
4548
|
+
if (((Lt = M == null ? void 0 : M.mtlBlobs) == null ? void 0 : Lt.length) > 0) {
|
|
4549
|
+
let Rt = await ((St = M == null ? void 0 : M.mtlBlobs) == null ? void 0 : St.map(async (Dt) => {
|
|
4551
4550
|
let At = await ot.get(Dt, {
|
|
4552
4551
|
responseType: "blob",
|
|
4553
4552
|
headers: {
|
|
4554
4553
|
"Content-Type": "application/json"
|
|
4555
4554
|
}
|
|
4556
4555
|
});
|
|
4557
|
-
return
|
|
4556
|
+
return je.push(new Blob([At.data], {
|
|
4558
4557
|
type: "application/octet-stream;charset=UTF-8"
|
|
4559
4558
|
})), At;
|
|
4560
4559
|
}));
|
|
4561
4560
|
await Promise.all(Rt);
|
|
4562
4561
|
}
|
|
4563
|
-
return ((ft =
|
|
4564
|
-
suffix: "." + ((Ct =
|
|
4565
|
-
blob: new Blob([
|
|
4562
|
+
return ((ft = Ne == null ? void 0 : Ne.split(".")) == null ? void 0 : ft[((Te = Ne == null ? void 0 : Ne.split(".")) == null ? void 0 : Te.length) - 1]) !== "undefined" && G.push({
|
|
4563
|
+
suffix: "." + ((Ct = Ne == null ? void 0 : Ne.split(".")) == null ? void 0 : Ct[((xt = Ne == null ? void 0 : Ne.split(".")) == null ? void 0 : xt.length) - 1]),
|
|
4564
|
+
blob: new Blob([oe.data], {
|
|
4566
4565
|
type: "application/octet-stream;charset=UTF-8"
|
|
4567
4566
|
}),
|
|
4568
|
-
mtlBlobs:
|
|
4569
|
-
}),
|
|
4567
|
+
mtlBlobs: je
|
|
4568
|
+
}), oe;
|
|
4570
4569
|
}));
|
|
4571
4570
|
await Promise.all(nt);
|
|
4572
|
-
} else if (!((
|
|
4573
|
-
|
|
4574
|
-
url:
|
|
4571
|
+
} else if (!((V = M == null ? void 0 : M.blob) != null && V.includes("https://")) && !((J = M == null ? void 0 : M.blob) != null && J.includes("http://"))) {
|
|
4572
|
+
oe = await Un({
|
|
4573
|
+
url: M == null ? void 0 : M.blob
|
|
4575
4574
|
});
|
|
4576
4575
|
let nt = [];
|
|
4577
|
-
if (((
|
|
4578
|
-
let
|
|
4579
|
-
let
|
|
4580
|
-
url:
|
|
4576
|
+
if (((ge = M == null ? void 0 : M.mtlBlobs) == null ? void 0 : ge.length) > 0) {
|
|
4577
|
+
let Ne = await ((be = M == null ? void 0 : M.mtlBlobs) == null ? void 0 : be.map(async (je) => {
|
|
4578
|
+
let pe = await Un({
|
|
4579
|
+
url: je
|
|
4581
4580
|
});
|
|
4582
|
-
return nt.push(new Blob([
|
|
4581
|
+
return nt.push(new Blob([pe.data], {
|
|
4583
4582
|
type: "application/octet-stream;charset=UTF-8"
|
|
4584
|
-
})),
|
|
4583
|
+
})), pe;
|
|
4585
4584
|
}));
|
|
4586
|
-
await Promise.all(
|
|
4585
|
+
await Promise.all(Ne);
|
|
4587
4586
|
}
|
|
4588
4587
|
W = {
|
|
4589
|
-
suffix: "." + ((
|
|
4590
|
-
blob: new Blob([
|
|
4588
|
+
suffix: "." + ((Xe = (ue = M == null ? void 0 : M.blob) == null ? void 0 : ue.split(".")) == null ? void 0 : Xe[((ze = (Fe = M == null ? void 0 : M.blob) == null ? void 0 : Fe.split(".")) == null ? void 0 : ze.length) - 1]),
|
|
4589
|
+
blob: new Blob([oe.data], {
|
|
4591
4590
|
type: "application/octet-stream;charset=UTF-8"
|
|
4592
4591
|
}),
|
|
4593
4592
|
mtlBlobs: nt
|
|
4594
4593
|
};
|
|
4595
4594
|
} else {
|
|
4596
|
-
|
|
4595
|
+
oe = await ot.get(M == null ? void 0 : M.blob, {
|
|
4597
4596
|
responseType: "blob",
|
|
4598
4597
|
headers: {
|
|
4599
4598
|
"Content-Type": "application/json"
|
|
4600
4599
|
}
|
|
4601
4600
|
});
|
|
4602
4601
|
let nt = [];
|
|
4603
|
-
if (((
|
|
4604
|
-
let
|
|
4605
|
-
let
|
|
4602
|
+
if (((_t = M == null ? void 0 : M.mtlBlobs) == null ? void 0 : _t.length) > 0) {
|
|
4603
|
+
let Ne = await ((vt = M == null ? void 0 : M.mtlBlobs) == null ? void 0 : vt.map(async (je) => {
|
|
4604
|
+
let pe = await ot.get(je, {
|
|
4606
4605
|
responseType: "blob",
|
|
4607
4606
|
headers: {
|
|
4608
4607
|
"Content-Type": "application/json"
|
|
4609
4608
|
}
|
|
4610
4609
|
});
|
|
4611
|
-
return nt.push(new Blob([
|
|
4610
|
+
return nt.push(new Blob([pe.data], {
|
|
4612
4611
|
type: "application/octet-stream;charset=UTF-8"
|
|
4613
|
-
})),
|
|
4612
|
+
})), pe;
|
|
4614
4613
|
}));
|
|
4615
|
-
await Promise.all(
|
|
4614
|
+
await Promise.all(Ne);
|
|
4616
4615
|
}
|
|
4617
4616
|
W = {
|
|
4618
|
-
suffix: "." + ((
|
|
4619
|
-
blob: new Blob([
|
|
4617
|
+
suffix: "." + ((Me = (ht = M == null ? void 0 : M.blob) == null ? void 0 : ht.split(".")) == null ? void 0 : Me[((kt = (pt = M == null ? void 0 : M.blob) == null ? void 0 : pt.split(".")) == null ? void 0 : kt.length) - 1]),
|
|
4618
|
+
blob: new Blob([oe.data], {
|
|
4620
4619
|
type: "application/octet-stream;charset=UTF-8"
|
|
4621
4620
|
}),
|
|
4622
4621
|
mtlBlobs: nt
|
|
4623
4622
|
};
|
|
4624
4623
|
}
|
|
4625
|
-
console.log(2321, W), W &&
|
|
4624
|
+
console.log(2321, W), W && G.push(W);
|
|
4626
4625
|
}));
|
|
4627
|
-
await Promise.all(
|
|
4626
|
+
await Promise.all(de), p.value.loadModelByDefaultPath(G);
|
|
4628
4627
|
}
|
|
4629
4628
|
},
|
|
4630
4629
|
{ immediate: !0, deep: !0 }
|
|
4631
4630
|
), it(
|
|
4632
4631
|
() => u.value,
|
|
4633
4632
|
async () => {
|
|
4634
|
-
var d, I, G
|
|
4633
|
+
var d, I, $, G;
|
|
4635
4634
|
if (u.value !== "" && u.value) {
|
|
4636
|
-
let
|
|
4637
|
-
const
|
|
4635
|
+
let de = (d = O.value) == null ? void 0 : d.split("/"), M = de[(de == null ? void 0 : de.length) - 2];
|
|
4636
|
+
const W = (((I = De == null ? void 0 : De.find((J) => (J == null ? void 0 : J.key) === M)) == null ? void 0 : I.download) ?? "") + "/" + u.value, K = sessionStorage.getItem("magicToken") === "" ? "123456" : sessionStorage.getItem("magicToken"), Z = await ot.post(W, null, {
|
|
4638
4637
|
responseType: "blob",
|
|
4639
4638
|
// 必须设置
|
|
4640
4639
|
headers: {
|
|
4641
|
-
Authorization:
|
|
4640
|
+
Authorization: K,
|
|
4642
4641
|
baseURL: "http://139.196.154.85:20025",
|
|
4643
4642
|
"Content-Type": "application/json"
|
|
4644
4643
|
}
|
|
4645
4644
|
});
|
|
4646
|
-
var m = new Blob([
|
|
4645
|
+
var m = new Blob([Z.data], {
|
|
4647
4646
|
type: "application/octet-stream;charset=UTF-8"
|
|
4648
4647
|
});
|
|
4649
4648
|
const V = [
|
|
4650
4649
|
{
|
|
4651
|
-
suffix: "." + ((
|
|
4650
|
+
suffix: "." + ((G = ($ = u.value) == null ? void 0 : $.split(".")) == null ? void 0 : G[1]),
|
|
4652
4651
|
blob: m,
|
|
4653
4652
|
mtlBlobs: []
|
|
4654
4653
|
}
|
|
@@ -4658,61 +4657,61 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4658
4657
|
},
|
|
4659
4658
|
{ deep: !0, immediate: !0 }
|
|
4660
4659
|
);
|
|
4661
|
-
const
|
|
4662
|
-
var
|
|
4660
|
+
const j = async () => {
|
|
4661
|
+
var oe, W, K, Z, V, J, ge, be, ue, Fe, ze, Xe, _t, vt, ht, pt, kt;
|
|
4663
4662
|
r.value = !0;
|
|
4664
|
-
let m = (
|
|
4665
|
-
const I = ((
|
|
4666
|
-
let
|
|
4667
|
-
const
|
|
4663
|
+
let m = (oe = O.value) == null ? void 0 : oe.split("/"), d = m[(m == null ? void 0 : m.length) - 2];
|
|
4664
|
+
const I = ((W = De == null ? void 0 : De.find((Me) => (Me == null ? void 0 : Me.key) === d)) == null ? void 0 : W.value) ?? "";
|
|
4665
|
+
let $ = "";
|
|
4666
|
+
const G = await ot.post("http://139.196.154.85:20024/api/sysAuth/login", {
|
|
4668
4667
|
account: "superadmin",
|
|
4669
4668
|
password: "9bf00809059adc7f57bd290bf73ddf4d16f4c83b5937e2d68144ab0bd60d045d22d70afeed8f2fa071cda536e1fac0daf12b8e63dd870c3ca8b308f23be6e693bb32ebd3d013116dc8338d6854b1332701a522a7c43706a6db4162fbe991c8c08aa842fbbc34",
|
|
4670
4669
|
codeId: 0,
|
|
4671
4670
|
code: ""
|
|
4672
4671
|
});
|
|
4673
|
-
((
|
|
4674
|
-
const
|
|
4672
|
+
((K = G == null ? void 0 : G.data) == null ? void 0 : K.code) === 200 && ($ = `Bearer ${(V = (Z = G.data) == null ? void 0 : Z.result) == null ? void 0 : V.accessToken}`, sessionStorage.setItem("magicToken", $));
|
|
4673
|
+
const de = $ === "" ? "123456" : $, M = await ot.post(I, null, {
|
|
4675
4674
|
headers: {
|
|
4676
|
-
Authorization:
|
|
4675
|
+
Authorization: de,
|
|
4677
4676
|
baseURL: "http://139.196.154.85:20025",
|
|
4678
4677
|
"Content-Type": "multipart/form-data"
|
|
4679
4678
|
}
|
|
4680
4679
|
});
|
|
4681
|
-
if (((J =
|
|
4682
|
-
const Me = (_t = (
|
|
4680
|
+
if (((J = M == null ? void 0 : M.data) == null ? void 0 : J.type) === "success" && $o((be = (ge = M == null ? void 0 : M.data) == null ? void 0 : ge.result) == null ? void 0 : be.result)) {
|
|
4681
|
+
const Me = (_t = (Xe = (ze = JSON.parse((Fe = (ue = M == null ? void 0 : M.data) == null ? void 0 : ue.result) == null ? void 0 : Fe.result)) == null ? void 0 : ze.lines_file_paths) == null ? void 0 : Xe[0]) == null ? void 0 : _t.split("\\"), Ne = (((vt = De == null ? void 0 : De.find((pe) => (pe == null ? void 0 : pe.key) === d)) == null ? void 0 : vt.resources) ?? "") + "/" + (((Me == null ? void 0 : Me[(Me == null ? void 0 : Me.length) - 2]) === "inputResources" ? "outputResources" : Me == null ? void 0 : Me[(Me == null ? void 0 : Me.length) - 2]) ?? "outputResources"), je = await ot.post(Ne, null, {
|
|
4683
4682
|
headers: {
|
|
4684
|
-
Authorization:
|
|
4683
|
+
Authorization: de,
|
|
4685
4684
|
baseURL: "http://139.196.154.85:20025",
|
|
4686
4685
|
"Content-Type": "multipart/form-data"
|
|
4687
4686
|
}
|
|
4688
4687
|
});
|
|
4689
|
-
if (((ht =
|
|
4690
|
-
const
|
|
4688
|
+
if (((ht = je == null ? void 0 : je.data) == null ? void 0 : ht.type) === "success") {
|
|
4689
|
+
const pe = (pt = je == null ? void 0 : je.data) == null ? void 0 : pt.result, Lt = We.value, St = await ((kt = Mt(Lt)) == null ? void 0 : kt.map(async (Te) => {
|
|
4691
4690
|
var ft, xt, Ct, Rt, Dt, At;
|
|
4692
|
-
if ((
|
|
4693
|
-
if ((
|
|
4694
|
-
|
|
4695
|
-
var
|
|
4696
|
-
return (ve == null ? void 0 : ve.key) === "tableContents" && (ve.contents = (Je = (
|
|
4691
|
+
if ((Te == null ? void 0 : Te.name) === "输出") {
|
|
4692
|
+
if ((Te == null ? void 0 : Te.comp) === "Table")
|
|
4693
|
+
Te.compData = (ft = Te == null ? void 0 : Te.compData) == null ? void 0 : ft.map((ve) => {
|
|
4694
|
+
var Ae, Je;
|
|
4695
|
+
return (ve == null ? void 0 : ve.key) === "tableContents" && (ve.contents = (Je = (Ae = ve == null ? void 0 : ve.contents) == null ? void 0 : Ae.map((Re) => (Re = Re == null ? void 0 : Re.map((Ce, Ye) => {
|
|
4697
4696
|
var rt, lt, at;
|
|
4698
|
-
return typeof
|
|
4699
|
-
}), Re))) == null ? void 0 : Je.filter((Re,
|
|
4697
|
+
return typeof Ce == "string" && Ye > 1 ? ((rt = ve == null ? void 0 : ve.contents) == null ? void 0 : rt.length) > 1 ? Ce = ((lt = pe == null ? void 0 : pe[Ye - 1]) != null && lt.includes("input") ? Ce : pe == null ? void 0 : pe[Ye - 1]) ?? Ce : Ce = pe == null ? void 0 : pe[0] : Ce = ((at = pe == null ? void 0 : pe[Ye - 1]) != null && at.includes("input") ? Ce : pe == null ? void 0 : pe[Ye - 1]) ?? Ce, Ce;
|
|
4698
|
+
}), Re))) == null ? void 0 : Je.filter((Re, Ce) => Ce <= (pe == null ? void 0 : pe.length) - 1)), ve;
|
|
4700
4699
|
});
|
|
4701
|
-
else if ((
|
|
4700
|
+
else if ((Te == null ? void 0 : Te.comp) === "Form") {
|
|
4702
4701
|
let ve = "";
|
|
4703
|
-
if (
|
|
4704
|
-
ve = ve === "" ? ve +
|
|
4705
|
-
}),
|
|
4702
|
+
if (pe == null || pe.forEach((Ae) => {
|
|
4703
|
+
ve = ve === "" ? ve + Ae : ve + "," + Ae;
|
|
4704
|
+
}), Te.compData = (xt = Te == null ? void 0 : Te.compData) == null ? void 0 : xt.map((Ae) => {
|
|
4706
4705
|
var Je;
|
|
4707
|
-
return (
|
|
4708
|
-
}), (Ct = ve == null ? void 0 : ve.split(",")) != null && Ct.find((
|
|
4709
|
-
let
|
|
4710
|
-
|
|
4706
|
+
return (Ae == null ? void 0 : Ae.key) === "formContent" && (Ae.contents = (Je = Ae.contents) == null ? void 0 : Je.map((Re) => (Re.value = ve, Re))), Ae;
|
|
4707
|
+
}), (Ct = ve == null ? void 0 : ve.split(",")) != null && Ct.find((Ae) => Ae.includes(".obj"))) {
|
|
4708
|
+
let Ae = {};
|
|
4709
|
+
Ae.suffix = ".obj";
|
|
4711
4710
|
const Je = [];
|
|
4712
|
-
let Re = await ((Dt = (Rt = ve == null ? void 0 : ve.split(",")) == null ? void 0 : Rt.filter((
|
|
4711
|
+
let Re = await ((Dt = (Rt = ve == null ? void 0 : ve.split(",")) == null ? void 0 : Rt.filter((Ce) => Ce.includes(".obj") || Ce.includes(".mtl"))) == null ? void 0 : Dt.map(async (Ce) => {
|
|
4713
4712
|
var rt, lt;
|
|
4714
|
-
if (
|
|
4715
|
-
const Tt = (((rt = De == null ? void 0 : De.find((ct) => (ct == null ? void 0 : ct.key) === d)) == null ? void 0 : rt.download) ?? "") + "/" +
|
|
4713
|
+
if (Ce.includes(".obj")) {
|
|
4714
|
+
const Tt = (((rt = De == null ? void 0 : De.find((ct) => (ct == null ? void 0 : ct.key) === d)) == null ? void 0 : rt.download) ?? "") + "/" + Ce, mt = sessionStorage.getItem("magicToken") === "" ? "123456" : sessionStorage.getItem("magicToken"), gt = await ot.post(Tt, null, {
|
|
4716
4715
|
responseType: "blob",
|
|
4717
4716
|
// 必须设置
|
|
4718
4717
|
headers: {
|
|
@@ -4721,12 +4720,12 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4721
4720
|
"Content-Type": "application/json"
|
|
4722
4721
|
}
|
|
4723
4722
|
});
|
|
4724
|
-
var
|
|
4723
|
+
var Ye = new Blob([gt.data], {
|
|
4725
4724
|
type: "application/octet-stream;charset=UTF-8"
|
|
4726
4725
|
});
|
|
4727
|
-
|
|
4728
|
-
} else if (
|
|
4729
|
-
const Tt = (((lt = De == null ? void 0 : De.find((Ft) => (Ft == null ? void 0 : Ft.key) === d)) == null ? void 0 : lt.download) ?? "") + "/" +
|
|
4726
|
+
Ae.blob = Ye;
|
|
4727
|
+
} else if (Ce.includes(".mtl")) {
|
|
4728
|
+
const Tt = (((lt = De == null ? void 0 : De.find((Ft) => (Ft == null ? void 0 : Ft.key) === d)) == null ? void 0 : lt.download) ?? "") + "/" + Ce, mt = sessionStorage.getItem("magicToken") === "" ? "123456" : sessionStorage.getItem("magicToken"), gt = await ot.post(Tt, null, {
|
|
4730
4729
|
responseType: "blob",
|
|
4731
4730
|
// 必须设置
|
|
4732
4731
|
headers: {
|
|
@@ -4735,19 +4734,19 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4735
4734
|
"Content-Type": "application/json"
|
|
4736
4735
|
}
|
|
4737
4736
|
});
|
|
4738
|
-
var
|
|
4737
|
+
var Ye = new Blob([gt.data], {
|
|
4739
4738
|
type: "application/octet-stream;charset=UTF-8"
|
|
4740
4739
|
});
|
|
4741
|
-
Je.push(
|
|
4740
|
+
Je.push(Ye);
|
|
4742
4741
|
}
|
|
4743
4742
|
}));
|
|
4744
|
-
await Promise.all(Re),
|
|
4743
|
+
await Promise.all(Re), Ae.mtlBlobs = Je, p.value.loadModelByDefaultPath([Ae]);
|
|
4745
4744
|
} else {
|
|
4746
|
-
const
|
|
4745
|
+
const Ae = [];
|
|
4747
4746
|
let Je = await ((At = ve == null ? void 0 : ve.split(",")) == null ? void 0 : At.map(async (Re) => {
|
|
4748
4747
|
var mt, gt;
|
|
4749
|
-
let
|
|
4750
|
-
|
|
4748
|
+
let Ce = {};
|
|
4749
|
+
Ce.suffix = "." + ((mt = Re == null ? void 0 : Re.split(".")) == null ? void 0 : mt[1]);
|
|
4751
4750
|
const rt = (((gt = De == null ? void 0 : De.find((ct) => (ct == null ? void 0 : ct.key) === d)) == null ? void 0 : gt.download) ?? "") + "/" + Re, lt = sessionStorage.getItem("magicToken") === "" ? "123456" : sessionStorage.getItem("magicToken"), at = await ot.post(rt, null, {
|
|
4752
4751
|
responseType: "blob",
|
|
4753
4752
|
// 必须设置
|
|
@@ -4760,62 +4759,62 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4760
4759
|
var Tt = new Blob([at.data], {
|
|
4761
4760
|
type: "application/octet-stream;charset=UTF-8"
|
|
4762
4761
|
});
|
|
4763
|
-
|
|
4762
|
+
Ce.blob = Tt, Ae.push(Ce);
|
|
4764
4763
|
}));
|
|
4765
|
-
await Promise.all(Je), p.value.loadModelByDefaultPath(
|
|
4764
|
+
await Promise.all(Je), p.value.loadModelByDefaultPath(Ae);
|
|
4766
4765
|
}
|
|
4767
4766
|
}
|
|
4768
4767
|
}
|
|
4769
|
-
return
|
|
4768
|
+
return Te;
|
|
4770
4769
|
}));
|
|
4771
|
-
|
|
4770
|
+
We.value = await Promise.all(St);
|
|
4772
4771
|
}
|
|
4773
4772
|
}
|
|
4774
4773
|
a.value++, r.value = !1;
|
|
4775
|
-
}, T =
|
|
4774
|
+
}, T = me(""), k = me("open"), H = me("open"), F = me(!1), B = () => {
|
|
4776
4775
|
const m = document.getElementById("menuCollapse");
|
|
4777
4776
|
k.value === "open" ? (m.style.width = "18.75rem", m.style.height = "96%", m.style.overflow = "auto") : (m.style.width = "50px", m.style.height = "50px", m.style.overflow = "hidden");
|
|
4778
|
-
},
|
|
4777
|
+
}, ae = () => {
|
|
4779
4778
|
const m = document.getElementById("operateCollapse");
|
|
4780
4779
|
H.value === "open" ? (m.style.width = "25rem", m.style.height = "96%", m.style.overflow = "auto") : (m.style.width = "50px", m.style.height = "50px", m.style.overflow = "hidden");
|
|
4781
4780
|
}, he = () => {
|
|
4782
|
-
|
|
4781
|
+
F.value = !F.value;
|
|
4783
4782
|
const m = document.getElementById("operateCollapse"), d = document.getElementById("menuCollapse");
|
|
4784
|
-
|
|
4783
|
+
F.value ? (d.style.width = "18.75rem", m.style.width = "calc(100% - 24rem)") : m.style.width = "400px";
|
|
4785
4784
|
};
|
|
4786
4785
|
return (m, d) => {
|
|
4787
|
-
const I = Pe("el-button"),
|
|
4788
|
-
return U(
|
|
4786
|
+
const I = Pe("el-button"), $ = Pe("el-avatar"), G = Pe("el-header"), de = Pe("el-container"), M = Pe("el-icon"), oe = Pe("el-input"), W = Pe("el-aside"), K = Pe("el-collapse-item"), Z = Pe("el-collapse"), V = Pe("el-main"), J = Pe("router-view"), ge = Ts("loading");
|
|
4787
|
+
return U(D) === "edit" ? (le(), Ie(de, {
|
|
4789
4788
|
key: 0,
|
|
4790
4789
|
class: "client-container"
|
|
4791
4790
|
}, {
|
|
4792
|
-
default:
|
|
4793
|
-
|
|
4794
|
-
default:
|
|
4791
|
+
default: fe(() => [
|
|
4792
|
+
ie(G, { class: "client-structure-header" }, {
|
|
4793
|
+
default: fe(() => {
|
|
4795
4794
|
var be;
|
|
4796
4795
|
return [
|
|
4797
4796
|
Y("div", ya, [
|
|
4798
|
-
|
|
4797
|
+
ie(I, {
|
|
4799
4798
|
class: "select-icon",
|
|
4800
4799
|
onClick: U(Rs)
|
|
4801
4800
|
}, {
|
|
4802
|
-
default:
|
|
4801
|
+
default: fe(() => d[6] || (d[6] = [
|
|
4803
4802
|
yt(" 返回页面 ")
|
|
4804
4803
|
])),
|
|
4805
4804
|
_: 1,
|
|
4806
4805
|
__: [6]
|
|
4807
4806
|
}, 8, ["onClick"]),
|
|
4808
|
-
|
|
4807
|
+
ie(I, {
|
|
4809
4808
|
class: "select-icon",
|
|
4810
4809
|
onClick: d[0] || (d[0] = (ue) => {
|
|
4811
|
-
var Fe,
|
|
4812
|
-
return U(Ds)((
|
|
4810
|
+
var Fe, ze;
|
|
4811
|
+
return U(Ds)((ze = (Fe = U(c)) == null ? void 0 : Fe.map((Xe) => Xe.value)) == null ? void 0 : ze.join("/"));
|
|
4813
4812
|
})
|
|
4814
4813
|
}, {
|
|
4815
|
-
icon:
|
|
4816
|
-
|
|
4814
|
+
icon: fe(() => [
|
|
4815
|
+
ie(bt, { name: "Store" })
|
|
4817
4816
|
]),
|
|
4818
|
-
default:
|
|
4817
|
+
default: fe(() => [
|
|
4819
4818
|
d[7] || (d[7] = yt(" 保存页面 "))
|
|
4820
4819
|
]),
|
|
4821
4820
|
_: 1,
|
|
@@ -4823,7 +4822,7 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4823
4822
|
})
|
|
4824
4823
|
]),
|
|
4825
4824
|
Y("div", wa, [
|
|
4826
|
-
(
|
|
4825
|
+
(le(), Ie(Is, {
|
|
4827
4826
|
key: U(c),
|
|
4828
4827
|
breadArray: U(c),
|
|
4829
4828
|
onClick: U(Fs)
|
|
@@ -4833,14 +4832,14 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4833
4832
|
Y("div", va, [
|
|
4834
4833
|
Kt(m.$slots, "default", {}, void 0, !0)
|
|
4835
4834
|
]),
|
|
4836
|
-
|
|
4835
|
+
ie($, {
|
|
4837
4836
|
size: 35,
|
|
4838
4837
|
src: (be = U(g)) == null ? void 0 : be.avatarUrl
|
|
4839
4838
|
}, {
|
|
4840
|
-
default:
|
|
4839
|
+
default: fe(() => {
|
|
4841
4840
|
var ue;
|
|
4842
4841
|
return [
|
|
4843
|
-
yt(
|
|
4842
|
+
yt(qe(((ue = U(g)) == null ? void 0 : ue.account) ?? "未知"), 1)
|
|
4844
4843
|
];
|
|
4845
4844
|
}),
|
|
4846
4845
|
_: 1
|
|
@@ -4850,89 +4849,89 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4850
4849
|
}),
|
|
4851
4850
|
_: 3
|
|
4852
4851
|
}),
|
|
4853
|
-
U(
|
|
4852
|
+
U(D) === "edit" ? (le(), Ie(de, {
|
|
4854
4853
|
key: 0,
|
|
4855
4854
|
class: "model-operate",
|
|
4856
4855
|
style: { "margin-top": "10px", height: "0px" }
|
|
4857
4856
|
}, {
|
|
4858
|
-
default:
|
|
4857
|
+
default: fe(() => [
|
|
4859
4858
|
Y("div", ka, [
|
|
4860
|
-
|
|
4859
|
+
ie(Bn)
|
|
4861
4860
|
]),
|
|
4862
4861
|
Y("div", xa, [
|
|
4863
|
-
|
|
4862
|
+
ie(zn)
|
|
4864
4863
|
]),
|
|
4865
4864
|
Y("div", Ca, [
|
|
4866
|
-
|
|
4865
|
+
ie(Vn)
|
|
4867
4866
|
])
|
|
4868
4867
|
]),
|
|
4869
4868
|
_: 1
|
|
4870
|
-
})) :
|
|
4869
|
+
})) : Be("", !0)
|
|
4871
4870
|
]),
|
|
4872
4871
|
_: 3
|
|
4873
|
-
})) : zt((
|
|
4872
|
+
})) : zt((le(), Ie(de, {
|
|
4874
4873
|
key: 1,
|
|
4875
4874
|
class: "client-container",
|
|
4876
4875
|
"element-loading-text": "正在加载页面数据..."
|
|
4877
4876
|
}, {
|
|
4878
|
-
default:
|
|
4879
|
-
|
|
4880
|
-
default:
|
|
4877
|
+
default: fe(() => [
|
|
4878
|
+
ie(G, { class: "client-header" }, {
|
|
4879
|
+
default: fe(() => {
|
|
4881
4880
|
var be;
|
|
4882
4881
|
return [
|
|
4883
4882
|
Y("div", Aa, [
|
|
4884
|
-
|
|
4883
|
+
ie(bt, {
|
|
4885
4884
|
name: "logo",
|
|
4886
4885
|
style: { width: "clamp(18px, 1.5rem, 24px)", height: "clamp(18px, 1.5rem, 24px)", "margin-right": "8px" }
|
|
4887
4886
|
}),
|
|
4888
|
-
yt(" " +
|
|
4887
|
+
yt(" " + qe(U(C) === "" ? "CPMPIP" : U(C)), 1)
|
|
4889
4888
|
]),
|
|
4890
4889
|
Y("div", Ta, [
|
|
4891
|
-
|
|
4890
|
+
ie(ba, { mode: "horizontal" })
|
|
4892
4891
|
]),
|
|
4893
4892
|
Y("div", Ea, [
|
|
4894
|
-
|
|
4893
|
+
ie(oe, {
|
|
4895
4894
|
modelValue: T.value,
|
|
4896
4895
|
"onUpdate:modelValue": d[1] || (d[1] = (ue) => T.value = ue),
|
|
4897
4896
|
clearable: "",
|
|
4898
4897
|
placeholder: "搜索",
|
|
4899
4898
|
style: { width: "130px" }
|
|
4900
4899
|
}, {
|
|
4901
|
-
prefix:
|
|
4902
|
-
|
|
4903
|
-
default:
|
|
4904
|
-
|
|
4900
|
+
prefix: fe(() => [
|
|
4901
|
+
ie(M, { class: "el-input__icon" }, {
|
|
4902
|
+
default: fe(() => [
|
|
4903
|
+
ie(U(ti))
|
|
4905
4904
|
]),
|
|
4906
4905
|
_: 1
|
|
4907
4906
|
})
|
|
4908
4907
|
]),
|
|
4909
4908
|
_: 1
|
|
4910
4909
|
}, 8, ["modelValue"]),
|
|
4911
|
-
U(
|
|
4910
|
+
U(D) === "view" ? (le(), ye("div", {
|
|
4912
4911
|
key: 0,
|
|
4913
4912
|
class: "select-icon",
|
|
4914
4913
|
onClick: d[2] || (d[2] = //@ts-ignore
|
|
4915
4914
|
(...ue) => U(mn) && U(mn)(...ue))
|
|
4916
4915
|
}, [
|
|
4917
4916
|
Y("div", Na, [
|
|
4918
|
-
|
|
4917
|
+
ie(bt, {
|
|
4919
4918
|
name: "write",
|
|
4920
4919
|
style: { width: "clamp(12px, 0.9375rem, 15px)", height: "clamp(12px, 0.9375rem, 15px)" }
|
|
4921
4920
|
})
|
|
4922
4921
|
]),
|
|
4923
|
-
d[8] || (d[8] = Y("div", { class: "layout-trigger" },
|
|
4924
|
-
])) :
|
|
4922
|
+
d[8] || (d[8] = Y("div", { class: "layout-trigger" }, qe("修改布局"), -1))
|
|
4923
|
+
])) : Be("", !0),
|
|
4925
4924
|
Y("div", Ma, [
|
|
4926
4925
|
Kt(m.$slots, "default", {}, void 0, !0)
|
|
4927
4926
|
]),
|
|
4928
|
-
|
|
4927
|
+
ie($, {
|
|
4929
4928
|
size: 35,
|
|
4930
4929
|
src: (be = U(g)) == null ? void 0 : be.avatarUrl
|
|
4931
4930
|
}, {
|
|
4932
|
-
default:
|
|
4931
|
+
default: fe(() => {
|
|
4933
4932
|
var ue;
|
|
4934
4933
|
return [
|
|
4935
|
-
yt(
|
|
4934
|
+
yt(qe(((ue = U(g)) == null ? void 0 : ue.account) ?? "未知"), 1)
|
|
4936
4935
|
];
|
|
4937
4936
|
}),
|
|
4938
4937
|
_: 1
|
|
@@ -4942,14 +4941,14 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4942
4941
|
}),
|
|
4943
4942
|
_: 3
|
|
4944
4943
|
}),
|
|
4945
|
-
|
|
4946
|
-
default:
|
|
4947
|
-
m.$route.path === "/" ? (
|
|
4944
|
+
ie(de, { class: "client-body" }, {
|
|
4945
|
+
default: fe(() => [
|
|
4946
|
+
m.$route.path === "/" ? (le(), Ie(V, {
|
|
4948
4947
|
key: 0,
|
|
4949
4948
|
class: "client-main"
|
|
4950
4949
|
}, {
|
|
4951
|
-
default:
|
|
4952
|
-
|
|
4950
|
+
default: fe(() => [
|
|
4951
|
+
ie(Z, {
|
|
4953
4952
|
modelValue: k.value,
|
|
4954
4953
|
"onUpdate:modelValue": d[3] || (d[3] = (be) => k.value = be),
|
|
4955
4954
|
accordion: "",
|
|
@@ -4957,18 +4956,18 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4957
4956
|
id: "menuCollapse",
|
|
4958
4957
|
onChange: B
|
|
4959
4958
|
}, {
|
|
4960
|
-
default:
|
|
4961
|
-
|
|
4962
|
-
icon:
|
|
4963
|
-
|
|
4959
|
+
default: fe(() => [
|
|
4960
|
+
ie(K, { name: "open" }, {
|
|
4961
|
+
icon: fe(() => [
|
|
4962
|
+
ie(bt, {
|
|
4964
4963
|
name: k.value === "" ? "Right" : "Left",
|
|
4965
4964
|
style: { width: "20px", height: "20px" }
|
|
4966
4965
|
}, null, 8, ["name"])
|
|
4967
4966
|
]),
|
|
4968
|
-
default:
|
|
4969
|
-
|
|
4970
|
-
default:
|
|
4971
|
-
|
|
4967
|
+
default: fe(() => [
|
|
4968
|
+
ie(W, { style: { width: "100%" } }, {
|
|
4969
|
+
default: fe(() => [
|
|
4970
|
+
ie(Ln, { mode: "vertical" })
|
|
4972
4971
|
]),
|
|
4973
4972
|
_: 1
|
|
4974
4973
|
})
|
|
@@ -4979,46 +4978,46 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
4979
4978
|
_: 1
|
|
4980
4979
|
}, 8, ["modelValue"]),
|
|
4981
4980
|
Y("div", Pa, [
|
|
4982
|
-
|
|
4983
|
-
isShow:
|
|
4981
|
+
ie(Ki, {
|
|
4982
|
+
isShow: w.value,
|
|
4984
4983
|
windowConfig: E.windowConfig,
|
|
4985
4984
|
ref_key: "threeModelRef",
|
|
4986
4985
|
ref: p
|
|
4987
4986
|
}, null, 8, ["isShow", "windowConfig"])
|
|
4988
4987
|
]),
|
|
4989
|
-
|
|
4988
|
+
ie(Z, {
|
|
4990
4989
|
modelValue: H.value,
|
|
4991
4990
|
"onUpdate:modelValue": d[5] || (d[5] = (be) => H.value = be),
|
|
4992
4991
|
accordion: "",
|
|
4993
4992
|
class: "client-main-operate",
|
|
4994
4993
|
id: "operateCollapse",
|
|
4995
|
-
onChange:
|
|
4994
|
+
onChange: ae
|
|
4996
4995
|
}, {
|
|
4997
|
-
default:
|
|
4998
|
-
|
|
4999
|
-
icon:
|
|
5000
|
-
|
|
4996
|
+
default: fe(() => [
|
|
4997
|
+
ie(K, { name: "open" }, {
|
|
4998
|
+
icon: fe(() => [
|
|
4999
|
+
ie(bt, {
|
|
5001
5000
|
name: H.value === "open" ? "Right" : "Left",
|
|
5002
5001
|
style: { width: "20px", height: "20px" }
|
|
5003
5002
|
}, null, 8, ["name"])
|
|
5004
5003
|
]),
|
|
5005
|
-
default:
|
|
5004
|
+
default: fe(() => {
|
|
5006
5005
|
var be;
|
|
5007
5006
|
return [
|
|
5008
5007
|
Y("div", null, [
|
|
5009
|
-
|
|
5008
|
+
ie(bt, {
|
|
5010
5009
|
class: "fold-icon",
|
|
5011
|
-
name:
|
|
5010
|
+
name: F.value ? "Right" : "Left",
|
|
5012
5011
|
onClick: he
|
|
5013
5012
|
}, null, 8, ["name"]),
|
|
5014
|
-
(
|
|
5015
|
-
var
|
|
5016
|
-
return
|
|
5013
|
+
(le(!0), ye(un, null, hn((be = U(Mt)(U(We))) == null ? void 0 : be.filter((ue) => ue.comp !== "FormTop"), (ue, Fe) => {
|
|
5014
|
+
var ze;
|
|
5015
|
+
return le(), ye("div", {
|
|
5017
5016
|
class: "item-view-content",
|
|
5018
5017
|
key: Fe
|
|
5019
5018
|
}, [
|
|
5020
|
-
((
|
|
5021
|
-
(
|
|
5019
|
+
((ze = ue == null ? void 0 : ue.comp) == null ? void 0 : ze.toUpperCase()) !== "TABLE" ? (le(), ye("div", La, qe(ue.name), 1)) : Be("", !0),
|
|
5020
|
+
(le(), Ie(Pn(U(Fn)(ue.comp)), {
|
|
5022
5021
|
compName: ue.name,
|
|
5023
5022
|
itemData: ue == null ? void 0 : ue.compData,
|
|
5024
5023
|
childItemData: ue == null ? void 0 : ue.itemChildData,
|
|
@@ -5030,14 +5029,14 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5030
5029
|
}, null, 40, ["compName", "itemData", "childItemData", "onChange", "index", "onContentChange", "onPageChange"]))
|
|
5031
5030
|
]);
|
|
5032
5031
|
}), 128)),
|
|
5033
|
-
l.value ? (
|
|
5034
|
-
|
|
5032
|
+
l.value ? (le(), ye("div", Sa, [
|
|
5033
|
+
ie(ni, {
|
|
5035
5034
|
class: "calculator-content",
|
|
5036
|
-
onClickTrigger: d[4] || (d[4] = (ue) =>
|
|
5035
|
+
onClickTrigger: d[4] || (d[4] = (ue) => j()),
|
|
5037
5036
|
loading: r.value,
|
|
5038
5037
|
modelValue: "调用方法"
|
|
5039
5038
|
}, null, 8, ["loading"])
|
|
5040
|
-
])) :
|
|
5039
|
+
])) : Be("", !0)
|
|
5041
5040
|
])
|
|
5042
5041
|
];
|
|
5043
5042
|
}),
|
|
@@ -5048,22 +5047,22 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5048
5047
|
}, 8, ["modelValue"])
|
|
5049
5048
|
]),
|
|
5050
5049
|
_: 1
|
|
5051
|
-
})) : (
|
|
5050
|
+
})) : (le(), Ie(V, {
|
|
5052
5051
|
key: 1,
|
|
5053
5052
|
class: "client-router"
|
|
5054
5053
|
}, {
|
|
5055
|
-
default:
|
|
5054
|
+
default: fe(() => [
|
|
5056
5055
|
Y("div", Ra, [
|
|
5057
|
-
|
|
5058
|
-
default:
|
|
5059
|
-
|
|
5056
|
+
ie(W, { width: "300px" }, {
|
|
5057
|
+
default: fe(() => [
|
|
5058
|
+
ie(Ln, { mode: "vertical" })
|
|
5060
5059
|
]),
|
|
5061
5060
|
_: 1
|
|
5062
5061
|
})
|
|
5063
5062
|
]),
|
|
5064
|
-
|
|
5065
|
-
default:
|
|
5066
|
-
|
|
5063
|
+
ie(V, { class: "router-main" }, {
|
|
5064
|
+
default: fe(() => [
|
|
5065
|
+
ie(J)
|
|
5067
5066
|
]),
|
|
5068
5067
|
_: 1
|
|
5069
5068
|
})
|
|
@@ -5076,11 +5075,11 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5076
5075
|
]),
|
|
5077
5076
|
_: 3
|
|
5078
5077
|
})), [
|
|
5079
|
-
[
|
|
5078
|
+
[ge, U(x)]
|
|
5080
5079
|
]);
|
|
5081
5080
|
};
|
|
5082
5081
|
}
|
|
5083
|
-
}), Fa = /* @__PURE__ */ Pt(Da, [["__scopeId", "data-v-
|
|
5082
|
+
}), Fa = /* @__PURE__ */ Pt(Da, [["__scopeId", "data-v-1495f0cd"]]), ja = { class: "system-wrap" }, Oa = {
|
|
5084
5083
|
__name: "index",
|
|
5085
5084
|
props: {
|
|
5086
5085
|
windowConfig: {
|
|
@@ -5097,13 +5096,13 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5097
5096
|
},
|
|
5098
5097
|
setup(E) {
|
|
5099
5098
|
const n = yn(tt), a = qn(tt), r = wn();
|
|
5100
|
-
|
|
5101
|
-
const c =
|
|
5099
|
+
me(!1);
|
|
5100
|
+
const c = me(!0), l = E;
|
|
5102
5101
|
return gn(() => {
|
|
5103
5102
|
}), it(
|
|
5104
5103
|
() => [l == null ? void 0 : l.content, l == null ? void 0 : l.jsonContents],
|
|
5105
5104
|
async () => {
|
|
5106
|
-
var b, g,
|
|
5105
|
+
var b, g, L, D;
|
|
5107
5106
|
if (((b = l == null ? void 0 : l.jsonContents) == null ? void 0 : b.length) > 0) {
|
|
5108
5107
|
n.setOriginalData(l == null ? void 0 : l.jsonContents);
|
|
5109
5108
|
return;
|
|
@@ -5111,22 +5110,22 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5111
5110
|
if (!(l != null && l.content) || ((g = l == null ? void 0 : l.content) == null ? void 0 : g.length) === 0) return;
|
|
5112
5111
|
c.value = !0, r.setImportLoading(!0);
|
|
5113
5112
|
let y = [], u = [];
|
|
5114
|
-
a.setSelectTitle([]), a.setSelectIndex(""), a.setSelectMenu(""), (
|
|
5115
|
-
Xo(
|
|
5113
|
+
a.setSelectTitle([]), a.setSelectIndex(""), a.setSelectMenu(""), (D = (L = l == null ? void 0 : l.content) == null ? void 0 : L.filter((S) => S !== "")) == null || D.forEach((S) => {
|
|
5114
|
+
Xo(S) ? u.push(Jo(S)) : ms(S) ? u.push(ms(S)) : gs(S) ? u.push(gs(S)) : u.push(Wo(S));
|
|
5116
5115
|
}), y = u == null ? void 0 : u[0], await Zo(y), await Ss(), n.setOriginalData(y), r.setImportLoading(!1);
|
|
5117
5116
|
},
|
|
5118
5117
|
{ deep: !0, immediate: !0 }
|
|
5119
|
-
), (y, u) => (
|
|
5120
|
-
E.platform === "browser" ? (
|
|
5121
|
-
default:
|
|
5118
|
+
), (y, u) => (le(), ye("div", ja, [
|
|
5119
|
+
E.platform === "browser" ? (le(), Ie(ma, { key: 0 }, {
|
|
5120
|
+
default: fe(() => [
|
|
5122
5121
|
Kt(y.$slots, "default", {}, void 0, !0)
|
|
5123
5122
|
]),
|
|
5124
5123
|
_: 3
|
|
5125
|
-
})) : (
|
|
5124
|
+
})) : (le(), Ie(Fa, {
|
|
5126
5125
|
key: 1,
|
|
5127
5126
|
windowConfig: E.windowConfig
|
|
5128
5127
|
}, {
|
|
5129
|
-
default:
|
|
5128
|
+
default: fe(() => [
|
|
5130
5129
|
Kt(y.$slots, "default", {}, void 0, !0)
|
|
5131
5130
|
]),
|
|
5132
5131
|
_: 3
|
|
@@ -5164,21 +5163,21 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5164
5163
|
},
|
|
5165
5164
|
emits: ["change", "contentChange"],
|
|
5166
5165
|
setup(E, { emit: n }) {
|
|
5167
|
-
const a = E, r = n, c =
|
|
5168
|
-
|
|
5169
|
-
const N =
|
|
5166
|
+
const a = E, r = n, c = me([]), l = me([]), y = me([]), u = me(0), b = yn(tt), g = wn(tt), { itemData: L, originalData: D } = et(b), { activeMenuPath: S, platform: A } = et(g), R = me(null), v = me(0), p = me([]);
|
|
5167
|
+
me("");
|
|
5168
|
+
const N = me(0), x = (f) => {
|
|
5170
5169
|
r("contentChange", f);
|
|
5171
|
-
},
|
|
5170
|
+
}, O = (f) => {
|
|
5172
5171
|
var T;
|
|
5173
|
-
const
|
|
5172
|
+
const j = (T = Mt(f == null ? void 0 : f.wholeValue)) == null ? void 0 : T.map((k) => {
|
|
5174
5173
|
var H;
|
|
5175
|
-
return (k == null ? void 0 : k.comp) === "Form" && (k.compData = (H = k.compData) == null ? void 0 : H.map((
|
|
5174
|
+
return (k == null ? void 0 : k.comp) === "Form" && (k.compData = (H = k.compData) == null ? void 0 : H.map((F) => ((F == null ? void 0 : F.key) === "formContent" && (F.contents = Qo(F == null ? void 0 : F.contents)), F))), k;
|
|
5176
5175
|
});
|
|
5177
5176
|
r("change", {
|
|
5178
|
-
originalContents:
|
|
5177
|
+
originalContents: D.value,
|
|
5179
5178
|
currentContents: f == null ? void 0 : f.wholeValue,
|
|
5180
5179
|
editContent: f == null ? void 0 : f.editValue,
|
|
5181
|
-
arrayToContents:
|
|
5180
|
+
arrayToContents: j
|
|
5182
5181
|
});
|
|
5183
5182
|
};
|
|
5184
5183
|
it(
|
|
@@ -5189,21 +5188,21 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5189
5188
|
{ deep: !0, immediate: !0 }
|
|
5190
5189
|
);
|
|
5191
5190
|
const C = () => {
|
|
5192
|
-
|
|
5193
|
-
},
|
|
5194
|
-
const
|
|
5195
|
-
if (!
|
|
5196
|
-
new FileReader(), c.value = [], l.value = [], N.value =
|
|
5197
|
-
const T = Array.from(
|
|
5198
|
-
const
|
|
5199
|
-
|
|
5191
|
+
R.value.click();
|
|
5192
|
+
}, w = async (f) => {
|
|
5193
|
+
const j = f.target.files;
|
|
5194
|
+
if (!j) return;
|
|
5195
|
+
new FileReader(), c.value = [], l.value = [], N.value = j.length;
|
|
5196
|
+
const T = Array.from(j).map(async (k) => await new Promise((H) => {
|
|
5197
|
+
const F = new FileReader();
|
|
5198
|
+
F.onload = (B) => {
|
|
5200
5199
|
try {
|
|
5201
|
-
l.value.push(B.target.result),
|
|
5202
|
-
} catch (
|
|
5203
|
-
console.error("解析失败:",
|
|
5200
|
+
l.value.push(B.target.result), v.value++;
|
|
5201
|
+
} catch (ae) {
|
|
5202
|
+
console.error("解析失败:", ae);
|
|
5204
5203
|
return;
|
|
5205
5204
|
}
|
|
5206
|
-
},
|
|
5205
|
+
}, F.onerror = () => H(`读取 ${k.name} 失败`), F.readAsText(k), f.target.value = "", R.value = null;
|
|
5207
5206
|
}));
|
|
5208
5207
|
await Promise.all(T);
|
|
5209
5208
|
};
|
|
@@ -5214,42 +5213,42 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5214
5213
|
},
|
|
5215
5214
|
{ deep: !0, immediate: !0 }
|
|
5216
5215
|
), it(
|
|
5217
|
-
() =>
|
|
5216
|
+
() => v.value,
|
|
5218
5217
|
() => {
|
|
5219
5218
|
var f;
|
|
5220
5219
|
((f = p.value) == null ? void 0 : f.length) !== 0 && (b.setOriginalData(p.value), b.setItemData(p.value));
|
|
5221
5220
|
},
|
|
5222
5221
|
{ deep: !0, immediate: !0 }
|
|
5223
|
-
), (f,
|
|
5222
|
+
), (f, j) => {
|
|
5224
5223
|
const T = Pe("svg-icon");
|
|
5225
|
-
return
|
|
5226
|
-
(a == null ? void 0 : a.mode) === "edit" ? (
|
|
5224
|
+
return le(), ye("div", Ua, [
|
|
5225
|
+
(a == null ? void 0 : a.mode) === "edit" ? (le(), ye("div", Ba, [
|
|
5227
5226
|
Y("div", za, [
|
|
5228
|
-
|
|
5227
|
+
ie(Bn)
|
|
5229
5228
|
]),
|
|
5230
|
-
(
|
|
5229
|
+
(le(), ye("div", {
|
|
5231
5230
|
class: "model-show",
|
|
5232
5231
|
key: u.value
|
|
5233
5232
|
}, [
|
|
5234
|
-
|
|
5233
|
+
ie(zn)
|
|
5235
5234
|
])),
|
|
5236
5235
|
Y("div", Va, [
|
|
5237
|
-
|
|
5236
|
+
ie(Vn)
|
|
5238
5237
|
])
|
|
5239
|
-
])) :
|
|
5240
|
-
(a == null ? void 0 : a.mode) === "view" ? (
|
|
5241
|
-
(
|
|
5238
|
+
])) : Be("", !0),
|
|
5239
|
+
(a == null ? void 0 : a.mode) === "view" ? (le(), ye("div", Ha, [
|
|
5240
|
+
(le(), Ie(Ia, {
|
|
5242
5241
|
platform: U(A),
|
|
5243
5242
|
content: c.value,
|
|
5244
|
-
onChange:
|
|
5243
|
+
onChange: O,
|
|
5245
5244
|
jsonContents: y.value,
|
|
5246
5245
|
onContentChange: x,
|
|
5247
5246
|
key: u.value
|
|
5248
5247
|
}, {
|
|
5249
|
-
default:
|
|
5248
|
+
default: fe(() => {
|
|
5250
5249
|
var k;
|
|
5251
5250
|
return [
|
|
5252
|
-
((k = a == null ? void 0 : a.jsonContents) == null ? void 0 : k.length) === 0 && (a != null && a.showButton) ? (
|
|
5251
|
+
((k = a == null ? void 0 : a.jsonContents) == null ? void 0 : k.length) === 0 && (a != null && a.showButton) ? (le(), ye("div", Ga, [
|
|
5253
5252
|
Y("div", {
|
|
5254
5253
|
class: "import-button",
|
|
5255
5254
|
onClick: C
|
|
@@ -5257,24 +5256,24 @@ const ba = /* @__PURE__ */ Pt(Ko, [["render", ga], ["__scopeId", "data-v-e003bdb
|
|
|
5257
5256
|
Y("input", {
|
|
5258
5257
|
type: "file",
|
|
5259
5258
|
ref_key: "fileInput",
|
|
5260
|
-
ref:
|
|
5259
|
+
ref: R,
|
|
5261
5260
|
accept: ".txt, .inm",
|
|
5262
|
-
onChange:
|
|
5261
|
+
onChange: w,
|
|
5263
5262
|
style: { display: "none" },
|
|
5264
5263
|
multiple: ""
|
|
5265
5264
|
}, null, 544),
|
|
5266
|
-
|
|
5265
|
+
ie(T, {
|
|
5267
5266
|
name: "import",
|
|
5268
5267
|
style: { width: "clamp(12px, 0.9375rem, 15px)", height: "clamp(12px, 0.9375rem, 15px)" }
|
|
5269
5268
|
}),
|
|
5270
|
-
|
|
5269
|
+
j[0] || (j[0] = Y("div", { class: "import-trigger" }, qe("导入模型"), -1))
|
|
5271
5270
|
])
|
|
5272
|
-
])) :
|
|
5271
|
+
])) : Be("", !0)
|
|
5273
5272
|
];
|
|
5274
5273
|
}),
|
|
5275
5274
|
_: 1
|
|
5276
5275
|
}, 8, ["platform", "content", "jsonContents"]))
|
|
5277
|
-
])) :
|
|
5276
|
+
])) : Be("", !0)
|
|
5278
5277
|
]);
|
|
5279
5278
|
};
|
|
5280
5279
|
}
|