{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/geometry/support/meshUtils/loadGLTFMesh.js"],"names":["async","G","t","e","r","o","K","s","model","a","lods","shift","i","Map","u","textures","forEach","set","Q","materials","H","l","P","n","parts","J","position","c","normal","f","tangent","p","color","d","texCoord0","g","vertexAttributes","x","typedBuffer","uv","b","transform","components","spatialReference","resolveFile","busy","request","responseType","signal","data","attributes","count","writeIndex","wrap","Y","parameters","tt","opacity","emissiveFactor","et","colorTexture","textureColor","get","normalTexture","textureNormal","emissiveColor","emissiveTexture","textureEmissive","occlusionTexture","textureOcclusion","alphaMode","X","alphaCutoff","doubleSided","metallic","metallicFactor","roughness","roughnessFactor","metallicRoughnessTexture","textureMetallicRoughness","m","slice","dstIndex","elementCount","fromTypedArray","typedBufferStride","W","indices","primitiveType","length","push","faces","material","clone","trustSourceNormals","horizontal","Z","vertical","$"],"mappings":"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","file":"js/chunk-2d2290bf.524c7138.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.20/esri/copyright.txt for details.\n*/\nimport t from\"../../../Color.js\";import e from\"../../../request.js\";import{unwrap as r,applySome as o,isSome as n}from\"../../../core/maybe.js\";import{a as s}from\"../../../chunks/mat3.js\";import{c as a}from\"../../../chunks/mat3f64.js\";import{f as i}from\"../../../chunks/vec3f64.js\";import{f as u}from\"../../../chunks/vec4f64.js\";import l from\"../MeshComponent.js\";import c from\"../MeshMaterialMetallicRoughness.js\";import f from\"../MeshTexture.js\";import m from\"../MeshVertexAttributes.js\";import{BufferViewVec3f64 as p,BufferViewVec3f as d,BufferViewVec4f as g,BufferViewVec4u8 as x,BufferViewVec2f as b,BufferViewVec4u16 as h,BufferViewVec3u8 as v,BufferViewVec3u16 as w}from\"../buffer/BufferView.js\";import{t as j,a as y,s as C,b as M}from\"../../../chunks/vec32.js\";import{t as A,s as T,a as k}from\"../../../chunks/vec42.js\";import{createBuffer as B}from\"../buffer/utils.js\";import{georeferenceByTransform as F}from\"./georeference.js\";import{DefaultLoadingContext as I}from\"../../../views/3d/glTF/DefaultLoadingContext.js\";import{load as R}from\"../../../views/3d/glTF/loader.js\";import{triangleFanToTriangles as E,triangleStripToTriangles as S,trianglesToTriangles as D}from\"../../../views/3d/glTF/internal/indexUtils.js\";import{generateIndexArray as O}from\"../../../views/3d/webgl-engine/lib/geometryDataUtils.js\";import{COLOR_GAMMA as q}from\"../../../views/3d/webgl-engine/materials/DefaultMaterial_COLOR_GAMMA.js\";import{f as L,c as N}from\"../../../chunks/vec33.js\";import{f as U,c as V}from\"../../../chunks/vec43.js\";import{n as _,f as z}from\"../../../chunks/vec22.js\";async function G(t,e,r){const o=new I(K(r)),s=(await R(o,e,r,!0)).model,a=s.lods.shift(),i=new Map,u=new Map;s.textures.forEach(((t,e)=>i.set(e,Q(t)))),s.materials.forEach(((t,e)=>u.set(e,H(t,i))));const l=P(a);for(const n of a.parts)J(l,n,u);const{position:c,normal:f,tangent:p,color:d,texCoord0:g}=l.vertexAttributes,x={position:c.typedBuffer,normal:n(f)?f.typedBuffer:null,tangent:n(p)?p.typedBuffer:null,uv:n(g)?g.typedBuffer:null,color:n(d)?d.typedBuffer:null},b=F(x,t,r);return{transform:b.transform,components:l.components,spatialReference:t.spatialReference,vertexAttributes:new m({position:b.vertexAttributes.position,normal:b.vertexAttributes.normal,tangent:b.vertexAttributes.tangent,color:x.color,uv:x.uv})}}function K(t){return null!=t&&t.resolveFile?{busy:!1,request:async(r,o,s)=>{const a=t.resolveFile(r),i=\"image\"===o?\"image\":\"binary\"===o?\"array-buffer\":\"json\";return(await e(a,{responseType:i,signal:n(s)?s.signal:null})).data}}:null}function P(t){let e=0;const r={color:!1,tangent:!1,normal:!1,texCoord0:!1};for(const{attributes:{position:o,normal:n,color:s,tangent:a,texCoord0:i}}of t.parts)e+=o.count,n&&(r.normal=!0),s&&(r.color=!0),a&&(r.tangent=!0),i&&(r.texCoord0=!0);return{writeIndex:0,vertexAttributes:{position:B(p,e),normal:r.normal?B(d,e):null,tangent:r.tangent?B(g,e):null,color:r.color?B(x,e):null,texCoord0:r.texCoord0?B(b,e):null},components:[]}}function Q(t){return new f({data:t.data,wrap:Y(t.parameters.wrap)})}function H(e,n){const s=new t(tt(e.color,e.opacity)),a=e.emissiveFactor?new t(et(e.emissiveFactor)):null;return new c({color:s,colorTexture:r(o(e.textureColor,(t=>n.get(t)))),normalTexture:r(o(e.textureNormal,(t=>n.get(t)))),emissiveColor:a,emissiveTexture:r(o(e.textureEmissive,(t=>n.get(t)))),occlusionTexture:r(o(e.textureOcclusion,(t=>n.get(t)))),alphaMode:X(e.alphaMode),alphaCutoff:e.alphaCutoff,doubleSided:e.doubleSided,metallic:e.metallicFactor,roughness:e.roughnessFactor,metallicRoughnessTexture:r(o(e.textureMetallicRoughness,(t=>n.get(t))))})}function J(t,e,r){const{position:o,normal:i,tangent:u,color:c,texCoord0:f}=t.vertexAttributes,m=t.writeIndex,p=e.attributes.position.count;if(j(o.slice(m,p),e.attributes.position,e.transform),n(e.attributes.normal)&&n(i)){const t=s(a(),e.transform);y(i.slice(m,p),e.attributes.normal,t)}else n(i)&&L(i,0,0,1,{dstIndex:m,count:p});if(n(e.attributes.tangent)&&n(u)){const t=s(a(),e.transform);A(u.slice(m,p),e.attributes.tangent,t)}else n(u)&&U(u,0,0,1,1,{dstIndex:m,count:p});if(n(e.attributes.texCoord0)&&n(f)?_(f.slice(m,p),e.attributes.texCoord0):n(f)&&z(f,0,0,{dstIndex:m,count:p}),n(e.attributes.color)&&n(c)){const t=e.attributes.color,r=c.slice(m,p);if(4===t.elementCount)t instanceof g?T(r,t,255):t instanceof x?V(r,t):t instanceof h&&k(r,t,8);else{U(r,255,255,255,255);const e=v.fromTypedArray(r.typedBuffer,r.typedBufferStride);t instanceof d?C(e,t,255):t instanceof v?N(e,t):t instanceof w&&M(e,t,8)}}else n(c)&&U(c.slice(m,p),255,255,255,255);const b=W(e.indices||p,e.primitiveType);if(m)for(let n=0;n