PageSourceSearch

https://www.syn.is/_next/static/chunks/9071.77f28bee662f2337.js

js syn.is collected 2026-09-24 09:43:56 UTC 36,347 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9071],{2620:(e,t,i)=>{i.d(t,{L:()=>el});var s,n=i(84533),r=i(1186),a=i(16682),h=i(49239),l=i(18652),o=i(56098),d=i(89875);i(2232),i(82492);var c=i(38820),_=i(50047),u=i(49118),g=i(5936),f=i(10439),p=i(21587),m=i(4371),y=i(34049),I=i(93596),v=i(58513),A=i(78564),R=i(36987);class T{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far))}within(e){return this.near<=e&&e<=this.far}}T.zero=new T(0,0);var S=i(39556),E=i(41234),L=i(29728),b=i(80676),x=i(16246),C=i(7642),M=i(16461),O=i(36556),D=i(30632),w=i(25173),F=i(47608),N=i(58572),H=i(80620),z=i(24673);class U{constructor(e,t,i){this._elementSize=t,this._buffer=H.g.createVertex(e,z._U.STATIC_DRAW),this.resize(i)}destroy(){this._buffer.dispose()}get elementSize(){return this._elementSize}get capacity(){return this._capacity}get array(){return this._array}get buffer(){return this._buffer}get usedMemory(){return this._array.byteLength+this._buffer.usedMemory}copyRange(e,t,i,s=0){let n=new Uint8Array(this.array,e*this.elementSize,(t-e)*this.elementSize);new Uint8Array(i.array,s*this.elementSize).set(n)}transferAll(){this._buffer.setData(this._array)}transferRange(e,t){let i=e*this._elementSize,s=t*this._elementSize;this._buffer.setSubData(new Uint8Array(this._array),i,i,s)}resize(e){let t=e*this._elementSize,i=new ArrayBuffer(t);this._array&&(e>=this._capacity?new Uint8Array(i).set(new Uint8Array(this._array)):new Uint8Array(i).set(new Uint8Array(this._array).subarray(0,e*this._elementSize))),this._array=i,this._buffer.setSize(t),this._capacity=e}}class B{constructor(e){this.modelOriginHi=e.getField(x.r.INSTANCEMODELORIGINHI,F.xs),this.modelOriginLo=e.getField(x.r.INSTANCEMODELORIGINLO,F.xs),this.model=e.getField(x.r.INSTANCEMODEL,F.jZ),this.modelNormal=e.getField(x.r.INSTANCEMODELNORMAL,F.jZ),this.featureAttribute=e.getField(x.r.INSTANCEFEATUREATTRIBUTE,F.Eq),this.color=e.getField(x.r.INSTANCECOLOR,F.XP),this.objectAndLayerIdColor=e.getField(x.r.INSTANCEOBJECTANDLAYERIDCOLOR,F.XP)}}class V{constructor(e,t){this._rctx=e,this._instanceBufferLayout=t,this._headIndex=0,this._tailIndex=0,this._firstIndex=null,this._captureFirstIndex=!0,this._updating=!1,this._prevHeadIndex=0,this._resized=!1,this._capacity=1}destroy(){this._buffer&&this._buffer.destroy()}get buffer(){return this._buffer.buffer}get view(){return this._view}get capacity(){return this._capacity}get size(){let e=this._headIndex,t=this._tailIndex;return e>=t?e-t:e+this._capacity-t}get isEmpty(){return this._headIndex===this._tailIndex}get isFull(){return this._tailIndex===(this._headIndex+1)%this._capacity}get headIndex(){return this._headIndex}get tailIndex(){return this._tailIndex}get firstIndex(){return this._firstIndex}get usedMemory(){return this._buffer?.usedMemory??0}reset(){this._headIndex=0,this._tailIndex=0,this._firstIndex=null}startUpdateCycle(){this._captureFirstIndex=!0}beginUpdate(){(0,b.vA)(!this._updating,"already updating"),this._updating=!0,this._prevHeadIndex=this._headIndex}endUpdate(){(0,b.vA)(this._updating,"not updating"),this.size<r.$U*this.capacity&&this._shrink(),this._resized?(this._buffer.transferAll(),this._resized=!1):this._transferRange(this._prevHeadIndex,this._headIndex),this._updating=!1}allocateHead(){(0,b.vA)(this._updating,"not updating"),this.isFull&&this._grow();let e=this.headIndex;return this._captureFirstIndex&&(this._firstIndex=e,this._captureFirstIndex=!1),this._incrementHead(),(0,b.vA)(this._headIndex!==this._tailIndex,"invalid pointers"),e}freeTail(){(0,b.vA)(this._updating,"not updating"),(0,b.vA)(this.size>0,"invalid size");let e=this._tailIndex===this._firstIndex;this._incrementTail(),e&&(this._firstIndex=this._tailIndex)}_grow(){let e=Math.max(P,Math.floor(this._capacity*r.Ji));this._resize(e)}_shrink(){let e=Math.max(P,Math.floor(this._capacity*r.He));this._resize(e)}_resize(e){if((0,b.vA)(this._updating,"not updating"),e===this._capacity)return;let t=new U(this._rctx,this._instanceBufferLayout.stride,e);if(this._buffer){this._firstIndex&&(this._firstIndex=(this._firstIndex+this._capacity-this._tailIndex)%this._capacity);let e=this.size,i=this._compactInstances(t);
1(0,b.vA)(i===e,"invalid compaction"),this._buffer.destroy(),this._tailIndex=0,this._headIndex=i,this._prevHeadIndex=0}this._resized=!0,this._capacity=e,this._buffer=t,this._view=new B(this._instanceBufferLayout.createView(this._buffer.array))}_compactInstances(e){let t=this._headIndex,i=this._tailIndex;return i<t?(this._buffer.copyRange(i,t,e),t-i):i>t?(this._buffer.copyRange(i,this._capacity,e),t>0&&this._buffer.copyRange(0,t,e,this._capacity-i),t+(this._capacity-i)):0}_incrementHead(e=1){this._headIndex=(this._headIndex+e)%this._capacity}_incrementTail(e=1){this._tailIndex=(this._tailIndex+e)%this._capacity}_transferRange(e,t){e<t?this._buffer.transferRange(e,t):e>t&&(t>0&&this._buffer.transferRange(0,t),this._buffer.transferRange(e,this._capacity))}}let P=64;!function(e){e[e.ALLOCATED=1]="ALLOCATED",e[e.DEFAULT_ACTIVE=2]="DEFAULT_ACTIVE",e[e.VISIBLE=4]="VISIBLE",e[e.HIGHLIGHT=8]="HIGHLIGHT",e[e.HIGHLIGHT_ACTIVE=16]="HIGHLIGHT_ACTIVE",e[e.REMOVE=32]="REMOVE",e[e.TRANSFORM_CHANGED=64]="TRANSFORM_CHANGED",e[e.ACTIVE=18]="ACTIVE"}(s||(s={}));class G{constructor(e){this.localTransform=e.getField(x.r.LOCALTRANSFORM,F.E$),this.globalTransform=e.getField(x.r.GLOBALTRANSFORM,F.E$),this.modelOrigin=e.getField(x.r.MODELORIGIN,F.Xm),this.model=e.getField(x.r.INSTANCEMODEL,F.jZ),this.modelNormal=e.getField(x.r.INSTANCEMODELNORMAL,F.jZ),this.modelScaleFactors=e.getField(x.r.MODELSCALEFACTORS,F.gH),this.boundingSphere=e.getField(x.r.BOUNDINGSPHERE,F.Aj),this.featureAttribute=e.getField(x.r.FEATUREATTRIBUTE,F.Eq),this.color=e.getField(x.r.COLOR,F.XP),this.objectAndLayerIdColor=e.getField(x.r.OBJECTANDLAYERIDCOLOR,F.XP),this.state=e.getField(x.r.STATE,F.SL),this.lodLevel=e.getField(x.r.LODLEVEL,F.SL)}}let W=class extends C.A{constructor(e,t){super(e),this.events=new M.A,this._capacity=0,this._size=0,this._next=0,this._highlightOptionsMap=new Map,this._highlightOptionsMapPrev=new Map,this._layout=function(e){let t=(0,y.BP)().mat4f64(x.r.LOCALTRANSFORM).mat4f64(x.r.GLOBALTRANSFORM).vec4f64(x.r.BOUNDINGSPHERE).vec3f64(x.r.MODELORIGIN).mat3f(x.r.INSTANCEMODEL).mat3f(x.r.INSTANCEMODELNORMAL).vec2f(x.r.MODELSCALEFACTORS);return e.includes(x.r.FEATUREATTRIBUTE)&&(t=t.vec4f(x.r.FEATUREATTRIBUTE)),e.includes(x.r.COLOR)&&(t=t.vec4u8(x.r.COLOR)),e.includes(x.r.OBJECTANDLAYERIDCOLOR)&&(t=t.vec4u8(x.r.OBJECTANDLAYERIDCOLOR)),t=t.u8(x.r.STATE).u8(x.r.LODLEVEL)}(t),this._capacity=P,this._buffer=this._layout.createBuffer(this._capacity),this._view=new G(this._buffer)}get capacity(){return this._capacity}get size(){return this._size}get view(){return this._view}addInstance(){this._size+1>this._capacity&&this._grow();let e=this._findSlot();return this._view.state.set(e,s.ALLOCATED),this._size++,this.events.emit("instances-changed"),e}removeInstance(e){let t=this._view.state;(0,b.vA)(e>=0&&e<this._capacity&&!!(t.get(e)&s.ALLOCATED),"invalid instance handle"),this._getStateFlag(e,s.ACTIVE)?this._setStateFlags(e,s.REMOVE):this.freeInstance(e),this.events.emit("instances-changed")}freeInstance(e){let t=this._view.state;(0,b.vA)(e>=0&&e<this._capacity&&!!(t.get(e)&s.ALLOCATED),"invalid instance handle"),t.set(e,0),this._size--}setLocalTransform(e,t,i=!0){this._view.localTransform.setMat(e,t),i&&this.updateModelTransform(e)}getLocalTransform(e,t){this._view.localTransform.getMat(e,t)}setGlobalTransform(e,t,i=!0){this._view.globalTransform.setMat(e,t),i&&this.updateModelTransform(e)}getGlobalTransform(e,t){this._view.globalTransform.getMat(e,t)}updateModelTransform(e){let t=this._view;t.localTransform.getMat(e,q),t.globalTransform.getMat(e,j);let i=(0,w.lw)(j,j,q);(0,u.i)(k,i[12],i[13],i[14]),t.modelOrigin.setVec(e,k),(0,O.z0)(Z,i),t.model.setMat(e,Z);let n=(0,N.wp)(k,i);n.sort(),t.modelScaleFactors.set(e,0,n[1]),t.modelScaleFactors.set(e,1,n[2]),(0,O.B8)(Z,Z),(0,O.mg)(Z,Z),t.modelNormal.setMat(e,Z),this._setStateFlags(e,s.TRANSFORM_CHANGED),this.events.emit("instance-transform-changed",{index:e})}getModelTransform(e,t){let i=this._view;i.model.getMat(e,Z),i.modelOrigin.getVec(e,k),t[0]=Z[0],t[1]=Z[1],t[2]=Z[2],t[3]=0,t[4]=Z[3],t[5]=Z[4],t[6]=Z[5],t[7]=0,t[8]=Z[6],t[9]=Z[7],t[10]=Z[8],t[11]=0,t[12]=k[0],t[13]=k[1],t[14]=k[2],t[15]=1}applyShaderTransformation(e,t){null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedModelTransform(e,t){return this.getModelTransform(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t),t}getCombinedLocalTransform(e,t){this._view.localTransform.getMat(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedMaxScaleFactor(e){let t=this._view.modelScaleFactors.get(e,1);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(k,this,e),t*=Math.max(k[0],k[1],k[2])),t}getCombinedMedianScaleFactor(e){var t,i;let s=this._view.modelScaleFactors.get(e,0);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(k,this,e),s*=(t=k[0],i=k[1],Math.max(Math.min(t,i),Math.min(Math.max(t,i),k[2])))),s}getModel(e,t){this._view.model.getMat(e,t)}setFeatureAttribute(e,t){this._view.featureAttribute.setVec(e,t)}getFeatureAttribute(e,t){this._view.featureAttribute.getVec(e,t)}setColor(e,t){this._view.color.setVec(e,t)}setObjectAndLayerIdColor(e,t){this._view.objectAndLayerIdColor.setVec(e,t)}setVisible(e,t){t!==this.getVisible(e)&&(this._setStateFlag(e,s.VISIBLE,t),this.events.emit("instance-visibility-changed",{index:e}))}getVisible(e){return this._getStateFlag(e,s.VISIBLE)}setHighlight(e,t){let{_highlightOptionsMap:i}=this,n=i.get(e);t?t!==n&&(i.set(e,t),this._setStateFlag(e,s.HIGHLIGHT,!0),this.events.emit("instance-highlight-changed")):n&&(i.delete(e),this._setStateFlag(e,s.HIGHLIGHT,!1),this.events.emit("instance-highlight-changed"))}get highlightOptionsMap(){return this._highlightOptionsMap}getHighlightStateFlag(e){return this._getStateFlag(e,s.HIGHLIGHT)}geHighlightOptionsPrev(e){let t=this._highlightOptionsMapPrev.get(e)??null;return this._highlightOptionsMapPrev.delete(e),t}getHighlightName(e){let t=this.highlightOptionsMap.get(e)??null;return t?this._highlightOptionsMapPrev.set(e,t):this._highlightOptionsMapPrev.delete(e),t}getState(e){return this._view.state.get(e)}getLodLevel(e){return this._view.lodLevel.get(e)}countFlags(e){let t=0;for(let i=0;i<this._capacity;++i)this.getState(i)&e&&++t;return t}_setStateFlags(e,t){let i=this._view.state;t=i.get(e)|t,i.set(e,t)}_clearStateFlags(e,t){let i=this._view.state;t=i.get(e)&~t,i.set(e,t)}_setStateFlag(e,t,i){i?this._setStateFlags(e,t):this._clearStateFlags(e,t)}_getStateFlag(e,t){return!!(this._view.state.get(e)&t)}_grow(){this._capacity=Math.max(P,Math.floor(this._capacity*r.Ji)),this._buffer=this._layout.createBuffer(this._capacity).copyFrom(this._buffer),this._view=new G(this._buffer)}_findSlot(){let e=this._view.state,t=this._next;for(;e.get(t)&s.ALLOCATED;)t=t+1===this._capacity?0:t+1;return this._next=t+1===this._capacity?0:t+1,t}};(0,n._)([(0,d.MZ)({constructOnly:!0})],W.prototype,"shaderTransformation",void 0),(0,n._)([(0,d.MZ)()],W.prototype,"_size",void 0),(0,n._)([(0,d.MZ)({readOnly:!0})],W.prototype,"size",null),W=(0,n._)([(0,c.$)("esri.views.3d.webgl-engine.lib.lodRendering.InstanceData")],W);let k=(0,g.vt)(),Z=(0,D.vt)(),q=(0,_.vt)(),j=(0,_.vt)();var X=i(74199);
1class Y extends E.A{constructor(e,t){super(e=>(0,X.w)(this._instanceData.view.boundingSphere.getVec(e,this._tmpSphere)),{maximumDepth:25}),this._instanceData=e,this._boundingSphere=t,this._tmpSphere=(0,X.c)(),this._tmpMat4=(0,_.vt)()}addInstance(e){let t=this._instanceData.view.boundingSphere,i=this._instanceData.getCombinedModelTransform(e,this._tmpMat4);(0,u.t)((0,X.a)(this._tmpSphere),this._boundingSphere.center,i),this._tmpSphere[3]=this._boundingSphere.radius*(0,N.hG)(i),t.setVec(e,this._tmpSphere),this.add([e])}removeInstance(e){this.remove([e])}}class J{constructor(e,t){this._worldSpaceRadius=e,this._minScreenSpaceRadii=t}selectLevel(e,t,i){let s=i.computeScreenPixelSizeAt(e),n=this._worldSpaceRadius*t/s,r=0;for(let e=1;e<this._minScreenSpaceRadii.length;++e)n>=this._minScreenSpaceRadii[e]&&(r=e);return r}}var $=i(20084),K=i(73267),Q=i(67376);class ee{constructor(e,t){let i=e.renderContext.rctx,s=t.geometry,n=t.geometry.getRenderGeometry(),r=n.material;this._materials=e.materials,r.setParameters({instancedDoublePrecision:!0}),this.geometry=s,this.material=r,this.glMaterials=new K.c(r,this._materials),this.vertexBufferLayout=n.vertexBufferLayout,this.vbo=H.g.createVertex(i,z._U.STATIC_DRAW,n.buffer),this.vao=new Q.Z(i,R.D,new Map([["geometry",(0,m.U)(n.vertexBufferLayout)]]),new Map([["geometry",this.vbo]])),this.vertexCount=n.elementCount}destroy(){this.glMaterials.dispose(),this.vbo.dispose(),this.vao.dispose()}get boundingInfo(){return this.geometry.boundingInfo}get triangleCount(){return this.vertexCount/3}get usedMemory(){return 128+this.vbo.usedMemory+this.vao.usedMemory}intersect(e,t,i,s,n,r,a,h){return this.geometry.intersect(e,t,i,s,n,r,a,h)}}class et{static async create(e,t,i){let s=await Promise.allSettled(t.components.map(t=>e.controller.schedule(()=>new ee(e,t),i))),n=s.map(e=>"fulfilled"===e.status?e.value:null).filter(r.Ru);if((0,o.G4)(i)||n.length!==s.length){for(let e of(n.forEach(e=>e.destroy()),(0,o.Te)(i),s))if("rejected"===e.status)throw e.reason}return new et(t.minScreenSpaceRadius,n)}constructor(e,t){this.minScreenSpaceRadius=e,this.components=t}destroy(){this.components.forEach(e=>e.destroy())}intersect(e,t,i,s,n,r,a){this.components.forEach(h=>h.intersect(e,t,i,s,n,r,this.boundingSphere,a))}get boundingBox(){if(null==this._boundingBox){let e=(0,$.Ie)();this.components.forEach(t=>{null!=t.boundingInfo&&((0,$.iT)(e,t.boundingInfo.bbMin),(0,$.iT)(e,t.boundingInfo.bbMax))}),this._boundingBox=e}return this._boundingBox}get boundingSphere(){if(null==this._boundingSphere){let e=this.boundingBox,t=(0,g.vt)();(0,$.gX)(e,t),this._boundingSphere={center:t,radius:.5*(0,$._F)(e)}}return this._boundingSphere}get triangleCount(){return this.components.reduce((e,t)=>e+t.triangleCount,0)}}var ei=i(54598),es=i(23183),en=i(15937),er=i(2739),ea=i(34396),eh=i(73789);let el=class extends A.Cc{constructor(e,t){super(e),this.type=S.dz.LOD,this.isGround=!1,this._levels=[],this._defaultRenderInstanceData=[],this._highlightRenderInstanceDataMap=new Map,this._instanceIndex=0,this._cycleStartIndex=0,this._slicePlane=!1,this._camera=new I.A,this._updateCyclesWithStaticCamera=-1,this._needFullCycle=!1,this.produces=new Map([[L.N.OPAQUE_MATERIAL,e=>this._produces(e)],[L.N.TRANSPARENT_MATERIAL,e=>!!this._hasTransparentLevels()&&this._produces(e)]]),this._instanceData=new W({shaderTransformation:e.shaderTransformation},e.optionalFields),this.addHandles(t.registerTask(ea.W6.LOD_RENDERER,this))}initialize(){var e;let t;this._instanceBufferLayout=(e=this.optionalFields,t=(0,y.BP)().vec3f(x.r.INSTANCEMODELORIGINHI).vec3f(x.r.INSTANCEMODELORIGINLO).mat3f(x.r.INSTANCEMODEL).mat3f(x.r.INSTANCEMODELNORMAL),null!=e&&e.includes("featureAttribute")&&(t=t.vec4f(x.r.INSTANCEFEATUREATTRIBUTE)),null!=e&&e.includes("color")&&(t=t.vec4u8(x.r.INSTANCECOLOR)),null!=e&&e.includes("objectAndLayerIdColor")&&(t=t.vec4u8(x.r.INSTANCEOBJECTANDLAYERIDCOLOR)),t),this._glInstanceBufferLayout=(0,m.U)(this._instanceBufferLayout,1),this.addHandles([this._instanceData.events.on("instances-changed",()=>this._requestUpdateCycle()),this._instanceData.events.on("instance-transform-changed",({index:e})=>
1{this._requestUpdateCycle(),this.metadata.notifyGraphicGeometryChanged(e)}),this._instanceData.events.on("instance-visibility-changed",({index:e})=>{this._requestUpdateCycle(!0),this.metadata.notifyGraphicVisibilityChanged(e)}),this._instanceData.events.on("instance-highlight-changed",()=>this._requestUpdateCycle(!0))])}get _allRenderInstanceData(){let e=[this._defaultRenderInstanceData];for(let t of this._highlightRenderInstanceDataMap)e.push(t[1]);return e}get _allRenderInstanceDataExceptHighlightShadow(){let e=[this._defaultRenderInstanceData];for(let t of this._highlightRenderInstanceDataMap)t[0]!==er.Tv&&e.push(t[1]);return e}hasHighlightOptions(e){return this._highlightRenderInstanceDataMap.has(e)}get _enableLevelSelection(){return this.symbol.levels.length>1}get levels(){return this._levels}get baseBoundingBox(){return this._levels[this._levels.length-1].boundingBox}get baseBoundingSphere(){return this._levels[this._levels.length-1].boundingSphere}get baseMaterial(){return this._levels[this._levels.length-1].components[0].material}get slicePlaneEnabled(){return this._slicePlane}set slicePlaneEnabled(e){this._slicePlane=e}get layerUid(){return this.metadata.layerUid}get instanceData(){return this._instanceData}get hasEmissions(){return this._levels.some(e=>e.components.some(e=>e.material.hasEmissions))}get usedMemory(){return this._allRenderInstanceData.reduce((e,t)=>t.reduce((e,t)=>e+t.usedMemory,e),this._levels.reduce((e,t)=>e+t.components.reduce((e,t)=>e+t.usedMemory,0),0))}get renderStats(){let e=this._instanceData.size,t=[];return this._levels.forEach((e,i)=>{let s=this._allRenderInstanceData[0][i].size+this._allRenderInstanceData[1][i].size,n=e.triangleCount;t.push({renderedInstances:s,renderedTriangles:s*n,trianglesPerInstance:n})}),{totalInstances:e,renderedInstances:t.reduce((e,t)=>e+t.renderedInstances,0),renderedTriangles:t.reduce((e,t)=>e+t.renderedTriangles,0),levels:t}}_createRenderInstanceDataArray(e=[]){let{rctx:t}=this._context.renderContext;return this.symbol.levels.map(i=>{e.push(new V(t,this._instanceBufferLayout))}),e}async initializeRenderContext(e,t){var i;this._context=e,this._createRenderInstanceDataArray(this._defaultRenderInstanceData);let s=await Promise.allSettled(this.symbol.levels.map(i=>et.create(e,i,t))),n=s.map(e=>"fulfilled"===e.status?e.value:null).filter(r.Ru);if((0,o.G4)(t)||n.length!==s.length){for(let e of(n.forEach(e=>e.destroy()),(0,o.Te)(t),s))if("rejected"===e.status)throw e.reason}this._levels=n,this._levelSelector=(i=this,new J(i.baseBoundingSphere.radius,i.levels.map(e=>e.minScreenSpaceRadius)))}uninitializeRenderContext(){this._invalidateOctree(),this._levels.forEach(e=>e.destroy()),this._defaultRenderInstanceData.forEach(e=>e.destroy()),this._highlightRenderInstanceDataMap.forEach(e=>e.forEach(e=>e.destroy()))}_hasTransparentLevels(){return this._levels.some(e=>e.components.some(e=>{let t=e.material.produces.get(L.N.TRANSPARENT_MATERIAL);return t?.(v.V.Color)}))}hasHighlights(){return(0,h.Bs)(this._highlightRenderInstanceDataMap,e=>e.some(e=>e.size>0))}_produces(e){return(e!==v.V.Highlight||this.hasHighlights())&&(e!==v.V.ShadowHighlight||this.hasHighlightOptions(er.Tv))}prepareRender(e){if(!p.b.LOD_INSTANCE_RENDERER_DISABLE_UPDATES){if(this._enableLevelSelection){let t=e.bind.contentCamera.equals(this._camera);this._camera.copyFrom(e.bind.contentCamera),t||this._requestUpdateCycle()}this._needFullCycle&&(this.runTask(ea.Bb),this._needFullCycle=!1)}}acquireTechniques(e){if(!this.baseMaterial.visible||!this.baseMaterial.isVisibleForOutput(e.output))return null;let t=this._getInstanceDatas(e);if(!t)return null;let i=[],s=this.levels;return t.forEach(t=>s.forEach(({components:s},n)=>s.forEach(s=>i.push(this._beginComponent(e,t[n],s))))),i}render(e,t){let i=this._getInstanceDatas(e);if(!i||null==t)return;let s=0;e.rctx.bindVAO();let n=this.levels;i.forEach(i=>n.forEach(({components:n},r)=>n.forEach(n=>this._renderComponent(e,t[s++],i[r],n,r))))}_getInstanceDatas(e){let{output:t,bind:i}=e,s=t===v.V.Highlight,n=t===v.V.ShadowHighlight,r=t!==v.V.ShadowExcludeHighlight;if(!s&&!n)return r?this._allRenderInstanceData:this._allRenderInstanceDataExceptHighlightShadow;if(r){if(s){let e=i.highlight?.name;if(!e)return null;let t=this._highlightRenderInstanceDataMap.get(e);return t?[t]:null}let e=this._highlightRenderInstanceDataMap.get(er.Tv);return n?e?[e]:null:Array.from(this._highlightRenderInstanceDataMap.values())}return null}intersect(e,t,i,n){if(!this.baseMaterial.visible||null==this._octree)return;let r=(0,g.vt)();(0,u.d)(r,n,i);let a=r=>{this._instanceData.getCombinedModelTransform(r,e_),e.transform.set(e_),(0,u.t)(eu,i,e.transform.inverse),(0,u.t)(eg,n,e.transform.inverse);
1let a=this._instanceData.getState(r),h=this._instanceData.getLodLevel(r),l=this._levels.length;(0,b.vA)(!!(a&s.ACTIVE),"invalid instance state"),(0,b.vA)(h>=0&&h<l,"invaid lod level"),this._levels[h].intersect(e,t,eu,eg,r,this.metadata,l)};this.baseMaterial.parameters.verticalOffset?this._octree.forEach(a):this._octree.forEachAlongRay(i,r,a)}notifyShaderTransformationChanged(){this._invalidateOctree(),this._requestUpdateCycle()}get _octree(){if(null==this._octreeCached){let e=this._instanceData,t=e.view?.state;if(!t)return null;this._octreeCached=new Y(e,this.baseBoundingSphere);for(let i=0;i<e.capacity;++i)t.get(i)&s.ACTIVE&&this._octreeCached.addInstance(i)}return this._octreeCached}_invalidateOctree(){this._octreeCached=(0,l.pR)(this._octreeCached)}queryDepthRange(e){if(null==this._octree)return new T;let t=e.viewForward,i=this._octree.findClosest(t,E.A.DepthOrder.FRONT_TO_BACK,e.frustum),s=this._octree.findClosest(t,E.A.DepthOrder.BACK_TO_FRONT,e.frustum);if(null==i||null==s)return new T;let n=e.eye,r=this._instanceData.view;r.boundingSphere.getVec(i,ec),(0,u.d)(ec,ec,n);let a=(0,u.f)(ec,t)-ec[3];return r.boundingSphere.getVec(s,ec),(0,u.d)(ec,ec,n),new T(a,(0,u.f)(ec,t)+ec[3])}_requestUpdateCycle(e=!1){this._updateCyclesWithStaticCamera=-1,this._cycleStartIndex=this._instanceIndex,e&&(this._needFullCycle=!0,this._context.requestRender())}
1_startUpdateCycle(){this._updateCyclesWithStaticCamera++,this._allRenderInstanceData.forEach(e=>e.forEach(e=>e.startUpdateCycle()))}get running(){return this._instanceData.size>0&&this._updateCyclesWithStaticCamera<1}runTask(e){let{_enableLevelSelection:t,_camera:i,_levelSelector:n}=this;this._allRenderInstanceData.forEach(e=>e.forEach(e=>e.beginUpdate()));let r=this._instanceData,l=r.view,o=r.size,d=r.capacity,c=this._instanceIndex,_=Math.ceil(d/500);for(let u=0;u<o&&!e.done;++u){c===this._cycleStartIndex&&this._startUpdateCycle();let u=l.state.get(c),g=0;if(!(u&s.ALLOCATED)){c=c+1===d?0:c+1,o++;continue}let f=l.lodLevel.get(c);if(u&s.DEFAULT_ACTIVE&&this._defaultRenderInstanceData[f].freeTail(),u&s.HIGHLIGHT_ACTIVE){let e=r.geHighlightOptionsPrev(c);if(e){let t=this._highlightRenderInstanceDataMap.get(e);if(!t)throw new a.A("Internal error in lodRenderer");t[f].freeTail()}}if(u&s.REMOVE)r.freeInstance(c);else if(u&s.VISIBLE){let e=0;if(t&&(l.modelOrigin.getVec(c,ed),e=n.selectLevel(ed,r.getCombinedMedianScaleFactor(c),i)),g=u&~(s.ACTIVE|s.TRANSFORM_CHANGED),e>=0)if(u&s.HIGHLIGHT){let t=r.getHighlightName(c);if(t){let i=()=>{let e=this._createRenderInstanceDataArray();return e.forEach(e=>e.beginUpdate()),e},s=(0,h.tE)(this._highlightRenderInstanceDataMap,t,i);if(e>=s.length)throw new a.A(`LodRenderer internal error - missing lodLevel ${e}`);eo(s[e],l,c)}g|=s.HIGHLIGHT_ACTIVE}else eo(this._defaultRenderInstanceData[e],l,c),g|=s.DEFAULT_ACTIVE;l.state.set(c,g),l.lodLevel.set(c,e)}else g=u&~(s.ACTIVE|s.TRANSFORM_CHANGED),l.state.set(c,g);if(null!=this._octreeCached){let e=!!(u&s.ACTIVE),t=!!(g&s.ACTIVE);!e&&t?this._octreeCached.addInstance(c):e&&!t?this._octreeCached.removeInstance(c):e&&t&&u&s.TRANSFORM_CHANGED&&(this._octreeCached.removeInstance(c),this._octreeCached.addInstance(c))}(c=c+1===d?0:c+1)%_==0&&e.madeProgress()}this._instanceIndex=c,this._allRenderInstanceData.forEach(e=>e.forEach(e=>e.endUpdate())),this._context.requestRender()}_beginComponent(e,t,i){if(0===t.size)return null;let s=i.glMaterials.load(e.rctx,e.bind.slot,e.output);return s?.beginSlot(e.bind)}_renderComponent(e,t,i,s,n){if(!t)return;let{bind:r,rctx:a}=e;a.runAppleAmdDriverHelper();let h=a.bindTechnique(t,r,s.material.parameters,ep);a.bindVAO(s.vao),t.ensureAttributeLocations(s.vao),p.b.LOD_INSTANCE_RENDERER_COLORIZE_BY_LEVEL&&e.output===v.V.Color&&(h.setUniform4fv("externalColor",ef[Math.min(n,ef.length-1)]),h.setUniform1i("colorMixMode",ei.Um.replace));let l=i.capacity,o=i.headIndex,d=i.tailIndex,c=i.firstIndex,_=this._glInstanceBufferLayout,u=(e,n)=>{(0,eh.yu)(a,R.D,i.buffer,_,e),a.drawArraysInstanced(t.primitiveType,0,s.vertexCount,n-e),(0,eh.Hi)(a,R.D,i.buffer,_)};s.material.parameters.transparent&&null!=c?o>d?((0,b.vA)(c>=d&&c<=o,"invalid firstIndex"),u(c,o),u(d,c)):o<d&&(c<=o?((0,b.vA)(c>=0&&c<=o,"invalid firstIndex"),u(c,o),u(d,l),u(0,c)):((0,b.vA)(c>=d&&c<=l,"invalid firstIndex"),u(c,l),u(0,o),u(d,c))):o>d?u(d,o):o<d&&(u(0,o),u(d,l)),a.bindVAO(null)}};function eo(e,t,i){var s,n,r,a;let h=e.allocateHead();s=t,n=i,r=e.view,a=h,(0,es.Vk)(s.modelOrigin,n,r.modelOriginHi,r.modelOriginLo,a),r.model.copyFrom(a,s.model,n),r.modelNormal.copyFrom(a,s.modelNormal,n),s.color&&r.color&&r.color.copyFrom(a,s.color,n),s.objectAndLayerIdColor&&r.objectAndLayerIdColor&&r.objectAndLayerIdColor.copyFrom(a,s.objectAndLayerIdColor,n),s.featureAttribute&&r.featureAttribute&&r.featureAttribute.copyFrom(a,s.featureAttribute,n)}(0,n._)([(0,d.MZ)({constructOnly:!0})],el.prototype,"symbol",void 0),(0,n._)([(0,d.MZ)({constructOnly:!0})],el.prototype,"optionalFields",void 0),(0,n._)([(0,d.MZ)({constructOnly:!0})],el.prototype,"metadata",void 0),(0,n._)([(0,d.MZ)({constructOnly:!0})],el.prototype,"shaderTransformation",void 0),(0,n._)([(0,d.MZ)()],el.prototype,"_instanceData",void 0),(0,n._)([(0,d.MZ)()],el.prototype,"_cycleStartIndex",void 0),(0,n._)([(0,d.MZ)({readOnly:!0})],el.prototype,"_enableLevelSelection",null),(0,n._)([(0,d.MZ)()],el.prototype,"_updateCyclesWithStaticCamera",void 0),(0,n._)([(0,d.MZ)({readOnly:!0})],el.prototype,"running",null),el=(0,n._)([(0,c.$)("esri.views.3d.webgl-engine.lib.lodRendering.LodRenderer")],el);let ed=(0,g.vt)(),ec=(0,f.vt)(),e_=(0,_.vt)(),eu=(0,g.vt)(),eg=(0,g.vt)(),ef=[(0,f.fA)(1,0,1,1),(0,f.fA)(0,0,1,1),(0,f.fA)(0,1,0,1),(0,f.fA)(1,1,0,1),(0,f.fA)(1,0,0,1)],ep=new en.V},3930:(e,t,i)=>{i.d(t,{z:()=>n});var s=i(61283);function n(e){let{size:t}=e.definition,i=e.fontString(t),n=r.get(i);if(!n){let o=(0,s.y)(h,0,0).getContext("2d");e.setFontProperties(o,t);let d=o.measureText(l);n=new a(d.actualBoundingBoxAscent,d.actualBoundingBoxDescent),r.set(i,n)}return n}let r=new Map;class a{get maxHeight(){return this.maxAscent+this.maxDescent}constructor(e,t){this.maxAscent=e,this.maxDescent=t}}let h={canvas:null},l=(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t);return e})()},20626:(e,t,i)=>{i.d(t,{Ir:()=>o,QE:()=>l,RH:()=>d,Zd:()=>h,cN:()=>a,xU:()=>c});var s=i(38599),n=i(68541),r=i(57352);let a=Object.freeze({left:0,center:.5,right:1}),h=Object.freeze({"bottom-left":(0,n.fA)(0,0),bottom:(0,n.fA)(.5,0),"bottom-right":(0,n.fA)(1,
10),left:(0,n.fA)(0,.5),center:(0,n.fA)(.5,.5),right:(0,n.fA)(1,.5),"top-left":(0,n.fA)(0,1),top:(0,n.fA)(.5,1),"top-right":(0,n.fA)(1,1)});function l(e){switch(e){case"left":return r.lV.Left;case"right":return r.lV.Right;default:return r.lV.Center}}function o(e,t){switch(t){case"bottom":return"left"===e?"bottom-left":"right"===e?"bottom-right":"bottom";case"center":return e;case"top":return"left"===e?"top-left":"right"===e?"top-right":"top"}}function d(e){return"middle"===e?"center":e}function c(e,t){switch(e){case"top":return(0,s.hZ)(t,0,r.Xd);case"bottom":return(0,s.hZ)(t,0,-1);default:return(0,s.C)(t,n.uY)}}},57352:(e,t,i)=>{i.d(t,{Js:()=>o,Xd:()=>l,lV:()=>s});var s,n=i(7651),r=i(21587),a=i(3930),h=i(61283);let l=1;class o{constructor(e,t,i,s){this.text=e,this._alignment=t,this._parameters=i,this._maxSize=s,this._textWidths=[],this._lineWidths=[],this._renderPixelRatio=null,this._metricsCached=null,this.key=`${e}--${this._parameters.key}-${this._alignment}`,this._lines=e.replaceAll(" ","\xa0").split(/\r?\n/)}get displayWidth(){return Math.ceil(this._displayWidth+2*this._horizontalPadding)}get displayHeight(){let e=this._metrics.firstLineAscent;for(let t=0;t<this._lines.length-1;t++)e+=this._lineSpacing;return Math.ceil((e+=this._metrics.lastLineDescent)+2*this._haloSize+2*this._verticalPadding)}get renderedWidth(){return this._toRoundedRenderUnit(this.displayWidth)}get renderedHeight(){return this._toRoundedRenderUnit(this.displayHeight)}get firstRenderedBaselinePosition(){return this._toRenderUnit(this._firstLineYOffset+this._metrics.firstLineAscent)}get _firstLineYOffset(){return this._verticalPadding+this._haloSize}get _metrics(){if(null==this._metricsCached){let e=(0,h.y)(c,u,u).getContext("2d"),t=this._parameters.definition.pixelRatio,i=this._fontSize*t;this._parameters.setFontProperties(e,i);let s=2*this._haloSize,n=this._parameters.definition.font;"italic"!==n.style&&"oblique"!==n.style&&"bold"!==n.weight&&"bolder"!==n.weight||(s+=.3*e.measureText("A").width),this._textWidths.length=0,this._lineWidths.length=0;let r=0,l=0,o=0,d=0,_=0;this._lines.forEach((i,n)=>{let a=e.measureText(i),h=a.width/t,c=h+s;this._textWidths.push(h),this._lineWidths.push(c),r=Math.max(r,c),d=Math.max(d,a.actualBoundingBoxAscent/t),_=Math.max(_,a.actualBoundingBoxDescent/t),0===n&&(l=a.actualBoundingBoxAscent/t),n===this._lines.length-1&&(o=a.actualBoundingBoxDescent/t)});let g=(0,a.z)(this._parameters),p=Math.max(d,g.maxAscent),m=Math.max(_,g.maxDescent),y=l,I="underline"===this._parameters.definition.font.decoration?m:o,v=r;this._metricsCached=new f(y,I,p,m,v)}return this._metricsCached}get _lineSpacing(){return(this._midLineHeight+this._linePadding)*this._parameters.definition.lineSpacingFactor}get _midLineHeight(){return this._metrics.midLineHeight}get _linePadding(){return this._midLineHeight*_}get _midLineAscent(){return this._metrics.maxLineAscent}get _renderedFontSize(){return this._toRenderUnit(this._fontSize)}get _fontSize(){return this._parameters.definition.size}get _renderedHaloSize(){return this._toRenderUnit(this._haloSize)}get _haloSize(){return this._parameters.haloSize}get _horizontalPadding(){return this._hasBackground?this._parameters.definition.background.padding[0]:0}get _verticalPadding(){return Math.max(this._hasBackground?this._parameters.definition.background.padding[1]:0,l)}get _hasBackground(){return!!this._parameters.backgroundStyle}get renderPixelRatio(){if(null==this._renderPixelRatio){let e=this._parameters.definition.pixelRatio;this._renderPixelRatio=Math.min(e,Math.min(this._maxSize[0]/this.displayWidth,this._maxSize[1]/this.displayHeight))}return this._renderPixelRatio}_getLineXOffset(e){switch(this._alignment){case s.Left:return this._horizontalPadding;case s.Center:return(this.displayWidth-this._lineWidths[e])/2;case s.Right:return this.displayWidth-this._horizontalPadding-this._lineWidths[e]}}render(e,t,i){e.save();let s=t/=this.renderPixelRatio,n=i/=this.renderPixelRatio,a=this._haloSize,h=this._firstLineYOffset+this._metrics.firstLineAscent;t+=a,i+=h;let l=this._haloSize>0;l&&this._renderHalo(e,s,n,a,h),this._parameters.setFontProperties(e,this._renderedFontSize);for(let s=0;s<this._lines.length;++s){let n=this._lines[s],r=this._getLineXOffset(s);l&&(e.globalCompositeOperation="destination-out",e.fillStyle="rgb(0, 0, 0)",this._fillText(e,n,t+r,i),this._renderLineDecoration(e,t+r,i,this._textWidths[s])),e.globalCompositeOperation="source-over",e.fillStyle=this._parameters.textStyle,this._fillText(e,n,t+this._getLineXOffset(s),i),this._renderLineDecoration(e,t+r,i,this._textWidths[s]),i+=this._lineSpacing}if(r.b.TEXT_SHOW_BASELINE){e.strokeStyle=g,e.setLineDash([2,2]),e.lineWidth=1;let t=n+h;for(let i=0;i<this._lines.length;++i)this._drawLine(e,[s,t],[s+this.displayWidth,t]),t+=this._lineSpacing}if(r.b.TEXT_SHOW_BORDER&&(e.strokeStyle=g,e.setLineDash([]),e.lineWidth=1,this._drawBox(e,[s,n],[this.displayWidth,this.displayHeight])),this._hasBackgroun
1d){let t=this._parameters.definition.background.borderRadius*this.renderPixelRatio;this._roundedRect(e,s,n,t),e.globalCompositeOperation="destination-over",e.fillStyle=this._parameters.backgroundStyle,e.fill()}e.restore()}_renderLineDecoration(e,t,i,s,n=!1){if("none"===this._parameters.definition.font.decoration||0===s)return;let r=Math.max(this._parameters.definition.size/16,1);switch(this._parameters.definition.font.decoration){case"underline":i+=2*r;break;case"line-through":i-=.33*this._midLineAscent}let a=n?this._haloSize:0;e.strokeStyle=n?this._parameters.haloStyle:this._parameters.textStyle,e.lineWidth=this._toRenderUnit(r+2*a),e.beginPath(),e.moveTo(this._toRenderUnit(t-a),this._toRenderUnit(i)),e.lineTo(this._toRenderUnit(t+s+a),this._toRenderUnit(i)),e.stroke()}_roundedRect(e,t,i,s){t=this._toRenderUnit(t),i=this._toRenderUnit(i);let r=this.renderedWidth,a=this.renderedHeight;0!==s?(s=(0,n.qE)(s,0,Math.floor(a/2)),e.beginPath(),e.moveTo(t,i+s),e.arcTo(t,i,t+s,i,s),e.lineTo(t+r-s,i),e.arcTo(t+r,i,t+r,i+s,s),e.lineTo(t+r,i+a-s),e.arcTo(t+r,i+a,t+r-s,i+a,s),e.lineTo(t+s,i+a),e.arcTo(t,i+a,t,i+a-s,s),e.closePath()):e.rect(t,i,r,a)}_renderHalo(e,t,i,s,n){let r=this.renderedWidth,a=this.renderedHeight,l=(0,h.y)(c,Math.max(r,u),Math.max(a,u)),o=l.getContext("2d");o.clearRect(0,0,r,a),this._parameters.setFontProperties(o,this._renderedFontSize),o.fillStyle=this._parameters.haloStyle,o.strokeStyle=this._parameters.haloStyle;let d=this._renderedHaloSize<3;o.lineJoin=d?"miter":"round",d?this._renderHaloEmulated(o,s,n):this._renderHaloNative(o,s,n);let _=n;for(let e=0;e<this._lines.length;++e){let t=this._getLineXOffset(e);this._renderLineDecoration(o,s+t,_,this._textWidths[e],!0),_+=this._lineSpacing}e.globalAlpha=this._parameters.definition.halo.color[3],e.drawImage(l,0,0,r,a,this._toRenderUnit(t),this._toRenderUnit(i),r,a),e.globalAlpha=1}_renderHaloEmulated(e,t,i){for(let s=0;s<this._lines.length;++s){let n=this._lines[s],r=this._getLineXOffset(s);for(let[s,a]of d)this._fillText(e,n,t+r+this._haloSize*s,i+this._haloSize*a);i+=this._lineSpacing}}_renderHaloNative(e,t,i){let s=2*this._haloSize;for(let n=0;n<this._lines.length;++n){let r=this._lines[n],a=this._getLineXOffset(n);for(let n=0;n<5;n++){let h=.6+.1*n;e.lineWidth=this._toRenderUnit(h*s),this._strokeText(e,r,t+a,i)}i+=this._lineSpacing}}get _displayWidth(){return this._metrics.displayWidth}_toRenderUnit(e){return e*this.renderPixelRatio}_toRoundedRenderUnit(e){return Math.round(e*this.renderPixelRatio)}_fillText(e,t,i,s){e.fillText(t,this._toRenderUnit(i),this._toRenderUnit(s))}_strokeText(e,t,i,s){e.strokeText(t,this._toRenderUnit(i),this._toRenderUnit(s))}_drawLine(e,t,i){e.beginPath(),e.moveTo(this._toRoundedRenderUnit(t[0])+.5,this._toRoundedRenderUnit(t[1])+.5),e.lineTo(this._toRoundedRenderUnit(i[0])+.5,this._toRoundedRenderUnit(i[1])+.5),e.stroke()}_drawBox(e,t,i){let s=this._toRenderUnit(t[0]),n=this._toRenderUnit(t[1]),r=this._toRenderUnit(i[0]),a=this._toRenderUnit(i[1]),h=Math.floor(s)+.5,l=Math.ceil(s+r)-.5,o=Math.floor(n)+.5,d=Math.ceil(n+a)-.5;e.beginPath(),e.moveTo(h,o),e.lineTo(l,o),e.lineTo(l,d),e.lineTo(h,d),e.lineTo(h,o),e.stroke()}}let d=[];for(let e=0;e<360;e+=22.5)d.push([Math.cos(Math.PI*e/180),Math.sin(Math.PI*e/180)]);!function(e){e[e.Left=0]="Left",e[e.Center=1]="Center",e[e.Right=2]="Right"}(s||(s={}));let c={canvas:null},_=.2,u=512,g="rgb(255, 0, 255, 0.5)";class f{get firstLineHeight(){return this.firstLineAscent+this.maxLineDescent}get midLineHeight(){return this.maxLineAscent+this.maxLineDescent}get lastLineHeight(){return this.maxLineAscent+this.lastLineDescent}constructor(e,t,i,s,n){this.firstLineAscent=e,this.lastLineDescent=t,this.maxLineAscent=i,this.maxLineDescent=s,this.displayWidth=n}}},61283:(e,t,i)=>{i.d(t,{y:()=>s});function s(e,t,i){return e.canvas||(e.canvas=document.createElement("canvas")),e.canvas.width=t,e.canvas.height=i,e.canvas}},73267:(e,t,i)=>{i.d(t,{c:()=>n});var s=i(63294);class n{constructor(e,t){this._material=e,this._repository=t,this._map=new Map}dispose(){this._map.forEach((e,t)=>{null!=e&&this._repository.release(this._material,t)})}load(e,t,i){let n=this._material.produces.get(t);if(!n?.(i))return null;this._map.has(i)||this._map.set(i,this._repository.acquire(this._material,t,i));let r=this._map.get(i);if(null!=r){if(r.ensureResources(e)===s.Am.LOADED)return r;this._repository.requestRender()}return null}}}}]);
2//# sourceMappingURL=9071.77f28bee662f2337.js.map

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.