chunk-4GSC3BUA.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. import {
  2. T
  3. } from "./chunk-AGGGC2FA.js";
  4. import {
  5. O
  6. } from "./chunk-RUM3DXFX.js";
  7. import {
  8. n as n3
  9. } from "./chunk-7LRVL5YB.js";
  10. import {
  11. t as t2
  12. } from "./chunk-4OM3EX6P.js";
  13. import {
  14. C
  15. } from "./chunk-3OFVLRSL.js";
  16. import {
  17. l,
  18. m
  19. } from "./chunk-RYY6632W.js";
  20. import {
  21. H,
  22. P,
  23. _,
  24. e,
  25. o,
  26. r,
  27. u,
  28. x,
  29. z
  30. } from "./chunk-DW42UVIT.js";
  31. import {
  32. n as n2
  33. } from "./chunk-TJNOJH33.js";
  34. import {
  35. n,
  36. p,
  37. t
  38. } from "./chunk-2TIUKVZN.js";
  39. // node_modules/@arcgis/core/views/3d/support/buffer/glUtil.js
  40. function o2(t4, o4 = 0) {
  41. const n5 = t4.stride;
  42. return t4.fieldNames.filter((e3) => {
  43. const o5 = t4.fields.get(e3).optional;
  44. return !(o5 && o5.glPadding);
  45. }).map((i) => {
  46. const s = t4.fields.get(i), l3 = s.constructor.ElementCount, u5 = r2(s.constructor.ElementType), f3 = s.offset, c2 = !(!s.optional || !s.optional.glNormalized);
  47. return new t2(i, l3, u5, f3, n5, c2, o4);
  48. });
  49. }
  50. function r2(t4) {
  51. const e3 = n4[t4];
  52. if (e3)
  53. return e3;
  54. throw new Error("BufferType not supported in WebGL");
  55. }
  56. var n4 = { u8: C.UNSIGNED_BYTE, u16: C.UNSIGNED_SHORT, u32: C.UNSIGNED_INT, i8: C.BYTE, i16: C.SHORT, i32: C.INT, f32: C.FLOAT };
  57. // node_modules/@arcgis/core/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js
  58. var A = T().vec3f(O.POSITION).u16(O.COMPONENTINDEX).u16(O.U16PADDING);
  59. var e2 = T().vec2u8(O.SIDENESS);
  60. var T2 = o2(e2);
  61. var E = T().vec3f(O.POSITION0).vec3f(O.POSITION1).u16(O.COMPONENTINDEX).u8(O.VARIANTOFFSET, { glNormalized: true }).u8(O.VARIANTSTROKE).u8(O.VARIANTEXTENSION, { glNormalized: true }).u8(O.U8PADDING, { glPadding: true }).u16(O.U16PADDING, { glPadding: true });
  62. var S = E.clone().vec3f(O.NORMAL);
  63. var r3 = E.clone().vec3f(O.NORMALA).vec3f(O.NORMALB);
  64. var o3 = /* @__PURE__ */ new Map([[O.POSITION0, 0], [O.POSITION1, 1], [O.COMPONENTINDEX, 2], [O.VARIANTOFFSET, 3], [O.VARIANTSTROKE, 4], [O.VARIANTEXTENSION, 5], [O.NORMAL, 6], [O.NORMALA, 6], [O.NORMALB, 7], [O.SIDENESS, 8]]);
  65. // node_modules/@arcgis/core/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js
  66. var p2 = -1;
  67. var u2;
  68. function h(n5, i, l3, f3 = N) {
  69. const g3 = n5.vertices.position, m4 = n5.vertices.componentIndex, u5 = m(f3.anglePlanar), h3 = m(f3.angleSignificantEdge), V2 = Math.cos(h3), S2 = Math.cos(u5), j = I.edge, x2 = j.position0, E2 = j.position1, D = j.faceNormal0, F = j.faceNormal1, L = y(n5), U = w(n5), b = U.length / 4, k = i.allocate(b);
  70. let C2 = 0;
  71. const H2 = b, K = l3.allocate(H2);
  72. let M = 0, O2 = 0, P2 = 0;
  73. const T3 = p(0, b), q = new Float32Array(b);
  74. n(q, (e3, t4, n6) => {
  75. g3.getVec(U[4 * t4 + 0], x2), g3.getVec(U[4 * t4 + 1], E2), n6[t4] = x(x2, E2);
  76. }), T3.sort((e3, t4) => q[t4] - q[e3]);
  77. const z2 = new Array(), B = new Array();
  78. for (let e3 = 0; e3 < b; e3++) {
  79. const t4 = T3[e3], n6 = q[t4], o4 = U[4 * t4 + 0], r4 = U[4 * t4 + 1], f4 = U[4 * t4 + 2], h4 = U[4 * t4 + 3], w3 = h4 === p2;
  80. if (g3.getVec(o4, x2), g3.getVec(r4, E2), w3)
  81. o(D, L[3 * f4 + 0], L[3 * f4 + 1], L[3 * f4 + 2]), r(F, D), j.componentIndex = m4.get(o4), j.cosAngle = P(D, F);
  82. else {
  83. if (o(D, L[3 * f4 + 0], L[3 * f4 + 1], L[3 * f4 + 2]), o(F, L[3 * h4 + 0], L[3 * h4 + 1], L[3 * h4 + 2]), j.componentIndex = m4.get(o4), j.cosAngle = P(D, F), A2(j, S2))
  84. continue;
  85. j.cosAngle < -0.9999 && r(F, D);
  86. }
  87. O2 += n6, P2++, w3 || v(j, V2) ? (i.write(k, C2++, j), z2.push(n6)) : d(j, u5) && (l3.write(K, M++, j), B.push(n6));
  88. }
  89. const G = new Float32Array(z2.reverse()), J = new Float32Array(B.reverse());
  90. return { regular: { instancesData: i.trim(k, C2), lodInfo: { lengths: G } }, silhouette: { instancesData: l3.trim(K, M), lodInfo: { lengths: J } }, averageEdgeLength: O2 / P2 };
  91. }
  92. function v(e3, t4) {
  93. return e3.cosAngle < t4;
  94. }
  95. function A2(e3, t4) {
  96. return e3.cosAngle > t4;
  97. }
  98. function d(e3, t4) {
  99. const o4 = l(e3.cosAngle), r4 = I.fwd, s = I.ortho;
  100. H(r4, e3.position1, e3.position0);
  101. return o4 * (P(_(s, e3.faceNormal0, e3.faceNormal1), r4) > 0 ? -1 : 1) > t4;
  102. }
  103. function w(e3) {
  104. const t4 = e3.faces.length / 3, n5 = e3.faces, o4 = e3.neighbors;
  105. let r4 = 0;
  106. for (let a3 = 0; a3 < t4; a3++) {
  107. const e4 = o4[3 * a3 + 0], t5 = o4[3 * a3 + 1], s2 = o4[3 * a3 + 2], c3 = n5[3 * a3 + 0], i = n5[3 * a3 + 1], l3 = n5[3 * a3 + 2];
  108. r4 += e4 === p2 || c3 < i ? 1 : 0, r4 += t5 === p2 || i < l3 ? 1 : 0, r4 += s2 === p2 || l3 < c3 ? 1 : 0;
  109. }
  110. const s = new Int32Array(4 * r4);
  111. let c2 = 0;
  112. for (let a3 = 0; a3 < t4; a3++) {
  113. const e4 = o4[3 * a3 + 0], t5 = o4[3 * a3 + 1], r5 = o4[3 * a3 + 2], i = n5[3 * a3 + 0], l3 = n5[3 * a3 + 1], f3 = n5[3 * a3 + 2];
  114. (e4 === p2 || i < l3) && (s[c2++] = i, s[c2++] = l3, s[c2++] = a3, s[c2++] = e4), (t5 === p2 || l3 < f3) && (s[c2++] = l3, s[c2++] = f3, s[c2++] = a3, s[c2++] = t5), (r5 === p2 || f3 < i) && (s[c2++] = f3, s[c2++] = i, s[c2++] = a3, s[c2++] = r5);
  115. }
  116. return s;
  117. }
  118. function y(e3) {
  119. const t4 = e3.faces.length / 3, n5 = e3.vertices.position, o4 = e3.faces, r4 = V.v0, s = V.v1, c2 = V.v2, a3 = new Float32Array(3 * t4);
  120. for (let i = 0; i < t4; i++) {
  121. const e4 = o4[3 * i + 0], t5 = o4[3 * i + 1], m4 = o4[3 * i + 2];
  122. n5.getVec(e4, r4), n5.getVec(t5, s), n5.getVec(m4, c2), e(s, s, r4), e(c2, c2, r4), _(r4, s, c2), z(r4, r4), a3[3 * i + 0] = r4[0], a3[3 * i + 1] = r4[1], a3[3 * i + 2] = r4[2];
  123. }
  124. return a3;
  125. }
  126. !function(e3) {
  127. e3[e3.SOLID = 0] = "SOLID", e3[e3.SKETCH = 1] = "SKETCH";
  128. }(u2 || (u2 = {}));
  129. var I = { edge: { position0: n2(), position1: n2(), faceNormal0: n2(), faceNormal1: n2(), componentIndex: 0, cosAngle: 0 }, ortho: n2(), fwd: n2() };
  130. var V = { v0: n2(), v1: n2(), v2: n2() };
  131. var N = { anglePlanar: 4, angleSignificantEdge: 35 };
  132. // node_modules/@arcgis/core/views/3d/support/meshProcessing.js
  133. function t3(t4, o4, n5) {
  134. const r4 = o4 / 3, c2 = new Uint32Array(n5 + 1), e3 = new Uint32Array(n5 + 1), s = (t5, o5) => {
  135. t5 < o5 ? c2[t5 + 1]++ : e3[o5 + 1]++;
  136. };
  137. for (let x2 = 0; x2 < r4; x2++) {
  138. const o5 = t4[3 * x2], n6 = t4[3 * x2 + 1], r5 = t4[3 * x2 + 2];
  139. s(o5, n6), s(n6, r5), s(r5, o5);
  140. }
  141. let f3 = 0, l3 = 0;
  142. for (let x2 = 0; x2 < n5; x2++) {
  143. const t5 = c2[x2 + 1], o5 = e3[x2 + 1];
  144. c2[x2 + 1] = f3, e3[x2 + 1] = l3, f3 += t5, l3 += o5;
  145. }
  146. const i = new Uint32Array(6 * r4), a3 = c2[n5], w3 = (t5, o5, n6) => {
  147. if (t5 < o5) {
  148. const r5 = c2[t5 + 1]++;
  149. i[2 * r5] = o5, i[2 * r5 + 1] = n6;
  150. } else {
  151. const r5 = e3[o5 + 1]++;
  152. i[2 * a3 + 2 * r5] = t5, i[2 * a3 + 2 * r5 + 1] = n6;
  153. }
  154. };
  155. for (let x2 = 0; x2 < r4; x2++) {
  156. const o5 = t4[3 * x2], n6 = t4[3 * x2 + 1], r5 = t4[3 * x2 + 2];
  157. w3(o5, n6, x2), w3(n6, r5, x2), w3(r5, o5, x2);
  158. }
  159. const y3 = (t5, o5) => {
  160. const n6 = 2 * t5, r5 = o5 - t5;
  161. for (let c3 = 1; c3 < r5; c3++) {
  162. const t6 = i[n6 + 2 * c3], o6 = i[n6 + 2 * c3 + 1];
  163. let r6 = c3 - 1;
  164. for (; r6 >= 0 && i[n6 + 2 * r6] > t6; r6--)
  165. i[n6 + 2 * r6 + 2] = i[n6 + 2 * r6], i[n6 + 2 * r6 + 3] = i[n6 + 2 * r6 + 1];
  166. i[n6 + 2 * r6 + 2] = t6, i[n6 + 2 * r6 + 3] = o6;
  167. }
  168. };
  169. for (let x2 = 0; x2 < n5; x2++)
  170. y3(c2[x2], c2[x2 + 1]), y3(a3 + e3[x2], a3 + e3[x2 + 1]);
  171. const A3 = new Int32Array(3 * r4), U = (o5, n6) => o5 === t4[3 * n6] ? 0 : o5 === t4[3 * n6 + 1] ? 1 : o5 === t4[3 * n6 + 2] ? 2 : -1, u5 = (t5, o5) => {
  172. const n6 = U(t5, o5);
  173. A3[3 * o5 + n6] = -1;
  174. }, p5 = (t5, o5, n6, r5) => {
  175. const c3 = U(t5, o5);
  176. A3[3 * o5 + c3] = r5;
  177. const e4 = U(n6, r5);
  178. A3[3 * r5 + e4] = o5;
  179. };
  180. for (let x2 = 0; x2 < n5; x2++) {
  181. let t5 = c2[x2];
  182. const o5 = c2[x2 + 1];
  183. let n6 = e3[x2];
  184. const r5 = e3[x2 + 1];
  185. for (; t5 < o5 && n6 < r5; ) {
  186. const o6 = i[2 * t5], r6 = i[2 * a3 + 2 * n6];
  187. o6 === r6 ? (p5(x2, i[2 * t5 + 1], r6, i[2 * a3 + 2 * n6 + 1]), t5++, n6++) : o6 < r6 ? (u5(x2, i[2 * t5 + 1]), t5++) : (u5(r6, i[2 * a3 + 2 * n6 + 1]), n6++);
  188. }
  189. for (; t5 < o5; )
  190. u5(x2, i[2 * t5 + 1]), t5++;
  191. for (; n6 < r5; ) {
  192. u5(i[2 * a3 + 2 * n6], i[2 * a3 + 2 * n6 + 1]), n6++;
  193. }
  194. }
  195. return A3;
  196. }
  197. // node_modules/@arcgis/core/views/3d/webgl-engine/lib/edgeRendering/edgeBufferWriters.js
  198. var a = class {
  199. updateSettings(t4) {
  200. this.settings = t4, this._edgeHashFunction = t4.reducedPrecision ? f : p3;
  201. }
  202. write(t4, o4, e3) {
  203. const n5 = this._edgeHashFunction(e3);
  204. y2.seed = n5;
  205. const i = y2.getIntRange(0, 255), r4 = y2.getIntRange(0, this.settings.variants - 1), s = 0.7, a3 = y2.getFloat(), c2 = 255 * (0.5 * g(-(1 - Math.min(a3 / s, 1)) + Math.max(0, a3 - s) / (1 - s), 1.2) + 0.5);
  206. t4.position0.setVec(o4, e3.position0), t4.position1.setVec(o4, e3.position1), t4.componentIndex.set(o4, e3.componentIndex), t4.variantOffset.set(o4, i), t4.variantStroke.set(o4, r4), t4.variantExtension.set(o4, c2);
  207. }
  208. trim(t4, o4) {
  209. return t4.slice(0, o4);
  210. }
  211. };
  212. var c = new Float32Array(6);
  213. var m2 = new Uint32Array(c.buffer);
  214. var u3 = new Uint32Array(1);
  215. function p3(t4) {
  216. const o4 = c;
  217. o4[0] = t4.position0[0], o4[1] = t4.position0[1], o4[2] = t4.position0[2], o4[3] = t4.position1[0], o4[4] = t4.position1[1], o4[5] = t4.position1[2], u3[0] = 5381;
  218. for (let e3 = 0; e3 < m2.length; e3++)
  219. u3[0] = 31 * u3[0] + m2[e3];
  220. return u3[0];
  221. }
  222. function f(t4) {
  223. const o4 = c;
  224. o4[0] = h2(t4.position0[0]), o4[1] = h2(t4.position0[1]), o4[2] = h2(t4.position0[2]), o4[3] = h2(t4.position1[0]), o4[4] = h2(t4.position1[1]), o4[5] = h2(t4.position1[2]), u3[0] = 5381;
  225. for (let e3 = 0; e3 < m2.length; e3++)
  226. u3[0] = 31 * u3[0] + m2[e3];
  227. return u3[0];
  228. }
  229. var l2 = 1e4;
  230. function h2(t4) {
  231. return Math.round(t4 * l2) / l2;
  232. }
  233. function g(t4, o4) {
  234. const e3 = t4 < 0 ? -1 : 1;
  235. return Math.abs(t4) ** o4 * e3;
  236. }
  237. var d2 = class {
  238. constructor() {
  239. this._commonWriter = new a();
  240. }
  241. updateSettings(t4) {
  242. this._commonWriter.updateSettings(t4);
  243. }
  244. allocate(t4) {
  245. return S.createBuffer(t4);
  246. }
  247. write(t4, n5, i) {
  248. this._commonWriter.write(t4, n5, i), u(_2, i.faceNormal0, i.faceNormal1), z(_2, _2), t4.normal.setVec(n5, _2);
  249. }
  250. trim(t4, o4) {
  251. return this._commonWriter.trim(t4, o4);
  252. }
  253. };
  254. d2.Layout = S, d2.glLayout = o2(S, 1);
  255. var w2 = class {
  256. constructor() {
  257. this._commonWriter = new a();
  258. }
  259. updateSettings(t4) {
  260. this._commonWriter.updateSettings(t4);
  261. }
  262. allocate(t4) {
  263. return r3.createBuffer(t4);
  264. }
  265. write(t4, o4, e3) {
  266. this._commonWriter.write(t4, o4, e3), t4.normalA.setVec(o4, e3.faceNormal0), t4.normalB.setVec(o4, e3.faceNormal1);
  267. }
  268. trim(t4, o4) {
  269. return this._commonWriter.trim(t4, o4);
  270. }
  271. };
  272. w2.Layout = r3, w2.glLayout = o2(r3, 1);
  273. var _2 = n2();
  274. var y2 = new t();
  275. // node_modules/@arcgis/core/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js
  276. function f2(e3) {
  277. const t4 = u4(e3.data, e3.skipDeduplicate, e3.indices, e3.indicesLength);
  278. return p4.updateSettings(e3.writerSettings), d3.updateSettings(e3.writerSettings), h(t4, p4, d3);
  279. }
  280. function u4(i, r4, n5, o4) {
  281. if (r4) {
  282. const e3 = t3(n5, o4, i.count);
  283. return new g2(n5, o4, e3, i);
  284. }
  285. const c2 = n3(i.buffer, i.stride / 4, { originalIndices: n5, originalIndicesLength: o4 }), f3 = t3(c2.indices, o4, c2.uniqueCount);
  286. return { faces: c2.indices, facesLength: c2.indices.length, neighbors: f3, vertices: A.createView(c2.buffer) };
  287. }
  288. var g2 = class {
  289. constructor(e3, t4, i, r4) {
  290. this.faces = e3, this.facesLength = t4, this.neighbors = i, this.vertices = r4;
  291. }
  292. };
  293. var p4 = new d2();
  294. var d3 = new w2();
  295. var a2 = T().vec3f(O.POSITION0).vec3f(O.POSITION1);
  296. var m3 = T().vec3f(O.POSITION0).vec3f(O.POSITION1).u16(O.COMPONENTINDEX).u16(O.U16PADDING, { glPadding: true });
  297. export {
  298. A,
  299. h,
  300. f2 as f,
  301. u4 as u,
  302. a2 as a,
  303. m3 as m
  304. };
  305. //# sourceMappingURL=chunk-4GSC3BUA.js.map