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!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};