import{ar as P,gF as R,ey as B,hM as C,cv as S,hN as A,hD as z,bU as D,hO as L}from"./index-b5c8f851.js";import{p as N,m as q,c as G,g as U,a as K}from"./meshFeatureSet-b57dd5d4.js";import{c as F,x as I,L as Q,O as E,i as j,E as V,T as k,u as H}from"./BufferView-db785e2d.js";import{t as J,f as W,i as X,o as M}from"./vec32-567858f4.js";import{n as Y,l as Z,o as ee,f as te,r as re,a as ne,b as v,c as oe,d as se,e as _,g as ae,h as le,i as ie}from"./DefaultMaterial_COLOR_GAMMA-830e6516.js";import{e as ue}from"./types-1305598a.js";import{B as ce}from"./georeference-f533c6ae.js";import{r as fe}from"./resourceUtils-908c2b28.js";import{D as w}from"./enums-bdecffa2.js";import"./MeshGeoreferencedRelativeVertexSpace-7e8894cd.js";import"./MeshLocalVertexSpace-702f1ae9.js";import"./earcut-d423749e.js";import"./Indices-8bd7636c.js";import"./deduplicate-d84e5ef3.js";import"./plane-66dd48d1.js";import"./sphere-5667aa69.js";import"./ByteSizeUnit-d4757d40.js";import"./mat4f64-1413b4a7.js";import"./quatf64-3363c48e.js";import"./triangle-f93283ef.js";import"./lineSegment-95273d56.js";import"./basicInterfaces-11f56cb3.js";import"./VertexAttribute-0e674613.js";import"./External-7e16e2e2.js";import"./spatialReferenceEllipsoidUtils-bc18a3f3.js";import"./quat-59e6d063.js";function me(e,r,t){const i=e.typedBuffer,a=e.typedBufferStride,o=r.typedBuffer,c=r.typedBufferStride,l=t?t.count:r.count;let s=((t==null?void 0:t.dstIndex)??0)*a,f=((t==null?void 0:t.srcIndex)??0)*c;for(let u=0;ul.set(b,Te(x))),o.materials.forEach((x,b)=>s.set(b,ye(x,l)));const f=xe(c);for(const x of f.parts)$e(f,x,s);const{position:u,normal:n,tangent:m,color:p,texCoord0:$}=f.vertexAttributes,h={position:u.typedBuffer,normal:n!=null?n.typedBuffer:null,tangent:m!=null?m.typedBuffer:null,uv:$!=null?$.typedBuffer:null,color:p!=null?p.typedBuffer:null},g=ce(h,e,i);return{transform:g.transform,vertexSpace:g.vertexSpace,components:f.components,spatialReference:e.spatialReference,vertexAttributes:new N({position:g.vertexAttributes.position,normal:g.vertexAttributes.normal,tangent:g.vertexAttributes.tangent,color:h.color,uv:h.uv})}}function de(e){const r=e==null?void 0:e.resolveFile,t=e==null?void 0:e.requestFile;return r||t?{busy:!1,request:async(i,a,o)=>{const c=(r==null?void 0:r(i))??i;if(t){const s=await t(c,a,o==null?void 0:o.signal);if(s!==void 0)return s}return(await P(c,{responseType:a==="image"?"image":a==="binary"?"array-buffer":"json",signal:o!=null?o.signal:null})).data}}:null}function y(e,r){if(e==null)return"-";const t=e.typedBuffer;return`${R(r,t.buffer,()=>r.size)}/${t.byteOffset}/${t.byteLength}`}function ge(e){return e!=null?e.toString():"-"}function xe(e){let r=0;const t={color:!1,tangent:!1,normal:!1,texCoord0:!1},i=new Map,a=new Map,o=[];for(const c of e.parts){const{attributes:{position:l,normal:s,color:f,tangent:u,texCoord0:n}}=c,m=` ${y(l,i)}/ ${y(s,i)}/ ${y(f,i)}/ ${y(u,i)}/ ${y(n,i)}/ ${ge(c.transform)} `;let p=!1;const $=R(a,m,()=>(p=!0,{start:r,length:l.count}));p&&(r+=l.count),s&&(t.normal=!0),f&&(t.color=!0),u&&(t.tangent=!0),n&&(t.texCoord0=!0),o.push({gltf:c,writeVertices:p,region:$})}return{vertexAttributes:{position:T(k,r),normal:t.normal?T(j,r):null,tangent:t.tangent?T(F,r):null,color:t.color?T(I,r):null,texCoord0:t.texCoord0?T(H,r):null},parts:o,components:[]}}function Te(e){return new q({data:(fe(e.data),e.data),wrap:ve(e.parameters.wrap)})}function ye(e,r){const t=new B(we(e.color,e.opacity)),i=e.emissiveFactor?new B(Be(e.emissiveFactor)):null,a=o=>o?new K({scale:o.scale?[o.scale[0],o.scale[1]]:[1,1],rotation:L(o.rotation??0),offset:o.offset?[o.offset[0],o.offset[1]]:[0,0]}):null;return new G({color:t,colorTexture:r.get(e.textureColor),normalTexture:r.get(e.textureNormal),emissiveColor:i,emissiveTexture:r.get(e.textureEmissive),occlusionTexture:r.get(e.textureOcclusion),alphaMode:be(e.alphaMode),alphaCutoff:e.alphaCutoff,doubleSided:e.doubleSided,metallic:e.metallicFactor,roughness:e.roughnessFactor,metallicRoughnessTexture:r.get(e.textureMetallicRoughness),colorTextureTransform:a(e.colorTextureTransform),normalTextureTransform:a(e.normalTextureTransform),occlusionTextureTransform:a(e.occlusionTextureTransform),emissiveTextureTransform:a(e.emissiveTextureTransform),metallicRoughnessTextureTransform:a(e.metallicRoughnessTextureTransform)})}function $e(e,r,t){r.writeVertices&&he(e,r);const{indices:i,attributes:a,primitiveType:o,material:c}=r.gltf;let l=ee(i||a.position.count,o);const s=r.region.start;if(s){const f=new Uint32Array(l);for(let u=0;u