ss-component-new 1.2.95 → 1.2.97
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/{MTLLoader-8qht74Q7.js → MTLLoader-DnouUI-8.js} +1 -1
- package/dist/{MTLLoader-BmycYKH6.cjs → MTLLoader-zZDM0NQh.cjs} +1 -1
- package/dist/{OrbitControls-Bzn7u6zE.cjs → OrbitControls-B85G8nPk.cjs} +1 -1
- package/dist/{OrbitControls-BjJ79rTx.js → OrbitControls-DFhYzlF3.js} +1 -1
- package/dist/{animationData-CQDxkaf8.js → animationData-DfKVkFbz.js} +3 -3
- package/dist/{animationData-Bx4eWR_g.cjs → animationData-DxBvEqB1.cjs} +1 -1
- package/dist/{array-Dg-eQLeS.cjs → array-CYnA_0YM.cjs} +1 -1
- package/dist/{array-Cn-xxeGh.js → array-jPdolPpm.js} +1 -1
- package/dist/{dataUtil-BFP1At6d.cjs → dataUtil-B4sGo38_.cjs} +1 -1
- package/dist/{dataUtil-C4lMM2nY.js → dataUtil-DQX9rTvE.js} +1 -1
- package/dist/{iconfont-CYyOVK2s.cjs → iconfont-C7kE-QbU.cjs} +1 -1
- package/dist/{iconfont-m9s2eWSa.js → iconfont-WOKNi2xx.js} +2 -2
- package/dist/{index-uCKXm0Ml.cjs → index-331j518H.cjs} +1 -1
- package/dist/{index-DzEn5obj.cjs → index-6sZXjGGz.cjs} +1 -1
- package/dist/{index-CIu1uGjo.js → index-B-AhHUV1.js} +1 -1
- package/dist/{index-CTh_Ncuz.cjs → index-B21qNg4A.cjs} +1 -1
- package/dist/{index-Cytb2XpO.cjs → index-BDxPlbe2.cjs} +1 -1
- package/dist/{index-C0g2wZa2.js → index-BFzMf0GC.js} +1 -1
- package/dist/{index-CKH8tgtf.js → index-BI7g3c_u.js} +19 -19
- package/dist/{index-Dw6fiZyq.js → index-BODyH6MD.js} +2 -2
- package/dist/{index-BayQ6HRi.js → index-BXfKtvF-.js} +1 -1
- package/dist/{index-dJkjnoBT.js → index-BXv3aZ7v.js} +2 -2
- package/dist/{index-BZlNDUf3.js → index-BYk9Fb6p.js} +5 -5
- package/dist/{index-BUjf2k-5.js → index-B_zjoT4m.js} +2 -2
- package/dist/{index-_O8-0tTU.js → index-Bhha7SY3.js} +2 -2
- package/dist/{index-Qc-s-Zm7.js → index-BoTiP0aV.js} +2 -2
- package/dist/{index-Df60duTb.js → index-BxZ-k8Ww.js} +1 -1
- package/dist/{index-DGqnGNR8.cjs → index-C-dlFxRJ.cjs} +1 -1
- package/dist/{index-DMwTF1Hl.cjs → index-CGRb8BQx.cjs} +1 -1
- package/dist/{index-TGJkSdz2.js → index-CJOQxUog.js} +2 -2
- package/dist/{index-CwByh9ZP.cjs → index-CLOUp_4j.cjs} +1 -1
- package/dist/{index-CqfXVkG_.cjs → index-CPAXrzNY.cjs} +1 -1
- package/dist/{index-ssE7UMws.cjs → index-CQRJ3pLh.cjs} +1 -1
- package/dist/{index-DEX2MMzx.js → index-CSQJCfDf.js} +1 -1
- package/dist/{index-FKHrqiVz.js → index-CV2JWX-7.js} +1 -1
- package/dist/{index-CymErwj9.cjs → index-CZPnP0uy.cjs} +1 -1
- package/dist/{index-D0NuMuh5.js → index-CcwTi2WJ.js} +1 -1
- package/dist/{index-CXZD7ZqS.js → index-CeGM8aBH.js} +4 -4
- package/dist/{index-j16y0mCJ.cjs → index-Cnk_4Zz5.cjs} +1 -1
- package/dist/{index-C8dRWVYa.cjs → index-Cppt0AsF.cjs} +1 -1
- package/dist/{index-DnJvIr_e.js → index-CqI3frdZ.js} +11 -11
- package/dist/{index-DP1ngDkf.js → index-Cr5if46q.js} +2 -2
- package/dist/{index-DlnbkEM7.cjs → index-Cw3gRBT3.cjs} +1 -1
- package/dist/{index-UBLKP4tK.cjs → index-D0hovh9R.cjs} +1 -1
- package/dist/{index-DEftTK7V.cjs → index-D6u590uA.cjs} +1 -1
- package/dist/{index-CxXHtat8.cjs → index-DHBoRe9V.cjs} +1 -1
- package/dist/{index-D450aSmc.cjs → index-DHZMd8iK.cjs} +1 -1
- package/dist/{index-9ZD8V6kl.js → index-DHjtOySN.js} +5 -5
- package/dist/{index-CRLrdcaz.js → index-DJ6qg2Mo.js} +5 -5
- package/dist/{index-B-Plyeh4.js → index-DRfVnLTN.js} +8 -8
- package/dist/{index-Bg0aEQlB.js → index-DRizRbU3.js} +1 -1
- package/dist/{index-BIoBDMY8.cjs → index-DSPjcpWK.cjs} +1 -1
- package/dist/{index-C-YumVbf.js → index-D_RGoDln.js} +5 -5
- package/dist/{index-CP5OwgDj.cjs → index-D_igus4A.cjs} +1 -1
- package/dist/{index-D-7Puf0_.cjs → index-DbDM-XfB.cjs} +1 -1
- package/dist/{index-BgUWl3Zu.js → index-DeOwZgqL.js} +7 -7
- package/dist/{index-1l1PVuvD.js → index-DgZVeYqH.js} +1 -1
- package/dist/{index-DY8hmk1Q.cjs → index-DhufphmT.cjs} +1 -1
- package/dist/{index-jwp9FUJG.cjs → index-DrzK0O_g.cjs} +1 -1
- package/dist/{index-CSZdFHsD.cjs → index-DwFpQNpA.cjs} +1 -1
- package/dist/{index-BgyeksTj.cjs → index-S1LIIzCa.cjs} +1 -1
- package/dist/{index-BvqgSoo0.cjs → index-_PP-dSm3.cjs} +1 -1
- package/dist/{index-BjjK_8u-.cjs → index-a6bC3A9D.cjs} +1 -1
- package/dist/{index-dme4eW3i.cjs → index-eaKFpHpQ.cjs} +1 -1
- package/dist/{index-F-C5-x1o.js → index-hhS08X8b.js} +3 -3
- package/dist/{index-CdroHcgB.cjs → index-iErxMZBi.cjs} +1 -1
- package/dist/{index-BdjFLIVl.js → index-iZ9BRKg5.js} +2 -2
- package/dist/{index-nvZihuIg.js → index-kLDMroPk.js} +3 -3
- package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DwtbPt8c.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DSlAeFA3.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-WJTWjMIt.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-ERjMISIK.js} +11 -11
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DFR9Kcwi.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-3GcG1eTD.js} +1648 -1643
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-C2CSvQmH.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Dzyqt2Z-.cjs} +59 -59
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-DZ8szdDo.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-DODc2KPN.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-02N_VKFB.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-mJB_yl_P.js} +5 -5
- package/dist/{index.vue_vue_type_style_index_1_lang-DBVG4Icj.cjs → index.vue_vue_type_style_index_1_lang-B8_elAaU.cjs} +5 -5
- package/dist/{index.vue_vue_type_style_index_1_lang-CIdKArLI.js → index.vue_vue_type_style_index_1_lang-BH0DRFVE.js} +4 -4
- package/dist/{index.vue_vue_type_style_index_1_lang-B0Uj0kxH.cjs → index.vue_vue_type_style_index_1_lang-BRFs_L5R.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_1_lang-Bjoq8geZ.js → index.vue_vue_type_style_index_1_lang-Cg1p_3ne.js} +159 -163
- package/dist/{main-_im25sGn.cjs → main-B541MQH8.cjs} +1 -1
- package/dist/{main-CYhFa6nS.js → main-Z5UMyCj6.js} +4 -4
- package/dist/obj/model.mtl +42 -0
- package/dist/obj/model.obj +26110 -0
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.js +10 -10
- package/dist/ss-component2.cjs +1 -1
- package/dist/ss-component2.js +11 -11
- package/dist/{threeModel-BYpxhXBO.js → threeModel-BcjGbIJZ.js} +4 -4
- package/dist/{threeModel-DzvIhn6F.cjs → threeModel-tKq0hvaK.cjs} +1 -1
- package/dist/{threePreview-Bd5BpbCA.js → threePreview-BnPMGQ2H.js} +3 -3
- package/dist/{threePreview-CIuFqz2p.cjs → threePreview-DD0br2ae.cjs} +1 -1
- package/dist/{threeSceneView-BhmqTLZA.js → threeSceneView-BUD002PP.js} +10 -10
- package/dist/{threeSceneView-CAMJYdpr.cjs → threeSceneView-DVUTlm6F.cjs} +1 -1
- package/dist/{threeSceneViewForCPMPIP-fwJ6mDCc.cjs → threeSceneViewForCPMPIP-BYYbyqD7.cjs} +1 -1
- package/dist/{threeSceneViewForCPMPIP-C7cCpwwv.js → threeSceneViewForCPMPIP-D4RC4BAo.js} +9 -9
- package/dist/threeTrackPathView-BvUihuyk.cjs +370 -0
- package/dist/{threeTrackPathView-BvbmDcVs.js → threeTrackPathView-DDCEu3Gx.js} +353 -331
- package/dist/{threeViewerHost---qrarPK.js → threeViewerHost-BVeUteVd.js} +3 -3
- package/dist/{threeViewerHost-BRpeReJJ.cjs → threeViewerHost-Sda_AoRw.cjs} +2 -2
- package/dist/{urdfTree-CXBSDiJj.cjs → urdfTree-Br9VYqKp.cjs} +1 -1
- package/dist/{urdfTree-DxLmsFUL.js → urdfTree-DaWvX-6R.js} +1 -1
- package/dist/{workpieceTreePanel-DaCEJl86.js → workpieceTreePanel-BdRaFNRp.js} +5 -5
- package/dist/{workpieceTreePanel-D1WeZesv.cjs → workpieceTreePanel-Z3aVdOWB.cjs} +1 -1
- package/package.json +1 -1
- package/public/obj/model.mtl +42 -0
- package/public/obj/model.obj +26110 -0
- package/dist/threeTrackPathView-C3n4B-Ye.cjs +0 -370
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineComponent as ke, computed as R, ref as
|
|
2
|
-
import { u as ft, a as pt, b as mt, f as ht, d as Ue } from "./iconfont-
|
|
3
|
-
import { C as ue, k as Be, aE as vt, v as gt, V as
|
|
4
|
-
import { r as Et } from "./threeViewerHost
|
|
1
|
+
import { defineComponent as ke, computed as R, ref as M, resolveComponent as q, createElementBlock as ae, openBlock as Y, createElementVNode as m, createVNode as y, withCtx as ce, toDisplayString as K, shallowRef as Q, watch as lt, onMounted as ct, onBeforeUnmount as ut, withDirectives as I, createCommentVNode as ge, unref as b, renderSlot as Ae, createBlock as dt, isRef as ee, vModelRadio as te, vShow as ne } from "vue";
|
|
2
|
+
import { u as ft, a as pt, b as mt, f as ht, d as Ue } from "./iconfont-WOKNi2xx.js";
|
|
3
|
+
import { C as ue, k as Be, aE as vt, v as gt, V as w, aF as yt, aG as be, aH as _e, av as H, aI as wt, B as fe, aD as De, aJ as xt, aK as re, aL as Fe, Y as Oe, aM as le, aN as J, aO as bt, r as _t, s as je, t as St, w as zt, a5 as Ct, ag as At, ao as Ut } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-3GcG1eTD.js";
|
|
4
|
+
import { r as Et } from "./threeViewerHost-BVeUteVd.js";
|
|
5
5
|
import { E as Z } from "./index-BUYYl2Pc.js";
|
|
6
|
-
import { U as Mt, J as Lt } from "./urdfTree-
|
|
7
|
-
import { _ as
|
|
8
|
-
import { T as
|
|
6
|
+
import { U as Mt, J as Lt } from "./urdfTree-DaWvX-6R.js";
|
|
7
|
+
import { _ as Ie } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
|
+
import { T as E } from "./svgIcon-D-_fXUBL.js";
|
|
9
9
|
import { i as Tt } from "./isString-BATKat46.js";
|
|
10
10
|
function Pt(o = 0.5, e = 4) {
|
|
11
|
-
const
|
|
11
|
+
const t = new Be(
|
|
12
12
|
new vt(o, e, 32),
|
|
13
13
|
new gt({
|
|
14
14
|
color: "#919191ff",
|
|
@@ -17,33 +17,33 @@ function Pt(o = 0.5, e = 4) {
|
|
|
17
17
|
// ↓ 降金属
|
|
18
18
|
roughness: 0.6
|
|
19
19
|
})
|
|
20
|
-
), i =
|
|
21
|
-
return
|
|
20
|
+
), i = t.geometry.parameters.height;
|
|
21
|
+
return t.geometry.translate(0, -i / 2, 0), t.rotation.set(-90, 0, 0, "XYZ"), t;
|
|
22
22
|
}
|
|
23
23
|
function kt(o, e) {
|
|
24
24
|
o.position.copy(e);
|
|
25
25
|
}
|
|
26
|
-
function Bt(o, e,
|
|
27
|
-
const i = new
|
|
26
|
+
function Bt(o, e, t = new ue(16711680)) {
|
|
27
|
+
const i = new w();
|
|
28
28
|
e.getWorldPosition(i);
|
|
29
|
-
const
|
|
29
|
+
const n = o.geometry.attributes.position, s = o.geometry.attributes.color, r = new ue(55551);
|
|
30
30
|
let a = 1 / 0, d = -1;
|
|
31
|
-
for (let
|
|
32
|
-
const f = new
|
|
33
|
-
f < a && (a = f, d =
|
|
31
|
+
for (let c = 0; c < n.count; c++) {
|
|
32
|
+
const f = new w().fromBufferAttribute(n, c).distanceTo(i);
|
|
33
|
+
f < a && (a = f, d = c);
|
|
34
34
|
}
|
|
35
|
-
for (let
|
|
35
|
+
for (let c = 0; c < s.count; c++) r.toArray(s.array, c * 3);
|
|
36
36
|
if (d !== -1) {
|
|
37
|
-
const
|
|
37
|
+
const c = t.toArray(), p = d * 3 + 2;
|
|
38
38
|
for (let f = 0; f < p; f = f + 3)
|
|
39
|
-
s.array[f] =
|
|
39
|
+
s.array[f] = c[0], s.array[f + 1] = c[1], s.array[f + 2] = c[2];
|
|
40
40
|
}
|
|
41
41
|
s.needsUpdate = !0;
|
|
42
42
|
}
|
|
43
|
-
function Ve(o, e,
|
|
44
|
-
kt(o, e), Bt(
|
|
43
|
+
function Ve(o, e, t, i = new ue(16711680)) {
|
|
44
|
+
kt(o, e), Bt(t, o, i);
|
|
45
45
|
}
|
|
46
|
-
const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot = { class: "control-row" },
|
|
46
|
+
const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot = { class: "control-row" }, jt = { class: "control-row" }, It = { class: "frame-info" }, Vt = { class: "control-row" }, Nt = /* @__PURE__ */ ke({
|
|
47
47
|
__name: "trackAnimationPanel",
|
|
48
48
|
props: {
|
|
49
49
|
cloud: {},
|
|
@@ -51,26 +51,26 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
51
51
|
vectors: {}
|
|
52
52
|
},
|
|
53
53
|
emits: ["getThreeData"],
|
|
54
|
-
setup(o, { expose: e, emit:
|
|
55
|
-
const i = o,
|
|
54
|
+
setup(o, { expose: e, emit: t }) {
|
|
55
|
+
const i = o, n = R(() => i.vectors), s = M(!1), r = M(0), a = M(50);
|
|
56
56
|
let d = !1;
|
|
57
|
-
const
|
|
58
|
-
if (v < 0 || v >=
|
|
57
|
+
const c = (v) => `第 ${v + 1} 帧`, p = (v) => {
|
|
58
|
+
if (v < 0 || v >= n.value.length) {
|
|
59
59
|
console.error(`帧索引 ${v} 超出范围`);
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
|
-
const
|
|
63
|
-
r.value = v, Ve(i.knife,
|
|
62
|
+
const x = n.value[v];
|
|
63
|
+
r.value = v, Ve(i.knife, x, i.cloud);
|
|
64
64
|
}, f = async () => {
|
|
65
|
-
if (
|
|
65
|
+
if (n.value.length === 0) {
|
|
66
66
|
Z.error("无法播放动画:无数据");
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
if (!s.value) {
|
|
70
|
-
s.value = !0, d = !1,
|
|
70
|
+
s.value = !0, d = !1, n.value.length - 1 === r.value && (r.value = 0);
|
|
71
71
|
try {
|
|
72
|
-
for (let v = r.value + 1; v <
|
|
73
|
-
await new Promise((
|
|
72
|
+
for (let v = r.value + 1; v < n.value.length && !d; v++)
|
|
73
|
+
await new Promise((x) => setTimeout(x, a.value)), p(v);
|
|
74
74
|
d || Z.success("动画播放完成");
|
|
75
75
|
} catch (v) {
|
|
76
76
|
console.error("动画播放出错:", v), Z.error("动画播放出错");
|
|
@@ -80,15 +80,15 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
80
80
|
}
|
|
81
81
|
}, h = () => {
|
|
82
82
|
d = !0, s.value = !1, Z.info("动画已停止");
|
|
83
|
-
},
|
|
83
|
+
}, A = (v) => {
|
|
84
84
|
s.value && h(), p(v);
|
|
85
85
|
};
|
|
86
86
|
return e({ playAnimation: f, stopAnimation: h, forwardFrame: () => {
|
|
87
|
-
s.value && h(), !(r.value + 1 >=
|
|
87
|
+
s.value && h(), !(r.value + 1 >= n.value.length) && p(r.value + 1);
|
|
88
88
|
}, backwardFrame: () => {
|
|
89
89
|
s.value && h(), r.value !== 0 && p(r.value - 1);
|
|
90
|
-
} }), (v,
|
|
91
|
-
const C = q("el-input-number"),
|
|
90
|
+
} }), (v, x) => {
|
|
91
|
+
const C = q("el-input-number"), U = q("el-form-item"), T = q("el-form"), pe = q("el-slider");
|
|
92
92
|
return Y(), ae("div", Dt, [
|
|
93
93
|
m("div", Ft, [
|
|
94
94
|
m("div", Ot, [
|
|
@@ -97,14 +97,14 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
97
97
|
style: { width: "100%" }
|
|
98
98
|
}, {
|
|
99
99
|
default: ce(() => [
|
|
100
|
-
y(
|
|
100
|
+
y(U, {
|
|
101
101
|
label: "帧间隔 (ms):",
|
|
102
102
|
prop: "frameDuration"
|
|
103
103
|
}, {
|
|
104
104
|
default: ce(() => [
|
|
105
105
|
y(C, {
|
|
106
106
|
modelValue: a.value,
|
|
107
|
-
"onUpdate:modelValue":
|
|
107
|
+
"onUpdate:modelValue": x[0] || (x[0] = (G) => a.value = G),
|
|
108
108
|
min: 0,
|
|
109
109
|
max: 5e3,
|
|
110
110
|
step: 10,
|
|
@@ -117,21 +117,21 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
117
117
|
_: 1
|
|
118
118
|
})
|
|
119
119
|
]),
|
|
120
|
-
m("div",
|
|
121
|
-
|
|
122
|
-
m("span",
|
|
120
|
+
m("div", jt, [
|
|
121
|
+
x[2] || (x[2] = m("label", null, "当前帧:", -1)),
|
|
122
|
+
m("span", It, K(r.value + 1) + " / " + K(n.value.length), 1)
|
|
123
123
|
]),
|
|
124
124
|
m("div", Vt, [
|
|
125
|
-
|
|
126
|
-
y(
|
|
125
|
+
x[3] || (x[3] = m("label", null, "动画进度:", -1)),
|
|
126
|
+
y(pe, {
|
|
127
127
|
modelValue: r.value,
|
|
128
|
-
"onUpdate:modelValue":
|
|
128
|
+
"onUpdate:modelValue": x[1] || (x[1] = (G) => r.value = G),
|
|
129
129
|
min: 0,
|
|
130
|
-
max:
|
|
130
|
+
max: n.value.length > 0 ? n.value.length - 1 : 0,
|
|
131
131
|
step: 1,
|
|
132
|
-
"format-tooltip":
|
|
133
|
-
onInput:
|
|
134
|
-
disabled:
|
|
132
|
+
"format-tooltip": c,
|
|
133
|
+
onInput: A,
|
|
134
|
+
disabled: n.value.length === 0,
|
|
135
135
|
style: { "flex-grow": "1", margin: "0 10px" }
|
|
136
136
|
}, null, 8, ["modelValue", "max", "disabled"])
|
|
137
137
|
])
|
|
@@ -139,15 +139,15 @@ const Dt = { class: "panel-content" }, Ft = { class: "animation-controls" }, Ot
|
|
|
139
139
|
]);
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
-
}), Wt = /* @__PURE__ */
|
|
142
|
+
}), Wt = /* @__PURE__ */ Ie(Nt, [["__scopeId", "data-v-93cde733"]]), Ee = new fe(), ie = new w();
|
|
143
143
|
class Ne extends yt {
|
|
144
144
|
/**
|
|
145
145
|
* Constructs a new line segments geometry.
|
|
146
146
|
*/
|
|
147
147
|
constructor() {
|
|
148
148
|
super(), this.isLineSegmentsGeometry = !0, this.type = "LineSegmentsGeometry";
|
|
149
|
-
const e = [-1, 2, 0, 1, 2, 0, -1, 1, 0, 1, 1, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 1, -1, 0],
|
|
150
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
149
|
+
const e = [-1, 2, 0, 1, 2, 0, -1, 1, 0, 1, 1, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 1, -1, 0], t = [-1, 2, 1, 2, -1, 1, 1, 1, -1, -1, 1, -1, -1, -2, 1, -2], i = [0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5];
|
|
150
|
+
this.setIndex(i), this.setAttribute("position", new be(e, 3)), this.setAttribute("uv", new be(t, 2));
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
153
|
* Applies the given 4x4 transformation matrix to the geometry.
|
|
@@ -156,8 +156,8 @@ class Ne extends yt {
|
|
|
156
156
|
* @return {LineSegmentsGeometry} A reference to this instance.
|
|
157
157
|
*/
|
|
158
158
|
applyMatrix4(e) {
|
|
159
|
-
const
|
|
160
|
-
return
|
|
159
|
+
const t = this.attributes.instanceStart, i = this.attributes.instanceEnd;
|
|
160
|
+
return t !== void 0 && (t.applyMatrix4(e), i.applyMatrix4(e), t.needsUpdate = !0), this.boundingBox !== null && this.computeBoundingBox(), this.boundingSphere !== null && this.computeBoundingSphere(), this;
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* Sets the given line positions for this geometry. The length must be a multiple of six since
|
|
@@ -167,9 +167,9 @@ class Ne extends yt {
|
|
|
167
167
|
* @return {LineSegmentsGeometry} A reference to this geometry.
|
|
168
168
|
*/
|
|
169
169
|
setPositions(e) {
|
|
170
|
-
let
|
|
171
|
-
e instanceof Float32Array ?
|
|
172
|
-
const i = new
|
|
170
|
+
let t;
|
|
171
|
+
e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
|
|
172
|
+
const i = new _e(t, 6, 1);
|
|
173
173
|
return this.setAttribute("instanceStart", new H(i, 3, 0)), this.setAttribute("instanceEnd", new H(i, 3, 3)), this.instanceCount = this.attributes.instanceStart.count, this.computeBoundingBox(), this.computeBoundingSphere(), this;
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
@@ -180,9 +180,9 @@ class Ne extends yt {
|
|
|
180
180
|
* @return {LineSegmentsGeometry} A reference to this geometry.
|
|
181
181
|
*/
|
|
182
182
|
setColors(e) {
|
|
183
|
-
let
|
|
184
|
-
e instanceof Float32Array ?
|
|
185
|
-
const i = new
|
|
183
|
+
let t;
|
|
184
|
+
e instanceof Float32Array ? t = e : Array.isArray(e) && (t = new Float32Array(e));
|
|
185
|
+
const i = new _e(t, 6, 1);
|
|
186
186
|
return this.setAttribute("instanceColorStart", new H(i, 3, 0)), this.setAttribute("instanceColorEnd", new H(i, 3, 3)), this;
|
|
187
187
|
}
|
|
188
188
|
/**
|
|
@@ -220,24 +220,24 @@ class Ne extends yt {
|
|
|
220
220
|
* @return {LineSegmentsGeometry} A reference to this geometry.
|
|
221
221
|
*/
|
|
222
222
|
fromLineSegments(e) {
|
|
223
|
-
const
|
|
224
|
-
return this.setPositions(
|
|
223
|
+
const t = e.geometry;
|
|
224
|
+
return this.setPositions(t.attributes.position.array), this;
|
|
225
225
|
}
|
|
226
226
|
computeBoundingBox() {
|
|
227
|
-
this.boundingBox === null && (this.boundingBox = new
|
|
228
|
-
const e = this.attributes.instanceStart,
|
|
229
|
-
e !== void 0 &&
|
|
227
|
+
this.boundingBox === null && (this.boundingBox = new fe());
|
|
228
|
+
const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
229
|
+
e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e), Ee.setFromBufferAttribute(t), this.boundingBox.union(Ee));
|
|
230
230
|
}
|
|
231
231
|
computeBoundingSphere() {
|
|
232
232
|
this.boundingSphere === null && (this.boundingSphere = new De()), this.boundingBox === null && this.computeBoundingBox();
|
|
233
|
-
const e = this.attributes.instanceStart,
|
|
234
|
-
if (e !== void 0 &&
|
|
233
|
+
const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
234
|
+
if (e !== void 0 && t !== void 0) {
|
|
235
235
|
const i = this.boundingSphere.center;
|
|
236
236
|
this.boundingBox.getCenter(i);
|
|
237
|
-
let
|
|
237
|
+
let n = 0;
|
|
238
238
|
for (let s = 0, r = e.count; s < r; s++)
|
|
239
|
-
ie.fromBufferAttribute(e, s),
|
|
240
|
-
this.boundingSphere.radius = Math.sqrt(
|
|
239
|
+
ie.fromBufferAttribute(e, s), n = Math.max(n, i.distanceToSquared(ie)), ie.fromBufferAttribute(t, s), n = Math.max(n, i.distanceToSquared(ie));
|
|
240
|
+
this.boundingSphere.radius = Math.sqrt(n), isNaN(this.boundingSphere.radius) && console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.", this);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
toJSON() {
|
|
@@ -792,19 +792,19 @@ class Se extends xt {
|
|
|
792
792
|
this.defines && (e === !0 !== this.alphaToCoverage && (this.needsUpdate = !0), e === !0 ? this.defines.USE_ALPHA_TO_COVERAGE = "" : delete this.defines.USE_ALPHA_TO_COVERAGE);
|
|
793
793
|
}
|
|
794
794
|
}
|
|
795
|
-
const
|
|
795
|
+
const ye = new J(), Me = new w(), Le = new w(), _ = new J(), S = new J(), k = new J(), we = new w(), xe = new _t(), z = new bt(), Te = new w(), oe = new fe(), se = new De(), B = new J();
|
|
796
796
|
let D, W;
|
|
797
|
-
function Pe(o, e,
|
|
798
|
-
return B.set(0, 0, -e, 1).applyMatrix4(o.projectionMatrix), B.multiplyScalar(1 / B.w), B.x = W /
|
|
797
|
+
function Pe(o, e, t) {
|
|
798
|
+
return B.set(0, 0, -e, 1).applyMatrix4(o.projectionMatrix), B.multiplyScalar(1 / B.w), B.x = W / t.width, B.y = W / t.height, B.applyMatrix4(o.projectionMatrixInverse), B.multiplyScalar(1 / B.w), Math.abs(Math.max(B.x, B.y));
|
|
799
799
|
}
|
|
800
800
|
function Gt(o, e) {
|
|
801
|
-
const
|
|
801
|
+
const t = o.matrixWorld, i = o.geometry, n = i.attributes.instanceStart, s = i.attributes.instanceEnd, r = Math.min(i.instanceCount, n.count);
|
|
802
802
|
for (let a = 0, d = r; a < d; a++) {
|
|
803
|
-
|
|
804
|
-
const
|
|
805
|
-
D.distanceSqToSegment(
|
|
803
|
+
z.start.fromBufferAttribute(n, a), z.end.fromBufferAttribute(s, a), z.applyMatrix4(t);
|
|
804
|
+
const c = new w(), p = new w();
|
|
805
|
+
D.distanceSqToSegment(z.start, z.end, p, c), p.distanceTo(c) < W * 0.5 && e.push({
|
|
806
806
|
point: p,
|
|
807
|
-
pointOnLine:
|
|
807
|
+
pointOnLine: c,
|
|
808
808
|
distance: D.origin.distanceTo(p),
|
|
809
809
|
object: o,
|
|
810
810
|
face: null,
|
|
@@ -814,29 +814,29 @@ function Gt(o, e) {
|
|
|
814
814
|
});
|
|
815
815
|
}
|
|
816
816
|
}
|
|
817
|
-
function Rt(o, e,
|
|
818
|
-
const i = e.projectionMatrix, s = o.material.resolution, r = o.matrixWorld, a = o.geometry, d = a.attributes.instanceStart,
|
|
819
|
-
D.at(1, k), k.w = 1, k.applyMatrix4(e.matrixWorldInverse), k.applyMatrix4(i), k.multiplyScalar(1 / k.w), k.x *= s.x / 2, k.y *= s.y / 2, k.z = 0,
|
|
820
|
-
for (let h = 0,
|
|
821
|
-
if (
|
|
817
|
+
function Rt(o, e, t) {
|
|
818
|
+
const i = e.projectionMatrix, s = o.material.resolution, r = o.matrixWorld, a = o.geometry, d = a.attributes.instanceStart, c = a.attributes.instanceEnd, p = Math.min(a.instanceCount, d.count), f = -e.near;
|
|
819
|
+
D.at(1, k), k.w = 1, k.applyMatrix4(e.matrixWorldInverse), k.applyMatrix4(i), k.multiplyScalar(1 / k.w), k.x *= s.x / 2, k.y *= s.y / 2, k.z = 0, we.copy(k), xe.multiplyMatrices(e.matrixWorldInverse, r);
|
|
820
|
+
for (let h = 0, A = p; h < A; h++) {
|
|
821
|
+
if (_.fromBufferAttribute(d, h), S.fromBufferAttribute(c, h), _.w = 1, S.w = 1, _.applyMatrix4(xe), S.applyMatrix4(xe), _.z > f && S.z > f)
|
|
822
822
|
continue;
|
|
823
|
-
if (
|
|
824
|
-
const
|
|
825
|
-
|
|
826
|
-
} else if (
|
|
827
|
-
const
|
|
828
|
-
|
|
823
|
+
if (_.z > f) {
|
|
824
|
+
const U = _.z - S.z, T = (_.z - f) / U;
|
|
825
|
+
_.lerp(S, T);
|
|
826
|
+
} else if (S.z > f) {
|
|
827
|
+
const U = S.z - _.z, T = (S.z - f) / U;
|
|
828
|
+
S.lerp(_, T);
|
|
829
829
|
}
|
|
830
|
-
|
|
831
|
-
const P =
|
|
832
|
-
|
|
833
|
-
const v =
|
|
834
|
-
if (
|
|
835
|
-
|
|
836
|
-
const
|
|
837
|
-
D.distanceSqToSegment(
|
|
830
|
+
_.applyMatrix4(i), S.applyMatrix4(i), _.multiplyScalar(1 / _.w), S.multiplyScalar(1 / S.w), _.x *= s.x / 2, _.y *= s.y / 2, S.x *= s.x / 2, S.y *= s.y / 2, z.start.copy(_), z.start.z = 0, z.end.copy(S), z.end.z = 0;
|
|
831
|
+
const P = z.closestPointToPointParameter(we, !0);
|
|
832
|
+
z.at(P, Te);
|
|
833
|
+
const v = je.lerp(_.z, S.z, P), x = v >= -1 && v <= 1, C = we.distanceTo(Te) < W * 0.5;
|
|
834
|
+
if (x && C) {
|
|
835
|
+
z.start.fromBufferAttribute(d, h), z.end.fromBufferAttribute(c, h), z.start.applyMatrix4(r), z.end.applyMatrix4(r);
|
|
836
|
+
const U = new w(), T = new w();
|
|
837
|
+
D.distanceSqToSegment(z.start, z.end, T, U), t.push({
|
|
838
838
|
point: T,
|
|
839
|
-
pointOnLine:
|
|
839
|
+
pointOnLine: U,
|
|
840
840
|
distance: D.origin.distanceTo(T),
|
|
841
841
|
object: o,
|
|
842
842
|
face: null,
|
|
@@ -854,8 +854,8 @@ class Ht extends Be {
|
|
|
854
854
|
* @param {LineSegmentsGeometry} [geometry] - The line geometry.
|
|
855
855
|
* @param {LineMaterial} [material] - The line material.
|
|
856
856
|
*/
|
|
857
|
-
constructor(e = new Ne(),
|
|
858
|
-
super(e,
|
|
857
|
+
constructor(e = new Ne(), t = new Se({ color: Math.random() * 16777215 })) {
|
|
858
|
+
super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
|
|
859
859
|
}
|
|
860
860
|
/**
|
|
861
861
|
* Computes an array of distance values which are necessary for rendering dashed lines.
|
|
@@ -865,10 +865,10 @@ class Ht extends Be {
|
|
|
865
865
|
* @return {LineSegments2} A reference to this instance.
|
|
866
866
|
*/
|
|
867
867
|
computeLineDistances() {
|
|
868
|
-
const e = this.geometry,
|
|
869
|
-
for (let r = 0, a = 0, d =
|
|
870
|
-
Me.fromBufferAttribute(
|
|
871
|
-
const s = new
|
|
868
|
+
const e = this.geometry, t = e.attributes.instanceStart, i = e.attributes.instanceEnd, n = new Float32Array(2 * t.count);
|
|
869
|
+
for (let r = 0, a = 0, d = t.count; r < d; r++, a += 2)
|
|
870
|
+
Me.fromBufferAttribute(t, r), Le.fromBufferAttribute(i, r), n[a] = a === 0 ? 0 : n[a - 1], n[a + 1] = n[a] + Me.distanceTo(Le);
|
|
871
|
+
const s = new _e(n, 2, 1);
|
|
872
872
|
return e.setAttribute("instanceDistanceStart", new H(s, 1, 0)), e.setAttribute("instanceDistanceEnd", new H(s, 1, 1)), this;
|
|
873
873
|
}
|
|
874
874
|
/**
|
|
@@ -877,35 +877,35 @@ class Ht extends Be {
|
|
|
877
877
|
* @param {Raycaster} raycaster - The raycaster.
|
|
878
878
|
* @param {Array<Object>} intersects - The target array that holds the intersection points.
|
|
879
879
|
*/
|
|
880
|
-
raycast(e,
|
|
881
|
-
const i = this.material.worldUnits,
|
|
882
|
-
|
|
880
|
+
raycast(e, t) {
|
|
881
|
+
const i = this.material.worldUnits, n = e.camera;
|
|
882
|
+
n === null && !i && console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');
|
|
883
883
|
const s = e.params.Line2 !== void 0 && e.params.Line2.threshold || 0;
|
|
884
884
|
D = e.ray;
|
|
885
885
|
const r = this.matrixWorld, a = this.geometry, d = this.material;
|
|
886
886
|
W = d.linewidth + s, a.boundingSphere === null && a.computeBoundingSphere(), se.copy(a.boundingSphere).applyMatrix4(r);
|
|
887
|
-
let
|
|
887
|
+
let c;
|
|
888
888
|
if (i)
|
|
889
|
-
|
|
889
|
+
c = W * 0.5;
|
|
890
890
|
else {
|
|
891
|
-
const f = Math.max(
|
|
892
|
-
|
|
891
|
+
const f = Math.max(n.near, se.distanceToPoint(D.origin));
|
|
892
|
+
c = Pe(n, f, d.resolution);
|
|
893
893
|
}
|
|
894
|
-
if (se.radius +=
|
|
894
|
+
if (se.radius += c, D.intersectsSphere(se) === !1)
|
|
895
895
|
return;
|
|
896
896
|
a.boundingBox === null && a.computeBoundingBox(), oe.copy(a.boundingBox).applyMatrix4(r);
|
|
897
897
|
let p;
|
|
898
898
|
if (i)
|
|
899
899
|
p = W * 0.5;
|
|
900
900
|
else {
|
|
901
|
-
const f = Math.max(
|
|
902
|
-
p = Pe(
|
|
901
|
+
const f = Math.max(n.near, oe.distanceToPoint(D.origin));
|
|
902
|
+
p = Pe(n, f, d.resolution);
|
|
903
903
|
}
|
|
904
|
-
oe.expandByScalar(p), D.intersectsBox(oe) !== !1 && (i ? Gt(this,
|
|
904
|
+
oe.expandByScalar(p), D.intersectsBox(oe) !== !1 && (i ? Gt(this, t) : Rt(this, n, t));
|
|
905
905
|
}
|
|
906
906
|
onBeforeRender(e) {
|
|
907
|
-
const
|
|
908
|
-
|
|
907
|
+
const t = this.material.uniforms;
|
|
908
|
+
t && t.resolution && (e.getViewport(ye), this.material.uniforms.resolution.value.set(ye.z, ye.w));
|
|
909
909
|
}
|
|
910
910
|
}
|
|
911
911
|
class We extends Ne {
|
|
@@ -922,9 +922,9 @@ class We extends Ne {
|
|
|
922
922
|
* @return {LineGeometry} A reference to this geometry.
|
|
923
923
|
*/
|
|
924
924
|
setPositions(e) {
|
|
925
|
-
const
|
|
926
|
-
for (let
|
|
927
|
-
i[2 *
|
|
925
|
+
const t = e.length - 3, i = new Float32Array(2 * t);
|
|
926
|
+
for (let n = 0; n < t; n += 3)
|
|
927
|
+
i[2 * n] = e[n], i[2 * n + 1] = e[n + 1], i[2 * n + 2] = e[n + 2], i[2 * n + 3] = e[n + 3], i[2 * n + 4] = e[n + 4], i[2 * n + 5] = e[n + 5];
|
|
928
928
|
return super.setPositions(i), this;
|
|
929
929
|
}
|
|
930
930
|
/**
|
|
@@ -934,9 +934,9 @@ class We extends Ne {
|
|
|
934
934
|
* @return {LineGeometry} A reference to this geometry.
|
|
935
935
|
*/
|
|
936
936
|
setColors(e) {
|
|
937
|
-
const
|
|
938
|
-
for (let
|
|
939
|
-
i[2 *
|
|
937
|
+
const t = e.length - 3, i = new Float32Array(2 * t);
|
|
938
|
+
for (let n = 0; n < t; n += 3)
|
|
939
|
+
i[2 * n] = e[n], i[2 * n + 1] = e[n + 1], i[2 * n + 2] = e[n + 2], i[2 * n + 3] = e[n + 3], i[2 * n + 4] = e[n + 4], i[2 * n + 5] = e[n + 5];
|
|
940
940
|
return super.setColors(i), this;
|
|
941
941
|
}
|
|
942
942
|
/**
|
|
@@ -946,9 +946,9 @@ class We extends Ne {
|
|
|
946
946
|
* @return {LineGeometry} A reference to this geometry.
|
|
947
947
|
*/
|
|
948
948
|
setFromPoints(e) {
|
|
949
|
-
const
|
|
950
|
-
for (let
|
|
951
|
-
i[6 *
|
|
949
|
+
const t = e.length - 1, i = new Float32Array(6 * t);
|
|
950
|
+
for (let n = 0; n < t; n++)
|
|
951
|
+
i[6 * n] = e[n].x, i[6 * n + 1] = e[n].y, i[6 * n + 2] = e[n].z || 0, i[6 * n + 3] = e[n + 1].x, i[6 * n + 4] = e[n + 1].y, i[6 * n + 5] = e[n + 1].z || 0;
|
|
952
952
|
return super.setPositions(i), this;
|
|
953
953
|
}
|
|
954
954
|
/**
|
|
@@ -958,8 +958,8 @@ class We extends Ne {
|
|
|
958
958
|
* @return {LineGeometry} A reference to this geometry.
|
|
959
959
|
*/
|
|
960
960
|
fromLine(e) {
|
|
961
|
-
const
|
|
962
|
-
return this.setPositions(
|
|
961
|
+
const t = e.geometry;
|
|
962
|
+
return this.setPositions(t.attributes.position.array), this;
|
|
963
963
|
}
|
|
964
964
|
}
|
|
965
965
|
class $t extends Ht {
|
|
@@ -969,34 +969,34 @@ class $t extends Ht {
|
|
|
969
969
|
* @param {LineGeometry} [geometry] - The line geometry.
|
|
970
970
|
* @param {LineMaterial} [material] - The line material.
|
|
971
971
|
*/
|
|
972
|
-
constructor(e = new We(),
|
|
973
|
-
super(e,
|
|
972
|
+
constructor(e = new We(), t = new Se({ color: Math.random() * 16777215 })) {
|
|
973
|
+
super(e, t), this.isLine2 = !0, this.type = "Line2";
|
|
974
974
|
}
|
|
975
975
|
}
|
|
976
976
|
function Xt(o) {
|
|
977
977
|
const e = [];
|
|
978
|
-
return o.forEach((
|
|
979
|
-
const [i,
|
|
980
|
-
e.push(+i, +
|
|
978
|
+
return o.forEach((t) => {
|
|
979
|
+
const [i, n, s] = t.trim().split(/\s+/);
|
|
980
|
+
e.push(+i, +n, +s);
|
|
981
981
|
}), e;
|
|
982
982
|
}
|
|
983
|
-
function de(o, e,
|
|
983
|
+
function de(o, e, t) {
|
|
984
984
|
switch (o) {
|
|
985
985
|
case "X":
|
|
986
|
-
e.x = +
|
|
986
|
+
e.x = +t || 0;
|
|
987
987
|
break;
|
|
988
988
|
case "Y":
|
|
989
|
-
e.y = +
|
|
989
|
+
e.y = +t || 0;
|
|
990
990
|
break;
|
|
991
991
|
case "Z":
|
|
992
|
-
e.z = +
|
|
992
|
+
e.z = +t || 0;
|
|
993
993
|
break;
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
996
|
function qt(o) {
|
|
997
|
-
const e = [],
|
|
997
|
+
const e = [], t = ["X", "Y", "Z"];
|
|
998
998
|
return o.forEach((i) => {
|
|
999
|
-
const
|
|
999
|
+
const n = {
|
|
1000
1000
|
x: 0,
|
|
1001
1001
|
y: 0,
|
|
1002
1002
|
z: 0
|
|
@@ -1005,34 +1005,38 @@ function qt(o) {
|
|
|
1005
1005
|
return;
|
|
1006
1006
|
let r = null, a = "";
|
|
1007
1007
|
for (let d = 0; d < (s == null ? void 0 : s.length); d++) {
|
|
1008
|
-
const
|
|
1008
|
+
const c = s[d], p = t.find((f) => f === c);
|
|
1009
1009
|
if (p) {
|
|
1010
|
-
r && de(r,
|
|
1010
|
+
r && de(r, n, a), a = "", r = p;
|
|
1011
1011
|
continue;
|
|
1012
1012
|
}
|
|
1013
|
-
a = a +
|
|
1013
|
+
a = a + c;
|
|
1014
1014
|
}
|
|
1015
|
-
de(r,
|
|
1015
|
+
de(r, n, a), e.push(n.x, n.y, n.z);
|
|
1016
1016
|
}), e;
|
|
1017
1017
|
}
|
|
1018
|
-
const Yt = (o) => o == null ? void 0 : o.filter((
|
|
1018
|
+
const Yt = (o) => o == null ? void 0 : o.filter((t) => t.includes("=")), Zt = (o) => o.replace(/,/g, ""), Kt = (o) => o == null ? void 0 : o.map((t) => Zt(t)), Jt = (o) => {
|
|
1019
1019
|
const e = Yt(o);
|
|
1020
1020
|
return Kt(e);
|
|
1021
1021
|
};
|
|
1022
1022
|
function Qt(o) {
|
|
1023
|
-
const e = Jt(o),
|
|
1023
|
+
const e = Jt(o), t = [];
|
|
1024
1024
|
return e.forEach((i) => {
|
|
1025
|
-
var f, h,
|
|
1026
|
-
let [
|
|
1027
|
-
s = (f = s == null ? void 0 : s.trim) == null ? void 0 : f.call(s), r = (h = r == null ? void 0 : r.trim) == null ? void 0 : h.call(r), a = (
|
|
1028
|
-
const [, d] = (F = s == null ? void 0 : s.split) == null ? void 0 : F.call(s, "="), [,
|
|
1029
|
-
|
|
1030
|
-
}),
|
|
1025
|
+
var f, h, A, F, P, v;
|
|
1026
|
+
let [n, s, r, a] = i.trim().split(/\s+/);
|
|
1027
|
+
s = (f = s == null ? void 0 : s.trim) == null ? void 0 : f.call(s), r = (h = r == null ? void 0 : r.trim) == null ? void 0 : h.call(r), a = (A = a == null ? void 0 : a.trim) == null ? void 0 : A.call(a);
|
|
1028
|
+
const [, d] = (F = s == null ? void 0 : s.split) == null ? void 0 : F.call(s, "="), [, c] = (P = r == null ? void 0 : r.split) == null ? void 0 : P.call(r, "="), [, p] = (v = a == null ? void 0 : a.split) == null ? void 0 : v.call(a, "=");
|
|
1029
|
+
t.push(+d, +c, +p);
|
|
1030
|
+
}), t;
|
|
1031
1031
|
}
|
|
1032
|
-
|
|
1033
|
-
|
|
1032
|
+
const en = (o) => o >= "0" && o <= "9", tn = (o) => o === "+" || o === "-", nn = (o) => o === ".";
|
|
1033
|
+
function on(o) {
|
|
1034
|
+
return en(o) || tn(o) || nn(o);
|
|
1035
|
+
}
|
|
1036
|
+
function sn(o) {
|
|
1037
|
+
const e = [], t = /* @__PURE__ */ new Set(["X", "Y", "Z"]);
|
|
1034
1038
|
return o.forEach((i) => {
|
|
1035
|
-
const
|
|
1039
|
+
const n = {
|
|
1036
1040
|
x: 0,
|
|
1037
1041
|
y: 0,
|
|
1038
1042
|
z: 0
|
|
@@ -1041,132 +1045,150 @@ function en(o) {
|
|
|
1041
1045
|
return;
|
|
1042
1046
|
let r = null, a = "";
|
|
1043
1047
|
for (let d = 0; d < (s == null ? void 0 : s.length); d++) {
|
|
1044
|
-
const
|
|
1045
|
-
if (p) {
|
|
1046
|
-
r && de(r,
|
|
1048
|
+
const c = s[d], p = t.has(c) ? c : null, f = on(c);
|
|
1049
|
+
if (p || !f) {
|
|
1050
|
+
r && de(r, n, a), p ? r = p : r = null, a = "";
|
|
1047
1051
|
continue;
|
|
1048
1052
|
}
|
|
1049
|
-
a = a +
|
|
1053
|
+
a = a + c;
|
|
1050
1054
|
}
|
|
1051
|
-
de(r,
|
|
1055
|
+
r && de(r, n, a), e.push(n.x, n.y, n.z);
|
|
1052
1056
|
}), e;
|
|
1053
1057
|
}
|
|
1054
|
-
function
|
|
1058
|
+
function an(o) {
|
|
1055
1059
|
return o == null ? void 0 : o.includes("=");
|
|
1056
1060
|
}
|
|
1057
|
-
async function
|
|
1058
|
-
var
|
|
1059
|
-
const e = (
|
|
1060
|
-
if (
|
|
1061
|
+
async function rn(o) {
|
|
1062
|
+
var n, s;
|
|
1063
|
+
const e = (n = o == null ? void 0 : o.trim()) == null ? void 0 : n.split(/\r?\n/);
|
|
1064
|
+
if (an(o))
|
|
1061
1065
|
return Qt(e);
|
|
1062
|
-
const
|
|
1066
|
+
const t = e == null ? void 0 : e[0], i = (s = t == null ? void 0 : t.trim()) == null ? void 0 : s.split(/\s+/);
|
|
1063
1067
|
if ((i == null ? void 0 : i.length) >= 3)
|
|
1064
1068
|
return Xt(e);
|
|
1065
1069
|
if ((i == null ? void 0 : i.length) === 1)
|
|
1066
1070
|
return qt(e);
|
|
1067
1071
|
}
|
|
1068
|
-
async function
|
|
1069
|
-
const e = o.trim().split(/\r?\n/),
|
|
1072
|
+
async function ln(o) {
|
|
1073
|
+
const e = o.trim().split(/\r?\n/), t = [];
|
|
1070
1074
|
return e.forEach((i) => {
|
|
1071
|
-
const
|
|
1072
|
-
if (
|
|
1075
|
+
const n = i.trim().split(/\s+/);
|
|
1076
|
+
if (n.length != 3)
|
|
1073
1077
|
return;
|
|
1074
|
-
const [s, r, a] =
|
|
1075
|
-
|
|
1076
|
-
}),
|
|
1078
|
+
const [s, r, a] = n;
|
|
1079
|
+
t.push(+s, +r, +a);
|
|
1080
|
+
}), t;
|
|
1077
1081
|
}
|
|
1078
|
-
async function
|
|
1079
|
-
const e = o.trim().split(/\r?\n/),
|
|
1082
|
+
async function cn(o) {
|
|
1083
|
+
const e = o.trim().split(/\r?\n/), t = [];
|
|
1080
1084
|
return e.forEach((i) => {
|
|
1081
|
-
const
|
|
1082
|
-
if (
|
|
1085
|
+
const n = i.trim().split(/\s+/);
|
|
1086
|
+
if (n.length != 3)
|
|
1083
1087
|
return;
|
|
1084
|
-
const [s, r, a] =
|
|
1085
|
-
|
|
1086
|
-
}),
|
|
1088
|
+
const [s, r, a] = n;
|
|
1089
|
+
t.push(+s, +r, +a);
|
|
1090
|
+
}), t;
|
|
1087
1091
|
}
|
|
1088
|
-
async function
|
|
1092
|
+
async function un(o) {
|
|
1089
1093
|
let e = o.trim().split(/\r?\n/);
|
|
1090
|
-
return e = e.filter((i) =>
|
|
1091
|
-
const s = i.
|
|
1092
|
-
return
|
|
1093
|
-
}),
|
|
1094
|
+
return e = e.filter((i) => {
|
|
1095
|
+
const n = i.startsWith("X"), s = i.startsWith("G") && i.includes("X");
|
|
1096
|
+
return n || s;
|
|
1097
|
+
}), sn(e);
|
|
1094
1098
|
}
|
|
1095
|
-
async function
|
|
1096
|
-
const { isCyd:
|
|
1097
|
-
return i ?
|
|
1099
|
+
async function dn(o, e) {
|
|
1100
|
+
const { isCyd: t, isUv: i, isCpt: n, isNc: s } = e;
|
|
1101
|
+
return i ? rn(o) : t ? cn(o) : n ? ln(o) : s ? un(o) : [];
|
|
1098
1102
|
}
|
|
1099
|
-
function
|
|
1103
|
+
function fn(o) {
|
|
1100
1104
|
const e = [];
|
|
1101
|
-
for (let
|
|
1102
|
-
e.push(new
|
|
1105
|
+
for (let t = 0; t < o.length; t += 3)
|
|
1106
|
+
e.push(new w(o[t], o[t + 1], o[t + 2]));
|
|
1103
1107
|
return e;
|
|
1104
1108
|
}
|
|
1105
|
-
function
|
|
1109
|
+
function pn(o, e) {
|
|
1106
1110
|
if (!e || e.length < 3)
|
|
1107
1111
|
return;
|
|
1108
|
-
const { scene:
|
|
1109
|
-
if (!
|
|
1112
|
+
const { scene: t, camera: i, renderer: n, controls: s } = o();
|
|
1113
|
+
if (!t || !i || !n || !s)
|
|
1110
1114
|
return;
|
|
1111
1115
|
const r = [];
|
|
1112
1116
|
for (let h = 0; h < e.length; h += 3)
|
|
1113
|
-
r.push(new
|
|
1114
|
-
const d = new St(r, !1, "catmullrom", 0.5).getPoints(150).flatMap((h) => [h.x, h.y, h.z]),
|
|
1115
|
-
|
|
1117
|
+
r.push(new w(e[h], e[h + 1], e[h + 2]));
|
|
1118
|
+
const d = new St(r, !1, "catmullrom", 0.5).getPoints(150).flatMap((h) => [h.x, h.y, h.z]), c = new We();
|
|
1119
|
+
c.setPositions(d);
|
|
1116
1120
|
const p = new Se({
|
|
1117
1121
|
color: 55551,
|
|
1118
1122
|
linewidth: 3,
|
|
1119
1123
|
// 像素宽度,可 >1
|
|
1120
1124
|
resolution: new Oe(window.innerWidth, window.innerHeight)
|
|
1121
|
-
}), f = new $t(
|
|
1122
|
-
return f.name = "轨迹路径",
|
|
1125
|
+
}), f = new $t(c, p);
|
|
1126
|
+
return f.name = "轨迹路径", t.add(f), f;
|
|
1123
1127
|
}
|
|
1124
|
-
function
|
|
1125
|
-
let s = 1 / 0, r = -1 / 0, a = 1 / 0, d = -1 / 0,
|
|
1128
|
+
function mn(o, e, t, i = 4, n = 50) {
|
|
1129
|
+
let s = 1 / 0, r = -1 / 0, a = 1 / 0, d = -1 / 0, c = 1 / 0, p = -1 / 0;
|
|
1126
1130
|
for (let v = 0; v < o.length; v += 3) {
|
|
1127
|
-
const
|
|
1128
|
-
s = Math.min(s,
|
|
1131
|
+
const x = o[v], C = o[v + 1], U = o[v + 2];
|
|
1132
|
+
s = Math.min(s, x), r = Math.max(r, x), a = Math.min(a, C), d = Math.max(d, C), c = Math.min(c, U), p = Math.max(p, U);
|
|
1129
1133
|
}
|
|
1130
|
-
const h = Math.sqrt((r - s) ** 2 + (d - a) ** 2 + (p -
|
|
1134
|
+
const h = Math.sqrt((r - s) ** 2 + (d - a) ** 2 + (p - c) ** 2) * 0.05, A = je.degToRad(e.fov), F = 2 * Math.tan(A / 2) * n, P = h / F * t.domElement.height * (i / 4);
|
|
1131
1135
|
return Math.min(0.4, P);
|
|
1132
1136
|
}
|
|
1133
|
-
function
|
|
1137
|
+
function hn(o) {
|
|
1134
1138
|
if (o.length % 3 !== 0)
|
|
1135
1139
|
return console.error("points array length is not a multiple of 3:", o), null;
|
|
1136
|
-
const e = new
|
|
1137
|
-
e.setAttribute("position", new
|
|
1138
|
-
const
|
|
1140
|
+
const e = new zt();
|
|
1141
|
+
e.setAttribute("position", new be(o, 3));
|
|
1142
|
+
const t = new Float32Array(o.length);
|
|
1139
1143
|
for (let s = 0; s < o.length; s += 3)
|
|
1140
|
-
|
|
1141
|
-
e.setAttribute("color", new
|
|
1144
|
+
t[s] = 0, t[s + 1] = 0.847, t[s + 2] = 1;
|
|
1145
|
+
e.setAttribute("color", new Ct(t, 3));
|
|
1142
1146
|
const i = new At({
|
|
1143
1147
|
vertexColors: !0,
|
|
1144
1148
|
size: 0.4,
|
|
1145
1149
|
// 像素世界单位
|
|
1146
1150
|
sizeAttenuation: !0
|
|
1147
|
-
}),
|
|
1148
|
-
return i.needsUpdate = !0,
|
|
1151
|
+
}), n = new Ut(e, i);
|
|
1152
|
+
return i.needsUpdate = !0, n;
|
|
1153
|
+
}
|
|
1154
|
+
function vn(o, e) {
|
|
1155
|
+
const t = new fe().setFromArray(e), i = [
|
|
1156
|
+
new w(t.min.x, t.min.y, t.min.z),
|
|
1157
|
+
new w(t.max.x, t.min.y, t.min.z),
|
|
1158
|
+
new w(t.min.x, t.max.y, t.min.z),
|
|
1159
|
+
new w(t.min.x, t.min.y, t.max.z),
|
|
1160
|
+
new w(t.max.x, t.max.y, t.min.z),
|
|
1161
|
+
new w(t.max.x, t.min.y, t.max.z),
|
|
1162
|
+
new w(t.min.x, t.max.y, t.max.z),
|
|
1163
|
+
new w(t.max.x, t.max.y, t.max.z)
|
|
1164
|
+
];
|
|
1165
|
+
let n = 0;
|
|
1166
|
+
for (const s of i)
|
|
1167
|
+
n = Math.max(n, s.distanceTo(o.position));
|
|
1168
|
+
return n;
|
|
1149
1169
|
}
|
|
1150
|
-
function
|
|
1170
|
+
function gn(o, e) {
|
|
1151
1171
|
if (!e)
|
|
1152
1172
|
return;
|
|
1153
|
-
const { scene:
|
|
1154
|
-
if (!
|
|
1173
|
+
const { scene: t, camera: i, renderer: n, controls: s } = o();
|
|
1174
|
+
if (!t || !i || !n || !s)
|
|
1155
1175
|
return;
|
|
1156
|
-
const r =
|
|
1176
|
+
const r = hn(e);
|
|
1157
1177
|
if (!r)
|
|
1158
1178
|
return;
|
|
1159
|
-
r.name = "轨迹路径",
|
|
1160
|
-
const a =
|
|
1161
|
-
|
|
1179
|
+
r.name = "轨迹路径", t.add(r);
|
|
1180
|
+
const a = mn(e, i, n, 0.1, 50);
|
|
1181
|
+
r.material.size = a;
|
|
1182
|
+
const d = vn(i, e);
|
|
1183
|
+
return i.far = d * 1.2, i.updateProjectionMatrix(), r;
|
|
1162
1184
|
}
|
|
1163
|
-
const
|
|
1185
|
+
const yn = { class: "obj-viewer-container" }, wn = { class: "buttonGroup-topLeft" }, xn = { class: "buttonGroup-left" }, bn = { class: "buttonGroup-right" }, _n = { class: "buttonGroup-bottom" }, Sn = { class: "left-panel" }, zn = { class: "panel-header" }, Cn = { class: "panel-body" }, An = {
|
|
1164
1186
|
key: 1,
|
|
1165
1187
|
class: "clipping-content"
|
|
1166
|
-
},
|
|
1188
|
+
}, Un = { class: "radio-group" }, En = { class: "radio-label" }, Mn = { class: "radio-label" }, Ln = { class: "radio-label" }, Tn = { class: "radio-label" }, Pn = { class: "right-panel" }, kn = { class: "panel-header" }, Bn = { class: "panel-body" }, Dn = {
|
|
1167
1189
|
key: 0,
|
|
1168
1190
|
class: "loading-overlay"
|
|
1169
|
-
},
|
|
1191
|
+
}, Fn = /* @__PURE__ */ ke({
|
|
1170
1192
|
__name: "threeTrackPathView",
|
|
1171
1193
|
props: {
|
|
1172
1194
|
fileBlobs: {},
|
|
@@ -1175,22 +1197,22 @@ const pn = { class: "obj-viewer-container" }, mn = { class: "buttonGroup-topLeft
|
|
|
1175
1197
|
},
|
|
1176
1198
|
emits: ["getAnimationData", "getThreeData"],
|
|
1177
1199
|
setup(o, { emit: e }) {
|
|
1178
|
-
const
|
|
1200
|
+
const t = e, i = o, n = M(null), s = M(!1), r = M(""), a = M(), d = M(!1), c = M(""), p = M(!1), f = M(""), h = Q(null), A = Q(null), {
|
|
1179
1201
|
currentModels: F,
|
|
1180
1202
|
resetView: P,
|
|
1181
1203
|
initThreeJS: v,
|
|
1182
|
-
handleResize:
|
|
1204
|
+
handleResize: x,
|
|
1183
1205
|
getThreeJSObjects: C,
|
|
1184
|
-
cleanup:
|
|
1206
|
+
cleanup: U,
|
|
1185
1207
|
axesHelperVisible: T,
|
|
1186
|
-
toggleAxesVisibility:
|
|
1187
|
-
} = ft(
|
|
1188
|
-
|
|
1189
|
-
},
|
|
1190
|
-
d.value = !0,
|
|
1191
|
-
},
|
|
1192
|
-
p.value = !0, f.value =
|
|
1193
|
-
},
|
|
1208
|
+
toggleAxesVisibility: pe
|
|
1209
|
+
} = ft(n), { isAnimating: G, toggleAnimation: Ge, stopAnimation: Re } = pt(C, F), { isClipping: He, activeClippingAxis: L, toggleClipping: $e, updateClippingPlanes: O } = mt(C, F), Xe = () => {
|
|
1210
|
+
pe();
|
|
1211
|
+
}, me = (u) => {
|
|
1212
|
+
d.value = !0, c.value = u, u === "剖面视图" && !He.value && $e();
|
|
1213
|
+
}, he = (u) => {
|
|
1214
|
+
p.value = !0, f.value = u, u === "动画仿真" && t("getAnimationData");
|
|
1215
|
+
}, ve = M([]), $ = M([]), qe = R(() => {
|
|
1194
1216
|
var l;
|
|
1195
1217
|
return (l = i.trackFileType) == null ? void 0 : l.isUv;
|
|
1196
1218
|
}), Ye = R(() => {
|
|
@@ -1203,159 +1225,159 @@ const pn = { class: "obj-viewer-container" }, mn = { class: "buttonGroup-topLeft
|
|
|
1203
1225
|
var l;
|
|
1204
1226
|
return (l = i.trackFileType) == null ? void 0 : l.isNc;
|
|
1205
1227
|
}), Ke = R(() => {
|
|
1206
|
-
const
|
|
1207
|
-
return
|
|
1228
|
+
const u = i.fileBlobs || [];
|
|
1229
|
+
return u == null ? void 0 : u[0];
|
|
1208
1230
|
});
|
|
1209
|
-
let
|
|
1231
|
+
let j = Q(), N = Q();
|
|
1210
1232
|
const Je = () => {
|
|
1211
|
-
const { scene:
|
|
1212
|
-
|
|
1233
|
+
const { scene: u } = C();
|
|
1234
|
+
j.value && u && (Ue(j.value, u), j.value = null);
|
|
1213
1235
|
}, Qe = () => {
|
|
1214
|
-
const { scene:
|
|
1215
|
-
N.value &&
|
|
1216
|
-
},
|
|
1236
|
+
const { scene: u } = C();
|
|
1237
|
+
N.value && u && (Ue(N.value, u), N.value = null);
|
|
1238
|
+
}, ze = () => {
|
|
1217
1239
|
Je(), Qe();
|
|
1218
|
-
}, et = async (
|
|
1219
|
-
const l = URL.createObjectURL(
|
|
1240
|
+
}, et = async (u) => {
|
|
1241
|
+
const l = URL.createObjectURL(u), X = await Et(l);
|
|
1220
1242
|
if (URL.revokeObjectURL(l), Tt(X)) {
|
|
1221
|
-
const g = await
|
|
1222
|
-
|
|
1223
|
-
const
|
|
1224
|
-
qe.value && (
|
|
1243
|
+
const g = await dn(X, i.trackFileType) || [];
|
|
1244
|
+
ve.value = g;
|
|
1245
|
+
const Ce = ve.value;
|
|
1246
|
+
qe.value && (j.value = pn(C, Ce)), (Ye.value || Ze.value || V.value) && (j.value = gn(C, Ce)), ht(C, j.value);
|
|
1225
1247
|
}
|
|
1226
1248
|
}, tt = () => {
|
|
1227
|
-
var
|
|
1228
|
-
N.value = Pt(), $.value =
|
|
1249
|
+
var u, l;
|
|
1250
|
+
N.value = Pt(), $.value = fn(ve.value), $.value && $.value.length && (Ve(N.value, $.value[0], j.value, new ue(16711680)), (l = (u = A.value) == null ? void 0 : u.add) == null || l.call(u, N.value));
|
|
1229
1251
|
};
|
|
1230
|
-
lt(() => Ke.value, async (
|
|
1231
|
-
|
|
1252
|
+
lt(() => Ke.value, async (u) => {
|
|
1253
|
+
u && (ze(), await et(u), V.value && tt());
|
|
1232
1254
|
}, {
|
|
1233
1255
|
immediate: !0,
|
|
1234
1256
|
deep: !0
|
|
1235
1257
|
});
|
|
1236
1258
|
const nt = () => {
|
|
1237
|
-
var
|
|
1238
|
-
V.value && ((
|
|
1259
|
+
var u;
|
|
1260
|
+
V.value && ((u = a == null ? void 0 : a.value) == null || u.playAnimation());
|
|
1239
1261
|
}, it = () => {
|
|
1240
|
-
var
|
|
1241
|
-
V.value && ((
|
|
1262
|
+
var u;
|
|
1263
|
+
V.value && ((u = a == null ? void 0 : a.value) == null || u.stopAnimation());
|
|
1242
1264
|
}, ot = () => {
|
|
1243
|
-
var
|
|
1244
|
-
V.value && ((
|
|
1265
|
+
var u;
|
|
1266
|
+
V.value && ((u = a == null ? void 0 : a.value) == null || u.forwardFrame());
|
|
1245
1267
|
}, st = () => {
|
|
1246
|
-
var
|
|
1247
|
-
V.value && ((
|
|
1268
|
+
var u;
|
|
1269
|
+
V.value && ((u = a == null ? void 0 : a.value) == null || u.backwardFrame());
|
|
1248
1270
|
}, at = () => {
|
|
1249
|
-
v(), window.addEventListener("resize",
|
|
1250
|
-
const
|
|
1251
|
-
|
|
1271
|
+
v(), window.addEventListener("resize", x);
|
|
1272
|
+
const u = C();
|
|
1273
|
+
A.value = u.scene, A.value && (A.value.name = "CPMPIP");
|
|
1252
1274
|
}, rt = () => {
|
|
1253
|
-
window.removeEventListener("resize",
|
|
1275
|
+
window.removeEventListener("resize", x), G.value && Re(), ze(), U();
|
|
1254
1276
|
};
|
|
1255
1277
|
return ct(async () => {
|
|
1256
1278
|
try {
|
|
1257
1279
|
at();
|
|
1258
|
-
} catch (
|
|
1259
|
-
console.error("Three.js 初始化失败:",
|
|
1280
|
+
} catch (u) {
|
|
1281
|
+
console.error("Three.js 初始化失败:", u), Z.error("渲染引擎初始化失败!");
|
|
1260
1282
|
}
|
|
1261
1283
|
}), ut(() => {
|
|
1262
1284
|
rt();
|
|
1263
|
-
}), (
|
|
1285
|
+
}), (u, l) => {
|
|
1264
1286
|
const X = q("el-scrollbar");
|
|
1265
|
-
return Y(), ae("div",
|
|
1287
|
+
return Y(), ae("div", yn, [
|
|
1266
1288
|
m("div", {
|
|
1267
1289
|
ref_key: "threejsContainer",
|
|
1268
|
-
ref:
|
|
1290
|
+
ref: n,
|
|
1269
1291
|
class: "threejs-container"
|
|
1270
1292
|
}, null, 512),
|
|
1271
|
-
m("div",
|
|
1272
|
-
y(
|
|
1293
|
+
m("div", wn, [
|
|
1294
|
+
y(E, {
|
|
1273
1295
|
name: "viewReset",
|
|
1274
1296
|
size: "24",
|
|
1275
|
-
onClick:
|
|
1297
|
+
onClick: b(P),
|
|
1276
1298
|
title: "重置"
|
|
1277
1299
|
}, null, 8, ["onClick"]),
|
|
1278
|
-
y(
|
|
1300
|
+
y(E, {
|
|
1279
1301
|
name: "fangda",
|
|
1280
1302
|
size: "24",
|
|
1281
1303
|
title: "放大"
|
|
1282
1304
|
}),
|
|
1283
|
-
y(
|
|
1305
|
+
y(E, {
|
|
1284
1306
|
name: "suoxiao",
|
|
1285
1307
|
size: "24",
|
|
1286
1308
|
title: "缩小"
|
|
1287
1309
|
}),
|
|
1288
|
-
y(
|
|
1310
|
+
y(E, {
|
|
1289
1311
|
name: "lookAround",
|
|
1290
1312
|
size: "24",
|
|
1291
|
-
onClick:
|
|
1292
|
-
title:
|
|
1313
|
+
onClick: b(Ge),
|
|
1314
|
+
title: b(G) ? "停止动画" : "动画视图"
|
|
1293
1315
|
}, null, 8, ["onClick", "title"]),
|
|
1294
|
-
y(
|
|
1316
|
+
y(E, {
|
|
1295
1317
|
name: "zuobiaoxi",
|
|
1296
1318
|
size: "24",
|
|
1297
|
-
active:
|
|
1319
|
+
active: b(T),
|
|
1298
1320
|
onClick: Xe,
|
|
1299
1321
|
title: "显隐坐标轴"
|
|
1300
1322
|
}, null, 8, ["active"])
|
|
1301
1323
|
]),
|
|
1302
|
-
m("div",
|
|
1303
|
-
Ae(
|
|
1304
|
-
y(
|
|
1324
|
+
m("div", xn, [
|
|
1325
|
+
Ae(u.$slots, "button-left", { switchRightPanel: me }, void 0, !0),
|
|
1326
|
+
y(E, {
|
|
1305
1327
|
name: "jiegoushu",
|
|
1306
1328
|
size: "24",
|
|
1307
|
-
onClick: l[0] || (l[0] = (g) =>
|
|
1308
|
-
active: d.value &&
|
|
1329
|
+
onClick: l[0] || (l[0] = (g) => me("场景树")),
|
|
1330
|
+
active: d.value && c.value === "场景树",
|
|
1309
1331
|
title: "场景树"
|
|
1310
1332
|
}, null, 8, ["active"]),
|
|
1311
|
-
y(
|
|
1333
|
+
y(E, {
|
|
1312
1334
|
name: "clipping",
|
|
1313
1335
|
size: "24",
|
|
1314
|
-
onClick: l[1] || (l[1] = (g) =>
|
|
1315
|
-
active: d.value &&
|
|
1336
|
+
onClick: l[1] || (l[1] = (g) => me("剖面视图")),
|
|
1337
|
+
active: d.value && c.value === "剖面视图",
|
|
1316
1338
|
title: "剖面视图"
|
|
1317
1339
|
}, null, 8, ["active"])
|
|
1318
1340
|
]),
|
|
1319
|
-
m("div",
|
|
1320
|
-
Ae(
|
|
1321
|
-
y(
|
|
1341
|
+
m("div", bn, [
|
|
1342
|
+
Ae(u.$slots, "button-right", { switchRightPanel: he }, void 0, !0),
|
|
1343
|
+
y(E, {
|
|
1322
1344
|
name: "guanjiekongzhi",
|
|
1323
1345
|
size: "24",
|
|
1324
|
-
onClick: l[2] || (l[2] = (g) =>
|
|
1346
|
+
onClick: l[2] || (l[2] = (g) => he("关节控制")),
|
|
1325
1347
|
active: p.value && f.value === "关节控制",
|
|
1326
1348
|
title: "关节控制"
|
|
1327
1349
|
}, null, 8, ["active"]),
|
|
1328
|
-
y(
|
|
1350
|
+
y(E, {
|
|
1329
1351
|
name: "donghuafangzhen",
|
|
1330
1352
|
size: "24",
|
|
1331
1353
|
title: "动画仿真",
|
|
1332
|
-
onClick: l[3] || (l[3] = (g) =>
|
|
1354
|
+
onClick: l[3] || (l[3] = (g) => he("动画仿真")),
|
|
1333
1355
|
active: p.value && f.value === "动画仿真"
|
|
1334
1356
|
}, null, 8, ["active"])
|
|
1335
1357
|
]),
|
|
1336
|
-
m("div",
|
|
1337
|
-
y(
|
|
1358
|
+
m("div", _n, [
|
|
1359
|
+
y(E, {
|
|
1338
1360
|
name: "kuaitui",
|
|
1339
1361
|
size: "24",
|
|
1340
1362
|
backgroundColor: "#ffffff",
|
|
1341
1363
|
title: "快退",
|
|
1342
1364
|
onClick: st
|
|
1343
1365
|
}),
|
|
1344
|
-
y(
|
|
1366
|
+
y(E, {
|
|
1345
1367
|
name: "bofang",
|
|
1346
1368
|
size: "24",
|
|
1347
1369
|
backgroundColor: "#ffffff",
|
|
1348
1370
|
title: "播放",
|
|
1349
1371
|
onClick: nt
|
|
1350
1372
|
}),
|
|
1351
|
-
y(
|
|
1373
|
+
y(E, {
|
|
1352
1374
|
name: "kuaijin",
|
|
1353
1375
|
size: "24",
|
|
1354
1376
|
backgroundColor: "#ffffff",
|
|
1355
1377
|
title: "快进",
|
|
1356
1378
|
onClick: ot
|
|
1357
1379
|
}),
|
|
1358
|
-
y(
|
|
1380
|
+
y(E, {
|
|
1359
1381
|
name: "zanting",
|
|
1360
1382
|
size: "24",
|
|
1361
1383
|
backgroundColor: "#ffffff",
|
|
@@ -1363,77 +1385,77 @@ const pn = { class: "obj-viewer-container" }, mn = { class: "buttonGroup-topLeft
|
|
|
1363
1385
|
onClick: it
|
|
1364
1386
|
})
|
|
1365
1387
|
]),
|
|
1366
|
-
|
|
1367
|
-
m("div",
|
|
1368
|
-
m("span", null, K(
|
|
1388
|
+
I(m("div", Sn, [
|
|
1389
|
+
m("div", zn, [
|
|
1390
|
+
m("span", null, K(c.value), 1),
|
|
1369
1391
|
m("span", {
|
|
1370
1392
|
class: "close",
|
|
1371
1393
|
onClick: l[4] || (l[4] = (g) => d.value = !1)
|
|
1372
1394
|
}, " X ")
|
|
1373
1395
|
]),
|
|
1374
|
-
m("div",
|
|
1396
|
+
m("div", Cn, [
|
|
1375
1397
|
y(X, { height: "100%" }, {
|
|
1376
1398
|
default: ce(() => [
|
|
1377
|
-
|
|
1399
|
+
c.value === "场景树" ? (Y(), dt(Mt, {
|
|
1378
1400
|
key: 0,
|
|
1379
1401
|
model: h.value
|
|
1380
|
-
}, null, 8, ["model"])) :
|
|
1381
|
-
|
|
1382
|
-
m("div",
|
|
1383
|
-
m("label",
|
|
1384
|
-
|
|
1402
|
+
}, null, 8, ["model"])) : ge("", !0),
|
|
1403
|
+
c.value === "剖面视图" ? (Y(), ae("div", An, [
|
|
1404
|
+
m("div", Un, [
|
|
1405
|
+
m("label", En, [
|
|
1406
|
+
I(m("input", {
|
|
1385
1407
|
type: "radio",
|
|
1386
1408
|
name: "clipping-axis",
|
|
1387
1409
|
value: "none",
|
|
1388
1410
|
"onUpdate:modelValue": l[5] || (l[5] = (g) => ee(L) ? L.value = g : null),
|
|
1389
1411
|
onChange: l[6] || (l[6] = //@ts-ignore
|
|
1390
|
-
(...g) =>
|
|
1412
|
+
(...g) => b(O) && b(O)(...g))
|
|
1391
1413
|
}, null, 544), [
|
|
1392
|
-
[te,
|
|
1414
|
+
[te, b(L)]
|
|
1393
1415
|
]),
|
|
1394
1416
|
l[14] || (l[14] = m("span", { class: "radio-text" }, "无切割", -1))
|
|
1395
1417
|
]),
|
|
1396
|
-
m("label",
|
|
1397
|
-
|
|
1418
|
+
m("label", Mn, [
|
|
1419
|
+
I(m("input", {
|
|
1398
1420
|
type: "radio",
|
|
1399
1421
|
name: "clipping-axis",
|
|
1400
1422
|
value: "x",
|
|
1401
1423
|
"onUpdate:modelValue": l[7] || (l[7] = (g) => ee(L) ? L.value = g : null),
|
|
1402
1424
|
onChange: l[8] || (l[8] = //@ts-ignore
|
|
1403
|
-
(...g) =>
|
|
1425
|
+
(...g) => b(O) && b(O)(...g))
|
|
1404
1426
|
}, null, 544), [
|
|
1405
|
-
[te,
|
|
1427
|
+
[te, b(L)]
|
|
1406
1428
|
]),
|
|
1407
1429
|
l[15] || (l[15] = m("span", { class: "radio-text" }, "X轴切割", -1))
|
|
1408
1430
|
]),
|
|
1409
|
-
m("label",
|
|
1410
|
-
|
|
1431
|
+
m("label", Ln, [
|
|
1432
|
+
I(m("input", {
|
|
1411
1433
|
type: "radio",
|
|
1412
1434
|
name: "clipping-axis",
|
|
1413
1435
|
value: "y",
|
|
1414
1436
|
"onUpdate:modelValue": l[9] || (l[9] = (g) => ee(L) ? L.value = g : null),
|
|
1415
1437
|
onChange: l[10] || (l[10] = //@ts-ignore
|
|
1416
|
-
(...g) =>
|
|
1438
|
+
(...g) => b(O) && b(O)(...g))
|
|
1417
1439
|
}, null, 544), [
|
|
1418
|
-
[te,
|
|
1440
|
+
[te, b(L)]
|
|
1419
1441
|
]),
|
|
1420
1442
|
l[16] || (l[16] = m("span", { class: "radio-text" }, "Y轴切割", -1))
|
|
1421
1443
|
]),
|
|
1422
|
-
m("label",
|
|
1423
|
-
|
|
1444
|
+
m("label", Tn, [
|
|
1445
|
+
I(m("input", {
|
|
1424
1446
|
type: "radio",
|
|
1425
1447
|
name: "clipping-axis",
|
|
1426
1448
|
value: "z",
|
|
1427
1449
|
"onUpdate:modelValue": l[11] || (l[11] = (g) => ee(L) ? L.value = g : null),
|
|
1428
1450
|
onChange: l[12] || (l[12] = //@ts-ignore
|
|
1429
|
-
(...g) =>
|
|
1451
|
+
(...g) => b(O) && b(O)(...g))
|
|
1430
1452
|
}, null, 544), [
|
|
1431
|
-
[te,
|
|
1453
|
+
[te, b(L)]
|
|
1432
1454
|
]),
|
|
1433
1455
|
l[17] || (l[17] = m("span", { class: "radio-text" }, "Z轴切割", -1))
|
|
1434
1456
|
])
|
|
1435
1457
|
])
|
|
1436
|
-
])) :
|
|
1458
|
+
])) : ge("", !0)
|
|
1437
1459
|
]),
|
|
1438
1460
|
_: 1
|
|
1439
1461
|
})
|
|
@@ -1441,25 +1463,25 @@ const pn = { class: "obj-viewer-container" }, mn = { class: "buttonGroup-topLeft
|
|
|
1441
1463
|
], 512), [
|
|
1442
1464
|
[ne, d.value]
|
|
1443
1465
|
]),
|
|
1444
|
-
|
|
1445
|
-
m("div",
|
|
1466
|
+
I(m("div", Pn, [
|
|
1467
|
+
m("div", kn, [
|
|
1446
1468
|
m("span", null, K(f.value), 1),
|
|
1447
1469
|
m("span", {
|
|
1448
1470
|
class: "close",
|
|
1449
1471
|
onClick: l[13] || (l[13] = (g) => p.value = !1)
|
|
1450
1472
|
}, " X ")
|
|
1451
1473
|
]),
|
|
1452
|
-
m("div",
|
|
1474
|
+
m("div", Bn, [
|
|
1453
1475
|
y(X, { height: "100%" }, {
|
|
1454
1476
|
default: ce(() => [
|
|
1455
|
-
|
|
1477
|
+
I(y(Lt, { model: h.value }, null, 8, ["model"]), [
|
|
1456
1478
|
[ne, f.value === "关节控制"]
|
|
1457
1479
|
]),
|
|
1458
|
-
|
|
1480
|
+
I(y(Wt, {
|
|
1459
1481
|
ref_key: "animationPanelRef",
|
|
1460
1482
|
ref: a,
|
|
1461
|
-
cloud:
|
|
1462
|
-
knife:
|
|
1483
|
+
cloud: b(j),
|
|
1484
|
+
knife: b(N),
|
|
1463
1485
|
vectors: $.value
|
|
1464
1486
|
}, null, 8, ["cloud", "knife", "vectors"]), [
|
|
1465
1487
|
[ne, f.value === "动画仿真" && V.value]
|
|
@@ -1471,14 +1493,14 @@ const pn = { class: "obj-viewer-container" }, mn = { class: "buttonGroup-topLeft
|
|
|
1471
1493
|
], 512), [
|
|
1472
1494
|
[ne, p.value]
|
|
1473
1495
|
]),
|
|
1474
|
-
s.value ? (Y(), ae("div",
|
|
1496
|
+
s.value ? (Y(), ae("div", Dn, [
|
|
1475
1497
|
l[18] || (l[18] = m("div", { class: "loading-spinner" }, null, -1)),
|
|
1476
1498
|
m("p", null, K(r.value), 1)
|
|
1477
|
-
])) :
|
|
1499
|
+
])) : ge("", !0)
|
|
1478
1500
|
]);
|
|
1479
1501
|
};
|
|
1480
1502
|
}
|
|
1481
|
-
}),
|
|
1503
|
+
}), $n = /* @__PURE__ */ Ie(Fn, [["__scopeId", "data-v-48ba356f"]]);
|
|
1482
1504
|
export {
|
|
1483
|
-
|
|
1505
|
+
$n as default
|
|
1484
1506
|
};
|