import { x as x3 } from "./chunk-UWKVAZQ6.js"; import { g as g5, p as p3 } from "./chunk-SFI4OJO6.js"; import "./chunk-UE4KC4K5.js"; import { n as n3 } from "./chunk-7LRVL5YB.js"; import { L as L2, L2 as L3, M, O as O3, _ as _2, a as a2, b, g as g3, h as h2, j, k, k2, r as r3, v as v2, x, x2 } from "./chunk-BXBBOCLV.js"; import "./chunk-IRQMHCT3.js"; import "./chunk-W3XAGTM6.js"; import { e as e4 } from "./chunk-44FMXGSC.js"; import "./chunk-XFDO4CMR.js"; import { e as e3 } from "./chunk-GHN7C53L.js"; import "./chunk-HIELTLML.js"; import { x as x4 } from "./chunk-NLLFSKB2.js"; import "./chunk-6FXLJAMI.js"; import { a } from "./chunk-O3JQY77G.js"; import "./chunk-E3G7BRZB.js"; import { Zn, gn } from "./chunk-P24XEEHY.js"; import "./chunk-SAJAEMIJ.js"; import { g as g4 } from "./chunk-7C23ILQ4.js"; import "./chunk-P6VVVEX6.js"; import "./chunk-3Z755LKF.js"; import "./chunk-LTZ5XXDV.js"; import "./chunk-DLMAGHHC.js"; import "./chunk-JOYXMSKE.js"; import { a as a3 } from "./chunk-YZVAB3DF.js"; import "./chunk-ECY35CJI.js"; import "./chunk-JGBXYDGB.js"; import "./chunk-QEWF7QPH.js"; import "./chunk-MCWCB5IY.js"; import "./chunk-TV3CFJQR.js"; import { l } from "./chunk-TJV6ODRM.js"; import "./chunk-4ONPMX2F.js"; import "./chunk-CRGY2SDS.js"; import "./chunk-4T5ZGMEN.js"; import { g as g2 } from "./chunk-VGWC3IKZ.js"; import "./chunk-2H5MD622.js"; import { O } from "./chunk-3RSFVUKZ.js"; import "./chunk-UVVU4UUO.js"; import "./chunk-X4SA4ELJ.js"; import "./chunk-5N7JLUJJ.js"; import "./chunk-ZAY3CMAZ.js"; import "./chunk-P3XKUGLS.js"; import "./chunk-LU5IJZB4.js"; import "./chunk-7IBV2TRE.js"; import "./chunk-ZLNEXZAN.js"; import "./chunk-5UVJ64RB.js"; import "./chunk-SFEFRQCL.js"; import "./chunk-3GZSQU56.js"; import "./chunk-ZYRIJWLX.js"; import "./chunk-RYY6632W.js"; import { O as O2, S, e as e2, g, o, u, z } from "./chunk-DW42UVIT.js"; import "./chunk-YAEIHDJH.js"; import { f as f2, n as n2, r as r2 } from "./chunk-TJNOJH33.js"; import "./chunk-OSHI574D.js"; import "./chunk-ETGAZ7LF.js"; import "./chunk-75U5LM2V.js"; import "./chunk-RMDDCMKS.js"; import { h, v2 as v } from "./chunk-VCH45Q2I.js"; import "./chunk-LBW34VZ2.js"; import "./chunk-GSSTTHIT.js"; import { m as m2 } from "./chunk-YFSLJIO4.js"; import "./chunk-IM3LVQXV.js"; import { m } from "./chunk-55RWC67C.js"; import "./chunk-HZRKBTHJ.js"; import "./chunk-DVUG3KID.js"; import "./chunk-FWSQEIAR.js"; import { Ot, _ } from "./chunk-VEGAOVMY.js"; import { p as p2, w, w2 } from "./chunk-6T6G6LCQ.js"; import "./chunk-YEJL5NEF.js"; import "./chunk-PQFTYGF5.js"; import { e, n5 as n, y3 as y2 } from "./chunk-2Z2TG5CU.js"; import "./chunk-6KZ2LTDA.js"; import "./chunk-U2XHEJM7.js"; import "./chunk-SQOPWYIT.js"; import { L, f, p, y } from "./chunk-V6P2MAQQ.js"; import { s2 as s, s3 as s2 } from "./chunk-E5O6P5I2.js"; import "./chunk-SPWQ3AWG.js"; import "./chunk-2TIUKVZN.js"; import { r, t } from "./chunk-YXWMMD76.js"; import "./chunk-S5KM4IGW.js"; // node_modules/@arcgis/core/geometry/support/triangulationUtils.js function o2(t2) { const o3 = l2(t2.rings, t2.hasZ, c.CCW_IS_HOLE), s4 = new Array(); let i2 = 0, h5 = 0; for (const e5 of o3.polygons) { const t3 = e5.count, r5 = e5.index, l6 = new Float64Array(o3.position.buffer, 3 * r5 * o3.position.BYTES_PER_ELEMENT, 3 * t3), c5 = e5.holeIndices.map((n4) => n4 - r5), f8 = new Uint32Array(x3(l6, c5, 3)); s4.push({ position: l6, faces: f8 }), i2 += l6.length, h5 += f8.length; } const f7 = r4(s4, i2, h5), a5 = n3(f7.position.buffer, 6, { originalIndices: f7.faces }); return f7.position = new Float64Array(a5.buffer), f7.faces = a5.indices, f7; } function r4(n4, t2, e5) { if (1 === n4.length) return n4[0]; const o3 = new Float64Array(t2), r5 = new Uint32Array(e5); let l6 = 0, s4 = 0, i2 = 0; for (const c5 of n4) { for (let n5 = 0; n5 < c5.position.length; n5++) o3[l6++] = c5.position[n5]; for (let n5 = 0; n5 < c5.faces.length; n5++) r5[s4++] = c5.faces[n5] + i2; i2 = l6 / 3; } return { position: o3, faces: r5 }; } function l2(n4, t2, e5) { const o3 = n4.length, r5 = new Array(o3), l6 = new Array(o3), h5 = new Array(o3); let f7 = 0, a5 = 0, g9 = 0, u4 = 0; for (let s4 = 0; s4 < o3; ++s4) u4 += n4[s4].length; const p8 = new Float64Array(3 * u4); let y7 = 0; for (let d4 = o3 - 1; d4 >= 0; d4--) { const u5 = n4[d4], w7 = e5 === c.CCW_IS_HOLE && i(u5); if (w7 && 1 !== o3) r5[f7++] = u5; else { let n5 = u5.length; for (let t3 = 0; t3 < f7; ++t3) n5 += r5[t3].length; const e6 = { index: y7, pathLengths: new Array(f7 + 1), count: n5, holeIndices: new Array(f7) }; e6.pathLengths[0] = u5.length, u5.length > 0 && (h5[g9++] = { index: y7, count: u5.length }), y7 = w7 ? s3(u5, u5.length - 1, -1, p8, y7, u5.length, t2) : s3(u5, 0, 1, p8, y7, u5.length, t2); for (let o4 = 0; o4 < f7; ++o4) { const n6 = r5[o4]; e6.holeIndices[o4] = y7, e6.pathLengths[o4 + 1] = n6.length, n6.length > 0 && (h5[g9++] = { index: y7, count: n6.length }), y7 = s3(n6, 0, 1, p8, y7, n6.length, t2); } f7 = 0, e6.count > 0 && (l6[a5++] = e6); } } for (let i2 = 0; i2 < f7; ++i2) { const n5 = r5[i2]; n5.length > 0 && (h5[g9++] = { index: y7, count: n5.length }), y7 = s3(n5, 0, 1, p8, y7, n5.length, t2); } return l6.length = a5, h5.length = g9, { position: p8, polygons: l6, outlines: h5 }; } function s3(n4, t2, e5, o3, r5, l6, s4) { r5 *= 3; for (let i2 = 0; i2 < l6; ++i2) { const l7 = n4[t2]; o3[r5++] = l7[0], o3[r5++] = l7[1], o3[r5++] = s4 ? l7[2] : 0, t2 += e5; } return r5 / 3; } function i(n4) { return !h(n4, false, false); } var c; !function(n4) { n4[n4.NONE = 0] = "NONE", n4[n4.CCW_IS_HOLE = 1] = "CCW_IS_HOLE"; }(c || (c = {})); // node_modules/@arcgis/core/geometry/support/meshUtils/centerAt.js var a4 = s.getLogger("esri.geometry.support.meshUtils.centerAt"); function c2(e5, r5, i2) { var _a; if (!e5.vertexAttributes || !e5.vertexAttributes.position) return; const n4 = (_a = i2 == null ? void 0 : i2.origin) != null ? _a : e5.origin; if (r(e5.transform)) null != (i2 == null ? void 0 : i2.geographic) && i2.geographic !== e5.transform.geographic && a4.warn(`Specifying the 'geographic' parameter (${i2.geographic}) different from the Mesh transform setting (${e5.transform.geographic}) is not supported`), f3(e5.transform, r5, n4); else { r3(e5.spatialReference, i2) ? p4(e5, r5, n4) : g6(e5, r5, n4); } } function f3(e5, t2, r5) { const i2 = t2.x - r5.x, o3 = t2.y - r5.y, n4 = t2.hasZ && r5.hasZ ? t2.z - r5.z : 0, s4 = e5.origin; e5.origin = [s4[0] + i2, s4[1] + o3, s4[2] + n4]; } function p4(e5, t2, r5) { const i2 = b(e5.vertexAttributes, r5, { geographic: true }), { position: o3, normal: a5, tangent: c5 } = x2(i2, t2, { geographic: true }); e5.vertexAttributes.position = o3, e5.vertexAttributes.normal = a5, e5.vertexAttributes.tangent = c5, e5.vertexAttributesChanged(); } function g6(e5, t2, r5) { const o3 = h3, n4 = l3; if (gn(t2, n4, e5.spatialReference)) { if (!gn(r5, o3, e5.spatialReference)) { const t3 = e5.origin; o3[0] = t3.x, o3[1] = t3.y, o3[2] = t3.z, a4.error(`Failed to project specified origin (wkid:${r5.spatialReference.wkid}) to mesh spatial reference (wkid:${e5.spatialReference.wkid}).`); } m3(e5.vertexAttributes.position, n4, o3), e5.vertexAttributesChanged(); } else a4.error(`Failed to project centerAt location (wkid:${t2.spatialReference.wkid}) to mesh spatial reference (wkid:${e5.spatialReference.wkid})`); } function m3(e5, t2, r5) { if (e5) for (let i2 = 0; i2 < e5.length; i2 += 3) for (let o3 = 0; o3 < 3; o3++) e5[i2 + o3] += t2[o3] - r5[o3]; } var l3 = n2(); var h3 = n2(); // node_modules/@arcgis/core/geometry/support/meshUtils/loadExternal.js async function u2(e5, s4, o3) { const { loadGLTFMesh: n4 } = await y(import("./loadGLTFMesh-WBYY2AJJ.js"), o3), a5 = await m4(s4, o3), i2 = n4(new w({ x: 0, y: 0, z: 0, spatialReference: e5.spatialReference }), a5.url, { resolveFile: f4(a5), useTransform: true, signal: r(o3) ? o3.signal : null }); i2.then(() => a5.dispose(), () => a5.dispose()); const { vertexAttributes: l6, components: u4 } = await i2; e5.vertexAttributes = l6, e5.components = u4; } function f4(e5) { const t2 = Ot(e5.url); return (s4) => { var _a; const r5 = _(s4, t2, t2), o3 = r5 ? r5.replace(/^ *\.\//, "") : null; return (_a = o3 ? e5.files.get(o3) : null) != null ? _a : s4; }; } async function m4(e5, t2) { return e5 instanceof Blob ? y3.fromBlob(e5) : "string" == typeof e5 ? new y3(e5) : Array.isArray(e5) ? p5(e5, t2) : w3(e5, t2); } async function p5(t2, r5) { const i2 = /* @__PURE__ */ new Map(); let l6 = null; const c5 = await L(t2.map(async (e5) => ({ name: e5.name, source: await m4(e5 instanceof Blob ? e5 : e5.source, r5) }))), u4 = []; for (const e5 of c5) e5 && (p(r5) ? e5.source.dispose() : u4.push(e5)); f(r5); for (const { name: e5, source: o3 } of u4) (t(l6) || /\.(gltf|glb)/i.test(e5)) && (l6 = o3.url), i2.set(e5, o3.url), o3.files && o3.files.forEach((e6, t3) => i2.set(t3, e6)); if (t(l6)) throw new s2("mesh-load-external:missing-files", "Missing files to load external mesh source"); return new y3(l6, () => u4.forEach(({ source: e5 }) => e5.dispose()), i2); } async function w3(e5, t2) { const { default: s4 } = await y(import("./request-TKJSZZ4X.js"), t2), o3 = "string" == typeof e5.multipart[0] ? await Promise.all(e5.multipart.map(async (e6) => (await s4(e6, { responseType: "array-buffer" })).data)) : e5.multipart; return y3.fromBlob(new Blob(o3)); } var y3 = class { constructor(e5, t2 = () => { }, s4 = /* @__PURE__ */ new Map()) { this.url = e5, this.dispose = t2, this.files = s4; } static fromBlob(e5) { const t2 = URL.createObjectURL(e5); return new y3(t2, () => URL.revokeObjectURL(t2)); } }; // node_modules/@arcgis/core/geometry/support/meshUtils/offset.js function x5(e5, o3, i2) { if (e5.vertexAttributes && e5.vertexAttributes.position) if (r(e5.transform)) null != (i2 == null ? void 0 : i2.geographic) && i2.geographic !== e5.transform.geographic && s.getLogger("esri.geometry.support.meshUtils.offset").warn(`Specifying the 'geographic' parameter (${i2.geographic}) different from the Mesh transform setting (${e5.transform.geographic}) is not supported`), A(e5.transform, o3); else { r3(e5.spatialReference, i2) ? v3(e5, o3) : b2(e5, o3); } } function A(t2, r5) { const e5 = t2.origin; t2.origin = u(n2(), e5, r5); } function v3(t2, o3) { const i2 = t2.spatialReference, n4 = t2.vertexAttributes.position, a5 = t2.vertexAttributes.normal, c5 = t2.vertexAttributes.tangent, x8 = new Float64Array(n4.length), A4 = r(a5) ? new Float32Array(a5.length) : null, v6 = r(c5) ? new Float32Array(c5.length) : null, b4 = t2.extent.center, F2 = d; Zn(i2, [b4.x, b4.y, b4.z], k3, O(i2)), a(w4, k3), S(F2, o3, w4), M(n4, i2, x8), r(a5) && r(A4) && j(a5, n4, x8, i2, A4), r(c5) && r(v6) && k2(c5, n4, x8, i2, v6), y4(x8, F2), O3(x8, n4, i2), r(a5) && r(A4) && h2(A4, n4, x8, i2, a5), r(c5) && r(v6) && L3(v6, n4, x8, i2, c5), t2.vertexAttributesChanged(); } function b2(t2, r5) { y4(t2.vertexAttributes.position, r5), t2.vertexAttributesChanged(); } function y4(t2, r5) { if (t2) for (let e5 = 0; e5 < t2.length; e5 += 3) for (let o3 = 0; o3 < 3; o3++) t2[e5 + o3] += r5[o3]; } var d = n2(); var k3 = e4(); var w4 = e3(); // node_modules/@arcgis/core/geometry/support/meshUtils/primitives.js function c3() { const { faceDescriptions: t2, faceVertexOffsets: e5, uvScales: n4 } = d2, r5 = 4 * t2.length, o3 = new Float64Array(3 * r5), s4 = new Float32Array(3 * r5), a5 = new Float32Array(2 * r5), i2 = new Uint32Array(2 * t2.length * 3); let c5 = 0, l6 = 0, f7 = 0, u4 = 0; for (let h5 = 0; h5 < t2.length; h5++) { const r6 = t2[h5], p8 = c5 / 3; for (const t3 of e5) i2[u4++] = p8 + t3; const m7 = r6.corners; for (let t3 = 0; t3 < 4; t3++) { const e6 = m7[t3]; let i3 = 0; a5[f7++] = 0.25 * n4[t3][0] + r6.uvOrigin[0], a5[f7++] = r6.uvOrigin[1] - 0.25 * n4[t3][1]; for (let t4 = 0; t4 < 3; t4++) 0 !== r6.axis[t4] ? (o3[c5++] = 0.5 * r6.axis[t4], s4[l6++] = r6.axis[t4]) : (o3[c5++] = 0.5 * e6[i3++], s4[l6++] = 0); } } return { position: o3, normal: s4, uv: a5, faces: i2 }; } function l4(e5, n4) { const r5 = e5.components[0], o3 = r5.faces, a5 = M2[n4], i2 = 6 * a5, c5 = new Array(6), l6 = new Array(o3.length - 6); let f7 = 0, u4 = 0; for (let t2 = 0; t2 < o3.length; t2++) t2 >= i2 && t2 < i2 + 6 ? c5[f7++] = o3[t2] : l6[u4++] = o3[t2]; if (r(e5.vertexAttributes.uv)) { const t2 = new Float32Array(e5.vertexAttributes.uv), n5 = 4 * a5 * 2, r6 = [0, 1, 1, 1, 1, 0, 0, 0]; for (let e6 = 0; e6 < r6.length; e6++) t2[n5 + e6] = r6[e6]; e5.vertexAttributes.uv = t2; } return e5.components = [new g5({ faces: c5, material: r5.material }), new g5({ faces: l6 })], e5; } function f5(t2 = 0) { const e5 = Math.round(8 * 2 ** t2), n4 = 2 * e5, r5 = (e5 - 1) * (n4 + 1) + 2 * n4, o3 = new Float64Array(3 * r5), s4 = new Float32Array(3 * r5), a5 = new Float32Array(2 * r5), i2 = new Uint32Array(3 * ((e5 - 1) * n4 * 2)); let c5 = 0, l6 = 0, f7 = 0, u4 = 0; for (let h5 = 0; h5 <= e5; h5++) { const t3 = h5 / e5 * Math.PI + 0.5 * Math.PI, r6 = Math.cos(t3), p8 = Math.sin(t3); F[2] = p8; const m7 = 0 === h5 || h5 === e5, w7 = m7 ? n4 - 1 : n4; for (let v6 = 0; v6 <= w7; v6++) { const t4 = v6 / w7 * 2 * Math.PI; F[0] = -Math.sin(t4) * r6, F[1] = Math.cos(t4) * r6; for (let e6 = 0; e6 < 3; e6++) o3[c5] = 0.5 * F[e6], s4[c5] = F[e6], ++c5; a5[l6++] = (v6 + (m7 ? 0.5 : 0)) / n4, a5[l6++] = h5 / e5, 0 !== h5 && v6 !== n4 && (h5 !== e5 && (i2[f7++] = u4, i2[f7++] = u4 + 1, i2[f7++] = u4 - n4), 1 !== h5 && (i2[f7++] = u4, i2[f7++] = u4 - n4, i2[f7++] = u4 - n4 - 1)), u4++; } } return { position: o3, normal: s4, uv: a5, faces: i2 }; } function u3(t2 = 0) { const e5 = 5, n4 = Math.round(16 * 2 ** t2), r5 = (e5 - 1) * (n4 + 1) + 2 * n4, o3 = new Float64Array(3 * r5), s4 = new Float32Array(3 * r5), a5 = new Float32Array(2 * r5), i2 = new Uint32Array(3 * (4 * n4)); let c5 = 0, l6 = 0, f7 = 0, u4 = 0, h5 = 0; for (let p8 = 0; p8 <= e5; p8++) { const t3 = 0 === p8 || p8 === e5, r6 = p8 <= 1 || p8 >= e5 - 1, m7 = 2 === p8 || 4 === p8, w7 = t3 ? n4 - 1 : n4; for (let v6 = 0; v6 <= w7; v6++) { const g9 = v6 / w7 * 2 * Math.PI, A4 = t3 ? 0 : 0.5; F[0] = A4 * Math.sin(g9), F[1] = A4 * -Math.cos(g9), F[2] = p8 <= 2 ? 0.5 : -0.5; for (let t4 = 0; t4 < 3; t4++) o3[c5++] = F[t4], s4[l6++] = r6 ? 2 === t4 ? p8 <= 1 ? 1 : -1 : 0 : 2 === t4 ? 0 : F[t4] / A4; a5[f7++] = (v6 + (t3 ? 0.5 : 0)) / n4, a5[f7++] = p8 <= 1 ? 1 * p8 / 3 : p8 <= 3 ? 1 * (p8 - 2) / 3 + 1 / 3 : 1 * (p8 - 4) / 3 + 2 / 3, m7 || 0 === p8 || v6 === n4 || (p8 !== e5 && (i2[u4++] = h5, i2[u4++] = h5 + 1, i2[u4++] = h5 - n4), 1 !== p8 && (i2[u4++] = h5, i2[u4++] = h5 - n4, i2[u4++] = h5 - n4 - 1)), h5++; } } return { position: o3, normal: s4, uv: a5, faces: i2 }; } function h4(t2, e5) { const n4 = "number" == typeof e5 ? e5 : null != e5 ? e5.width : 1, r5 = "number" == typeof e5 ? e5 : null != e5 ? e5.height : 1; switch (t2) { case "up": case "down": return { width: n4, depth: r5 }; case "north": case "south": return { width: n4, height: r5 }; case "east": case "west": return { depth: n4, height: r5 }; } } function p6(t2) { const e5 = g7.facingAxisOrderSwap[t2], n4 = g7.position, r5 = g7.normal, o3 = new Float64Array(n4.length), s4 = new Float32Array(r5.length); let a5 = 0; for (let i2 = 0; i2 < 4; i2++) { const t3 = a5; for (let i3 = 0; i3 < 3; i3++) { const c5 = e5[i3], l6 = Math.abs(c5) - 1, f7 = c5 >= 0 ? 1 : -1; o3[a5] = n4[t3 + l6] * f7, s4[a5] = r5[t3 + l6] * f7, a5++; } } return { position: o3, normal: s4, uv: new Float32Array(g7.uv), faces: new Uint32Array(g7.faces), isPlane: true }; } var m5 = 1; var w5 = 2; var v4 = 3; var g7 = { position: [-0.5, -0.5, 0, 0.5, -0.5, 0, 0.5, 0.5, 0, -0.5, 0.5, 0], normal: [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1], uv: [0, 1, 1, 1, 1, 0, 0, 0], faces: [0, 1, 2, 0, 2, 3], facingAxisOrderSwap: { east: [v4, m5, w5], west: [-v4, -m5, w5], north: [-m5, v4, w5], south: [m5, -v4, w5], up: [m5, w5, v4], down: [m5, -w5, -v4] } }; function A2(t2, e5, n4) { t2.isPlane || y5(t2), x6(t2, n4 == null ? void 0 : n4.size); const { vertexAttributes: r5, transform: o3 } = _2(t2, e5, n4); return { vertexAttributes: new p3({ ...r5, uv: t2.uv }), transform: o3, components: [new g5({ faces: t2.faces, material: n4 && n4.material || null })], spatialReference: e5.spatialReference }; } function y5(t2) { for (let e5 = 0; e5 < t2.position.length; e5 += 3) t2.position[e5 + 2] += 0.5; } function x6(t2, e5) { if (null == e5) return; const o3 = "number" == typeof e5 ? [e5, e5, e5] : [null != e5.width ? e5.width : 1, null != e5.depth ? e5.depth : 1, null != e5.height ? e5.height : 1]; O4[0] = o3[0], O4[4] = o3[1], O4[8] = o3[2]; for (let r5 = 0; r5 < t2.position.length; r5 += 3) { for (let e6 = 0; e6 < 3; e6++) F[e6] = t2.position[r5 + e6]; S(F, F, O4); for (let e6 = 0; e6 < 3; e6++) t2.position[r5 + e6] = F[e6]; } if (o3[0] !== o3[1] || o3[1] !== o3[2]) { O4[0] = 1 / o3[0], O4[4] = 1 / o3[1], O4[8] = 1 / o3[2]; for (let e6 = 0; e6 < t2.normal.length; e6 += 3) { for (let n4 = 0; n4 < 3; n4++) F[n4] = t2.normal[e6 + n4]; S(F, F, O4), z(F, F); for (let n4 = 0; n4 < 3; n4++) t2.normal[e6 + n4] = F[n4]; } } } var d2 = { faceDescriptions: [{ axis: [0, -1, 0], uvOrigin: [0, 0.625], corners: [[-1, -1], [1, -1], [1, 1], [-1, 1]] }, { axis: [1, 0, 0], uvOrigin: [0.25, 0.625], corners: [[-1, -1], [1, -1], [1, 1], [-1, 1]] }, { axis: [0, 1, 0], uvOrigin: [0.5, 0.625], corners: [[1, -1], [-1, -1], [-1, 1], [1, 1]] }, { axis: [-1, 0, 0], uvOrigin: [0.75, 0.625], corners: [[1, -1], [-1, -1], [-1, 1], [1, 1]] }, { axis: [0, 0, 1], uvOrigin: [0, 0.375], corners: [[-1, -1], [1, -1], [1, 1], [-1, 1]] }, { axis: [0, 0, -1], uvOrigin: [0, 0.875], corners: [[-1, 1], [1, 1], [1, -1], [-1, -1]] }], uvScales: [[0, 0], [1, 0], [1, 1], [0, 1]], faceVertexOffsets: [0, 1, 2, 0, 2, 3] }; var M2 = { south: 0, east: 1, north: 2, west: 3, up: 4, down: 5 }; var F = n2(); var O4 = e3(); // node_modules/@arcgis/core/geometry/support/meshUtils/rotate.js var $ = s.getLogger("esri.geometry.support.meshUtils.rotate"); function z2(t2, r5, o3) { var _a, _b; if (!t2.vertexAttributes || !t2.vertexAttributes.position || 0 === r5[3]) return; const i2 = t2.spatialReference; if (r(t2.transform)) { null != (o3 == null ? void 0 : o3.geographic) && o3.geographic !== t2.transform.geographic && $.warn(`Specifying the 'geographic' parameter (${o3.geographic}) different from the Mesh transform setting (${t2.transform.geographic}) is not supported`); const e5 = (_a = o3 == null ? void 0 : o3.origin) != null ? _a : t2.transform.getOriginPoint(i2); C(t2.transform, r5, e5); } else { const e5 = (_b = o3 == null ? void 0 : o3.origin) != null ? _b : t2.origin; r3(t2.spatialReference, o3) ? I(t2, r5, e5) : U(t2, r5, e5); } } function C(t2, e5, r5) { const o3 = o(E, r5.x, r5.y, r5.z), i2 = e2(E, o3, t2.origin); t2.applyLocalInverse(i2, M3), t2.rotation = v2(t2.rotation, e5, a2()), t2.applyLocalInverse(i2, i2), e2(i2, i2, M3), t2.translation = u(n2(), t2.translation, i2); } function I(t2, r5, i2) { const n4 = t2.spatialReference, s4 = O(n4), a5 = Z; gn(i2, a5, s4) || gn(t2.origin, a5, s4); const c5 = t2.vertexAttributes.position, f7 = t2.vertexAttributes.normal, m7 = t2.vertexAttributes.tangent, g9 = new Float64Array(c5.length), l6 = r(f7) ? new Float32Array(f7.length) : null, v6 = r(m7) ? new Float32Array(m7.length) : null; Zn(s4, a5, P, s4), a(S2, P); const x8 = O5; S(g3(O5), g3(r5), S2), x8[3] = r5[3], M(c5, n4, g9), r(f7) && r(l6) && j(f7, c5, g9, n4, l6), r(m7) && r(v6) && k2(m7, c5, g9, n4, v6), D(g9, x8, 3, a5), O3(g9, c5, n4), r(f7) && r(l6) && (D(l6, x8, 3), h2(l6, c5, g9, n4, f7)), r(m7) && r(v6) && (D(v6, x8, 4), L3(v6, c5, g9, n4, m7)), t2.vertexAttributesChanged(); } function U(t2, e5, r5) { const o3 = Z; if (!gn(r5, o3, t2.spatialReference)) { const e6 = t2.origin; o3[0] = e6.x, o3[1] = e6.y, o3[2] = e6.z, $.error(`Failed to project specified origin (wkid:${r5.spatialReference.wkid}) to mesh spatial reference (wkid:${t2.spatialReference.wkid}).`); } D(t2.vertexAttributes.position, e5, 3, o3), D(t2.vertexAttributes.normal, e5, 3), D(t2.vertexAttributes.tangent, e5, 4), t2.vertexAttributesChanged(); } function D(t2, e5, o3, i2 = f2) { if (!t(t2)) { g2(P, x(e5), g3(e5)); for (let e6 = 0; e6 < t2.length; e6 += o3) { for (let r5 = 0; r5 < 3; r5++) E[r5] = t2[e6 + r5] - i2[r5]; O2(E, E, P); for (let r5 = 0; r5 < 3; r5++) t2[e6 + r5] = E[r5] + i2[r5]; } } } var E = n2(); var M3 = n2(); var O5 = a2(); var P = e4(); var S2 = e3(); var Z = n2(); // node_modules/@arcgis/core/geometry/support/meshUtils/scale.js var v5 = s.getLogger("esri.geometry.support.meshUtils.scale"); function d3(e5, r5, o3) { var _a; if (!e5.vertexAttributes || !e5.vertexAttributes.position) return; const i2 = e5.spatialReference; if (r(e5.transform)) { null != (o3 == null ? void 0 : o3.geographic) && o3.geographic !== e5.transform.geographic && v5.warn(`Specifying the 'geographic' parameter (${o3.geographic}) different from the Mesh transform setting (${e5.transform.geographic}) is not supported`); const t2 = (_a = o3 == null ? void 0 : o3.origin) != null ? _a : e5.transform.getOriginPoint(i2); x7(e5.transform, r5, t2); } else { const t2 = r3(e5.spatialReference, o3), i3 = o3 && o3.origin || e5.origin; t2 ? A3(e5, r5, i3) : b3(e5, r5, i3); } } function x7(e5, t2, a5) { const c5 = o(w6, a5.x, a5.y, a5.z), p8 = e2(w6, c5, e5.origin); e5.applyLocalInverse(p8, k4); const f7 = g(n2(), e5.scale, t2); e5.scale = f7, e5.applyLocalInverse(p8, p8), e2(p8, p8, k4), e5.translation = u(n2(), e5.translation, p8); } function A3(e5, r5, o3) { const i2 = e5.spatialReference, n4 = O(i2), s4 = R; gn(o3, s4, n4) || gn(e5.origin, s4, n4); const a5 = e5.vertexAttributes.position, f7 = e5.vertexAttributes.normal, v6 = e5.vertexAttributes.tangent, d4 = new Float64Array(a5.length), x8 = r(f7) ? new Float32Array(f7.length) : null, A4 = r(v6) ? new Float32Array(v6.length) : null; M(a5, i2, d4), r(f7) && r(x8) && j(f7, a5, d4, i2, x8), r(v6) && r(A4) && k2(v6, a5, d4, i2, A4), y6(d4, r5, s4), O3(d4, a5, i2), r(f7) && r(x8) && h2(x8, a5, d4, i2, f7), r(v6) && r(A4) && L3(A4, a5, d4, i2, v6), e5.vertexAttributesChanged(); } function b3(e5, t2, r5) { const o3 = R; if (!gn(r5, o3, e5.spatialReference)) { const t3 = e5.origin; o3[0] = t3.x, o3[1] = t3.y, o3[2] = t3.z, v5.error(`Failed to project specified origin (wkid:${r5.spatialReference.wkid}) to mesh spatial reference (wkid:${e5.spatialReference.wkid}).`); } y6(e5.vertexAttributes.position, t2, o3), e5.vertexAttributesChanged(); } function y6(e5, t2, r5 = f2) { if (e5) for (let o3 = 0; o3 < e5.length; o3 += 3) { for (let t3 = 0; t3 < 3; t3++) w6[t3] = e5[o3 + t3] - r5[t3]; g(w6, w6, t2); for (let t3 = 0; t3 < 3; t3++) e5[o3 + t3] = w6[t3] + r5[t3]; } } var w6 = n2(); var k4 = n2(); var R = n2(); // node_modules/@arcgis/core/geometry/Mesh.js var G; var I2 = "esri.geometry.Mesh"; var B = G = class extends a3(m2.LoadableMixin(m(p2))) { constructor(e5) { super(e5), this.components = null, this.transform = null, this.external = null, this.hasZ = true, this.hasM = false, this.vertexAttributes = new p3(), this.type = "mesh"; } initialize() { (t(this.external) || this.vertexAttributes.position.length) && (this.loadStatus = "loaded"), this.when(() => { this.handles.add(l(() => { var _a; return { vertexAttributes: this.vertexAttributes, components: (_a = this.components) == null ? void 0 : _a.map((e5) => e5.clone()) }; }, () => this._set("external", null), { once: true, sync: true })); }); } get hasExtent() { return !this.loaded && r(this.external) && r(this.external.extent) || this.loaded && this.vertexAttributes.position.length > 0 && (!this.components || this.components.length > 0); } get _boundingInfo() { const e5 = this.vertexAttributes.position, t2 = this.spatialReference; if (0 === e5.length || this.components && 0 === this.components.length) return { extent: new w2({ xmin: 0, ymin: 0, zmin: 0, xmax: 0, ymax: 0, zmax: 0, spatialReference: t2 }), center: new w({ x: 0, y: 0, z: 0, spatialReference: t2 }) }; const r5 = r(this.transform) ? this.transform.project(e5, t2) : e5; let o3 = 1 / 0, n4 = 1 / 0, s4 = 1 / 0, a5 = -1 / 0, l6 = -1 / 0, c5 = -1 / 0, p8 = 0, m7 = 0, h5 = 0; const f7 = r5.length, d4 = 1 / (f7 / 3); let x8 = 0; for (; x8 < f7; ) { const e6 = r5[x8++], t3 = r5[x8++], i2 = r5[x8++]; o3 = Math.min(o3, e6), n4 = Math.min(n4, t3), s4 = Math.min(s4, i2), a5 = Math.max(a5, e6), l6 = Math.max(l6, t3), c5 = Math.max(c5, i2), p8 += d4 * e6, m7 += d4 * t3, h5 += d4 * i2; } return { extent: new w2({ xmin: o3, ymin: n4, zmin: s4, xmax: a5, ymax: l6, zmax: c5, spatialReference: t2 }), center: new w({ x: p8, y: m7, z: h5, spatialReference: t2 }) }; } get anchor() { if (r(this.transform)) return this.transform.getOriginPoint(this.spatialReference); const e5 = this._boundingInfo; return new w({ x: e5.center.x, y: e5.center.y, z: e5.extent.zmin, spatialReference: this.spatialReference }); } get origin() { return r(this.transform) ? this.transform.getOriginPoint(this.spatialReference) : this._boundingInfo.center; } get extent() { return !this.loaded && r(this.external) && r(this.external.extent) ? this.external.extent.clone() : this._boundingInfo.extent; } addComponent(e5) { this.loaded ? (this.components || (this.components = []), this.components.push(g5.from(e5)), this.notifyChange("components")) : s.getLogger(this.declaredClass).error("addComponent()", "Mesh must be loaded before applying operations"); } removeComponent(e5) { if (this.loaded) { if (this.components) { const t2 = this.components.indexOf(e5); if (-1 !== t2) return this.components.splice(t2, 1), void this.notifyChange("components"); } s.getLogger(this.declaredClass).error("removeComponent()", "Provided component is not part of the list of components"); } else s.getLogger(this.declaredClass).error("removeComponent()", "Mesh must be loaded before applying operations"); } rotate(e5, t2, r5, o3) { return k(k5.x, e5, D2), k(k5.y, t2, W), k(k5.z, r5, Z2), v2(D2, W, D2), v2(D2, Z2, D2), z2(this, D2, o3), this; } offset(e5, t2, r5, o3) { return this.loaded ? (H[0] = e5, H[1] = t2, H[2] = r5, x5(this, H, o3), this) : (s.getLogger(this.declaredClass).error("offset()", "Mesh must be loaded before applying operations"), this); } scale(e5, t2) { return this.loaded ? (d3(this, e5, t2), this) : (s.getLogger(this.declaredClass).error("scale()", "Mesh must be loaded before applying operations"), this); } centerAt(e5, t2) { return this.loaded ? (c2(this, e5, t2), this) : (s.getLogger(this.declaredClass).error("centerAt()", "Mesh must be loaded before applying operations"), this); } load(e5) { return r(this.external) && this.addResolvingPromise(u2(this, this.external.source, e5)), Promise.resolve(this); } updateExternalSource(e5) { this._set("external", e5); } clone() { let e5 = null; if (this.components) { const t3 = /* @__PURE__ */ new Map(), r5 = /* @__PURE__ */ new Map(); e5 = this.components.map((e6) => e6.cloneWithDeduplication(t3, r5)); } const t2 = { components: e5, spatialReference: this.spatialReference, vertexAttributes: this.vertexAttributes.clone(), transform: r(this.transform) ? this.transform.clone() : null, external: r(this.external) ? { source: this.external.source, extent: r(this.external.extent) ? this.external.extent.clone() : null } : null }; return new G(t2); } vertexAttributesChanged() { this.notifyChange("vertexAttributes"); } async toBinaryGLTF(e5) { const t2 = import("./gltfexport-YWNKMN7W.js"), r5 = this.load(), o3 = await Promise.all([t2, r5]), { toBinaryGLTF: n4 } = o3[0]; return n4(this, e5); } static createBox(e5, t2) { if (!(e5 instanceof w)) return s.getLogger(I2).error(".createBox()", "expected location to be a Point instance"), null; const r5 = new G(A2(c3(), e5, t2)); return t2 && t2.imageFace && "all" !== t2.imageFace ? l4(r5, t2.imageFace) : r5; } static createSphere(e5, t2) { return e5 instanceof w ? new G(A2(f5(t2 && t2.densificationFactor || 0), e5, t2)) : (s.getLogger(I2).error(".createSphere()", "expected location to be a Point instance"), null); } static createCylinder(e5, t2) { return e5 instanceof w ? new G(A2(u3(t2 && t2.densificationFactor || 0), e5, t2)) : (s.getLogger(I2).error(".createCylinder()", "expected location to be a Point instance"), null); } static createPlane(e5, t2) { var _a; if (!(e5 instanceof w)) return s.getLogger(I2).error(".createPlane()", "expected location to be a Point instance"), null; const r5 = (_a = t2 == null ? void 0 : t2.facing) != null ? _a : "up", o3 = h4(r5, t2 == null ? void 0 : t2.size); return new G(A2(p6(r5), e5, { ...t2, size: o3 })); } static createFromPolygon(e5, t2) { var _a; if (!(e5 instanceof v)) return s.getLogger(I2).error(".createFromPolygon()", "expected polygon to be a Polygon instance"), null; const r5 = o2(e5); return new G({ vertexAttributes: new p3({ position: r5.position }), components: [new g5({ faces: r5.faces, shading: "flat", material: (_a = t2 == null ? void 0 : t2.material) != null ? _a : null })], spatialReference: e5.spatialReference }); } static async createFromGLTF(e5, r5, o3) { if (!(e5 instanceof w)) throw s.getLogger(I2).error(".createfromGLTF()", "expected location to be a Point instance"), new s2("invalid-input", "Expected location to be a Point instance"); const { loadGLTFMesh: s4 } = await y(import("./loadGLTFMesh-WBYY2AJJ.js"), o3); return new G(await s4(e5, r5, o3)); } static createWithExternalSource(e5, t2, r5) { var _a, _b, _c, _d; const o3 = (_a = r5 == null ? void 0 : r5.extent) != null ? _a : null, n4 = (_c = (_b = r5 == null ? void 0 : r5.transform) == null ? void 0 : _b.clone()) != null ? _c : new L2(); n4.origin = [e5.x, e5.y, (_d = e5.z) != null ? _d : 0]; const s4 = e5.spatialReference; return new G({ external: { source: t2, extent: o3 }, transform: n4, spatialReference: s4 }); } static createIncomplete(e5, r5) { var _a, _b, _c; const o3 = (_b = (_a = r5 == null ? void 0 : r5.transform) == null ? void 0 : _a.clone()) != null ? _b : new L2(); o3.origin = [e5.x, e5.y, (_c = e5.z) != null ? _c : 0]; const n4 = e5.spatialReference, s4 = new G({ transform: o3, spatialReference: n4 }); return s4.addResolvingPromise(Promise.reject(new s2("mesh-incomplete", "Mesh resources are not complete"))), s4; } }; e([y2({ type: [g5], json: { write: true } })], B.prototype, "components", void 0), e([y2({ type: L2, json: { write: true } })], B.prototype, "transform", void 0), e([y2({ constructOnly: true })], B.prototype, "external", void 0), e([y2({ readOnly: true })], B.prototype, "hasExtent", null), e([y2({ readOnly: true })], B.prototype, "_boundingInfo", null), e([y2({ readOnly: true })], B.prototype, "anchor", null), e([y2({ readOnly: true })], B.prototype, "origin", null), e([y2({ readOnly: true, json: { read: false } })], B.prototype, "extent", null), e([y2({ readOnly: true, json: { read: false, write: true, default: true } })], B.prototype, "hasZ", void 0), e([y2({ readOnly: true, json: { read: false, write: true, default: false } })], B.prototype, "hasM", void 0), e([y2({ type: p3, nonNullable: true, json: { write: true } })], B.prototype, "vertexAttributes", void 0), B = G = e([n(I2)], B); var k5 = { x: r2(1, 0, 0), y: r2(0, 1, 0), z: r2(0, 0, 1) }; var D2 = a2(); var W = a2(); var Z2 = a2(); var H = n2(); var N = B; // node_modules/@arcgis/core/rest/support/meshFeatureSet.js function l5(o3, s4, n4) { const a5 = n4.features; n4.features = [], delete n4.geometryType; const i2 = x4.fromJSON(n4); if (i2.geometryType = "mesh", !n4.assetMaps) return i2; const l6 = E2(s4, n4.assetMaps), m7 = i2.spatialReference, p8 = n4.globalIdFieldName, g9 = t(o3.outFields) || !o3.outFields.length ? () => ({}) : c4(o3.outFields.includes("*") ? null : new Set(o3.outFields)); for (const e5 of a5) { const o4 = f6(e5, p8, m7, s4, l6); r(o4) && i2.features.push(new g4({ geometry: o4, attributes: g9(e5) })); } return i2; } function c4(t2) { return ({ attributes: e5 }) => { if (!e5) return {}; if (!t2) return e5; for (const r5 in e5) t2.has(r5) || delete e5[r5]; return e5; }; } function f6(t2, e5, r5, n4, a5) { const i2 = t2.attributes[e5], u4 = a5.get(i2); if (null == u4 || u4.status === g8.FAILED || null == u4.url) return null; const l6 = m6(t2, r5, n4), c5 = w2.fromJSON(t2.geometry); c5.spatialReference = r5; const f7 = p7(t2.attributes, n4, u4.geographic); return u4.status === g8.PENDING ? N.createIncomplete(l6, { extent: c5, transform: f7 }) : N.createWithExternalSource(l6, [{ name: u4.name, source: u4.url }], { extent: c5, transform: f7 }); } function m6({ attributes: t2 }, e5, { transformFieldRoles: r5 }) { return new w({ x: t2[r5.originX], y: t2[r5.originY], z: t2[r5.originZ], spatialReference: e5 }); } function p7(t2, { transformFieldRoles: e5 }, r5) { return new L2({ translation: [t2[e5.translationX], t2[e5.translationY], t2[e5.translationZ]], rotation: k([t2[e5.rotationX], t2[e5.rotationY], t2[e5.rotationZ]], t2[e5.rotationDeg]), scale: [t2[e5.scaleX], t2[e5.scaleY], t2[e5.scaleZ]], geographic: r5 }); } var g8; function E2(t2, e5) { const r5 = /* @__PURE__ */ new Map(); for (const o3 of e5) { const t3 = o3.parentGlobalId; if (null == t3) continue; const e6 = o3.assetName, s4 = o3.assetURL, n4 = o3.conversionStatus; let a5 = r5.get(t3); if (null != a5) throw new Error("multiple asset parts not expected."); switch (a5 = { name: e6, status: g8.FAILED, url: s4, geographic: D3(o3.flags).projectVertices }, r5.set(t3, a5), n4) { case "COMPLETED": case "SUBMITTED": a5.status = g8.COMPLETED; break; case "INPROGRESS": a5.status = g8.PENDING; break; default: a5.status = g8.FAILED; } } return r5; } function D3(t2) { return { projectVertices: t2.includes("PROJECT_VERTICES") }; } !function(t2) { t2[t2.FAILED = 0] = "FAILED", t2[t2.PENDING = 1] = "PENDING", t2[t2.COMPLETED = 2] = "COMPLETED"; }(g8 || (g8 = {})); export { l5 as meshFeatureSetFromJSON }; //# sourceMappingURL=meshFeatureSet-4HLNQKAX.js.map