PageSourceSearch

https://rxburnplanner.com/assets/SceneLayerSnappingSourceWorker-C8C1t0Ip.js

js rxburnplanner.com collected 2026-10-05 11:45:53 UTC 3,050 bytes, 1 lines download raw bytes

1import{a7 as E,jT as w,ag as l,a8 as m,jU as y,M as a,aw as v,cy as L,bQ as x,jV as S,jW as $,jX as C,Y as h,bY as I,_ as P,e as V}from"./index-CyVzZKgG.js";import{S as f}from"./Octree-CBNKvqlK.js";import{g as T}from"./edgeProcessing-BNq7QT1u.js";import"./frustum-BR8sgWge.js";import"./BufferView-CNkZu0u3.js";import"./deduplicate-DU1gtGiT.js";import"./Indices-CkHRqWk1.js";import"./InterleavedLayout-CsPXTpIi.js";import"./types-BKo2foNY.js";import"./Normals-BaT8259m.js";const N=1e3;function k(t,s,n){const e=q;E(e,t,.5),w(e,e,s,.5);const d=l(e,t);return m(e,e,n),y(e,d)}const q=a();let g=class{constructor(){this._idToComponent=new Map,this._components=new f(t=>t.bounds),this._edges=new f(t=>t.bounds),this._tmpLineSegment=v(),this._tmpP1=a(),this._tmpP2=a(),this._tmpP3=a(),this.remoteClient=null}async fetchCandidates(t,s){await Promise.resolve(),L(s),await this._ensureEdgeLocations(t,s);const n=[];return this._edges.forEachNeighbor(e=>(this._addCandidates(t,e,n),n.length<N),t.bounds),{result:{candidates:n}}}async _ensureEdgeLocations(t,s){const n=[];if(this._components.forEachNeighbor(o=>{if(o.info==null){const{id:r,uid:i}=o;n.push({id:r,uid:i})}return!0},t.bounds),!n.length)return;const e={components:n},d=await this.remoteClient.invoke("fetchAllEdgeLocations",e,s??{});for(const o of d.components)this._setFetchEdgeLocations(o)}async add(t){const s=new _(t.id,t.bounds);return this._idToComponent.set(s.id,s),this._components.add([s]),{result:{}}}async remove(t){const s=this._idToComponent.get(t.id);if(s){const n=[];
1this._edges.forEachNeighbor(e=>(e.component===s&&n.push(e),!0),s.bounds),this._edges.remove(n),this._components.remove([s]),this._idToComponent.delete(s.id)}return{result:{}}}_setFetchEdgeLocations(t){const s=this._idToComponent.get(t.id);if(s==null||t.uid!==s.uid)return;const n=T.createView(t.locations),e=new Array(n.count),d=a(),o=a();for(let c=0;c<n.count;c++){n.position0.getVec(c,d),n.position1.getVec(c,o);const u=k(d,o,t.origin),j=new A(s,c,u);e[c]=j}this._edges.add(e);const{objectIds:r,origin:i}=t;s.info={locations:n,objectIds:r,origin:i}}_addCandidates(t,s,n){const{info:e}=s.component,{origin:d,objectIds:o}=e,r=e.locations,i=r.position0.getVec(s.index,this._tmpP1),c=r.position1.getVec(s.index,this._tmpP2);m(i,i,d),m(c,c,d);const u=o[r.componentIndex.get(s.index)];this._addEdgeCandidate(t,u,i,c,n),b(t,u,i,n),b(t,u,c,n)}_addEdgeCandidate(t,s,n,e,d){if(!t.returnEdge)return;const o=x(t.bounds,F),r=S(n,e,this._tmpLineSegment),i=$(r,o,this._tmpP3);C(t.bounds,i)&&d.push({type:"edge",objectId:s,target:h(i),distance:l(o,i),start:h(n),end:h(e)})}};g=P([V("esri.views.interactive.snapping.featureSources.sceneLayerSource.SceneLayerSnappingSourceWorker")],g);const H=g;function b(t,s,n,e){t.returnVertex&&C(t.bounds,n)&&e.push({type:"vertex",objectId:s,target:h(n),distance:l(I(t.bounds),n)})}const p=class p{constructor(s,n){this.id=s,this.bounds=n,this.info=null,this.uid=++p.uid}};p.uid=0;let _=p;class A{constructor(s,n,e){this.component=s,this.index=n,this.bounds=e}}const F=a();export{H as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.