Files
ADHA_mobile_project/assets/ElevationSamplerWorker-1eb4370f.js
T
2024-02-28 17:06:42 +05:00

2 lines
1.9 KiB
JavaScript

import{c8 as m,Y as l}from"./index-b5c8f851.js";import{q as h}from"./georeference-f533c6ae.js";import"./mat4f64-1413b4a7.js";import"./spatialReferenceEllipsoidUtils-bc18a3f3.js";import"./MeshLocalVertexSpace-702f1ae9.js";import"./MeshGeoreferencedRelativeVertexSpace-7e8894cd.js";import"./quat-59e6d063.js";import"./quatf64-3363c48e.js";import"./vec32-567858f4.js";import"./BufferView-db785e2d.js";class y{async createIndex(t,r){var c;const o=new Array;if(!((c=t.vertexAttributes)!=null&&c.position))return new m;const a=this._createMeshData(t),n=r!=null?await r.invoke("createIndexThread",a,{transferList:o}):this.createIndexThread(a).result;return this._createPooledRBush().fromJSON(n)}createIndexThread(t){const r=new Float64Array(t.position),o=this._createPooledRBush();return t.components?this._createIndexComponentsThread(o,r,t.components.map(a=>new Uint32Array(a))):this._createIndexAllThread(o,r)}_createIndexAllThread(t,r){const o=new Array(r.length/9);let a=0;for(let n=0;n<r.length;n+=9)o[a++]=p(r,n,n+3,n+6);return t.load(o),{result:t.toJSON()}}_createIndexComponentsThread(t,r,o){let a=0;for(const s of o)a+=s.length/3;const n=new Array(a);let c=0;for(const s of o)for(let i=0;i<s.length;i+=3)n[c++]=p(r,3*s[i],3*s[i+1],3*s[i+2]);return t.load(n),{result:t.toJSON()}}_createMeshData(t){const r=(t.vertexSpace.isRelative?h({position:t.vertexAttributes.position,normal:null,tangent:null},t.vertexSpace,t.transform,t.spatialReference).position:t.vertexAttributes.position).buffer;return!t.components||t.components.some(o=>!o.faces)?{position:r}:{position:r,components:t.components.map(o=>o.faces)}}_createPooledRBush(){return new m(9,l("esri-csp-restrictions")?t=>t:[".minX",".minY",".maxX",".maxY"])}}function p(e,t,r,o){return{minX:Math.min(e[t],e[r],e[o]),maxX:Math.max(e[t],e[r],e[o]),minY:Math.min(e[t+1],e[r+1],e[o+1]),maxY:Math.max(e[t+1],e[r+1],e[o+1]),p0:[e[t],e[t+1],e[t+2]],p1:[e[r],e[r+1],e[r+2]],p2:[e[o],e[o+1],e[o+2]]}}export{y as default};