ss-component-new 1.2.264 → 1.2.266

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/OBJLoader-DOyr3IeV.js +356 -0
  2. package/dist/OBJLoader-DkGxyHq_.cjs +5 -0
  3. package/dist/{OrbitControls-BOiY9c64.cjs → OrbitControls-8ePNDeMW.cjs} +1 -1
  4. package/dist/{OrbitControls-DWXfkgSX.js → OrbitControls-D-FKJFBg.js} +1 -1
  5. package/dist/PCDLoader-1zCAG1J7.cjs +4 -0
  6. package/dist/PCDLoader-6_1hntFw.js +483 -0
  7. package/dist/{iconfont-NDfHaRId.cjs → iconfont-_K2tCloI.cjs} +1 -1
  8. package/dist/{iconfont-BOzO6Ona.js → iconfont-f2oj6d3y.js} +2 -2
  9. package/dist/{index-CaxXfjM9.js → index-2rQs8aYv.js} +1 -1
  10. package/dist/{index-V8ntUaJ-.cjs → index-9fwK-gfL.cjs} +1 -1
  11. package/dist/{index-D3vrVwqh.js → index-An79fSqZ.js} +4 -4
  12. package/dist/{index-DIlZr1_b.cjs → index-B0BPqStX.cjs} +1 -1
  13. package/dist/{index-BD1zhWle.cjs → index-B0tNPiyt.cjs} +1 -1
  14. package/dist/{index-CDrFzogz.cjs → index-BUf3J0Qv.cjs} +1 -1
  15. package/dist/{index-6S6Wt2iG.cjs → index-BXimz83L.cjs} +1 -1
  16. package/dist/{index-DAOccHjX.cjs → index-BZ-dgRZF.cjs} +1 -1
  17. package/dist/{index-C3iD_MVv.cjs → index-BZ1NGbtV.cjs} +1 -1
  18. package/dist/{index-DdE_s-J3.cjs → index-BcMCBHpK.cjs} +1 -1
  19. package/dist/{index-C3AJbdjJ.js → index-BdIKRaS9.js} +2 -2
  20. package/dist/{index-BwL0UUmC.js → index-BefxK6xe.js} +6 -6
  21. package/dist/{index-Bd8wwTvg.js → index-Bh7vwAkW.js} +2 -2
  22. package/dist/{index-CfAVv0H9.js → index-Br4YsEaX.js} +1 -1
  23. package/dist/{index-CMl9PV-w.cjs → index-BuSLZufw.cjs} +1 -1
  24. package/dist/{index-CsIt5Xyc.js → index-Bwak0ML0.js} +3 -3
  25. package/dist/{index-D9QSwAzj.cjs → index-BzRR2pxj.cjs} +1 -1
  26. package/dist/{index-C2D56cKw.cjs → index-C-VZ6dV7.cjs} +1 -1
  27. package/dist/{index-C7w9JyYY.js → index-C7YTBiK-.js} +3 -3
  28. package/dist/{index-DN6eUJjy.cjs → index-CLqLckAR.cjs} +1 -1
  29. package/dist/{index-Ds60tQfm.js → index-CVEZ92al.js} +1 -1
  30. package/dist/{index-Brgz3kJ3.js → index-CtoI4Ktx.js} +1 -1
  31. package/dist/{index-DjVM4tE6.cjs → index-Cv15a3G7.cjs} +1 -1
  32. package/dist/{index-BeltAraa.js → index-CvIITerF.js} +1 -1
  33. package/dist/{index-Dkv_L8P0.cjs → index-D0x5UTq8.cjs} +1 -1
  34. package/dist/{index-CiMXVx_j.js → index-DF3WzX9S.js} +1 -1
  35. package/dist/{index-CIePtxmJ.cjs → index-DL3ug91G.cjs} +1 -1
  36. package/dist/{index-CRYGZvte.js → index-DNGdGsO0.js} +168 -168
  37. package/dist/{index-Dv-liK7W.js → index-DR79ianP.js} +82 -81
  38. package/dist/{index-BzL47G9u.js → index-DV7uL931.js} +1 -1
  39. package/dist/{index-AdLiwZQp.cjs → index-DeBM15zP.cjs} +1 -1
  40. package/dist/{index-Duu5_G4v.cjs → index-DeBS2F1K.cjs} +1 -1
  41. package/dist/{index-D9mjnkAv.js → index-DepGKabU.js} +1 -1
  42. package/dist/{index-DAcPuKaM.cjs → index-DjbXsLdF.cjs} +1 -1
  43. package/dist/{index-BJJVl76m.cjs → index-DnIgZenn.cjs} +1 -1
  44. package/dist/index-Dolv8AMQ.cjs +1 -0
  45. package/dist/{index-CjeKkclE.js → index-DpyMwyyJ.js} +1 -1
  46. package/dist/{index-6el7DQqz.js → index-DxYPD9FG.js} +3 -3
  47. package/dist/{index-CXW80g4K.cjs → index-DyhUCHs_.cjs} +1 -1
  48. package/dist/index-U9La0rQO.js +12215 -0
  49. package/dist/{index-SD3t3SC2.js → index-hBblTLHU.js} +3 -3
  50. package/dist/{index-D4OVOAd2.js → index-j8IwNoyN.js} +2 -2
  51. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-CLEQ89zj.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-B5OHgwil.cjs} +1 -1
  52. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-C4k8-_jX.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BmcNsRfz.js} +6 -6
  53. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Dc97Ai5N.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CTpkghR3.js} +7294 -7330
  54. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DpL-SXbf.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-KjgLAbhL.cjs} +282 -282
  55. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-DV6TbjcG.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-B_RUI4ax.js} +3 -3
  56. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-B8V3Yzyb.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-C7gyifdR.cjs} +1 -1
  57. package/dist/{index.vue_vue_type_style_index_1_lang-DyvBwIjc.cjs → index.vue_vue_type_style_index_1_lang-CcY7HqUY.cjs} +4 -4
  58. package/dist/{index.vue_vue_type_style_index_1_lang-DGrxG7mb.js → index.vue_vue_type_style_index_1_lang-CoIyUCQ-.js} +6 -5
  59. package/dist/{main-Bc4Qa1_o.cjs → main-2lhxM87R.cjs} +1 -1
  60. package/dist/{main-CbMAohZK.js → main-DyeXD1mL.js} +2 -2
  61. package/dist/pointTrack-Da6OdlcA.cjs +1 -0
  62. package/dist/{pointTrack-CFrPo1Lf.js → pointTrack-JhK82Hei.js} +79 -73
  63. package/dist/{robotUtil-CVAVbUFb.js → robotUtil-BXSmz4L0.js} +1 -1
  64. package/dist/{robotUtil-BBHuuwX-.cjs → robotUtil-MYWPFC5d.cjs} +1 -1
  65. package/dist/ss-component.cjs +1 -1
  66. package/dist/ss-component.css +1 -1
  67. package/dist/ss-component.js +9 -9
  68. package/dist/ss-component2.cjs +1 -1
  69. package/dist/ss-component2.js +10 -10
  70. package/dist/{threeModel-tPWR6-GR.cjs → threeModel-B-_rzGmw.cjs} +1 -1
  71. package/dist/{threeModel-ljrkaO-T.js → threeModel-CccIQoKm.js} +5 -5
  72. package/dist/threePreview-C7Tt5MZL.cjs +1 -0
  73. package/dist/{threePreview-BUoC-3hM.js → threePreview-r1qgGpau.js} +7 -6
  74. package/dist/{threeSceneView-BKs54Yuw.cjs → threeSceneView-BgOzxTIu.cjs} +1 -1
  75. package/dist/{threeSceneView-D8DlZu6K.js → threeSceneView-lhG7bK0N.js} +6 -6
  76. package/dist/threeSceneViewForCPMPIP-Cyj9HPco.cjs +2 -0
  77. package/dist/{threeSceneViewForCPMPIP-DlM8UpK-.js → threeSceneViewForCPMPIP-DSW4_MpX.js} +150 -152
  78. package/dist/threeTrackPathView-XkvhS5oN.js +475 -0
  79. package/dist/threeTrackPathView-bwpyffDa.cjs +1 -0
  80. package/dist/{threeViewerHost-1TZwXNeT.cjs → threeViewerHost-BKakRG1c.cjs} +2 -2
  81. package/dist/{threeViewerHost-BRiVE009.js → threeViewerHost-Frovz2pf.js} +7 -3
  82. package/dist/{urdfTree-COFj-Vwk.js → urdfTree-0WB_ILsM.js} +1 -1
  83. package/dist/{urdfTree-DwIDbhD9.cjs → urdfTree-CtRl2C9s.cjs} +1 -1
  84. package/dist/workpieceTreePanel-B_grh_yQ.cjs +1 -0
  85. package/dist/{workpieceTreePanel-C-ppVF_E.js → workpieceTreePanel-SfJGZ3bk.js} +27 -26
  86. package/package.json +1 -1
  87. package/dist/PCDLoader-BCdr8Ek7.cjs +0 -8
  88. package/dist/PCDLoader-C8VXg9Xp.js +0 -836
  89. package/dist/index-DRhvw4if.cjs +0 -1
  90. package/dist/index-DTgD0dQq.js +0 -12209
  91. package/dist/pointTrack-DGe9x9Pt.cjs +0 -1
  92. package/dist/threePreview-COIjUwXL.cjs +0 -1
  93. package/dist/threeSceneViewForCPMPIP-B63igCl3.cjs +0 -2
  94. package/dist/threeTrackPathView-BG0KqOvM.js +0 -485
  95. package/dist/threeTrackPathView-Cz3AcbrU.cjs +0 -1
  96. package/dist/workpieceTreePanel-CJ2FJwY_.cjs +0 -1
@@ -0,0 +1,356 @@
1
+ import { O as N, R, C as H, f as T, u as k, w as P, aT as w, ai as C, ah as U, ag as L, o as J, am as O, ao as z, k as D, V } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CTpkghR3.js";
2
+ const q = /^[og]\s*(.+)?/, W = /^mtllib /, K = /^usemtl /, Q = /^usemap /, S = /\s+/, B = new V(), F = new V(), E = new V(), G = new V(), j = new V(), _ = new H();
3
+ function X() {
4
+ const I = {
5
+ objects: [],
6
+ object: {},
7
+ vertices: [],
8
+ normals: [],
9
+ colors: [],
10
+ uvs: [],
11
+ materials: {},
12
+ materialLibraries: [],
13
+ startObject: function(s, e) {
14
+ if (this.object && this.object.fromDeclaration === !1) {
15
+ this.object.name = s, this.object.fromDeclaration = e !== !1;
16
+ return;
17
+ }
18
+ const n = this.object && typeof this.object.currentMaterial == "function" ? this.object.currentMaterial() : void 0;
19
+ if (this.object && typeof this.object._finalize == "function" && this.object._finalize(!0), this.object = {
20
+ name: s || "",
21
+ fromDeclaration: e !== !1,
22
+ geometry: {
23
+ vertices: [],
24
+ normals: [],
25
+ colors: [],
26
+ uvs: [],
27
+ hasUVIndices: !1
28
+ },
29
+ materials: [],
30
+ smooth: !0,
31
+ startMaterial: function(t, i) {
32
+ const a = this._finalize(!1);
33
+ a && (a.inherited || a.groupCount <= 0) && this.materials.splice(a.index, 1);
34
+ const d = {
35
+ index: this.materials.length,
36
+ name: t || "",
37
+ mtllib: Array.isArray(i) && i.length > 0 ? i[i.length - 1] : "",
38
+ smooth: a !== void 0 ? a.smooth : this.smooth,
39
+ groupStart: a !== void 0 ? a.groupEnd : 0,
40
+ groupEnd: -1,
41
+ groupCount: -1,
42
+ inherited: !1,
43
+ clone: function(g) {
44
+ const r = {
45
+ index: typeof g == "number" ? g : this.index,
46
+ name: this.name,
47
+ mtllib: this.mtllib,
48
+ smooth: this.smooth,
49
+ groupStart: 0,
50
+ groupEnd: -1,
51
+ groupCount: -1,
52
+ inherited: !1
53
+ };
54
+ return r.clone = this.clone.bind(r), r;
55
+ }
56
+ };
57
+ return this.materials.push(d), d;
58
+ },
59
+ currentMaterial: function() {
60
+ if (this.materials.length > 0)
61
+ return this.materials[this.materials.length - 1];
62
+ },
63
+ _finalize: function(t) {
64
+ const i = this.currentMaterial();
65
+ if (i && i.groupEnd === -1 && (i.groupEnd = this.geometry.vertices.length / 3, i.groupCount = i.groupEnd - i.groupStart, i.inherited = !1), t && this.materials.length > 1)
66
+ for (let a = this.materials.length - 1; a >= 0; a--)
67
+ this.materials[a].groupCount <= 0 && this.materials.splice(a, 1);
68
+ return t && this.materials.length === 0 && this.materials.push({
69
+ name: "",
70
+ smooth: this.smooth
71
+ }), i;
72
+ }
73
+ }, n && n.name && typeof n.clone == "function") {
74
+ const t = n.clone(0);
75
+ t.inherited = !0, this.object.materials.push(t);
76
+ }
77
+ this.objects.push(this.object);
78
+ },
79
+ finalize: function() {
80
+ this.object && typeof this.object._finalize == "function" && this.object._finalize(!0);
81
+ },
82
+ parseVertexIndex: function(s, e) {
83
+ const n = parseInt(s, 10);
84
+ return (n >= 0 ? n - 1 : n + e / 3) * 3;
85
+ },
86
+ parseNormalIndex: function(s, e) {
87
+ const n = parseInt(s, 10);
88
+ return (n >= 0 ? n - 1 : n + e / 3) * 3;
89
+ },
90
+ parseUVIndex: function(s, e) {
91
+ const n = parseInt(s, 10);
92
+ return (n >= 0 ? n - 1 : n + e / 2) * 2;
93
+ },
94
+ addVertex: function(s, e, n) {
95
+ const t = this.vertices, i = this.object.geometry.vertices;
96
+ i.push(t[s + 0], t[s + 1], t[s + 2]), i.push(t[e + 0], t[e + 1], t[e + 2]), i.push(t[n + 0], t[n + 1], t[n + 2]);
97
+ },
98
+ addVertexPoint: function(s) {
99
+ const e = this.vertices;
100
+ this.object.geometry.vertices.push(e[s + 0], e[s + 1], e[s + 2]);
101
+ },
102
+ addVertexLine: function(s) {
103
+ const e = this.vertices;
104
+ this.object.geometry.vertices.push(e[s + 0], e[s + 1], e[s + 2]);
105
+ },
106
+ addNormal: function(s, e, n) {
107
+ const t = this.normals, i = this.object.geometry.normals;
108
+ i.push(t[s + 0], t[s + 1], t[s + 2]), i.push(t[e + 0], t[e + 1], t[e + 2]), i.push(t[n + 0], t[n + 1], t[n + 2]);
109
+ },
110
+ addFaceNormal: function(s, e, n) {
111
+ const t = this.vertices, i = this.object.geometry.normals;
112
+ B.fromArray(t, s), F.fromArray(t, e), E.fromArray(t, n), j.subVectors(E, F), G.subVectors(B, F), j.cross(G), j.normalize(), i.push(j.x, j.y, j.z), i.push(j.x, j.y, j.z), i.push(j.x, j.y, j.z);
113
+ },
114
+ addColor: function(s, e, n) {
115
+ const t = this.colors, i = this.object.geometry.colors;
116
+ t[s] !== void 0 && i.push(t[s + 0], t[s + 1], t[s + 2]), t[e] !== void 0 && i.push(t[e + 0], t[e + 1], t[e + 2]), t[n] !== void 0 && i.push(t[n + 0], t[n + 1], t[n + 2]);
117
+ },
118
+ addUV: function(s, e, n) {
119
+ const t = this.uvs, i = this.object.geometry.uvs;
120
+ i.push(t[s + 0], t[s + 1]), i.push(t[e + 0], t[e + 1]), i.push(t[n + 0], t[n + 1]);
121
+ },
122
+ addDefaultUV: function() {
123
+ const s = this.object.geometry.uvs;
124
+ s.push(0, 0), s.push(0, 0), s.push(0, 0);
125
+ },
126
+ addUVLine: function(s) {
127
+ const e = this.uvs;
128
+ this.object.geometry.uvs.push(e[s + 0], e[s + 1]);
129
+ },
130
+ addFace: function(s, e, n, t, i, a, d, g, r) {
131
+ const h = this.vertices.length;
132
+ let o = this.parseVertexIndex(s, h), l = this.parseVertexIndex(e, h), u = this.parseVertexIndex(n, h);
133
+ if (this.addVertex(o, l, u), this.addColor(o, l, u), d !== void 0 && d !== "") {
134
+ const m = this.normals.length;
135
+ o = this.parseNormalIndex(d, m), l = this.parseNormalIndex(g, m), u = this.parseNormalIndex(r, m), this.addNormal(o, l, u);
136
+ } else
137
+ this.addFaceNormal(o, l, u);
138
+ if (t !== void 0 && t !== "") {
139
+ const m = this.uvs.length;
140
+ o = this.parseUVIndex(t, m), l = this.parseUVIndex(i, m), u = this.parseUVIndex(a, m), this.addUV(o, l, u), this.object.geometry.hasUVIndices = !0;
141
+ } else
142
+ this.addDefaultUV();
143
+ },
144
+ addPointGeometry: function(s) {
145
+ this.object.geometry.type = "Points";
146
+ const e = this.vertices.length;
147
+ for (let n = 0, t = s.length; n < t; n++) {
148
+ const i = this.parseVertexIndex(s[n], e);
149
+ this.addVertexPoint(i), this.addColor(i);
150
+ }
151
+ },
152
+ addLineGeometry: function(s, e) {
153
+ this.object.geometry.type = "Line";
154
+ const n = this.vertices.length, t = this.uvs.length;
155
+ for (let i = 0, a = s.length; i < a; i++)
156
+ this.addVertexLine(this.parseVertexIndex(s[i], n));
157
+ for (let i = 0, a = e.length; i < a; i++)
158
+ this.addUVLine(this.parseUVIndex(e[i], t));
159
+ }
160
+ };
161
+ return I.startObject("", !1), I;
162
+ }
163
+ class Z extends N {
164
+ /**
165
+ * Constructs a new OBJ loader.
166
+ *
167
+ * @param {LoadingManager} [manager] - The loading manager.
168
+ */
169
+ constructor(s) {
170
+ super(s), this.materials = null;
171
+ }
172
+ /**
173
+ * Starts loading from the given URL and passes the loaded OBJ asset
174
+ * to the `onLoad()` callback.
175
+ *
176
+ * @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
177
+ * @param {function(Group)} onLoad - Executed when the loading process has been finished.
178
+ * @param {onProgressCallback} onProgress - Executed while the loading is in progress.
179
+ * @param {onErrorCallback} onError - Executed when errors occur.
180
+ */
181
+ load(s, e, n, t) {
182
+ const i = this, a = new R(this.manager);
183
+ a.setPath(this.path), a.setRequestHeader(this.requestHeader), a.setWithCredentials(this.withCredentials), a.load(s, function(d) {
184
+ try {
185
+ e(i.parse(d));
186
+ } catch (g) {
187
+ t ? t(g) : console.error(g), i.manager.itemError(s);
188
+ }
189
+ }, n, t);
190
+ }
191
+ /**
192
+ * Sets the material creator for this OBJ. This object is loaded via {@link MTLLoader}.
193
+ *
194
+ * @param {MaterialCreator} materials - An object that creates the materials for this OBJ.
195
+ * @return {OBJLoader} A reference to this loader.
196
+ */
197
+ setMaterials(s) {
198
+ return this.materials = s, this;
199
+ }
200
+ /**
201
+ * Parses the given OBJ data and returns the resulting group.
202
+ *
203
+ * @param {string} text - The raw OBJ data as a string.
204
+ * @return {Group} The parsed OBJ.
205
+ */
206
+ parse(s) {
207
+ const e = new X();
208
+ s.indexOf(`\r
209
+ `) !== -1 && (s = s.replace(/\r\n/g, `
210
+ `)), s.indexOf(`\\
211
+ `) !== -1 && (s = s.replace(/\\\n/g, ""));
212
+ const n = s.split(`
213
+ `);
214
+ let t = [];
215
+ for (let d = 0, g = n.length; d < g; d++) {
216
+ const r = n[d].trimStart();
217
+ if (r.length === 0) continue;
218
+ const h = r.charAt(0);
219
+ if (h !== "#")
220
+ if (h === "v") {
221
+ const o = r.split(S);
222
+ switch (o[0]) {
223
+ case "v":
224
+ e.vertices.push(
225
+ parseFloat(o[1]),
226
+ parseFloat(o[2]),
227
+ parseFloat(o[3])
228
+ ), o.length >= 7 ? (_.setRGB(
229
+ parseFloat(o[4]),
230
+ parseFloat(o[5]),
231
+ parseFloat(o[6]),
232
+ T
233
+ ), e.colors.push(_.r, _.g, _.b)) : e.colors.push(void 0, void 0, void 0);
234
+ break;
235
+ case "vn":
236
+ e.normals.push(
237
+ parseFloat(o[1]),
238
+ parseFloat(o[2]),
239
+ parseFloat(o[3])
240
+ );
241
+ break;
242
+ case "vt":
243
+ e.uvs.push(
244
+ parseFloat(o[1]),
245
+ parseFloat(o[2])
246
+ );
247
+ break;
248
+ }
249
+ } else if (h === "f") {
250
+ const l = r.slice(1).trim().split(S), u = [];
251
+ for (let c = 0, p = l.length; c < p; c++) {
252
+ const b = l[c];
253
+ if (b.length > 0) {
254
+ const v = b.split("/");
255
+ u.push(v);
256
+ }
257
+ }
258
+ const m = u[0];
259
+ for (let c = 1, p = u.length - 1; c < p; c++) {
260
+ const b = u[c], v = u[c + 1];
261
+ e.addFace(
262
+ m[0],
263
+ b[0],
264
+ v[0],
265
+ m[1],
266
+ b[1],
267
+ v[1],
268
+ m[2],
269
+ b[2],
270
+ v[2]
271
+ );
272
+ }
273
+ } else if (h === "l") {
274
+ const o = r.substring(1).trim().split(" ");
275
+ let l = [];
276
+ const u = [];
277
+ if (r.indexOf("/") === -1)
278
+ l = o;
279
+ else
280
+ for (let m = 0, c = o.length; m < c; m++) {
281
+ const p = o[m].split("/");
282
+ p[0] !== "" && l.push(p[0]), p[1] !== "" && u.push(p[1]);
283
+ }
284
+ e.addLineGeometry(l, u);
285
+ } else if (h === "p") {
286
+ const l = r.slice(1).trim().split(" ");
287
+ e.addPointGeometry(l);
288
+ } else if ((t = q.exec(r)) !== null) {
289
+ const o = (" " + t[0].slice(1).trim()).slice(1);
290
+ e.startObject(o);
291
+ } else if (K.test(r))
292
+ e.object.startMaterial(r.substring(7).trim(), e.materialLibraries);
293
+ else if (W.test(r))
294
+ e.materialLibraries.push(r.substring(7).trim());
295
+ else if (Q.test(r))
296
+ console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');
297
+ else if (h === "s") {
298
+ if (t = r.split(" "), t.length > 1) {
299
+ const l = t[1].trim().toLowerCase();
300
+ e.object.smooth = l !== "0" && l !== "off";
301
+ } else
302
+ e.object.smooth = !0;
303
+ const o = e.object.currentMaterial();
304
+ o && (o.smooth = e.object.smooth);
305
+ } else {
306
+ if (r === "\0") continue;
307
+ console.warn('THREE.OBJLoader: Unexpected line: "' + r + '"');
308
+ }
309
+ }
310
+ e.finalize();
311
+ const i = new k();
312
+ if (i.materialLibraries = [].concat(e.materialLibraries), !(e.objects.length === 1 && e.objects[0].geometry.vertices.length === 0) === !0)
313
+ for (let d = 0, g = e.objects.length; d < g; d++) {
314
+ const r = e.objects[d], h = r.geometry, o = r.materials, l = h.type === "Line", u = h.type === "Points";
315
+ let m = !1;
316
+ if (h.vertices.length === 0) continue;
317
+ const c = new P();
318
+ c.setAttribute("position", new w(h.vertices, 3)), h.normals.length > 0 && c.setAttribute("normal", new w(h.normals, 3)), h.colors.length > 0 && (m = !0, c.setAttribute("color", new w(h.colors, 3))), h.hasUVIndices === !0 && c.setAttribute("uv", new w(h.uvs, 2));
319
+ const p = [];
320
+ for (let v = 0, M = o.length; v < M; v++) {
321
+ const y = o[v], A = y.name + "_" + y.smooth + "_" + m;
322
+ let f = e.materials[A];
323
+ if (this.materials !== null) {
324
+ if (f = this.materials.create(y.name), l && f && !(f instanceof C)) {
325
+ const x = new C();
326
+ U.prototype.copy.call(x, f), x.color.copy(f.color), f = x;
327
+ } else if (u && f && !(f instanceof L)) {
328
+ const x = new L({ size: 10, sizeAttenuation: !1 });
329
+ U.prototype.copy.call(x, f), x.color.copy(f.color), x.map = f.map, f = x;
330
+ }
331
+ }
332
+ f === void 0 && (l ? f = new C() : u ? f = new L({ size: 1, sizeAttenuation: !1 }) : f = new J(), f.name = y.name, f.flatShading = !y.smooth, f.vertexColors = m, e.materials[A] = f), p.push(f);
333
+ }
334
+ let b;
335
+ if (p.length > 1) {
336
+ for (let v = 0, M = o.length; v < M; v++) {
337
+ const y = o[v];
338
+ c.addGroup(y.groupStart, y.groupCount, v);
339
+ }
340
+ l ? b = new O(c, p) : u ? b = new z(c, p) : b = new D(c, p);
341
+ } else
342
+ l ? b = new O(c, p[0]) : u ? b = new z(c, p[0]) : b = new D(c, p[0]);
343
+ b.name = r.name, i.add(b);
344
+ }
345
+ else if (e.vertices.length > 0) {
346
+ const d = new L({ size: 1, sizeAttenuation: !1 }), g = new P();
347
+ g.setAttribute("position", new w(e.vertices, 3)), e.colors.length > 0 && e.colors[0] !== void 0 && (g.setAttribute("color", new w(e.colors, 3)), d.vertexColors = !0);
348
+ const r = new z(g, d);
349
+ i.add(r);
350
+ }
351
+ return i;
352
+ }
353
+ }
354
+ export {
355
+ Z as O
356
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";const r=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-KjgLAbhL.cjs"),z=/^[og]\s*(.+)?/,B=/^mtllib /,U=/^usemtl /,S=/^usemap /,A=/\s+/,P=new r.Vector3,M=new r.Vector3,I=new r.Vector3,C=new r.Vector3,j=new r.Vector3,V=new r.Color;function D(){const L={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(s,e){if(this.object&&this.object.fromDeclaration===!1){this.object.name=s,this.object.fromDeclaration=e!==!1;return}const n=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:s||"",fromDeclaration:e!==!1,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(t,i){const l=this._finalize(!1);l&&(l.inherited||l.groupCount<=0)&&this.materials.splice(l.index,1);const m={index:this.materials.length,name:t||"",mtllib:Array.isArray(i)&&i.length>0?i[i.length-1]:"",smooth:l!==void 0?l.smooth:this.smooth,groupStart:l!==void 0?l.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(b){const a={index:typeof b=="number"?b:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return a.clone=this.clone.bind(a),a}};return this.materials.push(m),m},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(t){const i=this.currentMaterial();if(i&&i.groupEnd===-1&&(i.groupEnd=this.geometry.vertices.length/3,i.groupCount=i.groupEnd-i.groupStart,i.inherited=!1),t&&this.materials.length>1)for(let l=this.materials.length-1;l>=0;l--)this.materials[l].groupCount<=0&&this.materials.splice(l,1);return t&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),i}},n&&n.name&&typeof n.clone=="function"){const t=n.clone(0);t.inherited=!0,this.object.materials.push(t)}this.objects.push(this.object)},finalize:function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},parseVertexIndex:function(s,e){const n=parseInt(s,10);return(n>=0?n-1:n+e/3)*3},parseNormalIndex:function(s,e){const n=parseInt(s,10);return(n>=0?n-1:n+e/3)*3},parseUVIndex:function(s,e){const n=parseInt(s,10);return(n>=0?n-1:n+e/2)*2},addVertex:function(s,e,n){const t=this.vertices,i=this.object.geometry.vertices;i.push(t[s+0],t[s+1],t[s+2]),i.push(t[e+0],t[e+1],t[e+2]),i.push(t[n+0],t[n+1],t[n+2])},addVertexPoint:function(s){const e=this.vertices;this.object.geometry.vertices.push(e[s+0],e[s+1],e[s+2])},addVertexLine:function(s){const e=this.vertices;this.object.geometry.vertices.push(e[s+0],e[s+1],e[s+2])},addNormal:function(s,e,n){const t=this.normals,i=this.object.geometry.normals;i.push(t[s+0],t[s+1],t[s+2]),i.push(t[e+0],t[e+1],t[e+2]),i.push(t[n+0],t[n+1],t[n+2])},addFaceNormal:function(s,e,n){const t=this.vertices,i=this.object.geometry.normals;P.fromArray(t,s),M.fromArray(t,e),I.fromArray(t,n),j.subVectors(I,M),C.subVectors(P,M),j.cross(C),j.normalize(),i.push(j.x,j.y,j.z),i.push(j.x,j.y,j.z),i.push(j.x,j.y,j.z)},addColor:function(s,e,n){const t=this.colors,i=this.object.geometry.colors;t[s]!==void 0&&i.push(t[s+0],t[s+1],t[s+2]),t[e]!==void 0&&i.push(t[e+0],t[e+1],t[e+2]),t[n]!==void 0&&i.push(t[n+0],t[n+1],t[n+2])},addUV:function(s,e,n){const t=this.uvs,i=this.object.geometry.uvs;i.push(t[s+0],t[s+1]),i.push(t[e+0],t[e+1]),i.push(t[n+0],t[n+1])},addDefaultUV:function(){const s=this.object.geometry.uvs;s.push(0,0),s.push(0,0),s.push(0,0)},addUVLine:function(s){const e=this.uvs;this.object.geometry.uvs.push(e[s+0],e[s+1])},addFace:function(s,e,n,t,i,l,m,b,a){const u=this.vertices.length;let o=this.parseVertexIndex(s,u),c=this.parseVertexIndex(e,u),f=this.parseVertexIndex(n,u);if(this.addVertex(o,c,f),this.addColor(o,c,f),m!==void 0&&m!==""){const p=this.normals.length;o=this.parseNormalIndex(m,p),c=this.parseNormalIndex(b,p),f=this.parseNormalIndex(a,p),this.addNormal(o,c,f)}else this.addFaceNormal(o,c,f);if(t!==void 0&&t!==""){const p=this.uvs.length;o=this.parseUVIndex(t,p),c=this.parseUVIndex(i,p),f=this.parseUVIndex(l,p),this.addUV(o,c,f),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(s){this.object.geometry.type="Points";const e=this.vertices.length;for(let n=0,t=s.length;n<t;n++){const i=this.parseVertexIndex(s[n],e);this.addVertexPoint(i),this.addColor(i)}},addLineGeometry:function(s,e){this.object.geometry.type="Line";const n=this.vertices.length,t=this.uvs.length;for(let i=0,l=s.length;i<l;i++)this.addVertexLine(this.parseVertexIndex(s[i],n));for(let i=0,l=e.length;i<l;i++)this.addUVLine(this.parseUVIndex(e[i],t))}};return L.startObject("",!1),L}class G extends r.Loader{constructor(s){super(s),this.materials=null}load(s,e,n,t){const i=this,l=new r.FileLoader(this.manager);l.setPath(this.path),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(s,function(m){try{e(i.parse(m))}catch(b){t?t(b):console.error(b),i.manager.itemError(s)}},n,t)}setMaterials(s){return this.materials=s,this}parse(s){const e=new D;s.indexOf(`\r
2
+ `)!==-1&&(s=s.replace(/\r\n/g,`
3
+ `)),s.indexOf(`\\
4
+ `)!==-1&&(s=s.replace(/\\\n/g,""));const n=s.split(`
5
+ `);let t=[];for(let m=0,b=n.length;m<b;m++){const a=n[m].trimStart();if(a.length===0)continue;const u=a.charAt(0);if(u!=="#")if(u==="v"){const o=a.split(A);switch(o[0]){case"v":e.vertices.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3])),o.length>=7?(V.setRGB(parseFloat(o[4]),parseFloat(o[5]),parseFloat(o[6]),r.SRGBColorSpace),e.colors.push(V.r,V.g,V.b)):e.colors.push(void 0,void 0,void 0);break;case"vn":e.normals.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3]));break;case"vt":e.uvs.push(parseFloat(o[1]),parseFloat(o[2]));break}}else if(u==="f"){const c=a.slice(1).trim().split(A),f=[];for(let h=0,g=c.length;h<g;h++){const v=c[h];if(v.length>0){const y=v.split("/");f.push(y)}}const p=f[0];for(let h=1,g=f.length-1;h<g;h++){const v=f[h],y=f[h+1];e.addFace(p[0],v[0],y[0],p[1],v[1],y[1],p[2],v[2],y[2])}}else if(u==="l"){const o=a.substring(1).trim().split(" ");let c=[];const f=[];if(a.indexOf("/")===-1)c=o;else for(let p=0,h=o.length;p<h;p++){const g=o[p].split("/");g[0]!==""&&c.push(g[0]),g[1]!==""&&f.push(g[1])}e.addLineGeometry(c,f)}else if(u==="p"){const c=a.slice(1).trim().split(" ");e.addPointGeometry(c)}else if((t=z.exec(a))!==null){const o=(" "+t[0].slice(1).trim()).slice(1);e.startObject(o)}else if(U.test(a))e.object.startMaterial(a.substring(7).trim(),e.materialLibraries);else if(B.test(a))e.materialLibraries.push(a.substring(7).trim());else if(S.test(a))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if(u==="s"){if(t=a.split(" "),t.length>1){const c=t[1].trim().toLowerCase();e.object.smooth=c!=="0"&&c!=="off"}else e.object.smooth=!0;const o=e.object.currentMaterial();o&&(o.smooth=e.object.smooth)}else{if(a==="\0")continue;console.warn('THREE.OBJLoader: Unexpected line: "'+a+'"')}}e.finalize();const i=new r.Group;if(i.materialLibraries=[].concat(e.materialLibraries),!(e.objects.length===1&&e.objects[0].geometry.vertices.length===0)===!0)for(let m=0,b=e.objects.length;m<b;m++){const a=e.objects[m],u=a.geometry,o=a.materials,c=u.type==="Line",f=u.type==="Points";let p=!1;if(u.vertices.length===0)continue;const h=new r.BufferGeometry;h.setAttribute("position",new r.Float32BufferAttribute(u.vertices,3)),u.normals.length>0&&h.setAttribute("normal",new r.Float32BufferAttribute(u.normals,3)),u.colors.length>0&&(p=!0,h.setAttribute("color",new r.Float32BufferAttribute(u.colors,3))),u.hasUVIndices===!0&&h.setAttribute("uv",new r.Float32BufferAttribute(u.uvs,2));const g=[];for(let y=0,w=o.length;y<w;y++){const x=o[y],F=x.name+"_"+x.smooth+"_"+p;let d=e.materials[F];if(this.materials!==null){if(d=this.materials.create(x.name),c&&d&&!(d instanceof r.LineBasicMaterial)){const _=new r.LineBasicMaterial;r.Material.prototype.copy.call(_,d),_.color.copy(d.color),d=_}else if(f&&d&&!(d instanceof r.PointsMaterial)){const _=new r.PointsMaterial({size:10,sizeAttenuation:!1});r.Material.prototype.copy.call(_,d),_.color.copy(d.color),_.map=d.map,d=_}}d===void 0&&(c?d=new r.LineBasicMaterial:f?d=new r.PointsMaterial({size:1,sizeAttenuation:!1}):d=new r.MeshPhongMaterial,d.name=x.name,d.flatShading=!x.smooth,d.vertexColors=p,e.materials[F]=d),g.push(d)}let v;if(g.length>1){for(let y=0,w=o.length;y<w;y++){const x=o[y];h.addGroup(x.groupStart,x.groupCount,y)}c?v=new r.LineSegments(h,g):f?v=new r.Points(h,g):v=new r.Mesh(h,g)}else c?v=new r.LineSegments(h,g[0]):f?v=new r.Points(h,g[0]):v=new r.Mesh(h,g[0]);v.name=a.name,i.add(v)}else if(e.vertices.length>0){const m=new r.PointsMaterial({size:1,sizeAttenuation:!1}),b=new r.BufferGeometry;b.setAttribute("position",new r.Float32BufferAttribute(e.vertices,3)),e.colors.length>0&&e.colors[0]!==void 0&&(b.setAttribute("color",new r.Float32BufferAttribute(e.colors,3)),m.vertexColors=!0);const a=new r.Points(b,m);i.add(a)}return i}}exports.OBJLoader=G;
@@ -1 +1 @@
1
- "use strict";const s=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DpL-SXbf.cjs"),y={type:"change"},m={type:"start"},g={type:"end"},_=new s.Ray,b=new s.Plane,E=Math.cos(70*s.MathUtils.DEG2RAD),h=new s.Vector3,l=2*Math.PI,a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},u=1e-6;class P extends s.Controls{constructor(t,e=null){super(t,e),this.state=a.NONE,this.target=new s.Vector3,this.cursor=new s.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:s.MOUSE.ROTATE,MIDDLE:s.MOUSE.DOLLY,RIGHT:s.MOUSE.PAN},this.touches={ONE:s.TOUCH.ROTATE,TWO:s.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new s.Vector3,this._lastQuaternion=new s.Quaternion,this._lastTargetPosition=new s.Vector3,this._quat=new s.Quaternion().setFromUnitVectors(t.up,new s.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new s.Spherical,this._sphericalDelta=new s.Spherical,this._scale=1,this._panOffset=new s.Vector3,this._rotateStart=new s.Vector2,this._rotateEnd=new s.Vector2,this._rotateDelta=new s.Vector2,this._panStart=new s.Vector2,this._panEnd=new s.Vector2,this._panDelta=new s.Vector2,this._dollyStart=new s.Vector2,this._dollyEnd=new s.Vector2,this._dollyDelta=new s.Vector2,this._dollyDirection=new s.Vector3,this._mouse=new s.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=D.bind(this),this._onPointerDown=T.bind(this),this._onPointerUp=M.bind(this),this._onContextMenu=L.bind(this),this._onMouseWheel=w.bind(this),this._onKeyDown=R.bind(this),this._onTouchStart=j.bind(this),this._onTouchMove=A.bind(this),this._onMouseDown=S.bind(this),this._onMouseMove=O.bind(this),this._interceptControlDown=C.bind(this),this._interceptControlUp=x.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(t){super.connect(t),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(y),this.update(),this.state=a.NONE}update(t=null){const e=this.object.position;h.copy(e).sub(this.target),h.applyQuaternion(this._quat),this._spherical.setFromVector3(h),this.autoRotate&&this.state===a.NONE&&this._rotateLeft(this._getAutoRotationAngle(t)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let o=this.minAzimuthAngle,n=this.maxAzimuthAngle;isFinite(o)&&isFinite(n)&&(o<-Math.PI?o+=l:o>Math.PI&&(o-=l),n<-Math.PI?n+=l:n>Math.PI&&(n-=l),o<=n?this._spherical.theta=Math.max(o,Math.min(n,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(o+n)/2?Math.max(o,this._spherical.theta):Math.min(n,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let r=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const c=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),r=c!=this._spherical.radius}if(h.setFromSpherical(this._spherical),h.applyQuaternion(this._quatInverse),e.copy(this.target).add(h),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let c=null;if(this.object.isPerspectiveCamera){const p=h.length();c=this._clampDistance(p*this._scale);const d=p-c;this.object.position.addScaledVector(this._dollyDirection,d),this.object.updateMatrixWorld(),r=!!d}else if(this.object.isOrthographicCamera){const p=new s.Vector3(this._mouse.x,this._mouse.y,0);p.unproject(this.object);const d=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),r=d!==this.object.zoom;const f=new s.Vector3(this._mouse.x,this._mouse.y,0);f.unproject(this.object),this.object.position.sub(f).add(p),this.object.updateMatrixWorld(),c=h.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;c!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(c).add(this.object.position):(_.origin.copy(this.object.position),_.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(_.direction))<E?this.object.lookAt(this.target):(b.setFromNormalAndCoplanarPoint(this.object.up,this.target),_.intersectPlane(b,this.target))))}else if(this.object.isOrthographicCamera){const c=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),c!==this.object.zoom&&(this.object.updateProjectionMatrix(),r=!0)}return this._scale=1,this._performCursorZoom=!1,r||this._lastPosition.distanceToSquared(this.object.position)>u||8*(1-this._lastQuaternion.dot(this.object.quaternion))>u||this._lastTargetPosition.distanceToSquared(this.target)>u?(this.dispatchEvent(y),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?l/60*this.autoRotateSpeed*t:l/60/60*this.autoRotateSpeed}_getZoomScale(t){const e=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*e)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,e){h.setFromMatrixColumn(e,0),h.multiplyScalar(-t),this._panOffset.add(h)}_panUp(t,e){this.screenSpacePanning===!0?h.setFromMatrixColumn(e,1):(h.setFromMatrixColumn(e,0),h.crossVectors(this.object.up,h)),h.multiplyScalar(t),this._panOffset.add(h)}_pan(t,e){const o=this.domElement;if(this.object.isPerspectiveCamera){const n=this.object.position;h.copy(n).sub(this.target);let r=h.length();r*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*r/o.clientHeight,this.object.matrix),this._panUp(2*e*r/o.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/o.clientWidth,this.object.matrix),this._panUp(e*(this.object.top-this.object.bottom)/this.object.zoom/o.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,e){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const o=this.domElement.getBoundingClientRect(),n=t-o.left,r=e-o.top,c=o.width,p=o.height;this._mouse.x=n/c*2-1,this._mouse.y=-(r/p)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(l*this._rotateDelta.x/e.clientHeight),this._rotateUp(l*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){this._dollyEnd.set(t.clientX,t.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let e=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),e=!0;break}e&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),o=.5*(t.pageX+e.x),n=.5*(t.pageY+e.y);this._rotateStart.set(o,n)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),o=.5*(t.pageX+e.x),n=.5*(t.pageY+e.y);this._panStart.set(o,n)}}_handleTouchStartDolly(t){const e=this._getSecondPointerPosition(t),o=t.pageX-e.x,n=t.pageY-e.y,r=Math.sqrt(o*o+n*n);this._dollyStart.set(0,r)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const o=this._getSecondPointerPosition(t),n=.5*(t.pageX+o.x),r=.5*(t.pageY+o.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(l*this._rotateDelta.x/e.clientHeight),this._rotateUp(l*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),o=.5*(t.pageX+e.x),n=.5*(t.pageY+e.y);this._panEnd.set(o,n)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const e=this._getSecondPointerPosition(t),o=t.pageX-e.x,n=t.pageY-e.y,r=Math.sqrt(o*o+n*n);this._dollyEnd.set(0,r),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const c=(t.pageX+e.x)*.5,p=(t.pageY+e.y)*.5;this._updateZoomParameters(c,p)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId){this._pointers.splice(e,1);return}}_isTrackingPointer(t){for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId)return!0;return!1}_trackPointer(t){let e=this._pointerPositions[t.pointerId];e===void 0&&(e=new s.Vector2,this._pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const e=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[e]}_customWheelEvent(t){const e=t.deltaMode,o={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(e){case 1:o.deltaY*=16;break;case 2:o.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(o.deltaY*=10),o}}function T(i){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(i.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(i)&&(this._addPointer(i),i.pointerType==="touch"?this._onTouchStart(i):this._onMouseDown(i)))}function D(i){this.enabled!==!1&&(i.pointerType==="touch"?this._onTouchMove(i):this._onMouseMove(i))}function M(i){switch(this._removePointer(i),this._pointers.length){case 0:this.domElement.releasePointerCapture(i.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(g),this.state=a.NONE;break;case 1:const t=this._pointers[0],e=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:e.x,pageY:e.y});break}}function S(i){let t;switch(i.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case s.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(i),this.state=a.DOLLY;break;case s.MOUSE.ROTATE:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=a.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=a.ROTATE}break;case s.MOUSE.PAN:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=a.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=a.PAN}break;default:this.state=a.NONE}this.state!==a.NONE&&this.dispatchEvent(m)}function O(i){switch(this.state){case a.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(i);break;case a.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(i);break;case a.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(i);break}}function w(i){this.enabled===!1||this.enableZoom===!1||this.state!==a.NONE||(i.preventDefault(),this.dispatchEvent(m),this._handleMouseWheel(this._customWheelEvent(i)),this.dispatchEvent(g))}function R(i){this.enabled!==!1&&this._handleKeyDown(i)}function j(i){switch(this._trackPointer(i),this._pointers.length){case 1:switch(this.touches.ONE){case s.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(i),this.state=a.TOUCH_ROTATE;break;case s.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(i),this.state=a.TOUCH_PAN;break;default:this.state=a.NONE}break;case 2:switch(this.touches.TWO){case s.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(i),this.state=a.TOUCH_DOLLY_PAN;break;case s.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(i),this.state=a.TOUCH_DOLLY_ROTATE;break;default:this.state=a.NONE}break;default:this.state=a.NONE}this.state!==a.NONE&&this.dispatchEvent(m)}function A(i){switch(this._trackPointer(i),this.state){case a.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(i),this.update();break;case a.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(i),this.update();break;case a.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(i),this.update();break;case a.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(i),this.update();break;default:this.state=a.NONE}}function L(i){this.enabled!==!1&&i.preventDefault()}function C(i){i.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function x(i){i.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}exports.OrbitControls=P;
1
+ "use strict";const s=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-KjgLAbhL.cjs"),y={type:"change"},m={type:"start"},g={type:"end"},_=new s.Ray,b=new s.Plane,E=Math.cos(70*s.MathUtils.DEG2RAD),h=new s.Vector3,l=2*Math.PI,a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},u=1e-6;class P extends s.Controls{constructor(t,e=null){super(t,e),this.state=a.NONE,this.target=new s.Vector3,this.cursor=new s.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:s.MOUSE.ROTATE,MIDDLE:s.MOUSE.DOLLY,RIGHT:s.MOUSE.PAN},this.touches={ONE:s.TOUCH.ROTATE,TWO:s.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new s.Vector3,this._lastQuaternion=new s.Quaternion,this._lastTargetPosition=new s.Vector3,this._quat=new s.Quaternion().setFromUnitVectors(t.up,new s.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new s.Spherical,this._sphericalDelta=new s.Spherical,this._scale=1,this._panOffset=new s.Vector3,this._rotateStart=new s.Vector2,this._rotateEnd=new s.Vector2,this._rotateDelta=new s.Vector2,this._panStart=new s.Vector2,this._panEnd=new s.Vector2,this._panDelta=new s.Vector2,this._dollyStart=new s.Vector2,this._dollyEnd=new s.Vector2,this._dollyDelta=new s.Vector2,this._dollyDirection=new s.Vector3,this._mouse=new s.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=D.bind(this),this._onPointerDown=T.bind(this),this._onPointerUp=M.bind(this),this._onContextMenu=L.bind(this),this._onMouseWheel=w.bind(this),this._onKeyDown=R.bind(this),this._onTouchStart=j.bind(this),this._onTouchMove=A.bind(this),this._onMouseDown=S.bind(this),this._onMouseMove=O.bind(this),this._interceptControlDown=C.bind(this),this._interceptControlUp=x.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(t){super.connect(t),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(y),this.update(),this.state=a.NONE}update(t=null){const e=this.object.position;h.copy(e).sub(this.target),h.applyQuaternion(this._quat),this._spherical.setFromVector3(h),this.autoRotate&&this.state===a.NONE&&this._rotateLeft(this._getAutoRotationAngle(t)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let o=this.minAzimuthAngle,n=this.maxAzimuthAngle;isFinite(o)&&isFinite(n)&&(o<-Math.PI?o+=l:o>Math.PI&&(o-=l),n<-Math.PI?n+=l:n>Math.PI&&(n-=l),o<=n?this._spherical.theta=Math.max(o,Math.min(n,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(o+n)/2?Math.max(o,this._spherical.theta):Math.min(n,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let r=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const c=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),r=c!=this._spherical.radius}if(h.setFromSpherical(this._spherical),h.applyQuaternion(this._quatInverse),e.copy(this.target).add(h),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let c=null;if(this.object.isPerspectiveCamera){const p=h.length();c=this._clampDistance(p*this._scale);const d=p-c;this.object.position.addScaledVector(this._dollyDirection,d),this.object.updateMatrixWorld(),r=!!d}else if(this.object.isOrthographicCamera){const p=new s.Vector3(this._mouse.x,this._mouse.y,0);p.unproject(this.object);const d=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),r=d!==this.object.zoom;const f=new s.Vector3(this._mouse.x,this._mouse.y,0);f.unproject(this.object),this.object.position.sub(f).add(p),this.object.updateMatrixWorld(),c=h.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;c!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(c).add(this.object.position):(_.origin.copy(this.object.position),_.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(_.direction))<E?this.object.lookAt(this.target):(b.setFromNormalAndCoplanarPoint(this.object.up,this.target),_.intersectPlane(b,this.target))))}else if(this.object.isOrthographicCamera){const c=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),c!==this.object.zoom&&(this.object.updateProjectionMatrix(),r=!0)}return this._scale=1,this._performCursorZoom=!1,r||this._lastPosition.distanceToSquared(this.object.position)>u||8*(1-this._lastQuaternion.dot(this.object.quaternion))>u||this._lastTargetPosition.distanceToSquared(this.target)>u?(this.dispatchEvent(y),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?l/60*this.autoRotateSpeed*t:l/60/60*this.autoRotateSpeed}_getZoomScale(t){const e=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*e)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,e){h.setFromMatrixColumn(e,0),h.multiplyScalar(-t),this._panOffset.add(h)}_panUp(t,e){this.screenSpacePanning===!0?h.setFromMatrixColumn(e,1):(h.setFromMatrixColumn(e,0),h.crossVectors(this.object.up,h)),h.multiplyScalar(t),this._panOffset.add(h)}_pan(t,e){const o=this.domElement;if(this.object.isPerspectiveCamera){const n=this.object.position;h.copy(n).sub(this.target);let r=h.length();r*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*r/o.clientHeight,this.object.matrix),this._panUp(2*e*r/o.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/o.clientWidth,this.object.matrix),this._panUp(e*(this.object.top-this.object.bottom)/this.object.zoom/o.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,e){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const o=this.domElement.getBoundingClientRect(),n=t-o.left,r=e-o.top,c=o.width,p=o.height;this._mouse.x=n/c*2-1,this._mouse.y=-(r/p)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(l*this._rotateDelta.x/e.clientHeight),this._rotateUp(l*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){this._dollyEnd.set(t.clientX,t.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let e=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-l*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),e=!0;break}e&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),o=.5*(t.pageX+e.x),n=.5*(t.pageY+e.y);this._rotateStart.set(o,n)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),o=.5*(t.pageX+e.x),n=.5*(t.pageY+e.y);this._panStart.set(o,n)}}_handleTouchStartDolly(t){const e=this._getSecondPointerPosition(t),o=t.pageX-e.x,n=t.pageY-e.y,r=Math.sqrt(o*o+n*n);this._dollyStart.set(0,r)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const o=this._getSecondPointerPosition(t),n=.5*(t.pageX+o.x),r=.5*(t.pageY+o.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(l*this._rotateDelta.x/e.clientHeight),this._rotateUp(l*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),o=.5*(t.pageX+e.x),n=.5*(t.pageY+e.y);this._panEnd.set(o,n)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const e=this._getSecondPointerPosition(t),o=t.pageX-e.x,n=t.pageY-e.y,r=Math.sqrt(o*o+n*n);this._dollyEnd.set(0,r),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const c=(t.pageX+e.x)*.5,p=(t.pageY+e.y)*.5;this._updateZoomParameters(c,p)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId){this._pointers.splice(e,1);return}}_isTrackingPointer(t){for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId)return!0;return!1}_trackPointer(t){let e=this._pointerPositions[t.pointerId];e===void 0&&(e=new s.Vector2,this._pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const e=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[e]}_customWheelEvent(t){const e=t.deltaMode,o={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(e){case 1:o.deltaY*=16;break;case 2:o.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(o.deltaY*=10),o}}function T(i){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(i.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(i)&&(this._addPointer(i),i.pointerType==="touch"?this._onTouchStart(i):this._onMouseDown(i)))}function D(i){this.enabled!==!1&&(i.pointerType==="touch"?this._onTouchMove(i):this._onMouseMove(i))}function M(i){switch(this._removePointer(i),this._pointers.length){case 0:this.domElement.releasePointerCapture(i.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(g),this.state=a.NONE;break;case 1:const t=this._pointers[0],e=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:e.x,pageY:e.y});break}}function S(i){let t;switch(i.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case s.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(i),this.state=a.DOLLY;break;case s.MOUSE.ROTATE:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=a.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=a.ROTATE}break;case s.MOUSE.PAN:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=a.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=a.PAN}break;default:this.state=a.NONE}this.state!==a.NONE&&this.dispatchEvent(m)}function O(i){switch(this.state){case a.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(i);break;case a.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(i);break;case a.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(i);break}}function w(i){this.enabled===!1||this.enableZoom===!1||this.state!==a.NONE||(i.preventDefault(),this.dispatchEvent(m),this._handleMouseWheel(this._customWheelEvent(i)),this.dispatchEvent(g))}function R(i){this.enabled!==!1&&this._handleKeyDown(i)}function j(i){switch(this._trackPointer(i),this._pointers.length){case 1:switch(this.touches.ONE){case s.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(i),this.state=a.TOUCH_ROTATE;break;case s.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(i),this.state=a.TOUCH_PAN;break;default:this.state=a.NONE}break;case 2:switch(this.touches.TWO){case s.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(i),this.state=a.TOUCH_DOLLY_PAN;break;case s.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(i),this.state=a.TOUCH_DOLLY_ROTATE;break;default:this.state=a.NONE}break;default:this.state=a.NONE}this.state!==a.NONE&&this.dispatchEvent(m)}function A(i){switch(this._trackPointer(i),this.state){case a.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(i),this.update();break;case a.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(i),this.update();break;case a.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(i),this.update();break;case a.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(i),this.update();break;default:this.state=a.NONE}}function L(i){this.enabled!==!1&&i.preventDefault()}function C(i){i.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function x(i){i.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}exports.OrbitControls=P;
@@ -1,4 +1,4 @@
1
- import { b6 as S, V as p, M as u, b7 as _, a0 as E, b8 as P, Y as c, b9 as w, q as O, s as R } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Dc97Ai5N.js";
1
+ import { b5 as S, V as p, M as u, b6 as _, a0 as E, b7 as P, Y as c, b8 as w, q as O, s as R } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CTpkghR3.js";
2
2
  const D = { type: "change" }, b = { type: "start" }, M = { type: "end" }, f = new w(), T = new O(), j = Math.cos(70 * R.DEG2RAD), n = new p(), r = 2 * Math.PI, o = {
3
3
  NONE: -1,
4
4
  ROTATE: 0,
@@ -0,0 +1,4 @@
1
+ "use strict";const c=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-KjgLAbhL.cjs");class V extends c.Loader{constructor(s){super(s)}load(s,u,_,e){const i=this,p=new c.FileLoader(this.manager);p.setPath(this.path),p.setResponseType("arraybuffer"),p.setRequestHeader(this.requestHeader),p.setWithCredentials(this.withCredentials),p.load(s,function(h){try{u(i.parse(h))}catch(r){e?e(r):console.error(r),i.manager.itemError(s)}},_,e)}parse(s){function u(o){const n=new DataView(o),m=32/8*3+32/8*3*3+16/8,I=n.getUint32(80,!0);if(80+32/8+I*m===n.byteLength)return!0;const t=[115,111,108,105,100];for(let b=0;b<5;b++)if(_(t,n,b))return!1;return!0}function _(o,n,m){for(let I=0,a=o.length;I<a;I++)if(o[I]!==n.getUint8(m+I))return!1;return!0}function e(o){const n=new DataView(o),m=n.getUint32(80,!0);let I,a,t,b=!1,g,f,d,l,x;for(let z=0;z<70;z++)n.getUint32(z,!1)==1129270351&&n.getUint8(z+4)==82&&n.getUint8(z+5)==61&&(b=!0,g=new Float32Array(m*3*3),f=n.getUint8(z+6)/255,d=n.getUint8(z+7)/255,l=n.getUint8(z+8)/255,x=n.getUint8(z+9)/255);const F=84,w=12*4+2,C=new c.BufferGeometry,y=new Float32Array(m*3*3),S=new Float32Array(m*3*3),L=new c.Color;for(let z=0;z<m;z++){const k=F+z*w,v=n.getFloat32(k,!0),D=n.getFloat32(k+4,!0),B=n.getFloat32(k+8,!0);if(b){const A=n.getUint16(k+48,!0);(A&32768)===0?(I=(A&31)/31,a=(A>>5&31)/31,t=(A>>10&31)/31):(I=f,a=d,t=l)}for(let A=1;A<=3;A++){const T=k+A*12,O=z*3*3+(A-1)*3;y[O]=n.getFloat32(T,!0),y[O+1]=n.getFloat32(T+4,!0),y[O+2]=n.getFloat32(T+8,!0),S[O]=v,S[O+1]=D,S[O+2]=B,b&&(L.setRGB(I,a,t,c.SRGBColorSpace),g[O]=L.r,g[O+1]=L.g,g[O+2]=L.b)}}return C.setAttribute("position",new c.BufferAttribute(y,3)),C.setAttribute("normal",new c.BufferAttribute(S,3)),b&&(C.setAttribute("color",new c.BufferAttribute(g,3)),C.hasColors=!0,C.alpha=x),C}function i(o){const n=new c.BufferGeometry,m=/solid([\s\S]*?)endsolid/g,I=/facet([\s\S]*?)endfacet/g,a=/solid\s(.+)/;let t=0;const b=/[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source,g=new RegExp("vertex"+b+b+b,"g"),f=new RegExp("normal"+b+b+b,"g"),d=[],l=[],x=[],F=new c.Vector3;let w,C=0,y=0,S=0;for(;(w=m.exec(o))!==null;){y=S;const L=w[0],z=(w=a.exec(L))!==null?w[1]:"";for(x.push(z);(w=I.exec(L))!==null;){let D=0,B=0;const A=w[0];for(;(w=f.exec(A))!==null;)F.x=parseFloat(w[1]),F.y=parseFloat(w[2]),F.z=parseFloat(w[3]),B++;for(;(w=g.exec(A))!==null;)d.push(parseFloat(w[1]),parseFloat(w[2]),parseFloat(w[3])),l.push(F.x,F.y,F.z),D++,S++;B!==1&&console.error("THREE.STLLoader: Something isn't right with the normal of face number "+t),D!==3&&console.error("THREE.STLLoader: Something isn't right with the vertices of face number "+t),t++}const k=y,v=S-y;n.userData.groupNames=x,n.addGroup(k,v,C),C++}return n.setAttribute("position",new c.Float32BufferAttribute(d,3)),n.setAttribute("normal",new c.Float32BufferAttribute(l,3)),n}function p(o){return typeof o!="string"?new TextDecoder().decode(o):o}function h(o){if(typeof o=="string"){const n=new Uint8Array(o.length);for(let m=0;m<o.length;m++)n[m]=o.charCodeAt(m)&255;return n.buffer||n}else return o}const r=h(s);return u(r)?e(r):i(p(s))}}class R extends c.Loader{constructor(s){super(s)}load(s,u,_,e){const i=this,p=this.path===""?c.LoaderUtils.extractUrlBase(s):this.path,h=new c.FileLoader(this.manager);h.setPath(this.path),h.setRequestHeader(this.requestHeader),h.setWithCredentials(this.withCredentials),h.load(s,function(r){try{u(i.parse(r,p))}catch(o){e?e(o):console.error(o),i.manager.itemError(s)}},_,e)}setMaterialOptions(s){return this.materialOptions=s,this}parse(s,u){const _=s.split(`
2
+ `);let e={};const i=/\s+/,p={};for(let r=0;r<_.length;r++){let o=_[r];if(o=o.trim(),o.length===0||o.charAt(0)==="#")continue;const n=o.indexOf(" ");let m=n>=0?o.substring(0,n):o;m=m.toLowerCase();let I=n>=0?o.substring(n+1):"";if(I=I.trim(),m==="newmtl")e={name:I},p[I]=e;else if(m==="ka"||m==="kd"||m==="ks"||m==="ke"){const a=I.split(i,3);e[m]=[parseFloat(a[0]),parseFloat(a[1]),parseFloat(a[2])]}else e[m]=I}const h=new E(this.resourcePath||u,this.materialOptions);return h.setCrossOrigin(this.crossOrigin),h.setManager(this.manager),h.setMaterials(p),h}}class E{constructor(s="",u={}){this.baseUrl=s,this.options=u,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.crossOrigin="anonymous",this.side=this.options.side!==void 0?this.options.side:c.FrontSide,this.wrap=this.options.wrap!==void 0?this.options.wrap:c.RepeatWrapping}setCrossOrigin(s){return this.crossOrigin=s,this}setManager(s){this.manager=s}setMaterials(s){this.materialsInfo=this.convert(s),this.materials={},this.materialsArray=[],this.nameLookup={}}convert(s){if(!this.options)return s;const u={};for(const _ in s){const e=s[_],i={};u[_]=i;for(const p in e){let h=!0,r=e[p];const o=p.toLowerCase();switch(o){case"kd":case"ka":case"ks":this.options&&this.options.normalizeRGB&&(r=[r[0]/255,r[1]/255,r[2]/255]),this.options&&this.options.ignoreZeroRGBs&&r[0]===0&&r[1]===0&&r[2]===0&&(h=!1);break}h&&(i[o]=r)}}return u}preload(){for(const s in this.materialsInfo)this.create(s)}getIndex(s){return this.nameLookup[s]}getAsArray(){let s=0;for(const u in this.materialsInfo)this.materialsArray[s]=this.create(u),this.nameLookup[u]=s,s++;return this.materialsArray}create(s){return this.materials[s]===void 0&&this.createMaterial_(s),this.materials[s]}createMaterial_(s){const u=this,_=this.materialsInfo[s],e={name:s,side:this.side};function i(h,r){return typeof r!="string"||r===""?"":/^https?:\/\//i.test(r)?r:h+r}function p(h,r){if(e[h])return;const o=u.getTextureParams(r,e),n=u.loadTexture(i(u.baseUrl,o.url));n.repeat.copy(o.scale),n.offset.copy(o.offset),n.wrapS=u.wrap,n.wrapT=u.wrap,(h==="map"||h==="emissiveMap")&&(n.colorSpace=c.SRGBColorSpace),e[h]=n}for(const h in _){const r=_[h];let o;if(r!=="")switch(h.toLowerCase()){case"kd":e.color=c.ColorManagement.colorSpaceToWorking(new c.Color().fromArray(r),c.SRGBColorSpace);break;case"ks":e.specular=c.ColorManagement.colorSpaceToWorking(new c.Color().fromArray(r),c.SRGBColorSpace);break;case"ke":e.emissive=c.ColorManagement.colorSpaceToWorking(new c.Color().fromArray(r),c.SRGBColorSpace);break;case"map_kd":p("map",r);break;case"map_ks":p("specularMap",r);break;case"map_ke":p("emissiveMap",r);break;case"norm":p("normalMap",r);break;case"map_bump":case"bump":p("bumpMap",r);break;case"disp":p("displacementMap",r);break;case"map_d":p("alphaMap",r),e.transparent=!0;break;case"ns":e.shininess=parseFloat(r);break;case"d":o=parseFloat(r),o<1&&(e.opacity=o,e.transparent=!0);break;case"tr":o=parseFloat(r),this.options&&this.options.invertTrProperty&&(o=1-o),o>0&&(e.opacity=1-o,e.transparent=!0);break}}return this.materials[s]=new c.MeshPhongMaterial(e),this.materials[s]}getTextureParams(s,u){const _={scale:new c.Vector2(1,1),offset:new c.Vector2(0,0)},e=s.split(/\s+/);let i;return i=e.indexOf("-bm"),i>=0&&(u.bumpScale=parseFloat(e[i+1]),e.splice(i,2)),i=e.indexOf("-mm"),i>=0&&(u.displacementBias=parseFloat(e[i+1]),u.displacementScale=parseFloat(e[i+2]),e.splice(i,3)),i=e.indexOf("-s"),i>=0&&(_.scale.set(parseFloat(e[i+1]),parseFloat(e[i+2])),e.splice(i,4)),i=e.indexOf("-o"),i>=0&&(_.offset.set(parseFloat(e[i+1]),parseFloat(e[i+2])),e.splice(i,4)),_.url=e.join(" ").trim(),_}loadTexture(s,u,_,e,i){const p=this.manager!==void 0?this.manager:c.DefaultLoadingManager;let h=p.getHandler(s);h===null&&(h=new c.TextureLoader(p)),h.setCrossOrigin&&h.setCrossOrigin(this.crossOrigin);const r=h.load(s,_,e,i);return u!==void 0&&(r.mapping=u),r}}class M extends c.Loader{constructor(s){super(s),this.littleEndian=!0}load(s,u,_,e){const i=this,p=new c.FileLoader(i.manager);p.setPath(i.path),p.setResponseType("arraybuffer"),p.setRequestHeader(i.requestHeader),p.setWithCredentials(i.withCredentials),p.load(s,function(h){try{u(i.parse(h))}catch(r){e?e(r):console.error(r),i.manager.itemError(s)}},_,e)}_getDataView(s,u,_,e){switch(_){case"F":return e===8?s.getFloat64(u,this.littleEndian):s.getFloat32(u,this.littleEndian);case"I":return e===1?s.getInt8(u):e===2?s.getInt16(u,this.littleEndian):s.getInt32(u,this.littleEndian);case"U":return e===1?s.getUint8(u):e===2?s.getUint16(u,this.littleEndian):s.getUint32(u,this.littleEndian)}}parse(s){function u(a,t){const b=a.length,g=new Uint8Array(t);let f=0,d=0,l,x,F;do if(l=a[f++],l<32){if(l++,d+l>t)throw new Error("Output buffer is not large enough");if(f+l>b)throw new Error("Invalid compressed data");do g[d++]=a[f++];while(--l)}else{if(x=l>>5,F=d-((l&31)<<8)-1,f>=b)throw new Error("Invalid compressed data");if(x===7&&(x+=a[f++],f>=b))throw new Error("Invalid compressed data");if(F-=a[f++],d+x+2>t)throw new Error("Output buffer is not large enough");if(F<0)throw new Error("Invalid compressed data");if(F>=d)throw new Error("Invalid compressed data");do g[d++]=g[F++];while(--x+2)}while(f<b);return g}function _(a){const t={},b=new Uint8Array(a);let g="",f="",d=0,l=!1;const x=b.length;for(;d<x&&l===!1;){const y=String.fromCharCode(b[d++]);y===`
3
+ `||y==="\r"?(f.trim().toLowerCase().startsWith("data")&&(l=!0),f=""):f+=y,g+=y}const F=g.search(/[\r\n]DATA\s(\S*)\s/i),w=/[\r\n]DATA\s(\S*)\s/i.exec(g.slice(F-1));if(t.data=w[1],t.headerLen=w[0].length+F,t.str=g.slice(0,t.headerLen),t.str=t.str.replace(/#.*/gi,""),t.version=/^VERSION (.*)/im.exec(t.str),t.fields=/^FIELDS (.*)/im.exec(t.str),t.size=/^SIZE (.*)/im.exec(t.str),t.type=/^TYPE (.*)/im.exec(t.str),t.count=/^COUNT (.*)/im.exec(t.str),t.width=/^WIDTH (.*)/im.exec(t.str),t.height=/^HEIGHT (.*)/im.exec(t.str),t.viewpoint=/^VIEWPOINT (.*)/im.exec(t.str),t.points=/^POINTS (.*)/im.exec(t.str),t.version!==null&&(t.version=parseFloat(t.version[1])),t.fields=t.fields!==null?t.fields[1].split(" "):[],t.type!==null&&(t.type=t.type[1].split(" ")),t.width!==null&&(t.width=parseInt(t.width[1])),t.height!==null&&(t.height=parseInt(t.height[1])),t.viewpoint!==null&&(t.viewpoint=t.viewpoint[1]),t.points!==null&&(t.points=parseInt(t.points[1],10)),t.points===null&&(t.points=t.width*t.height),t.size!==null&&(t.size=t.size[1].split(" ").map(function(y){return parseInt(y,10)})),t.count!==null)t.count=t.count[1].split(" ").map(function(y){return parseInt(y,10)});else{t.count=[];for(let y=0,S=t.fields.length;y<S;y++)t.count.push(1)}t.offset={};let C=0;for(let y=0,S=t.fields.length;y<S;y++)t.data==="ascii"?t.offset[t.fields[y]]=y:(t.offset[t.fields[y]]=C,C+=t.size[y]*t.count[y]);return t.rowSize=C,t}const e=_(s),i=[],p=[],h=[],r=[],o=[],n=new c.Color;if(e.data==="ascii"){const a=e.offset,g=new TextDecoder().decode(s).slice(e.headerLen).split(`
4
+ `);for(let f=0,d=g.length;f<d;f++){if(g[f]==="")continue;const l=g[f].split(" ");if(a.x!==void 0&&(i.push(parseFloat(l[a.x])),i.push(parseFloat(l[a.y])),i.push(parseFloat(l[a.z]))),a.rgb!==void 0){const x=e.fields.findIndex(z=>z==="rgb"),F=e.type[x],w=parseFloat(l[a.rgb]);let C=w;if(F==="F"){const z=new Float32Array(1);z[0]=w,C=new Int32Array(z.buffer)[0]}const y=(C>>16&255)/255,S=(C>>8&255)/255,L=(C>>0&255)/255;n.setRGB(y,S,L,c.SRGBColorSpace),h.push(n.r,n.g,n.b)}a.normal_x!==void 0&&(p.push(parseFloat(l[a.normal_x])),p.push(parseFloat(l[a.normal_y])),p.push(parseFloat(l[a.normal_z]))),a.intensity!==void 0&&r.push(parseFloat(l[a.intensity])),a.label!==void 0&&o.push(parseInt(l[a.label]))}}if(e.data==="binary_compressed"){const a=new Uint32Array(s.slice(e.headerLen,e.headerLen+8)),t=a[0],b=a[1],g=u(new Uint8Array(s,e.headerLen+8,t),b),f=new DataView(g.buffer),d=e.offset;for(let l=0;l<e.points;l++){if(d.x!==void 0){const x=e.fields.indexOf("x"),F=e.fields.indexOf("y"),w=e.fields.indexOf("z");i.push(this._getDataView(f,e.points*d.x+e.size[x]*l,e.type[x],e.size[x])),i.push(this._getDataView(f,e.points*d.y+e.size[F]*l,e.type[F],e.size[F])),i.push(this._getDataView(f,e.points*d.z+e.size[w]*l,e.type[w],e.size[w]))}if(d.rgb!==void 0){const x=e.fields.indexOf("rgb"),F=f.getUint8(e.points*d.rgb+e.size[x]*l+2)/255,w=f.getUint8(e.points*d.rgb+e.size[x]*l+1)/255,C=f.getUint8(e.points*d.rgb+e.size[x]*l+0)/255;n.setRGB(F,w,C,c.SRGBColorSpace),h.push(n.r,n.g,n.b)}if(d.normal_x!==void 0){const x=e.fields.indexOf("normal_x"),F=e.fields.indexOf("normal_y"),w=e.fields.indexOf("normal_z");p.push(this._getDataView(f,e.points*d.normal_x+e.size[x]*l,e.type[x],e.size[x])),p.push(this._getDataView(f,e.points*d.normal_y+e.size[F]*l,e.type[F],e.size[F])),p.push(this._getDataView(f,e.points*d.normal_z+e.size[w]*l,e.type[w],e.size[w]))}if(d.intensity!==void 0){const x=e.fields.indexOf("intensity");r.push(this._getDataView(f,e.points*d.intensity+e.size[x]*l,e.type[x],e.size[x]))}if(d.label!==void 0){const x=e.fields.indexOf("label");o.push(f.getInt32(e.points*d.label+e.size[x]*l,this.littleEndian))}}}if(e.data==="binary"){const a=new DataView(s,e.headerLen),t=e.offset;for(let b=0,g=0;b<e.points;b++,g+=e.rowSize){if(t.x!==void 0){const f=e.fields.indexOf("x"),d=e.fields.indexOf("y"),l=e.fields.indexOf("z");i.push(this._getDataView(a,g+t.x,e.type[f],e.size[f])),i.push(this._getDataView(a,g+t.y,e.type[d],e.size[d])),i.push(this._getDataView(a,g+t.z,e.type[l],e.size[l]))}if(t.rgb!==void 0){const f=a.getUint8(g+t.rgb+2)/255,d=a.getUint8(g+t.rgb+1)/255,l=a.getUint8(g+t.rgb+0)/255;n.setRGB(f,d,l,c.SRGBColorSpace),h.push(n.r,n.g,n.b)}if(t.normal_x!==void 0){const f=e.fields.indexOf("normal_x"),d=e.fields.indexOf("normal_y"),l=e.fields.indexOf("normal_z");p.push(this._getDataView(a,g+t.normal_x,e.type[f],e.size[f])),p.push(this._getDataView(a,g+t.normal_y,e.type[d],e.size[d])),p.push(this._getDataView(a,g+t.normal_z,e.type[l],e.size[l]))}if(t.intensity!==void 0){const f=e.fields.indexOf("intensity");r.push(this._getDataView(a,g+t.intensity,e.type[f],e.size[f]))}t.label!==void 0&&o.push(a.getInt32(g+t.label,this.littleEndian))}}const m=new c.BufferGeometry;i.length>0&&m.setAttribute("position",new c.Float32BufferAttribute(i,3)),p.length>0&&m.setAttribute("normal",new c.Float32BufferAttribute(p,3)),h.length>0&&m.setAttribute("color",new c.Float32BufferAttribute(h,3)),r.length>0&&m.setAttribute("intensity",new c.Float32BufferAttribute(r,1)),o.length>0&&m.setAttribute("label",new c.Int32BufferAttribute(o,1)),m.computeBoundingSphere();const I=new c.PointsMaterial({size:.005});return h.length>0&&(I.vertexColors=!0),new c.Points(m,I)}}exports.MTLLoader=R;exports.PCDLoader=M;exports.STLLoader=V;