earthsdk3-cesium 3.6.0-beta.114 → 3.6.0-beta.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/earthsdk3-cesium.iife.js +3 -3
- package/dist/earthsdk3-cesium.js +14 -14
- package/dist/earthsdk3-cesium.umd.cjs +3 -3
- package/dist/types/CzmObjects/general/CzmESMVTLayer/VectorTilesManager/VectorTilesCache.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/types/CzmObjects/base/InnerClass/XbsjGroundPolylinePrimitive/GroundPolylinePrimitive.d.ts +0 -148
- package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/XbsjPolylineGeometry.d.ts +0 -3
- package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/xbsjCreateODLinesPrimitive.d.ts +0 -29
- package/dist/types/CzmObjects/general/CzmESVideoFusion/XbsjCameraVideo/XbsjCameraVideo.d.ts +0 -18
- package/dist/types/CzmObjects/general/CzmESViewShed/XbsjViewshed/XbsjViewshed.d.ts +0 -16
- package/dist/types/ESCesiumViewer/BackGroundImage/BackGroundImage.d.ts +0 -5
- package/dist/types/ESCesiumViewer/LocalSkyBox/SkyAtmosphere.d.ts +0 -14
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatPipelineStage.d.ts +0 -12
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatTexturePipelineStage.d.ts +0 -11
- package/dist/types/ESCesiumViewer/initCesiumViewer/fixGoogleEarth/cesiumFixGoogleEarth.d.ts +0 -1
- package/dist/types/__declares/cesium.d.ts +0 -427
- package/dist/types/utils/czmUtils/todo/generateCartesianArc/czm/generateCartesianArc.d.ts +0 -8
- package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/index.d.ts +0 -37
- package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/lib/spline.d.ts +0 -62
|
@@ -3594,7 +3594,7 @@ ${r_}
|
|
|
3594
3594
|
vec4 imageColor = texture(u_image, fract(v_st * u_stScale - addst));
|
|
3595
3595
|
out_FragColor = imageColor * u_color;
|
|
3596
3596
|
}
|
|
3597
|
-
`};a();const s=this.disposeVar(c.createNextAnimateFrameEvent(this.heightChanged,this.positionsChanged));this.dispose(s.disposableOn(a))}this.dispose(this.flyToEvent.disposableOn(a=>{this.czmCustomPrimitive.flyTo(a)}));{const a=()=>{const l=r.value?r.value:1,u=this.height??pr.defaults.height,{textureSizeInMeters:A=pr.defaults.textureSizeInMeters}=this,{textureUri:h=pr.defaults.textureUri}=this;o.uniformMap={u_image:{type:"image",uri:h},u_stScale:[l/A[0],u/A[1]],u_speed:this.textureMoveSpeed??pr.defaults.textureMoveSpeed,u_color:this.textureColor??pr.defaults.textureColor}};a();const s=this.disposeVar(c.createNextAnimateFrameEvent(this.textureColorChanged,this.textureMoveSpeedChanged,this.textureSizeInMetersChanged,this.heightChanged,this.textureSizeInMetersChanged,this.textureUriChanged,r.changed));this.dispose(s.disposableOn(a))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get czmCustomPrimitive(){return this._czmCustomPrimitive}get geoBoundingSphere(){return this._geoBoundingSphere.value}get geoBoundingSphereChanged(){return this._geoBoundingSphere.changed}};L(pr,"defaults",{show:!0,allowPicking:!1,positions:[],height:1e3,textureSizeInMeters:[500,500],textureUri:"${earthsdk3-assets-script-dir}/assets/img/location.png",textureMoveSpeed:[0,.3],textureColor:[1,1,1,1]});let $o=pr;(t=>{t.createDefaultProps=()=>({show:void 0,allowPicking:void 0,positions:c.reactPositions(void 0),height:void 0,textureSizeInMeters:c.reactArrayWithUndefined(void 0),textureUri:void 0,textureMoveSpeed:c.reactArrayWithUndefined(void 0),textureColor:c.reactArrayWithUndefined(void 0)})})($o||($o={})),c.extendClassProps($o.prototype,$o.createDefaultProps);const Tc=class Tc extends sn{constructor(e,i){super(e,i);L(this,"_czmPolygonFence");L(this,"_czmPolygon");if(this._czmPolygonFence=this.disposeVar(new $o(i,e.id)),this._czmPolygon=this.dv(new c.ESGeoPolygon),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmPolygonFence,a=this._czmPolygon;i.add(a),this.dispose(()=>i.delete(a)),a.filled=!1,this.d(c.track([a,"points"],[e,"points"])),this.d(c.track([a,"stroked"],[e,"stroked"])),this.d(c.track([a,"strokeColor"],[e,"strokeColor"])),this.d(c.track([a,"strokeWidth"],[e,"strokeWidth"])),this.d(c.track([a,"strokeGround"],[e,"strokeGround"]));{const s={danger:{color:[.99,.98,.57,1],image:"01.png"},checkerboard:{color:[.88,.98,.99,1],image:"02.png"},warning:{color:[1,.93,.58,1],image:"03.png"},cord:{color:[.91,.87,.56,1],image:"04.png"},scanline:{color:[.43,.78,.8,1],image:"05.png"},honeycomb:{color:[.28,.84,.86,1],image:"06.png"},gradientColor:{color:[1,1,1,1],image:"07.png"}},l=(f,p)=>{switch(f){case"danger":return{textureMoveSpeed:[.05,0],textureSizeInMeters:[2,2]};case"checkerboard":return{textureMoveSpeed:[0,0],textureSizeInMeters:[2,2]};case"warning":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"cord":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"scanline":return{textureMoveSpeed:[0,0],textureSizeInMeters:[p,p]};case"honeycomb":return{textureMoveSpeed:[0,0],textureSizeInMeters:[p,p]};case"gradientColor":return{textureMoveSpeed:[0,0],textureSizeInMeters:[p,p]};default:return{textureMoveSpeed:[0,0],textureSizeInMeters:[p*.5,2]}}},u="${earthsdk3-assets-script-dir}/assets/img/fence/",A=()=>{const f=e.materialMode,p=s[f];if(!p)return;r.textureUri=u+p.image,r.textureColor=f!=="gradientColor"?p.color:e.fillColor;const{textureMoveSpeed:d,textureSizeInMeters:m}=l(f,e.height);r.textureMoveSpeed=d,r.textureSizeInMeters=m};A();const h=this.disposeVar(c.createNextAnimateFrameEvent(e.materialModeChanged,e.heightChanged,e.fillColorChanged));this.dispose(h.disposableOn(A))}{this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(c.bind([r,"positions"],[e,"points"])),this.dispose(c.track([r,"height"],[e,"height"]));{const s=()=>{r.show=e.show&&e.filled};s();const l=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.dispose(l.don(s))}}}get czmPolygonFence(){return this._czmPolygonFence}get czmPolygon(){return this._czmPolygon}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmPolygonFence:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):(bn(r,o,i,e,a.czmCustomPrimitive),!0):!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmPolygonFence:a}=this;return r.actived?o.flyInParam?super.flyIn(e,i):(bn(r,o,i,e,a.czmCustomPrimitive),!0):!1}};L(Tc,"type",Tc.register("ESCesiumViewer",c.ESPolygonFence.type,Tc));let Hg=Tc;const Ic=class Ic extends sn{constructor(e,i){super(e,i);L(this,"_czmESRectangle");if(this._czmESRectangle=this.disposeVar(new Ci(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRectangle;this.dispose(c.bind([r,"show"],[e,"show"])),this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(c.track([r,"ground"],[e,"fillGround"])),this.dispose(c.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(c.track([r,"outlineTranslucent"],[e,"outlineTranslucent"])),this.dispose(c.bind([r,"height"],[e,"height"])),this.dispose(c.bind([r,"extrudedHeight"],[e,"extrudedHeight"])),this.dispose(c.bind([r,"rectangle"],[e,"rectangle"])),this.dispose(c.bind([r,"stRotation"],[e,"stRotation"])),this.dispose(c.bind([r,"rotation"],[e,"rotation"])),this.dispose(c.track([r,"outline"],[e,"stroked"])),this.dispose(c.track([r,"outlineColor"],[e,"strokeColor"]));{const a=()=>{const s=e.points;if(s&&s.length>=2){const{minPos:l,maxPos:u}=c.getMinMaxCorner(s);r.rectangle=[l[0],l[1],u[0],u[1]],r.height=s[1][2],r.extrudedHeight=s[0][2]}else r.rectangle=void 0,r.height=0,r.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}{const a=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material={type:"Color",color:[1,1,1,0]}};a();const s=this.disposeVar(c.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(s.disposableOn(a))}}get czmESRectangle(){return this._czmESRectangle}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmESRectangle:a}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,i);if(a.rectangle){const s=[[a.rectangle[0],a.rectangle[1],a.height],[a.rectangle[2],a.rectangle[3],a.height],[a.rectangle[0],a.rectangle[1],a.extrudedHeight],[a.rectangle[2],a.rectangle[3],a.extrudedHeight]];return Me(r,o,i,s,e),!0}return!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmESRectangle:a}=this;if(!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,i);if(a.rectangle){const s=[[a.rectangle[0],a.rectangle[1],a.height],[a.rectangle[2],a.rectangle[3],a.height],[a.rectangle[0],a.rectangle[1],a.extrudedHeight],[a.rectangle[2],a.rectangle[3],a.extrudedHeight]];return Me(r,o,i,s,e),!0}return!1}};L(Ic,"type",Ic.register("ESCesiumViewer",c.ESRectangle.type,Ic));let Gg=Ic;const uo=class uo extends c.Destroyable{constructor(e,i){super();L(this,"_flyToEvent",this.disposeVar(new c.Event));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}const r=c.ESSceneObject.context.createEnvStrReact([this,"imageUrl"],uo.defaults.imageUrl),a=this.disposeVar(c.react(void 0)),s=()=>{const g=b.Material.fromType(b.Material.ImageType);g.uniforms.image=r.value,g.uniforms.repeat=Ze(this.repeat??uo.defaults.repeat),a.value=g};s();const l=this.disposeVar(c.createNextAnimateFrameEvent(r.changed,this.repeatChanged));this.dispose(l.disposableOn(s));const u=(g,_)=>{const x=new b.PolylineMaterialAppearance({material:_,renderState:{depthTest:{enabled:!1}}});x.renderState.depthMask=!1;const E=[];if(g.length<2)return;E.push(new b.GeometryInstance({geometry:new b.GroundPolylineGeometry({positions:g,width:this.width??uo.defaults.width,vertexFormat:b.PolylineMaterialAppearance.VERTEX_FORMAT,arcType:b.ArcType[this.arcType??uo.defaults.arcType]}),id:this}));const B=new Bi({geometryInstances:E,appearance:x,asynchronous:!1,allowPicking:this.allowPicking??uo.defaults.allowPicking,compressVertices:!1});return B.ESSceneObjectID=i,B};let A;const h=new b.BoundingSphere,f=()=>{A&&(o.scene.primitives.remove(A),A=void 0)};this.dispose(f);const p=()=>{if(f(),!this.positions)return;const g=Yt(this.positions);if(g.length<2||!a.value){h.radius=-1;return}b.BoundingSphere.fromPoints(g,h),A=u(g,a.value),A&&o.scene.primitives.add(A)},d=()=>{A&&(A.show=this.show??!0)};this.dispose(this.flyToEvent.disposableOn(g=>{if(e.actived&&h.radius>0){const _=De(h.center);_&&Fe(o,_,h.radius*4,void 0,g)}})),p(),d();const m=this.disposeVar(c.createNextAnimateFrameEvent(this.positionsChanged,this.widthChanged,a.changed,this.arcTypeChanged,this.allowPickingChanged));this.dispose(m.disposableOn(()=>{p(),d()}));const v=this.disposeVar(c.createNextAnimateFrameEvent(this.showChanged));this.dispose(v.disposableOn(()=>{d()}));const{extensions:y}=e;if(!y){console.warn("!extensions");return}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}};L(uo,"defaults",{show:!0,positions:[],width:50,arcType:"GEODESIC",imageUrl:"${earthsdk3-assets-script-dir}/assets/img/roads/4.jpg",repeat:[100,1],allowPicking:!1});let Xo=uo;(t=>{t.createDefaultProps=()=>({show:void 0,positions:c.reactPositions(void 0),width:void 0,arcType:void 0,imageUrl:void 0,repeat:void 0,allowPicking:void 0})})(Xo||(Xo={})),c.extendClassProps(Xo.prototype,Xo.createDefaultProps);const Fc=class Fc extends sn{constructor(e,i){super(e,i);L(this,"_czmESRoad");if(this._czmESRoad=this.disposeVar(new Xo(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRoad;{const a=()=>{r.show=e.show&&e.stroked};a();const s=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(s.don(a))}this.dispose(c.bind([r,"positions"],[e,"points"])),this.dispose(c.track([r,"width"],[e,"width"])),this.dispose(c.track([r,"arcType"],[e,"arcType"])),this.dispose(c.track([r,"imageUrl"],[e,"imageUrl"])),this.dispose(c.track([r,"repeat"],[e,"repeat"])),this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"]))}get czmESRoad(){return this._czmESRoad}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmESRoad:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):a.positions?(Me(r,o,i,a.positions,e),!0):!1:!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmESRoad:a}=this;return r.actived?o.flyInParam?super.flyIn(e,i):a.positions?(Me(r,o,i,a.positions,e),!0):!1:!1}};L(Fc,"type",Fc.register("ESCesiumViewer",xf.type,Fc));let Wg=Fc;const Mc=class Mc extends c.EngineObject{constructor(e,i){super(e,i);L(this,"_customDiv");if(this._customDiv=this.disposeVar(new c.ESCustomDiv(e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;i.add(r),this.dispose(()=>i.delete(r)),r.instanceClass=class extends c.Destroyable{constructor(s,l,u){super(),this._subContainer=s;const A=document.createElement("div");this._subContainer.appendChild(A),this.dispose(()=>this._subContainer.removeChild(A));{const m=()=>{A.style.display=e.show??c.ESScale.defaults.show?"block":"none"};m(),e.dispose(e.showChanged.disposableOn(m))}A.style.position="fixed",A.style.width="125px",A.style.height="30px",A.style.border="1px solid rgba(49,50,56,.8)",A.style.padding="0 5px",A.style.backgroundColor="rgba(37,38,42,.8)",A.style.borderRadius="15px",A.style.pointerEvents="auto",A.style.transition=" right 0.4s linear";{const m=()=>{A.style.bottom=`${e.cssPosition?e.cssPosition[0]:c.ESScale.defaults.cssPosition[0]}px`,e.screenPosition==="left"?(A.style.right="auto",A.style.left=`${e.cssPosition?e.cssPosition[1]:c.ESScale.defaults.cssPosition[1]}px`):(A.style.left="auto",A.style.right=`${e.cssPosition?e.cssPosition[1]:c.ESScale.defaults.cssPosition[1]}px`)},v=this.disposeVar(c.createNextAnimateFrameEvent(e.cssPositionChanged,e.screenPositionChanged));m(),this.dispose(v.disposableOn(()=>m()))}const h=document.createElement("div");A.appendChild(h),this.dispose(()=>A.removeChild(h)),h.style.width="125px",h.style.display="inline-block",h.style.textAlign="center",h.style.fontSize="14px",h.style.fontWeight="lighter",h.style.lineHeight="30px",h.style.color="#fff",h.innerHTML="1000km";const f=document.createElement("div");A.appendChild(f),this.dispose(()=>A.removeChild(f)),f.style.borderRight="1px solid #fff",f.style.borderLeft="1px solid #fff",f.style.borderBottom="1px solid #fff",f.style.position="absolute",f.style.height="10px",f.style.top="15px",f.style.width="75px",f.style.left="30px";const p=()=>{const m=i.viewerLegend.legend.computedLengthInMeters;if(e.show===!1||m&&m>1e6)A.style.display="none";else{A.style.display="block";const v=i.viewerLegend.legend.computedLengthInStr;v&&(h.innerHTML=v);const y=i.viewerLegend.legend.computedLengthInPixels;if(y){f.style.width=`${y}px`;const g=(135-y)/2;f.style.left=`${g}px`}}};p();const d=setInterval(()=>{p()},200);this.dispose(()=>clearInterval(d))}}}get customDiv(){return this._customDiv}};L(Mc,"type",Mc.register("ESCesiumViewer",c.ESScale.type,Mc));let jg=Mc;const Dc=class Dc extends He{constructor(e,i){super(e,i);L(this,"_czmCustomPrimitive");if(this._czmCustomPrimitive=this.disposeVar(new ut(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmCustomPrimitive;this.dispose(c.track([r,"show"],[e,"show"])),this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(Dt([r,"rotation"],[e,"rotation"])),this.dispose(c.track([r,"position"],[e,"position"])),this.dispose(c.track([r,"scale"],[e,"scale"])),this.dispose(c.track([r,"viewDistanceRange"],[e,"viewDistanceRange"])),this.dispose(c.track([r,"viewDistanceDebug"],[e,"viewDistanceDebug"])),this.dispose(c.track([r,"maximumScale"],[e,"maximumScale"])),this.dispose(c.track([r,"minimumScale"],[e,"minimumScale"])),this.dispose(c.track([r,"pixelSize"],[e,"pixelSize"])),this.dispose(c.track([r,"showSceneScale"],[e,"showSceneScale"])),this.dispose(c.track([r,"modelMatrix"],[e,"modelMatrix"])),this.dispose(c.track([r,"cull"],[e,"cull"])),this.dispose(c.track([r,"boundingVolume"],[e,"boundingVolume"])),this.dispose(c.track([r,"pass"],[e,"pass"])),this.dispose(c.track([r,"primitiveType"],[e,"primitiveType"])),this.dispose(c.track([r,"renderState"],[e,"renderState"])),this.dispose(c.track([r,"vertexShaderSource"],[e,"vertexShaderSource"])),this.dispose(c.track([r,"fragmentShaderSource"],[e,"fragmentShaderSource"])),this.dispose(c.track([r,"uniformMap"],[e,"uniformMap"])),this.dispose(c.track([r,"attributes"],[e,"attributes"])),this.dispose(c.track([r,"indexTypedArray"],[e,"indexTypedArray"])),this.dispose(c.track([r,"attributesJson"],[e,"attributesJson"])),this.dispose(c.track([r,"indexTypedArrayJson"],[e,"indexTypedArrayJson"])),this.dispose(c.track([r,"count"],[e,"count"])),this.dispose(c.track([r,"offset"],[e,"offset"])),this.dispose(c.track([r,"instanceCount"],[e,"instanceCount"])),this.dispose(c.track([r,"localPosition"],[e,"localPosition"])),this.dispose(c.track([r,"localScale"],[e,"localScale"])),this.dispose(c.track([r,"localModelMatrix"],[e,"localModelMatrix"])),this.dispose(c.track([r,"debugShowBoundingVolume"],[e,"debugShowBoundingVolume"])),this.dispose(c.track([r,"debugOverlappingFrustums"],[e,"debugOverlappingFrustums"])),this.dispose(c.track([r,"occlude"],[e,"occlude"])),this.dispose(c.track([r,"castShadows"],[e,"castShadows"])),this.dispose(c.track([r,"receiveShadows"],[e,"receiveShadows"])),this.dispose(c.track([r,"executeInClosestFrustum"],[e,"executeInClosestFrustum"])),this.dispose(c.track([r,"pickOnly"],[e,"pickOnly"])),this.dispose(c.track([r,"depthForTranslucentClassification"],[e,"depthForTranslucentClassification"]));{const a=()=>{if(e.localRotation){const s=[...e.localRotation];s[0]-=90,r.localRotation=s}else r.localRotation=[-90,0,0]};a(),this.dispose(e.localRotationChanged.disposableOn(a))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmCustomPrimitive:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):(bn(r,o,i,e,a,!0),!0):!1}};L(Dc,"type",Dc.register("ESCesiumViewer",wf.type,Dc));let qg=Dc;const Rc=class Rc extends df{constructor(e,i){super(e,i);L(this,"czmGeoPolyline");L(this,"czmWater");if(!i.viewer){console.warn("viewer is undefined!");return}if(!Ot(i.viewer))return;this.czmGeoPolyline=this.dv(new Ye(i,e.id)),this.czmWater=this.dv(new Ro(i,e.id));const{czmGeoPolyline:a,czmWater:s}=this;this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"ground"],[e,"fillGround"])),this.d(c.track([a,"allowPicking"],[e,"allowPicking"])),this.d(c.track([a,"color"],[e,"strokeColor"])),this.d(c.track([a,"width"],[e,"strokeWidth"])),this.d(c.track([a,"ground"],[e,"strokeGround"]));{const l=this.dv(c.createNextAnimateFrameEvent(e.waterColorChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),u=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??c.ESDynamicWater.defaults.waterColor,frequency:(e.frequency??c.ESDynamicWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??c.ESDynamicWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??c.ESDynamicWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??c.ESDynamicWater.defaults.specularIntensity,flowDirection:e.flowDirection??c.ESDynamicWater.defaults.flowDirection,flowSpeed:e.flowSpeed??c.ESDynamicWater.defaults.flowSpeed});else{const A=Object.assign({},Rh[e.waterType]);A.frequency&&(A.frequency/=10),A.waveVelocity&&(A.waveVelocity/=100),A.amplitude&&(A.amplitude*=100),this.updateWater(A)}};u(),this.d(l.don(u))}{const l=()=>{a.show=e.show&&e.stroked},u=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(u.don(l)),l()}{const l=()=>{s.show=!!(e.show&&e.filled)},u=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(u.don(l)),l()}{const l=()=>{if(!e.points||e.points&&e.points.length<=2){a.positions=[],s.points=[];return}if(e.scale&&e.scale.some(f=>f===0)){console.warn("缩放属性(scale)不能设置值为0");return}const A=e.points.map(f=>[f[0],f[1],0]),[h]=_r({originPosition:e.position,originRotation:e.rotation,originScale:e.scale,initialRotationMode:"XForwardZUp"},A);a.positions=[...h,h[0]],s.points=[...h]};l();const u=this.dv(c.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.d(u.don(l))}}visibleDistance(e,i){var o;if((o=i.viewer)!=null&&o.camera&&e.show){const r=c.getDistancesFromPositions([e.position,Mn(i.viewer.camera)],"NONE")[0];let a=!1;e.minVisibleDistance<e.maxVisibleDistance?a=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(a=r>e.minVisibleDistance),this.czmGeoPolyline&&(this.czmGeoPolyline.show=e.show&&e.stroked&&a),this.czmWater&&(this.czmWater.show=e.show&&e.filled&&a)}}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmWater:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):a!=null&&a.points?(Me(r,o,i,a.points,e,!0),!0):!1:!1}updateWater(e){const{czmWater:i}=this;i&&(e.waterColor&&i.waterColor!=e.waterColor&&(i.waterColor=e.waterColor),e.specularIntensity!=null&&i.specularIntensity!=e.specularIntensity&&(i.specularIntensity=e.specularIntensity),e.frequency!=null&&i.frequency!=e.frequency&&(i.frequency=e.frequency),e.waveVelocity!=null&&i.animationSpeed!=e.waveVelocity&&(i.animationSpeed=e.waveVelocity),e.amplitude!=null&&i.amplitude!=e.amplitude&&(i.amplitude=e.amplitude),e.flowSpeed!=null&&i.flowSpeed!=e.flowSpeed&&(i.flowSpeed=e.flowSpeed),i.baseWaterImage=e.waterImage,i.stRotation=e.flowDirection)}};L(Rc,"type",Rc.register("ESCesiumViewer",c.ESDynamicWater.type,Rc));let Kg=Rc;const it=class it extends Hn{constructor(e,i){super(e,i);L(this,"_dataSource",this.disposeVar(c.react(void 0)));L(this,"_pointFeatures",this.disposeVar(c.reactJsonWithUndefined(void 0)));L(this,"featureArrName","features");const o=i.viewer;if(!o){console.warn("viewer is undefined!");return}const r=Ot(o);if(!r)return;const{screenManager:a}=r,s={scale:1*it.scaleFactor,font:"16px sans-serif",verticalOrigin:b.VerticalOrigin.BOTTOM,horizontalOrigin:b.HorizontalOrigin.CENTER,scaleByDistance:it.scaleByDistance,eyeOffset:new b.Cartesian3(0,0,-10),show:!0},l={scale:1*it.scaleFactor,verticalOrigin:b.VerticalOrigin.BOTTOM,horizontalOrigin:b.HorizontalOrigin.CENTER,scaleByDistance:it.scaleByDistance,image:it.clusterImageUrl};(async()=>{if(it.clusterImageAttribute===void 0){const u=c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterJson.json");await fetch(u).then(A=>A.json()).then(A=>{it.clusterImageAttribute=A}).catch(A=>{console.error(A)})}{const u=()=>{if(!e.data){this.pointFeatures=void 0;return}this.featureArrName=e.data.type=="FeatureCollection"?"features":"geometries";const A={type:e.data.type,[this.featureArrName]:[]};if(e.data.type==="FeatureCollection")for(let h=0;h<e.data.features.length;h++){const f=e.data.features[h];if(f.geometry.type=="Point")A[this.featureArrName].push(f);else if(f.geometry.type=="MultiPoint")for(let p=0;p<f.geometry.coordinates.length;p++)A[this.featureArrName].push({type:"Feature",geometry:{type:"Point",coordinates:f.geometry.coordinates[p]},properties:f.properties??{}});else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",f.geometry.type)}else if(e.data.type=="GeometryCollection")for(let h=0;h<e.data.geometries.length;h++){const f=e.data.geometries[h];if(f.type=="Point")A[this.featureArrName].push(f);else if(f.type=="MultiPoint")for(let p=0;p<f.coordinates.length;p++)A[this.featureArrName].push({type:"Feature",geometry:{type:"Point",coordinates:f.coordinates[p]},properties:f.properties??{}});else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",f.type)}this.pointFeatures=A};u(),this.ad(e.dataChanged.don(u))}{const u=()=>{this.dataSource&&o.dataSources.remove(this.dataSource),this.dataSource=void 0};this.ad(()=>u());const A=()=>{u(),this.pointFeatures&&b.GeoJsonDataSource.load(this.pointFeatures).then(h=>{o.dataSources.add(h).then(()=>{this.dataSource=h})})};A(),this.ad(this.pointFeaturesChanged.don(A))}this.ad(new c.ObjResettingWithEvent(this.dataSourceChanged,()=>{var d;if(!this.dataSource)return;const u=new c.Destroyable,A=this.dataSource;A.clustering.enabled=A.clustering.clusterBillboards=A.clustering.clusterLabels=A.clustering.clusterPoints=!0;for(let m=0;m<A.entities.values.length;m++){const v=A.entities.values[m];v.billboard&&(v.billboard.color=new b.ConstantProperty(b.Color.TRANSPARENT))}{const m=()=>{const y=A.clustering.pixelRange;A.clustering.pixelRange=0,A.clustering.pixelRange=y};m();let v=(d=this.czmViewer.viewer)==null?void 0:d.camera.moveEnd.addEventListener(()=>{m()});u.d(()=>{var y;v&&((y=this.czmViewer.viewer)==null||y.camera.moveEnd.removeEventListener(v))})}u.d(c.track([A.clustering,"pixelRange"],[e,"pixelRange"])),u.d(c.track([A.clustering,"minimumClusterSize"],[e,"minimumClusterSize"])),A.clustering.clusterEvent.addEventListener((m,v)=>{v.label&&(v.label.show=!1),v.billboard&&(v.billboard.show=!1),v.point&&(v.point.show=!1)});const h=u.ad(c.react(!1));let f=[];const p=o.scene.postUpdate.addEventListener(()=>{if(A.clustering._clusterLabelCollection)if(A.clustering._clusterLabelCollection._labels.length!=f.length||!A.clustering._clusterLabelCollection._labels.every(m=>f.includes(m.id.length))){f=[];for(let m=0;m<A.clustering._clusterLabelCollection._labels.length;m++){const v=A.clustering._clusterLabelCollection._labels[m];f.push(v.id.length)}h.value=!0}else h.value=!1});u.ad(()=>p());{let m={id:"",layer:"",screenObjectIds:[]},v={id:"",layer:"",screenObjectIds:[]};const y=()=>{m&&(a.remove(m.layer,m.id,{label:m.screenObjectIds}),m={id:"",layer:"",screenObjectIds:[]}),v&&(a.remove(v.layer,v.id,{billboard:v.screenObjectIds}),v={id:"",layer:"",screenObjectIds:[]})};u.ad(()=>{y()});const g=()=>{var F,S,T,w,C,M;if(y(),!e.show||!it.clusterImageAttribute)return;const x=e.style??c.ESEntityCluster.defaults.style,E=it.clusterImageAttribute[((F=x.nonCluster)==null?void 0:F.mode)??"SquareH01"],B=[-E.anchorPixelOffset[0]+E.textPixelOffset[0],-E.anchorPixelOffset[1]-E.textPixelOffset[1]],P={...s,pixelOffset:new b.Cartesian2(B[0]*it.scaleFactor,B[1]*it.scaleFactor),heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()]},I={...l,width:E.imageSize[0],height:E.imageSize[1],heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()],pixelOffset:new b.Cartesian2(-E.anchorPixelOffset[0]*it.scaleFactor,-E.anchorPixelOffset[1]*it.scaleFactor),imageSubRegion:new b.BoundingRectangle(...E.imagePixelOffset,...E.imageSize)},D=new Map;if(A.clustering._clusterLabelCollection)for(let R=0;R<A.clustering._clusterLabelCollection._labels.length;R++){const U=A.clustering._clusterLabelCollection._labels[R];if(!it.clusterImageAttribute)continue;const O=U.text,z=De(U.position),k={index:U.id.map(le=>A.entities.values.length-1-A.clustering._collectionIndicesByEntity[le.id].billboardIndex).sort((le,ue)=>le-ue),name:O,position:z},Q=this.getClusterStyle(x.cluster??c.ESEntityCluster.defaults.style.cluster,U.id.length).mode,V=it.clusterImageAttribute[Q],j=[-V.anchorPixelOffset[0]+V.textPixelOffset[0],-V.anchorPixelOffset[1]-V.textPixelOffset[1]],J={...s,pixelOffset:new b.Cartesian2(j[0]*it.scaleFactor,j[1]*it.scaleFactor),heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()]},ee={...l,width:V.imageSize[0],height:V.imageSize[1],heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()],pixelOffset:new b.Cartesian2(-V.anchorPixelOffset[0]*it.scaleFactor,-V.anchorPixelOffset[1]*it.scaleFactor),imageSubRegion:new b.BoundingRectangle(...V.imagePixelOffset,...V.imageSize)},ie=a.addImage(e.id,e.typeName,ee,k),oe=a.addLabel(e.id,e.typeName,J,k);v.id=ie.id,v.layer=ie.layer,v.screenObjectIds.push(ie.screenObjectId),m.id=oe.id,m.layer=oe.layer,m.screenObjectIds.push(oe.screenObjectId);for(let le=0;le<U.id.length;le++)D.set(U.id[le].id,1)}for(let R=0;R<A.entities.values.length;R++){const U=A.entities.values[R];if(D.has(U.id)||!this.pointFeatures||!i.isPointVisible(De((S=U.position)==null?void 0:S.getValue())))continue;const O=((T=this.pointFeatures[this.featureArrName][R])==null?void 0:T.coordinates)??((w=this.pointFeatures[this.featureArrName][R])==null?void 0:w.geometry.coordinates),z=((C=this.pointFeatures[this.featureArrName][R])==null?void 0:C.name)??((M=this.pointFeatures[this.featureArrName][R].properties)==null?void 0:M.name)??(R+1).toString(),k={index:R,name:z,position:O},Q=a.addImage(e.id,e.typeName,I,k),V=a.addLabel(e.id,e.typeName,P,k);v.id=Q.id,v.layer=Q.layer,v.screenObjectIds.push(Q.screenObjectId),m.id=V.id,m.layer=V.layer,m.screenObjectIds.push(V.screenObjectId)}};g();const _=u.ad(c.createNextAnimateFrameEvent(e.showChanged,e.styleChanged,e.heightReferenceChanged,h.changed));u.ad(_.don(g))}return u}))})()}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}get dataSourceChanged(){return this._dataSource.changed}get pointFeatures(){return this._pointFeatures.value}set pointFeatures(e){this._pointFeatures.value=e}get pointFeaturesChanged(){return this._pointFeatures.changed}getClusterStyle(e,i){return e.find(o=>{if(o.value!==void 0)return o.value===i;const r=o.minValue!==void 0?o.minValue<=i:!0,a=o.maxValue!==void 0?o.maxValue>=i:!0;return r&&a})}};L(it,"type",it.register("ESCesiumViewer",c.ESEntityCluster.type,it)),L(it,"scaleFactor",.6),L(it,"scaleByDistance",new b.NearFarScalar(100,1,1e3,1)),L(it,"clusterImages"),L(it,"clusterImageAttribute"),L(it,"clusterImageUrl",c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterSpirit.png"));let Zg=it;const Uc=class Uc extends Hn{constructor(n,e){if(super(n,e),!e.viewer){console.warn("viewer is undefined!");return}}flyTo(n,e){const{sceneObject:i,czmViewer:o}=this;return o.actived?i.flyToParam||i.flyInParam?super.flyTo(n,e):(i.esImageryLayer.flyTo(n&&n),i.flyOverEvent.emit(e,"over",o),!0):!1}flyIn(n,e){const{sceneObject:i,czmViewer:o}=this;return o.actived?i.flyInParam?super.flyIn(n,e):(i.esImageryLayer.flyTo(n&&n),i.flyOverEvent.emit(e,"over",o),!0):!1}};L(Uc,"type",Uc.register("ESCesiumViewer",gf.type,Uc));let $g=Uc;const Oc=class Oc extends Ln{constructor(e,i){super(e,i);L(this,"geoPolyline");L(this,"czmWater");if(!i.viewer){console.warn("viewer is undefined!");return}if(!Ot(i.viewer))return;this.geoPolyline=this.dv(new Ye(i,e.id)),this.czmWater=this.dv(new Ro(i,e.id));const{geoPolyline:a,czmWater:s}=this;this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"ground"],[e,"fillGround"])),this.d(c.track([a,"allowPicking"],[e,"allowPicking"])),this.d(c.track([a,"color"],[e,"strokeColor"])),this.d(c.track([a,"width"],[e,"strokeWidth"])),this.d(c.track([a,"ground"],[e,"strokeGround"]));{const l=this.dv(c.createNextAnimateFrameEvent(e.waterColorChanged,e.waterImageChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),u=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??c.ESGeoWater.defaults.waterColor,frequency:(e.frequency??c.ESGeoWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??c.ESGeoWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??c.ESGeoWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??c.ESGeoWater.defaults.specularIntensity,flowDirection:e.flowDirection??c.ESGeoWater.defaults.flowDirection,flowSpeed:e.flowSpeed??c.ESGeoWater.defaults.flowSpeed,waterImage:e.waterImage??c.ESGeoWater.defaults.waterImage});else{const A=Object.assign({},Rh[e.waterType]);A.frequency&&(A.frequency/=10),A.waveVelocity&&(A.waveVelocity/=100),A.amplitude&&(A.amplitude*=100),this.updateWater(A)}};u(),this.d(l.don(u))}{const l=()=>{a.show=!!(e.show&&e.stroked)},u=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(u.don(l)),l()}{const l=()=>{s.show=e.show&&e.filled},u=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(u.don(l)),l()}{const l=()=>{e.points&&e.points.length>=3?(a.positions=[...e.points,e.points[0]],s.points=[...e.points]):(a.positions=e.points&&e.points.length>=2?[...e.points,e.points[0]]:[],s.points=[])};l();const u=this.dv(c.createNextAnimateFrameEvent(e.pointsChanged));this.d(u.don(l))}this.ad(e.editingChanged.don(l=>{s.updateBoundingSphere(l)}))}flyTo(e,i){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):o.points?(Me(r,o,i,o.points,e),!0):!1:!1}updateWater(e){const{czmWater:i}=this;e.waterColor&&i.waterColor!=e.waterColor&&(i.waterColor=e.waterColor),e.specularIntensity!=null&&i.specularIntensity!=e.specularIntensity&&(i.specularIntensity=e.specularIntensity),e.frequency!=null&&i.frequency!=e.frequency&&(i.frequency=e.frequency),e.waveVelocity!=null&&i.animationSpeed!=e.waveVelocity&&(i.animationSpeed=e.waveVelocity),e.amplitude!=null&&i.amplitude!=e.amplitude&&(i.amplitude=e.amplitude),e.flowSpeed!=null&&i.flowSpeed!=e.flowSpeed&&(i.flowSpeed=e.flowSpeed),i.baseWaterImage=e.waterImage,i.stRotation=e.flowDirection}};L(Oc,"type",Oc.register("ESCesiumViewer",c.ESGeoWater.type,Oc));let Xg=Oc;const Yg=65536*65536,o_=1/Yg,wL=12,s_=typeof TextDecoder>"u"?null:new TextDecoder("utf-8"),Jg=0,Sf=1,eu=2,Ef=5;class bL{constructor(n=new Uint8Array(16)){this.buf=ArrayBuffer.isView(n)?n:new Uint8Array(n),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(n,e,i=this.length){for(;this.pos<i;){const o=this.readVarint(),r=o>>3,a=this.pos;this.type=o&7,n(r,e,this),this.pos===a&&this.skip(o)}return e}readMessage(n,e){return this.readFields(n,e,this.readVarint()+this.pos)}readFixed32(){const n=this.dataView.getUint32(this.pos,!0);return this.pos+=4,n}readSFixed32(){const n=this.dataView.getInt32(this.pos,!0);return this.pos+=4,n}readFixed64(){const n=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Yg;return this.pos+=8,n}readSFixed64(){const n=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Yg;return this.pos+=8,n}readFloat(){const n=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,n}readDouble(){const n=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,n}readVarint(n){const e=this.buf;let i,o;return o=e[this.pos++],i=o&127,o<128||(o=e[this.pos++],i|=(o&127)<<7,o<128)||(o=e[this.pos++],i|=(o&127)<<14,o<128)||(o=e[this.pos++],i|=(o&127)<<21,o<128)?i:(o=e[this.pos],i|=(o&15)<<28,xL(i,n,this))}readVarint64(){return this.readVarint(!0)}readSVarint(){const n=this.readVarint();return n%2===1?(n+1)/-2:n/2}readBoolean(){return!!this.readVarint()}readString(){const n=this.readVarint()+this.pos,e=this.pos;return this.pos=n,n-e>=wL&&s_?s_.decode(this.buf.subarray(e,n)):UL(this.buf,e,n)}readBytes(){const n=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,n);return this.pos=n,e}readPackedVarint(n=[],e){const i=this.readPackedEnd();for(;this.pos<i;)n.push(this.readVarint(e));return n}readPackedSVarint(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readSVarint());return n}readPackedBoolean(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readBoolean());return n}readPackedFloat(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readFloat());return n}readPackedDouble(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readDouble());return n}readPackedFixed32(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readFixed32());return n}readPackedSFixed32(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readSFixed32());return n}readPackedFixed64(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readFixed64());return n}readPackedSFixed64(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readSFixed64());return n}readPackedEnd(){return this.type===eu?this.readVarint()+this.pos:this.pos+1}skip(n){const e=n&7;if(e===Jg)for(;this.buf[this.pos++]>127;);else if(e===eu)this.pos=this.readVarint()+this.pos;else if(e===Ef)this.pos+=4;else if(e===Sf)this.pos+=8;else throw new Error(`Unimplemented type: ${e}`)}writeTag(n,e){this.writeVarint(n<<3|e)}realloc(n){let e=this.length||16;for(;e<this.pos+n;)e*=2;if(e!==this.length){const i=new Uint8Array(e);i.set(this.buf),this.buf=i,this.dataView=new DataView(i.buffer),this.length=e}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(n){this.realloc(4),this.dataView.setInt32(this.pos,n,!0),this.pos+=4}writeSFixed32(n){this.realloc(4),this.dataView.setInt32(this.pos,n,!0),this.pos+=4}writeFixed64(n){this.realloc(8),this.dataView.setInt32(this.pos,n&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(n*o_),!0),this.pos+=8}writeSFixed64(n){this.realloc(8),this.dataView.setInt32(this.pos,n&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(n*o_),!0),this.pos+=8}writeVarint(n){if(n=+n||0,n>268435455||n<0){_L(n,this);return}this.realloc(4),this.buf[this.pos++]=n&127|(n>127?128:0),!(n<=127)&&(this.buf[this.pos++]=(n>>>=7)&127|(n>127?128:0),!(n<=127)&&(this.buf[this.pos++]=(n>>>=7)&127|(n>127?128:0),!(n<=127)&&(this.buf[this.pos++]=n>>>7&127)))}writeSVarint(n){this.writeVarint(n<0?-n*2-1:n*2)}writeBoolean(n){this.writeVarint(+n)}writeString(n){n=String(n),this.realloc(n.length*4),this.pos++;const e=this.pos;this.pos=OL(this.buf,n,this.pos);const i=this.pos-e;i>=128&&a_(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i}writeFloat(n){this.realloc(4),this.dataView.setFloat32(this.pos,n,!0),this.pos+=4}writeDouble(n){this.realloc(8),this.dataView.setFloat64(this.pos,n,!0),this.pos+=8}writeBytes(n){const e=n.length;this.writeVarint(e),this.realloc(e);for(let i=0;i<e;i++)this.buf[this.pos++]=n[i]}writeRawMessage(n,e){this.pos++;const i=this.pos;n(e,this);const o=this.pos-i;o>=128&&a_(i,o,this),this.pos=i-1,this.writeVarint(o),this.pos+=o}writeMessage(n,e,i){this.writeTag(n,eu),this.writeRawMessage(e,i)}writePackedVarint(n,e){e.length&&this.writeMessage(n,EL,e)}writePackedSVarint(n,e){e.length&&this.writeMessage(n,PL,e)}writePackedBoolean(n,e){e.length&&this.writeMessage(n,IL,e)}writePackedFloat(n,e){e.length&&this.writeMessage(n,BL,e)}writePackedDouble(n,e){e.length&&this.writeMessage(n,TL,e)}writePackedFixed32(n,e){e.length&&this.writeMessage(n,FL,e)}writePackedSFixed32(n,e){e.length&&this.writeMessage(n,ML,e)}writePackedFixed64(n,e){e.length&&this.writeMessage(n,DL,e)}writePackedSFixed64(n,e){e.length&&this.writeMessage(n,RL,e)}writeBytesField(n,e){this.writeTag(n,eu),this.writeBytes(e)}writeFixed32Field(n,e){this.writeTag(n,Ef),this.writeFixed32(e)}writeSFixed32Field(n,e){this.writeTag(n,Ef),this.writeSFixed32(e)}writeFixed64Field(n,e){this.writeTag(n,Sf),this.writeFixed64(e)}writeSFixed64Field(n,e){this.writeTag(n,Sf),this.writeSFixed64(e)}writeVarintField(n,e){this.writeTag(n,Jg),this.writeVarint(e)}writeSVarintField(n,e){this.writeTag(n,Jg),this.writeSVarint(e)}writeStringField(n,e){this.writeTag(n,eu),this.writeString(e)}writeFloatField(n,e){this.writeTag(n,Ef),this.writeFloat(e)}writeDoubleField(n,e){this.writeTag(n,Sf),this.writeDouble(e)}writeBooleanField(n,e){this.writeVarintField(n,+e)}}function xL(t,n,e){const i=e.buf;let o,r;if(r=i[e.pos++],o=(r&112)>>4,r<128||(r=i[e.pos++],o|=(r&127)<<3,r<128)||(r=i[e.pos++],o|=(r&127)<<10,r<128)||(r=i[e.pos++],o|=(r&127)<<17,r<128)||(r=i[e.pos++],o|=(r&127)<<24,r<128)||(r=i[e.pos++],o|=(r&1)<<31,r<128))return ya(t,o,n);throw new Error("Expected varint not more than 10 bytes")}function ya(t,n,e){return e?n*4294967296+(t>>>0):(n>>>0)*4294967296+(t>>>0)}function _L(t,n){let e,i;if(t>=0?(e=t%4294967296|0,i=t/4294967296|0):(e=~(-t%4294967296),i=~(-t/4294967296),e^4294967295?e=e+1|0:(e=0,i=i+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");n.realloc(10),CL(e,i,n),SL(i,n)}function CL(t,n,e){e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos]=t&127}function SL(t,n){const e=(t&7)<<4;n.buf[n.pos++]|=e|((t>>>=3)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127)))))}function a_(t,n,e){const i=n<=16383?1:n<=2097151?2:n<=268435455?3:Math.floor(Math.log(n)/(Math.LN2*7));e.realloc(i);for(let o=e.pos-1;o>=t;o--)e.buf[o+i]=e.buf[o]}function EL(t,n){for(let e=0;e<t.length;e++)n.writeVarint(t[e])}function PL(t,n){for(let e=0;e<t.length;e++)n.writeSVarint(t[e])}function BL(t,n){for(let e=0;e<t.length;e++)n.writeFloat(t[e])}function TL(t,n){for(let e=0;e<t.length;e++)n.writeDouble(t[e])}function IL(t,n){for(let e=0;e<t.length;e++)n.writeBoolean(t[e])}function FL(t,n){for(let e=0;e<t.length;e++)n.writeFixed32(t[e])}function ML(t,n){for(let e=0;e<t.length;e++)n.writeSFixed32(t[e])}function DL(t,n){for(let e=0;e<t.length;e++)n.writeFixed64(t[e])}function RL(t,n){for(let e=0;e<t.length;e++)n.writeSFixed64(t[e])}function UL(t,n,e){let i="",o=n;for(;o<e;){const r=t[o];let a=null,s=r>239?4:r>223?3:r>191?2:1;if(o+s>e)break;let l,u,A;s===1?r<128&&(a=r):s===2?(l=t[o+1],(l&192)===128&&(a=(r&31)<<6|l&63,a<=127&&(a=null))):s===3?(l=t[o+1],u=t[o+2],(l&192)===128&&(u&192)===128&&(a=(r&15)<<12|(l&63)<<6|u&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):s===4&&(l=t[o+1],u=t[o+2],A=t[o+3],(l&192)===128&&(u&192)===128&&(A&192)===128&&(a=(r&15)<<18|(l&63)<<12|(u&63)<<6|A&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,s=1):a>65535&&(a-=65536,i+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),i+=String.fromCharCode(a),o+=s}return i}function OL(t,n,e){for(let i=0,o,r;i<n.length;i++){if(o=n.charCodeAt(i),o>55295&&o<57344)if(r)if(o<56320){t[e++]=239,t[e++]=191,t[e++]=189,r=o;continue}else o=r-55296<<10|o-56320|65536,r=null;else{o>56319||i+1===n.length?(t[e++]=239,t[e++]=191,t[e++]=189):r=o;continue}else r&&(t[e++]=239,t[e++]=191,t[e++]=189,r=null);o<128?t[e++]=o:(o<2048?t[e++]=o>>6|192:(o<65536?t[e++]=o>>12|224:(t[e++]=o>>18|240,t[e++]=o>>12&63|128),t[e++]=o>>6&63|128),t[e++]=o&63|128)}return e}function Yr(t,n){this.x=t,this.y=n}Yr.prototype={clone(){return new Yr(this.x,this.y)},add(t){return this.clone()._add(t)},sub(t){return this.clone()._sub(t)},multByPoint(t){return this.clone()._multByPoint(t)},divByPoint(t){return this.clone()._divByPoint(t)},mult(t){return this.clone()._mult(t)},div(t){return this.clone()._div(t)},rotate(t){return this.clone()._rotate(t)},rotateAround(t,n){return this.clone()._rotateAround(t,n)},matMult(t){return this.clone()._matMult(t)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(t){return this.x===t.x&&this.y===t.y},dist(t){return Math.sqrt(this.distSqr(t))},distSqr(t){const n=t.x-this.x,e=t.y-this.y;return n*n+e*e},angle(){return Math.atan2(this.y,this.x)},angleTo(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith(t){return this.angleWithSep(t.x,t.y)},angleWithSep(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult(t){const n=t[0]*this.x+t[1]*this.y,e=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=e,this},_add(t){return this.x+=t.x,this.y+=t.y,this},_sub(t){return this.x-=t.x,this.y-=t.y,this},_mult(t){return this.x*=t,this.y*=t,this},_div(t){return this.x/=t,this.y/=t,this},_multByPoint(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint(t){return this.x/=t.x,this.y/=t.y,this},_unit(){return this._div(this.mag()),this},_perp(){const t=this.y;return this.y=this.x,this.x=-t,this},_rotate(t){const n=Math.cos(t),e=Math.sin(t),i=n*this.x-e*this.y,o=e*this.x+n*this.y;return this.x=i,this.y=o,this},_rotateAround(t,n){const e=Math.cos(t),i=Math.sin(t),o=n.x+e*(this.x-n.x)-i*(this.y-n.y),r=n.y+i*(this.x-n.x)+e*(this.y-n.y);return this.x=o,this.y=r,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:Yr},Yr.convert=function(t){if(t instanceof Yr)return t;if(Array.isArray(t))return new Yr(+t[0],+t[1]);if(t.x!==void 0&&t.y!==void 0)return new Yr(+t.x,+t.y);throw new Error("Expected [x, y] or {x, y} point format")};class l_{constructor(n,e,i,o,r){this.properties={},this.extent=i,this.type=0,this.id=void 0,this._pbf=n,this._geometry=-1,this._keys=o,this._values=r,n.readFields(LL,this,e)}loadGeometry(){const n=this._pbf;n.pos=this._geometry;const e=n.readVarint()+n.pos,i=[];let o,r=1,a=0,s=0,l=0;for(;n.pos<e;){if(a<=0){const u=n.readVarint();r=u&7,a=u>>3}if(a--,r===1||r===2)s+=n.readSVarint(),l+=n.readSVarint(),r===1&&(o&&i.push(o),o=[]),o&&o.push(new Yr(s,l));else if(r===7)o&&o.push(o[0].clone());else throw new Error(`unknown command ${r}`)}return o&&i.push(o),i}bbox(){const n=this._pbf;n.pos=this._geometry;const e=n.readVarint()+n.pos;let i=1,o=0,r=0,a=0,s=1/0,l=-1/0,u=1/0,A=-1/0;for(;n.pos<e;){if(o<=0){const h=n.readVarint();i=h&7,o=h>>3}if(o--,i===1||i===2)r+=n.readSVarint(),a+=n.readSVarint(),r<s&&(s=r),r>l&&(l=r),a<u&&(u=a),a>A&&(A=a);else if(i!==7)throw new Error(`unknown command ${i}`)}return[s,u,l,A]}toGeoJSON(n,e,i){const o=this.extent*Math.pow(2,i),r=this.extent*n,a=this.extent*e,s=this.loadGeometry();function l(f){return[(f.x+r)*360/o-180,360/Math.PI*Math.atan(Math.exp((1-(f.y+a)*2/o)*Math.PI))-90]}function u(f){return f.map(l)}let A;if(this.type===1){const f=[];for(const d of s)f.push(d[0]);const p=u(f);A=f.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p}}else if(this.type===2){const f=s.map(u);A=f.length===1?{type:"LineString",coordinates:f[0]}:{type:"MultiLineString",coordinates:f}}else if(this.type===3){const f=kL(s),p=[];for(const d of f)p.push(d.map(u));A=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p}}else throw new Error("unknown feature type");const h={type:"Feature",geometry:A,properties:this.properties};return this.id!=null&&(h.id=this.id),h}}l_.types=["Unknown","Point","LineString","Polygon"];function LL(t,n,e){t===1?n.id=e.readVarint():t===2?zL(e,n):t===3?n.type=e.readVarint():t===4&&(n._geometry=e.pos)}function zL(t,n){const e=t.readVarint()+t.pos;for(;t.pos<e;){const i=n._keys[t.readVarint()],o=n._values[t.readVarint()];n.properties[i]=o}}function kL(t){const n=t.length;if(n<=1)return[t];const e=[];let i,o;for(let r=0;r<n;r++){const a=QL(t[r]);a!==0&&(o===void 0&&(o=a<0),o===a<0?(i&&e.push(i),i=[t[r]]):i&&i.push(t[r]))}return i&&e.push(i),e}function QL(t){let n=0;for(let e=0,i=t.length,o=i-1,r,a;e<i;o=e++)r=t[e],a=t[o],n+=(a.x-r.x)*(r.y+a.y);return n}class VL{constructor(n,e){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=n,this._keys=[],this._values=[],this._features=[],n.readFields(NL,this,e),this.length=this._features.length}feature(n){if(n<0||n>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[n];const e=this._pbf.readVarint()+this._pbf.pos;return new l_(this._pbf,e,this.extent,this._keys,this._values)}}function NL(t,n,e){t===15?n.version=e.readVarint():t===1?n.name=e.readString():t===5?n.extent=e.readVarint():t===2?n._features.push(e.pos):t===3?n._keys.push(e.readString()):t===4&&n._values.push(HL(e))}function HL(t){let n=null;const e=t.readVarint()+t.pos;for(;t.pos<e;){const i=t.readVarint()>>3;n=i===1?t.readString():i===2?t.readFloat():i===3?t.readDouble():i===4?t.readVarint64():i===5?t.readVarint():i===6?t.readSVarint():i===7?t.readBoolean():null}if(n==null)throw new Error("unknown feature value");return n}class GL{constructor(n,e){this.layers=n.readFields(WL,{},e)}}function WL(t,n,e){if(t===3){const i=new VL(e,e.readVarint()+e.pos);i.length&&(n[i.name]=i)}}function jL(t){let n,e;if(Reflect.has(t,"type")&&t.type==="symbol"&&Reflect.has(t,"layout")){const i=t.layout;if(Reflect.has(i,"icon-image")){e={},e.image=i["icon-image"];const{horizontalOrigin:o,verticalOrigin:r}=u_(i["icon-anchor"]??"center");if(e.horizontalOrigin=o,e.verticalOrigin=r,Reflect.has(t,"paint")){const a=t.paint;e.color=b.Color.fromCssColorString(a["icon-color"]??"#FF0000").withAlpha(a["icon-opacity"]??1)}e.rotation=b.Math.toRadians(i["icon-rotate"]??0),e.scale=i["icon-size"]??1,e.show=(i.visibility??"visible")==="visible"}if(Reflect.has(i,"text-field")){n={},n.text=i["text-field"];const{horizontalOrigin:o,verticalOrigin:r}=u_(i["text-anchor"]??"center");if(n.horizontalOrigin=o,n.verticalOrigin=r,Reflect.has(t,"paint")){const a=t.paint;n.fillColor=b.Color.fromCssColorString(a["text-color"]??"#FFFFFF").withAlpha(a["text-opacity"]??1)}n.font=`${i["text-size"]??16}px ${i["text-font"]??"sans-serif"}`,n.show=(i.visibility??"visible")==="visible"}}return{labelStyle:n,billboardStyle:e}}function u_(t){let n=b.HorizontalOrigin.CENTER,e=b.VerticalOrigin.CENTER;switch(t){case"center":break;case"left":n=b.HorizontalOrigin.LEFT;break;case"right":n=b.HorizontalOrigin.RIGHT;break;case"top":e=b.VerticalOrigin.TOP;break;case"bottom":e=b.VerticalOrigin.BOTTOM;break;case"top-left":n=b.HorizontalOrigin.LEFT,e=b.VerticalOrigin.TOP;break;case"top-right":n=b.HorizontalOrigin.RIGHT,e=b.VerticalOrigin.TOP;break;case"bottom-left":n=b.HorizontalOrigin.LEFT,e=b.VerticalOrigin.BOTTOM;break;case"bottom-right":n=b.HorizontalOrigin.RIGHT,e=b.VerticalOrigin.BOTTOM;break}return{horizontalOrigin:n,verticalOrigin:e}}class qL extends c.Destroyable{constructor(e,i){super();L(this,"czmViewer");L(this,"czmESMVTLayer");L(this,"screenManager");L(this,"cacheSize",100);L(this,"urlMap",new Map);L(this,"tileScheme","xyz");L(this,"minimumLevel",0);L(this,"maximumLevel",18);L(this,"_cache",new Map);L(this,"lastTiles",new Map);this.czmViewer=e,this.czmESMVTLayer=i;const o=this.czmViewer.viewer;if(!o)return;const r=Ot(o);if(!r)return;this.screenManager=r.screenManager,this.tileScheme=i.sceneObject.scheme??"xyz",this.maximumLevel=i.sceneObject.maximumLevel,this.minimumLevel=i.sceneObject.minimumLevel,(()=>{do{if(!i.mvtLayerJson)break;if(typeof i.mvtLayerJson.mainJson=="string"){this.urlMap.set("customSource",[i.mvtLayerJson.mainJson]);break}if(typeof i.mvtLayerJson.mainJson=="object"){const s=i.mvtLayerJson.mainJson.sources;for(const l in s){const u=s[l];u.type==="vector"&&Reflect.has(u,"tiles")&&this.urlMap.set(l,u.tiles)}break}}while(!1)})(),this.ad(()=>{var l;const s=this.lastTiles.values().next().value;s&&((l=this.screenManager)==null||l.remove(s.layer,s==null?void 0:s.id,Object.values(s.featureTable).flat())),this.cache&&(this.cache.clear(),this.cache=null)})}get cache(){return this._cache}set cache(e){this._cache=e}addTiles(e){var a;if(this.urlMap.size==0)return;if(this.cache&&this.cache.has(e)&&this.lastTiles.has(e)){this.updateTiles([e],"show");return}const[i,o,r]=e.split("-").map(Number);(a=this.cache)==null||a.set(e,new Map),this.requestImage(o,r,i,e)}updateTiles(e,i="hide"){var o,r;for(let a=0;a<e.length;a++){const s=e[a],l=this.lastTiles.get(s);if(l){const u=Object.keys(l.featureTable);for(let A=0;A<u.length;A++){const h=u[A],f=l.featureTable[h];i=="delete"?(o=this.screenManager)==null||o.remove(l.layer,l.id,f):(r=this.screenManager)==null||r.update(l.layer,l.id,f,{all:{show:i=="show"}})}}i=="delete"&&this.lastTiles.delete(s)}}update(e){const i=Array.from(this.lastTiles.keys()),o=i.filter(s=>!e.includes(s)),r=i.filter(s=>e.includes(s)),a=e.filter(s=>!i.includes(s));this.updateTiles(o),this.updateTiles(r,"show");for(let s=0;s<a.length;s++){const l=a[s];this.addTiles(l)}this.clearCache()}requestImage(e,i,o,r){const a=this.tileScheme=="tms"?Math.pow(2,o)-i-1:i;this.urlMap.size!=0&&this.urlMap.entries().forEach(([s,l])=>{if(l.length!=0&&l[0].includes("{z}")){const u=l[0].replace(/{z}/g,o.toString()).replace(/{x}/g,e.toString()).replace(/{y}/g,a.toString());fetch(u).then(A=>{var h,f;if(A.ok&&((h=this.cache)!=null&&h.has(r))&&((f=this.cache.get(r))==null?void 0:f.size)==0)return A.arrayBuffer()}).then(A=>{var d,m,v;const h=new bL(A),f=new GL(h),p=new Map;for(const y in f.layers){const g=f.layers[y];if(g.length<=0||g.feature(0).type!==1)continue;const _=[];for(let x=0;x<g.length;x++){const E=g.feature(x);_.push(E.toGeoJSON(e,i,o))}p.set(y,_)}(d=this.cache)!=null&&d.has(r)&&((m=this.cache.get(r))==null?void 0:m.size)==0&&((v=this.cache)==null||v.set(r,p),this.addScreenManage(r,p))})}})}clearCache(){if(!this.cache)return;const e=this.cache.size-this.cacheSize;if(!(e<=0))for(let i=0;i<e;i++){const o=this.cache.keys().next().value;o&&(this.updateTiles([o],"delete"),this.cache.delete(o))}}addScreenManage(e,i){this.lastTiles.set(e,{layer:"default",id:this.czmESMVTLayer.sceneObject.id,featureTable:{}});const o=this.lastTiles.get(e);for(const[r,a]of i.entries()){const s=this.czmESMVTLayer.mvtLayerJson.pointJson.find(l=>l["source-layer"]==r)??{};for(const l of a){const{labelStyle:u,billboardStyle:A}=jL(s);let h,f;u&&(h=this.screenManager.addLabel(this.czmESMVTLayer.sceneObject.id,"default",u??{},{position:l.geometry.coordinates,name:l.properties.NAME??l.properties.name,index:l.id})),A&&(f=this.screenManager.addImage(this.czmESMVTLayer.sceneObject.id,"default",A??{},{position:l.geometry.coordinates,name:l.properties.NAME??l.properties.name,index:l.id})),o.featureTable[r]||(o.featureTable[r]=[]),h&&o.featureTable[r].push(h.screenObjectId),f&&o.featureTable[r].push(f.screenObjectId)}}}reset(){if(!this.cache)return;const e=Array.from(this.cache.keys());this.update([]),setTimeout(()=>{this.update(e)})}}class KL extends c.Destroyable{constructor(e,i){super();L(this,"vectorTilesCache");L(this,"czmViewer");L(this,"czmESMVTLayer");this.czmViewer=e,this.czmESMVTLayer=i,this.vectorTilesCache=this.ad(new qL(e,i)),this.updateTiles();const o=this.czmViewer.viewer.scene.globe._surface.tileLoadProgressEvent.addEventListener(r=>{r==0&&this.updateTiles()});this.ad(()=>{o()})}updateTiles(){const e=this.czmViewer.viewer;if(!e)return;const i=new Set;for(let o=0;o<e.scene.globe._surface._tilesToRender.length;o++){const r=e.scene.globe._surface._tilesToRender[o];if(r.data)for(let a=0;a<r.data.imagery.length;a++){const s=r.data.imagery[a],l=s.loadingImagery??s.readyImagery;if(l){const u=`${l.level}-${l.x}-${l.y}`;i.add(u)}}}this.vectorTilesCache.update(Array.from(i))}}const Lc=class Lc extends Hn{constructor(e,i){super(e,i);L(this,"_czmImagery");L(this,"_mvtLayerJson",this.disposeVar(c.reactJson({mainJson:"",pointJson:[],otherJson:[]})));L(this,"mvtLayerJsonChanged",this.ad(new c.Event));if(this._czmImagery=this.dv(new Zr(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmImagery;this.d(c.track([r,"show"],[e,"show"])),this.d(c.track([r,"zIndex"],[e,"zIndex"])),this.d(c.track([r,"rectangle"],[e,"rectangle"])),this.d(c.track([r,"alpha"],[e,"opacity"])),this.d(c.track([r,"splitDirection"],[e,"splitDirection"])),this.d(c.track([r,"brightness"],[e,"czmBrightness"])),this.d(c.track([r,"contrast"],[e,"czmContrast"])),this.d(c.track([r,"hue"],[e,"czmHue"])),this.d(c.track([r,"saturation"],[e,"czmSaturation"])),this.d(c.track([r,"gamma"],[e,"czmGamma"]));{const s=this.dv(c.createNextAnimateFrameEvent(e.accessTokenChanged,e.maximumLevelChanged,e.minimumLevelChanged,e.tileSizeChanged,e.allowPickingChanged,e.rectangleChanged,e.schemeChanged,this.mvtLayerJsonChanged)),l=()=>{!this.mvtLayerJson||this.mvtLayerJson.otherJson.length==0||(r.imageryProvider={type:"MVTImageryProvider",url:this.mvtLayerJson.mainJson,accessToken:e.accessToken,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,tileSize:e.tileSize,enablePickFeatures:e.allowPicking,rectangle:e.rectangle,style:this.mvtLayerJson.otherJson,scheme:e.scheme})};l(),this.d(s.don(l))}{const s=A=>{const h=structuredClone(A);Reflect.deleteProperty(h,"layers"),this.mvtLayerJson={mainJson:h,pointJson:A.layers.filter(f=>f.type=="symbol"),otherJson:A.layers.filter(f=>f.type!="symbol")}},l=async()=>{var A;if(typeof e.url=="string")if(e.url.includes("{z}"))this.mvtLayerJson.mainJson=e.url;else{const h=await fetch(e.url);if((A=h.headers.get("Content-Type"))!=null&&A.includes("json")){const f=await h.json();s(f)}}else s(e.url);e.style&&e.style.length!=0&&(this.mvtLayerJson.pointJson=e.style.filter(h=>h.type=="symbol"),this.mvtLayerJson.otherJson=e.style.filter(h=>h.type!="symbol")),this.mvtLayerJsonChanged.emit()};l();const u=this.ad(c.createNextAnimateFrameEvent(e.urlChanged,e.styleChanged));this.ad(u.don(l))}const a=this.ad(c.createNextAnimateFrameEvent(e.schemeChanged,e.maximumLevelChanged,e.minimumLevelChanged,this.mvtLayerJsonChanged));this.ad(new c.ObjResettingWithEvent(a,()=>new KL(i,this)))}get czmImagery(){return this._czmImagery}get mvtLayerJson(){return this._mvtLayerJson.value}set mvtLayerJson(e){this._mvtLayerJson.value=e}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmImagery:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):(a.flyTo(e&&e),o.flyOverEvent.emit(i,"over",r),!0):!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmImagery:a}=this;return r.actived?o.flyInParam?super.flyIn(e,i):(a.flyTo(e&&e),o.flyOverEvent.emit(i,"over",r),!0):!1}};L(Lc,"type",Lc.register("ESCesiumViewer",mf.type,Lc));let ey=Lc;class ZL extends c.Destroyable{constructor(n,e){super(),this._czmESPipeFence=n,this._sceneObject=e;const i=this._sceneObject,o=this._czmESPipeFence,r=o.czmCustomPrimitive;if(!i.points||i.points.length<2){this.clear(r);return}const a=i.points.length;let s=[],l=[],u=[],A=[],h=[];for(let y=0;y<a-1;y++){const{outlinePionts:g,customPrimitivePoints:_}=this.divideFourPoints(i.points[y],i.points[y+1]);A.push(..._),h.push(...g),u.push(...this.setIndexs(y))}const[f,p,d]=wn({originPosition:A[0]},A),m=this.setFaces(f);s.push(...m.flat());const v=this.setTextureCoordinates(i,o);l.push(...v.flat()),o.computeBoundingBox(),this.updateCustomPrimitive(r,p,s,u,l)}divideFourPoints(n,e){const i=c.geoHeading(n,e),o=c.geoDestination(n,this._sceneObject.width/2,90+i),r=c.geoDestination(n,this._sceneObject.width/2,i-90),a=c.geoDestination(e,this._sceneObject.width/2,i-90),s=c.geoDestination(e,this._sceneObject.width/2,90+i),l=[o[0],o[1],o[2]+this._sceneObject.height/2],u=[o[0],o[1],o[2]-this._sceneObject.height/2],A=[r[0],r[1],r[2]+this._sceneObject.height/2],h=[r[0],r[1],r[2]-this._sceneObject.height/2],f=[s[0],s[1],s[2]+this._sceneObject.height/2],p=[s[0],s[1],s[2]-this._sceneObject.height/2],d=[a[0],a[1],a[2]+this._sceneObject.height/2],m=[a[0],a[1],a[2]-this._sceneObject.height/2],v=[[l,A],[l,f],[l,u],[u,p]],y=[[u,h],[A,d],[A,h],[h,m]],g=[[f,p],[f,d],[p,m],[d,m]];return{outlinePionts:[...v,...y,...g],customPrimitivePoints:[u,l,A,h,p,f,d,m]}}setIndexs(n){const e=n*16;return[e+1,e+0,e+3,e+1,e+3,e+2,e+5,e+4,e+7,e+6,e+5,e+7,e+9,e+8,e+11,e+9,e+11,e+10,e+13,e+12,e+15,e+13,e+15,e+14]}setFaces(n){const e=[],i=n.length/8;for(let r=0;r<i;r++){const a=n.slice(8*r,8*(r+1));e.push(a)}return[...e.map(r=>[r[4],r[5],r[1],r[0],r[5],r[6],r[2],r[1],r[6],r[7],r[3],r[2],r[7],r[4],r[0],r[3]]).flat()]}getDistances(n,e){const[i]=wn({originPosition:n[0]},n),o=i.length,r=i.reduce((l,u,A,h)=>{if(A===0)return l.push(0),l;const f=A-1,p=h[f],d=Math.sqrt((p[0]-u[0])*(p[0]-u[0])+(p[1]-u[1])*(p[1]-u[1]));return l.push(l[f]+d),l},[]),a=r[o-1];return e.distances=a,r.map(l=>l/a)}setTextureCoordinates(n,e){if(!n.points||n.points.length<2)return;const i=this.getDistances(n.points,e),o=[];for(let r=1;r<i.length;r++){let a=[];if(r===i.length-1){const s=[1,0,1,1,i[r-1],1,i[r-1],0];a=[...s,...s,...s,...s]}else{const s=[i[r],0,i[r],1,i[r-1],1,i[r-1],0];a=[...s,...s,...s,...s]}o.push(a)}return o}updateCustomPrimitive(n,e,i,o,r){n.modelMatrix=e,n.indexTypedArray=new Uint16Array(o),n.attributes={position:{typedArray:new Float32Array(i),componentsPerAttribute:3},a_st:{typedArray:new Float32Array(r),componentsPerAttribute:2}}}clear(n){n.indexTypedArray=void 0,n.modelMatrix=void 0,n.attributes=void 0}}const zc=class zc extends sn{constructor(e,i){super(e,i);L(this,"_line",this.dv(new Ye(this.czmViewer,this.sceneObject.id)));L(this,"_czmTexture",this.ad(new ft(this.czmViewer,this.sceneObject.id)));L(this,"_czmCustomPrimitive",this.dv(new ut(this.czmViewer,this.sceneObject.id)));L(this,"_distances",this.dv(c.react(0)));if(!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmTexture,a=this._line;this.d(c.bind([a,"positions"],[e,"points"])),this.d(c.track([this.line,"allowPicking"],[e,"allowPicking"])),this.d(c.track([this.line,"color"],[e,"strokeColor"])),this.d(c.track([this.line,"width"],[e,"strokeWidth"])),this.d(c.track([this.line,"ground"],[e,"strokeGround"]));{const A=this.dv(c.createNextAnimateFrameEvent(this.sceneObject.pointsChanged,this.sceneObject.strokeWidthChanged,this.sceneObject.strokeColorChanged,this.sceneObject.heightChanged,this.sceneObject.widthChanged,this.sceneObject.fillColorChanged));this.dv(new c.ObjResettingWithEvent(A,()=>new ZL(this,this.sceneObject)))}{const A=()=>{a.show=e.show&&e.stroked};A();const h=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(h.don(A))}this.bindCustomPrimitive(e);let s="";const l=c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/singleArrow.png"),u=c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/multipleArrows.png");{const A=()=>{e.materialMode==="multipleArrows"||e.materialMode==="blue"?s=u:e.materialMode==="color"?s="":s=l,r.uri=s,s==""?(this._czmCustomPrimitive.uniformMap={u_color:e.fillColor},this._czmCustomPrimitive.fragmentShaderSource=` uniform vec4 u_color;
|
|
3597
|
+
`};a();const s=this.disposeVar(c.createNextAnimateFrameEvent(this.heightChanged,this.positionsChanged));this.dispose(s.disposableOn(a))}this.dispose(this.flyToEvent.disposableOn(a=>{this.czmCustomPrimitive.flyTo(a)}));{const a=()=>{const l=r.value?r.value:1,u=this.height??pr.defaults.height,{textureSizeInMeters:A=pr.defaults.textureSizeInMeters}=this,{textureUri:h=pr.defaults.textureUri}=this;o.uniformMap={u_image:{type:"image",uri:h},u_stScale:[l/A[0],u/A[1]],u_speed:this.textureMoveSpeed??pr.defaults.textureMoveSpeed,u_color:this.textureColor??pr.defaults.textureColor}};a();const s=this.disposeVar(c.createNextAnimateFrameEvent(this.textureColorChanged,this.textureMoveSpeedChanged,this.textureSizeInMetersChanged,this.heightChanged,this.textureSizeInMetersChanged,this.textureUriChanged,r.changed));this.dispose(s.disposableOn(a))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get czmCustomPrimitive(){return this._czmCustomPrimitive}get geoBoundingSphere(){return this._geoBoundingSphere.value}get geoBoundingSphereChanged(){return this._geoBoundingSphere.changed}};L(pr,"defaults",{show:!0,allowPicking:!1,positions:[],height:1e3,textureSizeInMeters:[500,500],textureUri:"${earthsdk3-assets-script-dir}/assets/img/location.png",textureMoveSpeed:[0,.3],textureColor:[1,1,1,1]});let $o=pr;(t=>{t.createDefaultProps=()=>({show:void 0,allowPicking:void 0,positions:c.reactPositions(void 0),height:void 0,textureSizeInMeters:c.reactArrayWithUndefined(void 0),textureUri:void 0,textureMoveSpeed:c.reactArrayWithUndefined(void 0),textureColor:c.reactArrayWithUndefined(void 0)})})($o||($o={})),c.extendClassProps($o.prototype,$o.createDefaultProps);const Tc=class Tc extends sn{constructor(e,i){super(e,i);L(this,"_czmPolygonFence");L(this,"_czmPolygon");if(this._czmPolygonFence=this.disposeVar(new $o(i,e.id)),this._czmPolygon=this.dv(new c.ESGeoPolygon),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmPolygonFence,a=this._czmPolygon;i.add(a),this.dispose(()=>i.delete(a)),a.filled=!1,this.d(c.track([a,"points"],[e,"points"])),this.d(c.track([a,"stroked"],[e,"stroked"])),this.d(c.track([a,"strokeColor"],[e,"strokeColor"])),this.d(c.track([a,"strokeWidth"],[e,"strokeWidth"])),this.d(c.track([a,"strokeGround"],[e,"strokeGround"]));{const s={danger:{color:[.99,.98,.57,1],image:"01.png"},checkerboard:{color:[.88,.98,.99,1],image:"02.png"},warning:{color:[1,.93,.58,1],image:"03.png"},cord:{color:[.91,.87,.56,1],image:"04.png"},scanline:{color:[.43,.78,.8,1],image:"05.png"},honeycomb:{color:[.28,.84,.86,1],image:"06.png"},gradientColor:{color:[1,1,1,1],image:"07.png"}},l=(f,p)=>{switch(f){case"danger":return{textureMoveSpeed:[.05,0],textureSizeInMeters:[2,2]};case"checkerboard":return{textureMoveSpeed:[0,0],textureSizeInMeters:[2,2]};case"warning":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"cord":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"scanline":return{textureMoveSpeed:[0,0],textureSizeInMeters:[p,p]};case"honeycomb":return{textureMoveSpeed:[0,0],textureSizeInMeters:[p,p]};case"gradientColor":return{textureMoveSpeed:[0,0],textureSizeInMeters:[p,p]};default:return{textureMoveSpeed:[0,0],textureSizeInMeters:[p*.5,2]}}},u="${earthsdk3-assets-script-dir}/assets/img/fence/",A=()=>{const f=e.materialMode,p=s[f];if(!p)return;r.textureUri=u+p.image,r.textureColor=f!=="gradientColor"?p.color:e.fillColor;const{textureMoveSpeed:d,textureSizeInMeters:m}=l(f,e.height);r.textureMoveSpeed=d,r.textureSizeInMeters=m};A();const h=this.disposeVar(c.createNextAnimateFrameEvent(e.materialModeChanged,e.heightChanged,e.fillColorChanged));this.dispose(h.disposableOn(A))}{this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(c.bind([r,"positions"],[e,"points"])),this.dispose(c.track([r,"height"],[e,"height"]));{const s=()=>{r.show=e.show&&e.filled};s();const l=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.dispose(l.don(s))}}}get czmPolygonFence(){return this._czmPolygonFence}get czmPolygon(){return this._czmPolygon}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmPolygonFence:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):(bn(r,o,i,e,a.czmCustomPrimitive),!0):!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmPolygonFence:a}=this;return r.actived?o.flyInParam?super.flyIn(e,i):(bn(r,o,i,e,a.czmCustomPrimitive),!0):!1}};L(Tc,"type",Tc.register("ESCesiumViewer",c.ESPolygonFence.type,Tc));let Hg=Tc;const Ic=class Ic extends sn{constructor(e,i){super(e,i);L(this,"_czmESRectangle");if(this._czmESRectangle=this.disposeVar(new Ci(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRectangle;this.dispose(c.bind([r,"show"],[e,"show"])),this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(c.track([r,"ground"],[e,"fillGround"])),this.dispose(c.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(c.track([r,"outlineTranslucent"],[e,"outlineTranslucent"])),this.dispose(c.bind([r,"height"],[e,"height"])),this.dispose(c.bind([r,"extrudedHeight"],[e,"extrudedHeight"])),this.dispose(c.bind([r,"rectangle"],[e,"rectangle"])),this.dispose(c.bind([r,"stRotation"],[e,"stRotation"])),this.dispose(c.bind([r,"rotation"],[e,"rotation"])),this.dispose(c.track([r,"outline"],[e,"stroked"])),this.dispose(c.track([r,"outlineColor"],[e,"strokeColor"]));{const a=()=>{const s=e.points;if(s&&s.length>=2){const{minPos:l,maxPos:u}=c.getMinMaxCorner(s);r.rectangle=[l[0],l[1],u[0],u[1]],r.height=s[1][2],r.extrudedHeight=s[0][2]}else r.rectangle=void 0,r.height=0,r.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}{const a=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material={type:"Color",color:[1,1,1,0]}};a();const s=this.disposeVar(c.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(s.disposableOn(a))}}get czmESRectangle(){return this._czmESRectangle}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmESRectangle:a}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,i);if(a.rectangle){const s=[[a.rectangle[0],a.rectangle[1],a.height],[a.rectangle[2],a.rectangle[3],a.height],[a.rectangle[0],a.rectangle[1],a.extrudedHeight],[a.rectangle[2],a.rectangle[3],a.extrudedHeight]];return Me(r,o,i,s,e),!0}return!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmESRectangle:a}=this;if(!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,i);if(a.rectangle){const s=[[a.rectangle[0],a.rectangle[1],a.height],[a.rectangle[2],a.rectangle[3],a.height],[a.rectangle[0],a.rectangle[1],a.extrudedHeight],[a.rectangle[2],a.rectangle[3],a.extrudedHeight]];return Me(r,o,i,s,e),!0}return!1}};L(Ic,"type",Ic.register("ESCesiumViewer",c.ESRectangle.type,Ic));let Gg=Ic;const uo=class uo extends c.Destroyable{constructor(e,i){super();L(this,"_flyToEvent",this.disposeVar(new c.Event));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}const r=c.ESSceneObject.context.createEnvStrReact([this,"imageUrl"],uo.defaults.imageUrl),a=this.disposeVar(c.react(void 0)),s=()=>{const g=b.Material.fromType(b.Material.ImageType);g.uniforms.image=r.value,g.uniforms.repeat=Ze(this.repeat??uo.defaults.repeat),a.value=g};s();const l=this.disposeVar(c.createNextAnimateFrameEvent(r.changed,this.repeatChanged));this.dispose(l.disposableOn(s));const u=(g,_)=>{const x=new b.PolylineMaterialAppearance({material:_,renderState:{depthTest:{enabled:!1}}});x.renderState.depthMask=!1;const E=[];if(g.length<2)return;E.push(new b.GeometryInstance({geometry:new b.GroundPolylineGeometry({positions:g,width:this.width??uo.defaults.width,vertexFormat:b.PolylineMaterialAppearance.VERTEX_FORMAT,arcType:b.ArcType[this.arcType??uo.defaults.arcType]}),id:this}));const B=new Bi({geometryInstances:E,appearance:x,asynchronous:!1,allowPicking:this.allowPicking??uo.defaults.allowPicking,compressVertices:!1});return B.ESSceneObjectID=i,B};let A;const h=new b.BoundingSphere,f=()=>{A&&(o.scene.primitives.remove(A),A=void 0)};this.dispose(f);const p=()=>{if(f(),!this.positions)return;const g=Yt(this.positions);if(g.length<2||!a.value){h.radius=-1;return}b.BoundingSphere.fromPoints(g,h),A=u(g,a.value),A&&o.scene.primitives.add(A)},d=()=>{A&&(A.show=this.show??!0)};this.dispose(this.flyToEvent.disposableOn(g=>{if(e.actived&&h.radius>0){const _=De(h.center);_&&Fe(o,_,h.radius*4,void 0,g)}})),p(),d();const m=this.disposeVar(c.createNextAnimateFrameEvent(this.positionsChanged,this.widthChanged,a.changed,this.arcTypeChanged,this.allowPickingChanged));this.dispose(m.disposableOn(()=>{p(),d()}));const v=this.disposeVar(c.createNextAnimateFrameEvent(this.showChanged));this.dispose(v.disposableOn(()=>{d()}));const{extensions:y}=e;if(!y){console.warn("!extensions");return}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}};L(uo,"defaults",{show:!0,positions:[],width:50,arcType:"GEODESIC",imageUrl:"${earthsdk3-assets-script-dir}/assets/img/roads/4.jpg",repeat:[100,1],allowPicking:!1});let Xo=uo;(t=>{t.createDefaultProps=()=>({show:void 0,positions:c.reactPositions(void 0),width:void 0,arcType:void 0,imageUrl:void 0,repeat:void 0,allowPicking:void 0})})(Xo||(Xo={})),c.extendClassProps(Xo.prototype,Xo.createDefaultProps);const Fc=class Fc extends sn{constructor(e,i){super(e,i);L(this,"_czmESRoad");if(this._czmESRoad=this.disposeVar(new Xo(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRoad;{const a=()=>{r.show=e.show&&e.stroked};a();const s=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(s.don(a))}this.dispose(c.bind([r,"positions"],[e,"points"])),this.dispose(c.track([r,"width"],[e,"width"])),this.dispose(c.track([r,"arcType"],[e,"arcType"])),this.dispose(c.track([r,"imageUrl"],[e,"imageUrl"])),this.dispose(c.track([r,"repeat"],[e,"repeat"])),this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"]))}get czmESRoad(){return this._czmESRoad}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmESRoad:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):a.positions?(Me(r,o,i,a.positions,e),!0):!1:!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmESRoad:a}=this;return r.actived?o.flyInParam?super.flyIn(e,i):a.positions?(Me(r,o,i,a.positions,e),!0):!1:!1}};L(Fc,"type",Fc.register("ESCesiumViewer",xf.type,Fc));let Wg=Fc;const Mc=class Mc extends c.EngineObject{constructor(e,i){super(e,i);L(this,"_customDiv");if(this._customDiv=this.disposeVar(new c.ESCustomDiv(e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;i.add(r),this.dispose(()=>i.delete(r)),r.instanceClass=class extends c.Destroyable{constructor(s,l,u){super(),this._subContainer=s;const A=document.createElement("div");this._subContainer.appendChild(A),this.dispose(()=>this._subContainer.removeChild(A));{const m=()=>{A.style.display=e.show??c.ESScale.defaults.show?"block":"none"};m(),e.dispose(e.showChanged.disposableOn(m))}A.style.position="fixed",A.style.width="125px",A.style.height="30px",A.style.border="1px solid rgba(49,50,56,.8)",A.style.padding="0 5px",A.style.backgroundColor="rgba(37,38,42,.8)",A.style.borderRadius="15px",A.style.pointerEvents="auto",A.style.transition=" right 0.4s linear";{const m=()=>{A.style.bottom=`${e.cssPosition?e.cssPosition[0]:c.ESScale.defaults.cssPosition[0]}px`,e.screenPosition==="left"?(A.style.right="auto",A.style.left=`${e.cssPosition?e.cssPosition[1]:c.ESScale.defaults.cssPosition[1]}px`):(A.style.left="auto",A.style.right=`${e.cssPosition?e.cssPosition[1]:c.ESScale.defaults.cssPosition[1]}px`)},v=this.disposeVar(c.createNextAnimateFrameEvent(e.cssPositionChanged,e.screenPositionChanged));m(),this.dispose(v.disposableOn(()=>m()))}const h=document.createElement("div");A.appendChild(h),this.dispose(()=>A.removeChild(h)),h.style.width="125px",h.style.display="inline-block",h.style.textAlign="center",h.style.fontSize="14px",h.style.fontWeight="lighter",h.style.lineHeight="30px",h.style.color="#fff",h.innerHTML="1000km";const f=document.createElement("div");A.appendChild(f),this.dispose(()=>A.removeChild(f)),f.style.borderRight="1px solid #fff",f.style.borderLeft="1px solid #fff",f.style.borderBottom="1px solid #fff",f.style.position="absolute",f.style.height="10px",f.style.top="15px",f.style.width="75px",f.style.left="30px";const p=()=>{const m=i.viewerLegend.legend.computedLengthInMeters;if(e.show===!1||m&&m>1e6)A.style.display="none";else{A.style.display="block";const v=i.viewerLegend.legend.computedLengthInStr;v&&(h.innerHTML=v);const y=i.viewerLegend.legend.computedLengthInPixels;if(y){f.style.width=`${y}px`;const g=(135-y)/2;f.style.left=`${g}px`}}};p();const d=setInterval(()=>{p()},200);this.dispose(()=>clearInterval(d))}}}get customDiv(){return this._customDiv}};L(Mc,"type",Mc.register("ESCesiumViewer",c.ESScale.type,Mc));let jg=Mc;const Dc=class Dc extends He{constructor(e,i){super(e,i);L(this,"_czmCustomPrimitive");if(this._czmCustomPrimitive=this.disposeVar(new ut(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmCustomPrimitive;this.dispose(c.track([r,"show"],[e,"show"])),this.dispose(c.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(Dt([r,"rotation"],[e,"rotation"])),this.dispose(c.track([r,"position"],[e,"position"])),this.dispose(c.track([r,"scale"],[e,"scale"])),this.dispose(c.track([r,"viewDistanceRange"],[e,"viewDistanceRange"])),this.dispose(c.track([r,"viewDistanceDebug"],[e,"viewDistanceDebug"])),this.dispose(c.track([r,"maximumScale"],[e,"maximumScale"])),this.dispose(c.track([r,"minimumScale"],[e,"minimumScale"])),this.dispose(c.track([r,"pixelSize"],[e,"pixelSize"])),this.dispose(c.track([r,"showSceneScale"],[e,"showSceneScale"])),this.dispose(c.track([r,"modelMatrix"],[e,"modelMatrix"])),this.dispose(c.track([r,"cull"],[e,"cull"])),this.dispose(c.track([r,"boundingVolume"],[e,"boundingVolume"])),this.dispose(c.track([r,"pass"],[e,"pass"])),this.dispose(c.track([r,"primitiveType"],[e,"primitiveType"])),this.dispose(c.track([r,"renderState"],[e,"renderState"])),this.dispose(c.track([r,"vertexShaderSource"],[e,"vertexShaderSource"])),this.dispose(c.track([r,"fragmentShaderSource"],[e,"fragmentShaderSource"])),this.dispose(c.track([r,"uniformMap"],[e,"uniformMap"])),this.dispose(c.track([r,"attributes"],[e,"attributes"])),this.dispose(c.track([r,"indexTypedArray"],[e,"indexTypedArray"])),this.dispose(c.track([r,"attributesJson"],[e,"attributesJson"])),this.dispose(c.track([r,"indexTypedArrayJson"],[e,"indexTypedArrayJson"])),this.dispose(c.track([r,"count"],[e,"count"])),this.dispose(c.track([r,"offset"],[e,"offset"])),this.dispose(c.track([r,"instanceCount"],[e,"instanceCount"])),this.dispose(c.track([r,"localPosition"],[e,"localPosition"])),this.dispose(c.track([r,"localScale"],[e,"localScale"])),this.dispose(c.track([r,"localModelMatrix"],[e,"localModelMatrix"])),this.dispose(c.track([r,"debugShowBoundingVolume"],[e,"debugShowBoundingVolume"])),this.dispose(c.track([r,"debugOverlappingFrustums"],[e,"debugOverlappingFrustums"])),this.dispose(c.track([r,"occlude"],[e,"occlude"])),this.dispose(c.track([r,"castShadows"],[e,"castShadows"])),this.dispose(c.track([r,"receiveShadows"],[e,"receiveShadows"])),this.dispose(c.track([r,"executeInClosestFrustum"],[e,"executeInClosestFrustum"])),this.dispose(c.track([r,"pickOnly"],[e,"pickOnly"])),this.dispose(c.track([r,"depthForTranslucentClassification"],[e,"depthForTranslucentClassification"]));{const a=()=>{if(e.localRotation){const s=[...e.localRotation];s[0]-=90,r.localRotation=s}else r.localRotation=[-90,0,0]};a(),this.dispose(e.localRotationChanged.disposableOn(a))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmCustomPrimitive:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):(bn(r,o,i,e,a,!0),!0):!1}};L(Dc,"type",Dc.register("ESCesiumViewer",wf.type,Dc));let qg=Dc;const Rc=class Rc extends df{constructor(e,i){super(e,i);L(this,"czmGeoPolyline");L(this,"czmWater");if(!i.viewer){console.warn("viewer is undefined!");return}if(!Ot(i.viewer))return;this.czmGeoPolyline=this.dv(new Ye(i,e.id)),this.czmWater=this.dv(new Ro(i,e.id));const{czmGeoPolyline:a,czmWater:s}=this;this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"ground"],[e,"fillGround"])),this.d(c.track([a,"allowPicking"],[e,"allowPicking"])),this.d(c.track([a,"color"],[e,"strokeColor"])),this.d(c.track([a,"width"],[e,"strokeWidth"])),this.d(c.track([a,"ground"],[e,"strokeGround"]));{const l=this.dv(c.createNextAnimateFrameEvent(e.waterColorChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),u=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??c.ESDynamicWater.defaults.waterColor,frequency:(e.frequency??c.ESDynamicWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??c.ESDynamicWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??c.ESDynamicWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??c.ESDynamicWater.defaults.specularIntensity,flowDirection:e.flowDirection??c.ESDynamicWater.defaults.flowDirection,flowSpeed:e.flowSpeed??c.ESDynamicWater.defaults.flowSpeed});else{const A=Object.assign({},Rh[e.waterType]);A.frequency&&(A.frequency/=10),A.waveVelocity&&(A.waveVelocity/=100),A.amplitude&&(A.amplitude*=100),this.updateWater(A)}};u(),this.d(l.don(u))}{const l=()=>{a.show=e.show&&e.stroked},u=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(u.don(l)),l()}{const l=()=>{s.show=!!(e.show&&e.filled)},u=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(u.don(l)),l()}{const l=()=>{if(!e.points||e.points&&e.points.length<=2){a.positions=[],s.points=[];return}if(e.scale&&e.scale.some(f=>f===0)){console.warn("缩放属性(scale)不能设置值为0");return}const A=e.points.map(f=>[f[0],f[1],0]),[h]=_r({originPosition:e.position,originRotation:e.rotation,originScale:e.scale,initialRotationMode:"XForwardZUp"},A);a.positions=[...h,h[0]],s.points=[...h]};l();const u=this.dv(c.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.d(u.don(l))}}visibleDistance(e,i){var o;if((o=i.viewer)!=null&&o.camera&&e.show){const r=c.getDistancesFromPositions([e.position,Mn(i.viewer.camera)],"NONE")[0];let a=!1;e.minVisibleDistance<e.maxVisibleDistance?a=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(a=r>e.minVisibleDistance),this.czmGeoPolyline&&(this.czmGeoPolyline.show=e.show&&e.stroked&&a),this.czmWater&&(this.czmWater.show=e.show&&e.filled&&a)}}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmWater:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):a!=null&&a.points?(Me(r,o,i,a.points,e,!0),!0):!1:!1}updateWater(e){const{czmWater:i}=this;i&&(e.waterColor&&i.waterColor!=e.waterColor&&(i.waterColor=e.waterColor),e.specularIntensity!=null&&i.specularIntensity!=e.specularIntensity&&(i.specularIntensity=e.specularIntensity),e.frequency!=null&&i.frequency!=e.frequency&&(i.frequency=e.frequency),e.waveVelocity!=null&&i.animationSpeed!=e.waveVelocity&&(i.animationSpeed=e.waveVelocity),e.amplitude!=null&&i.amplitude!=e.amplitude&&(i.amplitude=e.amplitude),e.flowSpeed!=null&&i.flowSpeed!=e.flowSpeed&&(i.flowSpeed=e.flowSpeed),i.baseWaterImage=e.waterImage,i.stRotation=e.flowDirection)}};L(Rc,"type",Rc.register("ESCesiumViewer",c.ESDynamicWater.type,Rc));let Kg=Rc;const it=class it extends Hn{constructor(e,i){super(e,i);L(this,"_dataSource",this.disposeVar(c.react(void 0)));L(this,"_pointFeatures",this.disposeVar(c.reactJsonWithUndefined(void 0)));L(this,"featureArrName","features");const o=i.viewer;if(!o){console.warn("viewer is undefined!");return}const r=Ot(o);if(!r)return;const{screenManager:a}=r,s={scale:1*it.scaleFactor,font:"16px sans-serif",verticalOrigin:b.VerticalOrigin.BOTTOM,horizontalOrigin:b.HorizontalOrigin.CENTER,scaleByDistance:it.scaleByDistance,eyeOffset:new b.Cartesian3(0,0,-10),show:!0},l={scale:1*it.scaleFactor,verticalOrigin:b.VerticalOrigin.BOTTOM,horizontalOrigin:b.HorizontalOrigin.CENTER,scaleByDistance:it.scaleByDistance,image:it.clusterImageUrl};(async()=>{if(it.clusterImageAttribute===void 0){const u=c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterJson.json");await fetch(u).then(A=>A.json()).then(A=>{it.clusterImageAttribute=A}).catch(A=>{console.error(A)})}{const u=()=>{if(!e.data){this.pointFeatures=void 0;return}this.featureArrName=e.data.type=="FeatureCollection"?"features":"geometries";const A={type:e.data.type,[this.featureArrName]:[]};if(e.data.type==="FeatureCollection")for(let h=0;h<e.data.features.length;h++){const f=e.data.features[h];if(f.geometry.type=="Point")A[this.featureArrName].push(f);else if(f.geometry.type=="MultiPoint")for(let p=0;p<f.geometry.coordinates.length;p++)A[this.featureArrName].push({type:"Feature",geometry:{type:"Point",coordinates:f.geometry.coordinates[p]},properties:f.properties??{}});else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",f.geometry.type)}else if(e.data.type=="GeometryCollection")for(let h=0;h<e.data.geometries.length;h++){const f=e.data.geometries[h];if(f.type=="Point")A[this.featureArrName].push(f);else if(f.type=="MultiPoint")for(let p=0;p<f.coordinates.length;p++)A[this.featureArrName].push({type:"Feature",geometry:{type:"Point",coordinates:f.coordinates[p]},properties:f.properties??{}});else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",f.type)}this.pointFeatures=A};u(),this.ad(e.dataChanged.don(u))}{const u=()=>{this.dataSource&&o.dataSources.remove(this.dataSource),this.dataSource=void 0};this.ad(()=>u());const A=()=>{u(),this.pointFeatures&&b.GeoJsonDataSource.load(this.pointFeatures).then(h=>{o.dataSources.add(h).then(()=>{this.dataSource=h})})};A(),this.ad(this.pointFeaturesChanged.don(A))}this.ad(new c.ObjResettingWithEvent(this.dataSourceChanged,()=>{var d;if(!this.dataSource)return;const u=new c.Destroyable,A=this.dataSource;A.clustering.enabled=A.clustering.clusterBillboards=A.clustering.clusterLabels=A.clustering.clusterPoints=!0;for(let m=0;m<A.entities.values.length;m++){const v=A.entities.values[m];v.billboard&&(v.billboard.color=new b.ConstantProperty(b.Color.TRANSPARENT))}{const m=()=>{const y=A.clustering.pixelRange;A.clustering.pixelRange=0,A.clustering.pixelRange=y};m();let v=(d=this.czmViewer.viewer)==null?void 0:d.camera.moveEnd.addEventListener(()=>{m()});u.d(()=>{var y;v&&((y=this.czmViewer.viewer)==null||y.camera.moveEnd.removeEventListener(v))})}u.d(c.track([A.clustering,"pixelRange"],[e,"pixelRange"])),u.d(c.track([A.clustering,"minimumClusterSize"],[e,"minimumClusterSize"])),A.clustering.clusterEvent.addEventListener((m,v)=>{v.label&&(v.label.show=!1),v.billboard&&(v.billboard.show=!1),v.point&&(v.point.show=!1)});const h=u.ad(c.react(!1));let f=[];const p=o.scene.postUpdate.addEventListener(()=>{if(A.clustering._clusterLabelCollection)if(A.clustering._clusterLabelCollection._labels.length!=f.length||!A.clustering._clusterLabelCollection._labels.every(m=>f.includes(m.id.length))){f=[];for(let m=0;m<A.clustering._clusterLabelCollection._labels.length;m++){const v=A.clustering._clusterLabelCollection._labels[m];f.push(v.id.length)}h.value=!0}else h.value=!1});u.ad(()=>p());{let m={id:"",layer:"",screenObjectIds:[]},v={id:"",layer:"",screenObjectIds:[]};const y=()=>{m&&(a.remove(m.layer,m.id,{label:m.screenObjectIds}),m={id:"",layer:"",screenObjectIds:[]}),v&&(a.remove(v.layer,v.id,{billboard:v.screenObjectIds}),v={id:"",layer:"",screenObjectIds:[]})};u.ad(()=>{y()});const g=()=>{var F,S,T,w,C,M;if(y(),!e.show||!it.clusterImageAttribute)return;const x=e.style??c.ESEntityCluster.defaults.style,E=it.clusterImageAttribute[((F=x.nonCluster)==null?void 0:F.mode)??"SquareH01"],B=[-E.anchorPixelOffset[0]+E.textPixelOffset[0],-E.anchorPixelOffset[1]-E.textPixelOffset[1]],P={...s,pixelOffset:new b.Cartesian2(B[0]*it.scaleFactor,B[1]*it.scaleFactor),heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()]},I={...l,width:E.imageSize[0],height:E.imageSize[1],heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()],pixelOffset:new b.Cartesian2(-E.anchorPixelOffset[0]*it.scaleFactor,-E.anchorPixelOffset[1]*it.scaleFactor),imageSubRegion:new b.BoundingRectangle(...E.imagePixelOffset,...E.imageSize)},D=new Map;if(A.clustering._clusterLabelCollection)for(let R=0;R<A.clustering._clusterLabelCollection._labels.length;R++){const U=A.clustering._clusterLabelCollection._labels[R];if(!it.clusterImageAttribute)continue;const O=U.text,z=De(U.position),k={index:U.id.map(le=>A.entities.values.length-1-A.clustering._collectionIndicesByEntity[le.id].billboardIndex).sort((le,ue)=>le-ue),name:O,position:z},Q=this.getClusterStyle(x.cluster??c.ESEntityCluster.defaults.style.cluster,U.id.length).mode,V=it.clusterImageAttribute[Q],j=[-V.anchorPixelOffset[0]+V.textPixelOffset[0],-V.anchorPixelOffset[1]-V.textPixelOffset[1]],J={...s,pixelOffset:new b.Cartesian2(j[0]*it.scaleFactor,j[1]*it.scaleFactor),heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()]},ee={...l,width:V.imageSize[0],height:V.imageSize[1],heightReference:b.HeightReference[(e.heightReference??c.ESEntityCluster.defaults.heightReference).toUpperCase()],pixelOffset:new b.Cartesian2(-V.anchorPixelOffset[0]*it.scaleFactor,-V.anchorPixelOffset[1]*it.scaleFactor),imageSubRegion:new b.BoundingRectangle(...V.imagePixelOffset,...V.imageSize)},ie=a.addImage(e.id,e.typeName,ee,k),oe=a.addLabel(e.id,e.typeName,J,k);v.id=ie.id,v.layer=ie.layer,v.screenObjectIds.push(ie.screenObjectId),m.id=oe.id,m.layer=oe.layer,m.screenObjectIds.push(oe.screenObjectId);for(let le=0;le<U.id.length;le++)D.set(U.id[le].id,1)}for(let R=0;R<A.entities.values.length;R++){const U=A.entities.values[R];if(D.has(U.id)||!this.pointFeatures||!i.isPointVisible(De((S=U.position)==null?void 0:S.getValue())))continue;const O=((T=this.pointFeatures[this.featureArrName][R])==null?void 0:T.coordinates)??((w=this.pointFeatures[this.featureArrName][R])==null?void 0:w.geometry.coordinates),z=((C=this.pointFeatures[this.featureArrName][R])==null?void 0:C.name)??((M=this.pointFeatures[this.featureArrName][R].properties)==null?void 0:M.name)??(R+1).toString(),k={index:R,name:z,position:O},Q=a.addImage(e.id,e.typeName,I,k),V=a.addLabel(e.id,e.typeName,P,k);v.id=Q.id,v.layer=Q.layer,v.screenObjectIds.push(Q.screenObjectId),m.id=V.id,m.layer=V.layer,m.screenObjectIds.push(V.screenObjectId)}};g();const _=u.ad(c.createNextAnimateFrameEvent(e.showChanged,e.styleChanged,e.heightReferenceChanged,h.changed));u.ad(_.don(g))}return u}))})()}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}get dataSourceChanged(){return this._dataSource.changed}get pointFeatures(){return this._pointFeatures.value}set pointFeatures(e){this._pointFeatures.value=e}get pointFeaturesChanged(){return this._pointFeatures.changed}getClusterStyle(e,i){return e.find(o=>{if(o.value!==void 0)return o.value===i;const r=o.minValue!==void 0?o.minValue<=i:!0,a=o.maxValue!==void 0?o.maxValue>=i:!0;return r&&a})}};L(it,"type",it.register("ESCesiumViewer",c.ESEntityCluster.type,it)),L(it,"scaleFactor",.6),L(it,"scaleByDistance",new b.NearFarScalar(100,1,1e3,1)),L(it,"clusterImages"),L(it,"clusterImageAttribute"),L(it,"clusterImageUrl",c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterSpirit.png"));let Zg=it;const Uc=class Uc extends Hn{constructor(n,e){if(super(n,e),!e.viewer){console.warn("viewer is undefined!");return}}flyTo(n,e){const{sceneObject:i,czmViewer:o}=this;return o.actived?i.flyToParam||i.flyInParam?super.flyTo(n,e):(i.esImageryLayer.flyTo(n&&n),i.flyOverEvent.emit(e,"over",o),!0):!1}flyIn(n,e){const{sceneObject:i,czmViewer:o}=this;return o.actived?i.flyInParam?super.flyIn(n,e):(i.esImageryLayer.flyTo(n&&n),i.flyOverEvent.emit(e,"over",o),!0):!1}};L(Uc,"type",Uc.register("ESCesiumViewer",gf.type,Uc));let $g=Uc;const Oc=class Oc extends Ln{constructor(e,i){super(e,i);L(this,"geoPolyline");L(this,"czmWater");if(!i.viewer){console.warn("viewer is undefined!");return}if(!Ot(i.viewer))return;this.geoPolyline=this.dv(new Ye(i,e.id)),this.czmWater=this.dv(new Ro(i,e.id));const{geoPolyline:a,czmWater:s}=this;this.d(c.track([s,"allowPicking"],[e,"allowPicking"])),this.d(c.track([s,"ground"],[e,"fillGround"])),this.d(c.track([a,"allowPicking"],[e,"allowPicking"])),this.d(c.track([a,"color"],[e,"strokeColor"])),this.d(c.track([a,"width"],[e,"strokeWidth"])),this.d(c.track([a,"ground"],[e,"strokeGround"]));{const l=this.dv(c.createNextAnimateFrameEvent(e.waterColorChanged,e.waterImageChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),u=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??c.ESGeoWater.defaults.waterColor,frequency:(e.frequency??c.ESGeoWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??c.ESGeoWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??c.ESGeoWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??c.ESGeoWater.defaults.specularIntensity,flowDirection:e.flowDirection??c.ESGeoWater.defaults.flowDirection,flowSpeed:e.flowSpeed??c.ESGeoWater.defaults.flowSpeed,waterImage:e.waterImage??c.ESGeoWater.defaults.waterImage});else{const A=Object.assign({},Rh[e.waterType]);A.frequency&&(A.frequency/=10),A.waveVelocity&&(A.waveVelocity/=100),A.amplitude&&(A.amplitude*=100),this.updateWater(A)}};u(),this.d(l.don(u))}{const l=()=>{a.show=!!(e.show&&e.stroked)},u=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(u.don(l)),l()}{const l=()=>{s.show=e.show&&e.filled},u=this.disposeVar(c.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(u.don(l)),l()}{const l=()=>{e.points&&e.points.length>=3?(a.positions=[...e.points,e.points[0]],s.points=[...e.points]):(a.positions=e.points&&e.points.length>=2?[...e.points,e.points[0]]:[],s.points=[])};l();const u=this.dv(c.createNextAnimateFrameEvent(e.pointsChanged));this.d(u.don(l))}this.ad(e.editingChanged.don(l=>{s.updateBoundingSphere(l)}))}flyTo(e,i){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):o.points?(Me(r,o,i,o.points,e),!0):!1:!1}updateWater(e){const{czmWater:i}=this;e.waterColor&&i.waterColor!=e.waterColor&&(i.waterColor=e.waterColor),e.specularIntensity!=null&&i.specularIntensity!=e.specularIntensity&&(i.specularIntensity=e.specularIntensity),e.frequency!=null&&i.frequency!=e.frequency&&(i.frequency=e.frequency),e.waveVelocity!=null&&i.animationSpeed!=e.waveVelocity&&(i.animationSpeed=e.waveVelocity),e.amplitude!=null&&i.amplitude!=e.amplitude&&(i.amplitude=e.amplitude),e.flowSpeed!=null&&i.flowSpeed!=e.flowSpeed&&(i.flowSpeed=e.flowSpeed),i.baseWaterImage=e.waterImage,i.stRotation=e.flowDirection}};L(Oc,"type",Oc.register("ESCesiumViewer",c.ESGeoWater.type,Oc));let Xg=Oc;const Yg=65536*65536,o_=1/Yg,wL=12,s_=typeof TextDecoder>"u"?null:new TextDecoder("utf-8"),Jg=0,Sf=1,eu=2,Ef=5;class bL{constructor(n=new Uint8Array(16)){this.buf=ArrayBuffer.isView(n)?n:new Uint8Array(n),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(n,e,i=this.length){for(;this.pos<i;){const o=this.readVarint(),r=o>>3,a=this.pos;this.type=o&7,n(r,e,this),this.pos===a&&this.skip(o)}return e}readMessage(n,e){return this.readFields(n,e,this.readVarint()+this.pos)}readFixed32(){const n=this.dataView.getUint32(this.pos,!0);return this.pos+=4,n}readSFixed32(){const n=this.dataView.getInt32(this.pos,!0);return this.pos+=4,n}readFixed64(){const n=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Yg;return this.pos+=8,n}readSFixed64(){const n=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Yg;return this.pos+=8,n}readFloat(){const n=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,n}readDouble(){const n=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,n}readVarint(n){const e=this.buf;let i,o;return o=e[this.pos++],i=o&127,o<128||(o=e[this.pos++],i|=(o&127)<<7,o<128)||(o=e[this.pos++],i|=(o&127)<<14,o<128)||(o=e[this.pos++],i|=(o&127)<<21,o<128)?i:(o=e[this.pos],i|=(o&15)<<28,xL(i,n,this))}readVarint64(){return this.readVarint(!0)}readSVarint(){const n=this.readVarint();return n%2===1?(n+1)/-2:n/2}readBoolean(){return!!this.readVarint()}readString(){const n=this.readVarint()+this.pos,e=this.pos;return this.pos=n,n-e>=wL&&s_?s_.decode(this.buf.subarray(e,n)):UL(this.buf,e,n)}readBytes(){const n=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,n);return this.pos=n,e}readPackedVarint(n=[],e){const i=this.readPackedEnd();for(;this.pos<i;)n.push(this.readVarint(e));return n}readPackedSVarint(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readSVarint());return n}readPackedBoolean(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readBoolean());return n}readPackedFloat(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readFloat());return n}readPackedDouble(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readDouble());return n}readPackedFixed32(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readFixed32());return n}readPackedSFixed32(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readSFixed32());return n}readPackedFixed64(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readFixed64());return n}readPackedSFixed64(n=[]){const e=this.readPackedEnd();for(;this.pos<e;)n.push(this.readSFixed64());return n}readPackedEnd(){return this.type===eu?this.readVarint()+this.pos:this.pos+1}skip(n){const e=n&7;if(e===Jg)for(;this.buf[this.pos++]>127;);else if(e===eu)this.pos=this.readVarint()+this.pos;else if(e===Ef)this.pos+=4;else if(e===Sf)this.pos+=8;else throw new Error(`Unimplemented type: ${e}`)}writeTag(n,e){this.writeVarint(n<<3|e)}realloc(n){let e=this.length||16;for(;e<this.pos+n;)e*=2;if(e!==this.length){const i=new Uint8Array(e);i.set(this.buf),this.buf=i,this.dataView=new DataView(i.buffer),this.length=e}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(n){this.realloc(4),this.dataView.setInt32(this.pos,n,!0),this.pos+=4}writeSFixed32(n){this.realloc(4),this.dataView.setInt32(this.pos,n,!0),this.pos+=4}writeFixed64(n){this.realloc(8),this.dataView.setInt32(this.pos,n&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(n*o_),!0),this.pos+=8}writeSFixed64(n){this.realloc(8),this.dataView.setInt32(this.pos,n&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(n*o_),!0),this.pos+=8}writeVarint(n){if(n=+n||0,n>268435455||n<0){_L(n,this);return}this.realloc(4),this.buf[this.pos++]=n&127|(n>127?128:0),!(n<=127)&&(this.buf[this.pos++]=(n>>>=7)&127|(n>127?128:0),!(n<=127)&&(this.buf[this.pos++]=(n>>>=7)&127|(n>127?128:0),!(n<=127)&&(this.buf[this.pos++]=n>>>7&127)))}writeSVarint(n){this.writeVarint(n<0?-n*2-1:n*2)}writeBoolean(n){this.writeVarint(+n)}writeString(n){n=String(n),this.realloc(n.length*4),this.pos++;const e=this.pos;this.pos=OL(this.buf,n,this.pos);const i=this.pos-e;i>=128&&a_(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i}writeFloat(n){this.realloc(4),this.dataView.setFloat32(this.pos,n,!0),this.pos+=4}writeDouble(n){this.realloc(8),this.dataView.setFloat64(this.pos,n,!0),this.pos+=8}writeBytes(n){const e=n.length;this.writeVarint(e),this.realloc(e);for(let i=0;i<e;i++)this.buf[this.pos++]=n[i]}writeRawMessage(n,e){this.pos++;const i=this.pos;n(e,this);const o=this.pos-i;o>=128&&a_(i,o,this),this.pos=i-1,this.writeVarint(o),this.pos+=o}writeMessage(n,e,i){this.writeTag(n,eu),this.writeRawMessage(e,i)}writePackedVarint(n,e){e.length&&this.writeMessage(n,EL,e)}writePackedSVarint(n,e){e.length&&this.writeMessage(n,PL,e)}writePackedBoolean(n,e){e.length&&this.writeMessage(n,IL,e)}writePackedFloat(n,e){e.length&&this.writeMessage(n,BL,e)}writePackedDouble(n,e){e.length&&this.writeMessage(n,TL,e)}writePackedFixed32(n,e){e.length&&this.writeMessage(n,FL,e)}writePackedSFixed32(n,e){e.length&&this.writeMessage(n,ML,e)}writePackedFixed64(n,e){e.length&&this.writeMessage(n,DL,e)}writePackedSFixed64(n,e){e.length&&this.writeMessage(n,RL,e)}writeBytesField(n,e){this.writeTag(n,eu),this.writeBytes(e)}writeFixed32Field(n,e){this.writeTag(n,Ef),this.writeFixed32(e)}writeSFixed32Field(n,e){this.writeTag(n,Ef),this.writeSFixed32(e)}writeFixed64Field(n,e){this.writeTag(n,Sf),this.writeFixed64(e)}writeSFixed64Field(n,e){this.writeTag(n,Sf),this.writeSFixed64(e)}writeVarintField(n,e){this.writeTag(n,Jg),this.writeVarint(e)}writeSVarintField(n,e){this.writeTag(n,Jg),this.writeSVarint(e)}writeStringField(n,e){this.writeTag(n,eu),this.writeString(e)}writeFloatField(n,e){this.writeTag(n,Ef),this.writeFloat(e)}writeDoubleField(n,e){this.writeTag(n,Sf),this.writeDouble(e)}writeBooleanField(n,e){this.writeVarintField(n,+e)}}function xL(t,n,e){const i=e.buf;let o,r;if(r=i[e.pos++],o=(r&112)>>4,r<128||(r=i[e.pos++],o|=(r&127)<<3,r<128)||(r=i[e.pos++],o|=(r&127)<<10,r<128)||(r=i[e.pos++],o|=(r&127)<<17,r<128)||(r=i[e.pos++],o|=(r&127)<<24,r<128)||(r=i[e.pos++],o|=(r&1)<<31,r<128))return ya(t,o,n);throw new Error("Expected varint not more than 10 bytes")}function ya(t,n,e){return e?n*4294967296+(t>>>0):(n>>>0)*4294967296+(t>>>0)}function _L(t,n){let e,i;if(t>=0?(e=t%4294967296|0,i=t/4294967296|0):(e=~(-t%4294967296),i=~(-t/4294967296),e^4294967295?e=e+1|0:(e=0,i=i+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");n.realloc(10),CL(e,i,n),SL(i,n)}function CL(t,n,e){e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos++]=t&127|128,t>>>=7,e.buf[e.pos]=t&127}function SL(t,n){const e=(t&7)<<4;n.buf[n.pos++]|=e|((t>>>=3)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127|((t>>>=7)?128:0),t&&(n.buf[n.pos++]=t&127)))))}function a_(t,n,e){const i=n<=16383?1:n<=2097151?2:n<=268435455?3:Math.floor(Math.log(n)/(Math.LN2*7));e.realloc(i);for(let o=e.pos-1;o>=t;o--)e.buf[o+i]=e.buf[o]}function EL(t,n){for(let e=0;e<t.length;e++)n.writeVarint(t[e])}function PL(t,n){for(let e=0;e<t.length;e++)n.writeSVarint(t[e])}function BL(t,n){for(let e=0;e<t.length;e++)n.writeFloat(t[e])}function TL(t,n){for(let e=0;e<t.length;e++)n.writeDouble(t[e])}function IL(t,n){for(let e=0;e<t.length;e++)n.writeBoolean(t[e])}function FL(t,n){for(let e=0;e<t.length;e++)n.writeFixed32(t[e])}function ML(t,n){for(let e=0;e<t.length;e++)n.writeSFixed32(t[e])}function DL(t,n){for(let e=0;e<t.length;e++)n.writeFixed64(t[e])}function RL(t,n){for(let e=0;e<t.length;e++)n.writeSFixed64(t[e])}function UL(t,n,e){let i="",o=n;for(;o<e;){const r=t[o];let a=null,s=r>239?4:r>223?3:r>191?2:1;if(o+s>e)break;let l,u,A;s===1?r<128&&(a=r):s===2?(l=t[o+1],(l&192)===128&&(a=(r&31)<<6|l&63,a<=127&&(a=null))):s===3?(l=t[o+1],u=t[o+2],(l&192)===128&&(u&192)===128&&(a=(r&15)<<12|(l&63)<<6|u&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):s===4&&(l=t[o+1],u=t[o+2],A=t[o+3],(l&192)===128&&(u&192)===128&&(A&192)===128&&(a=(r&15)<<18|(l&63)<<12|(u&63)<<6|A&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,s=1):a>65535&&(a-=65536,i+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),i+=String.fromCharCode(a),o+=s}return i}function OL(t,n,e){for(let i=0,o,r;i<n.length;i++){if(o=n.charCodeAt(i),o>55295&&o<57344)if(r)if(o<56320){t[e++]=239,t[e++]=191,t[e++]=189,r=o;continue}else o=r-55296<<10|o-56320|65536,r=null;else{o>56319||i+1===n.length?(t[e++]=239,t[e++]=191,t[e++]=189):r=o;continue}else r&&(t[e++]=239,t[e++]=191,t[e++]=189,r=null);o<128?t[e++]=o:(o<2048?t[e++]=o>>6|192:(o<65536?t[e++]=o>>12|224:(t[e++]=o>>18|240,t[e++]=o>>12&63|128),t[e++]=o>>6&63|128),t[e++]=o&63|128)}return e}function Yr(t,n){this.x=t,this.y=n}Yr.prototype={clone(){return new Yr(this.x,this.y)},add(t){return this.clone()._add(t)},sub(t){return this.clone()._sub(t)},multByPoint(t){return this.clone()._multByPoint(t)},divByPoint(t){return this.clone()._divByPoint(t)},mult(t){return this.clone()._mult(t)},div(t){return this.clone()._div(t)},rotate(t){return this.clone()._rotate(t)},rotateAround(t,n){return this.clone()._rotateAround(t,n)},matMult(t){return this.clone()._matMult(t)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(t){return this.x===t.x&&this.y===t.y},dist(t){return Math.sqrt(this.distSqr(t))},distSqr(t){const n=t.x-this.x,e=t.y-this.y;return n*n+e*e},angle(){return Math.atan2(this.y,this.x)},angleTo(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith(t){return this.angleWithSep(t.x,t.y)},angleWithSep(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult(t){const n=t[0]*this.x+t[1]*this.y,e=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=e,this},_add(t){return this.x+=t.x,this.y+=t.y,this},_sub(t){return this.x-=t.x,this.y-=t.y,this},_mult(t){return this.x*=t,this.y*=t,this},_div(t){return this.x/=t,this.y/=t,this},_multByPoint(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint(t){return this.x/=t.x,this.y/=t.y,this},_unit(){return this._div(this.mag()),this},_perp(){const t=this.y;return this.y=this.x,this.x=-t,this},_rotate(t){const n=Math.cos(t),e=Math.sin(t),i=n*this.x-e*this.y,o=e*this.x+n*this.y;return this.x=i,this.y=o,this},_rotateAround(t,n){const e=Math.cos(t),i=Math.sin(t),o=n.x+e*(this.x-n.x)-i*(this.y-n.y),r=n.y+i*(this.x-n.x)+e*(this.y-n.y);return this.x=o,this.y=r,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:Yr},Yr.convert=function(t){if(t instanceof Yr)return t;if(Array.isArray(t))return new Yr(+t[0],+t[1]);if(t.x!==void 0&&t.y!==void 0)return new Yr(+t.x,+t.y);throw new Error("Expected [x, y] or {x, y} point format")};class l_{constructor(n,e,i,o,r){this.properties={},this.extent=i,this.type=0,this.id=void 0,this._pbf=n,this._geometry=-1,this._keys=o,this._values=r,n.readFields(LL,this,e)}loadGeometry(){const n=this._pbf;n.pos=this._geometry;const e=n.readVarint()+n.pos,i=[];let o,r=1,a=0,s=0,l=0;for(;n.pos<e;){if(a<=0){const u=n.readVarint();r=u&7,a=u>>3}if(a--,r===1||r===2)s+=n.readSVarint(),l+=n.readSVarint(),r===1&&(o&&i.push(o),o=[]),o&&o.push(new Yr(s,l));else if(r===7)o&&o.push(o[0].clone());else throw new Error(`unknown command ${r}`)}return o&&i.push(o),i}bbox(){const n=this._pbf;n.pos=this._geometry;const e=n.readVarint()+n.pos;let i=1,o=0,r=0,a=0,s=1/0,l=-1/0,u=1/0,A=-1/0;for(;n.pos<e;){if(o<=0){const h=n.readVarint();i=h&7,o=h>>3}if(o--,i===1||i===2)r+=n.readSVarint(),a+=n.readSVarint(),r<s&&(s=r),r>l&&(l=r),a<u&&(u=a),a>A&&(A=a);else if(i!==7)throw new Error(`unknown command ${i}`)}return[s,u,l,A]}toGeoJSON(n,e,i){const o=this.extent*Math.pow(2,i),r=this.extent*n,a=this.extent*e,s=this.loadGeometry();function l(f){return[(f.x+r)*360/o-180,360/Math.PI*Math.atan(Math.exp((1-(f.y+a)*2/o)*Math.PI))-90]}function u(f){return f.map(l)}let A;if(this.type===1){const f=[];for(const d of s)f.push(d[0]);const p=u(f);A=f.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p}}else if(this.type===2){const f=s.map(u);A=f.length===1?{type:"LineString",coordinates:f[0]}:{type:"MultiLineString",coordinates:f}}else if(this.type===3){const f=kL(s),p=[];for(const d of f)p.push(d.map(u));A=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p}}else throw new Error("unknown feature type");const h={type:"Feature",geometry:A,properties:this.properties};return this.id!=null&&(h.id=this.id),h}}l_.types=["Unknown","Point","LineString","Polygon"];function LL(t,n,e){t===1?n.id=e.readVarint():t===2?zL(e,n):t===3?n.type=e.readVarint():t===4&&(n._geometry=e.pos)}function zL(t,n){const e=t.readVarint()+t.pos;for(;t.pos<e;){const i=n._keys[t.readVarint()],o=n._values[t.readVarint()];n.properties[i]=o}}function kL(t){const n=t.length;if(n<=1)return[t];const e=[];let i,o;for(let r=0;r<n;r++){const a=QL(t[r]);a!==0&&(o===void 0&&(o=a<0),o===a<0?(i&&e.push(i),i=[t[r]]):i&&i.push(t[r]))}return i&&e.push(i),e}function QL(t){let n=0;for(let e=0,i=t.length,o=i-1,r,a;e<i;o=e++)r=t[e],a=t[o],n+=(a.x-r.x)*(r.y+a.y);return n}class VL{constructor(n,e){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=n,this._keys=[],this._values=[],this._features=[],n.readFields(NL,this,e),this.length=this._features.length}feature(n){if(n<0||n>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[n];const e=this._pbf.readVarint()+this._pbf.pos;return new l_(this._pbf,e,this.extent,this._keys,this._values)}}function NL(t,n,e){t===15?n.version=e.readVarint():t===1?n.name=e.readString():t===5?n.extent=e.readVarint():t===2?n._features.push(e.pos):t===3?n._keys.push(e.readString()):t===4&&n._values.push(HL(e))}function HL(t){let n=null;const e=t.readVarint()+t.pos;for(;t.pos<e;){const i=t.readVarint()>>3;n=i===1?t.readString():i===2?t.readFloat():i===3?t.readDouble():i===4?t.readVarint64():i===5?t.readVarint():i===6?t.readSVarint():i===7?t.readBoolean():null}if(n==null)throw new Error("unknown feature value");return n}class GL{constructor(n,e){this.layers=n.readFields(WL,{},e)}}function WL(t,n,e){if(t===3){const i=new VL(e,e.readVarint()+e.pos);i.length&&(n[i.name]=i)}}function jL(t){let n,e;if(Reflect.has(t,"type")&&t.type==="symbol"&&Reflect.has(t,"layout")){const i=t.layout;if(Reflect.has(i,"icon-image")){e={},e.image=i["icon-image"];const{horizontalOrigin:o,verticalOrigin:r}=u_(i["icon-anchor"]??"center");if(e.horizontalOrigin=o,e.verticalOrigin=r,Reflect.has(t,"paint")){const a=t.paint;e.color=b.Color.fromCssColorString(a["icon-color"]??"#FF0000").withAlpha(a["icon-opacity"]??1)}e.rotation=b.Math.toRadians(i["icon-rotate"]??0),e.scale=i["icon-size"]??1,e.show=(i.visibility??"visible")==="visible"}if(Reflect.has(i,"text-field")){n={},n.text=i["text-field"];const{horizontalOrigin:o,verticalOrigin:r}=u_(i["text-anchor"]??"center");if(n.horizontalOrigin=o,n.verticalOrigin=r,Reflect.has(t,"paint")){const a=t.paint;n.fillColor=b.Color.fromCssColorString(a["text-color"]??"#FFFFFF").withAlpha(a["text-opacity"]??1)}n.font=`${i["text-size"]??16}px ${i["text-font"]??"sans-serif"}`,n.show=(i.visibility??"visible")==="visible"}}return{labelStyle:n,billboardStyle:e}}function u_(t){let n=b.HorizontalOrigin.CENTER,e=b.VerticalOrigin.CENTER;switch(t){case"center":break;case"left":n=b.HorizontalOrigin.LEFT;break;case"right":n=b.HorizontalOrigin.RIGHT;break;case"top":e=b.VerticalOrigin.TOP;break;case"bottom":e=b.VerticalOrigin.BOTTOM;break;case"top-left":n=b.HorizontalOrigin.LEFT,e=b.VerticalOrigin.TOP;break;case"top-right":n=b.HorizontalOrigin.RIGHT,e=b.VerticalOrigin.TOP;break;case"bottom-left":n=b.HorizontalOrigin.LEFT,e=b.VerticalOrigin.BOTTOM;break;case"bottom-right":n=b.HorizontalOrigin.RIGHT,e=b.VerticalOrigin.BOTTOM;break}return{horizontalOrigin:n,verticalOrigin:e}}class qL extends c.Destroyable{constructor(e,i){super();L(this,"czmViewer");L(this,"czmESMVTLayer");L(this,"screenManager");L(this,"cacheSize",100);L(this,"urlMap",new Map);L(this,"tileScheme","xyz");L(this,"minimumLevel",0);L(this,"maximumLevel",18);L(this,"_cache",new Map);L(this,"lastTiles",new Map);this.czmViewer=e,this.czmESMVTLayer=i;const o=this.czmViewer.viewer;if(!o)return;const r=Ot(o);if(!r)return;this.screenManager=r.screenManager,this.tileScheme=i.sceneObject.scheme??"xyz",this.maximumLevel=i.sceneObject.maximumLevel,this.minimumLevel=i.sceneObject.minimumLevel,(()=>{do{if(!i.mvtLayerJson)break;if(typeof i.mvtLayerJson.mainJson=="string"){this.urlMap.set("customSource",[i.mvtLayerJson.mainJson]);break}if(typeof i.mvtLayerJson.mainJson=="object"){const s=i.mvtLayerJson.mainJson.sources;for(const l in s){const u=s[l];u.type==="vector"&&Reflect.has(u,"tiles")&&this.urlMap.set(l,u.tiles)}break}}while(!1)})(),this.ad(()=>{var l;const s=this.lastTiles.values().next().value;s&&((l=this.screenManager)==null||l.remove(s.layer,s==null?void 0:s.id,Object.values(s.featureTable).flat())),this.cache&&(this.cache.clear(),this.cache=null)})}get cache(){return this._cache}set cache(e){this._cache=e}addTiles(e){var a;if(this.urlMap.size==0)return;if(this.cache&&this.cache.has(e)&&this.lastTiles.has(e)){this.updateTiles([e],"show");return}const[i,o,r]=e.split("-").map(Number);(a=this.cache)==null||a.set(e,new Map),this.requestImage(o,r,i,e)}updateTiles(e,i="hide"){var o,r;for(let a=0;a<e.length;a++){const s=e[a],l=this.lastTiles.get(s);if(l){const u=Object.keys(l.featureTable);for(let A=0;A<u.length;A++){const h=u[A],f=l.featureTable[h];i=="delete"?(o=this.screenManager)==null||o.remove(l.layer,l.id,f):(r=this.screenManager)==null||r.update(l.layer,l.id,f,{all:{show:i=="show"}})}}i=="delete"&&this.lastTiles.delete(s)}}update(e){const i=Array.from(this.lastTiles.keys()),o=i.filter(s=>!e.includes(s)),r=i.filter(s=>e.includes(s)),a=e.filter(s=>!i.includes(s));this.updateTiles(o),this.updateTiles(r,"show");for(let s=0;s<a.length;s++){const l=a[s];this.addTiles(l)}this.clearCache()}requestImage(e,i,o,r){const a=this.tileScheme=="tms"?Math.pow(2,o)-i-1:i;this.urlMap.size!=0&&this.urlMap.entries().forEach(([s,l])=>{if(l.length!=0&&l[0].includes("{z}")){const u=l[0].replace(/{z}/g,o.toString()).replace(/{x}/g,e.toString()).replace(/{y}/g,a.toString());fetch(u).then(A=>{var h,f;if(A.ok&&((h=this.cache)!=null&&h.has(r))&&((f=this.cache.get(r))==null?void 0:f.size)==0)return A.arrayBuffer()}).then(A=>{var d;const h=new bL(A),f=new GL(h),p=new Map;for(const m in f.layers){const v=f.layers[m];if(v.length<=0||v.feature(0).type!==1)continue;const y=[];for(let g=0;g<v.length;g++){const _=v.feature(g);y.push(_.toGeoJSON(e,i,o))}p.set(m,y)}(d=this.cache)==null||d.set(r,p),this.addScreenManage(r,p)})}})}clearCache(){if(!this.cache)return;const e=this.cache.size-this.cacheSize;if(!(e<=0))for(let i=0;i<e;i++){const o=this.cache.keys().next().value;o&&(this.updateTiles([o],"delete"),this.cache.delete(o))}}addScreenManage(e,i){this.lastTiles.set(e,{layer:"default",id:this.czmESMVTLayer.sceneObject.id,featureTable:{}});const o=this.lastTiles.get(e);for(const[r,a]of i.entries()){const s=this.czmESMVTLayer.mvtLayerJson.pointJson.find(l=>l["source-layer"]==r)??{};for(const l of a){const{labelStyle:u,billboardStyle:A}=jL(s);let h,f;u&&(u.show=!this.screenManager.avoidanceManager.enable,h=this.screenManager.addLabel(this.czmESMVTLayer.sceneObject.id,"default",u??{},{position:l.geometry.coordinates,name:l.properties.NAME??l.properties.name,index:l.id})),A&&(A.show=!this.screenManager.avoidanceManager.enable,f=this.screenManager.addImage(this.czmESMVTLayer.sceneObject.id,"default",A??{},{position:l.geometry.coordinates,name:l.properties.NAME??l.properties.name,index:l.id})),o.featureTable[r]||(o.featureTable[r]=[]),h&&o.featureTable[r].push(h.screenObjectId),f&&o.featureTable[r].push(f.screenObjectId)}}}reset(){if(!this.cache)return;const e=Array.from(this.cache.keys());this.update([]),setTimeout(()=>{this.update(e)})}}class KL extends c.Destroyable{constructor(e,i){super();L(this,"vectorTilesCache");L(this,"czmViewer");L(this,"czmESMVTLayer");this.czmViewer=e,this.czmESMVTLayer=i,this.vectorTilesCache=this.ad(new qL(e,i)),this.updateTiles();const o=this.czmViewer.viewer.scene.globe._surface.tileLoadProgressEvent.addEventListener(r=>{r==0&&this.updateTiles()});this.ad(()=>{o()})}updateTiles(){const e=this.czmViewer.viewer;if(!e)return;const i=new Set;for(let o=0;o<e.scene.globe._surface._tilesToRender.length;o++){const r=e.scene.globe._surface._tilesToRender[o];if(r.data)for(let a=0;a<r.data.imagery.length;a++){const s=r.data.imagery[a],l=s.loadingImagery??s.readyImagery;if(l){const u=`${l.level}-${l.x}-${l.y}`;i.add(u)}}}this.vectorTilesCache.update(Array.from(i))}}const Lc=class Lc extends Hn{constructor(e,i){super(e,i);L(this,"_czmImagery");L(this,"_mvtLayerJson",this.disposeVar(c.reactJson({mainJson:"",pointJson:[],otherJson:[]})));L(this,"mvtLayerJsonChanged",this.ad(new c.Event));if(this._czmImagery=this.dv(new Zr(i,e.id)),!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmImagery;this.d(c.track([r,"show"],[e,"show"])),this.d(c.track([r,"zIndex"],[e,"zIndex"])),this.d(c.track([r,"rectangle"],[e,"rectangle"])),this.d(c.track([r,"alpha"],[e,"opacity"])),this.d(c.track([r,"splitDirection"],[e,"splitDirection"])),this.d(c.track([r,"brightness"],[e,"czmBrightness"])),this.d(c.track([r,"contrast"],[e,"czmContrast"])),this.d(c.track([r,"hue"],[e,"czmHue"])),this.d(c.track([r,"saturation"],[e,"czmSaturation"])),this.d(c.track([r,"gamma"],[e,"czmGamma"]));{const s=this.dv(c.createNextAnimateFrameEvent(e.accessTokenChanged,e.maximumLevelChanged,e.minimumLevelChanged,e.tileSizeChanged,e.allowPickingChanged,e.rectangleChanged,e.schemeChanged,this.mvtLayerJsonChanged)),l=()=>{!this.mvtLayerJson||this.mvtLayerJson.otherJson.length==0||(r.imageryProvider={type:"MVTImageryProvider",url:this.mvtLayerJson.mainJson,accessToken:e.accessToken,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,tileSize:e.tileSize,enablePickFeatures:e.allowPicking,rectangle:e.rectangle,style:this.mvtLayerJson.otherJson,scheme:e.scheme})};l(),this.d(s.don(l))}{const s=A=>{const h=structuredClone(A);Reflect.deleteProperty(h,"layers"),this.mvtLayerJson={mainJson:h,pointJson:A.layers.filter(f=>f.type=="symbol"),otherJson:A.layers.filter(f=>f.type!="symbol")}},l=async()=>{var A;if(typeof e.url=="string")if(e.url.includes("{z}"))this.mvtLayerJson.mainJson=e.url;else{const h=await fetch(e.url);if((A=h.headers.get("Content-Type"))!=null&&A.includes("json")){const f=await h.json();s(f)}}else s(e.url);e.style&&e.style.length!=0&&(this.mvtLayerJson.pointJson=e.style.filter(h=>h.type=="symbol"),this.mvtLayerJson.otherJson=e.style.filter(h=>h.type!="symbol")),this.mvtLayerJsonChanged.emit()};l();const u=this.ad(c.createNextAnimateFrameEvent(e.urlChanged,e.styleChanged));this.ad(u.don(l))}const a=this.ad(c.createNextAnimateFrameEvent(e.schemeChanged,e.maximumLevelChanged,e.minimumLevelChanged,this.mvtLayerJsonChanged));this.ad(new c.ObjResettingWithEvent(a,()=>new KL(i,this)))}get czmImagery(){return this._czmImagery}get mvtLayerJson(){return this._mvtLayerJson.value}set mvtLayerJson(e){this._mvtLayerJson.value=e}flyTo(e,i){const{sceneObject:o,czmViewer:r,czmImagery:a}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,i):(a.flyTo(e&&e),o.flyOverEvent.emit(i,"over",r),!0):!1}flyIn(e,i){const{sceneObject:o,czmViewer:r,czmImagery:a}=this;return r.actived?o.flyInParam?super.flyIn(e,i):(a.flyTo(e&&e),o.flyOverEvent.emit(i,"over",r),!0):!1}};L(Lc,"type",Lc.register("ESCesiumViewer",mf.type,Lc));let ey=Lc;class ZL extends c.Destroyable{constructor(n,e){super(),this._czmESPipeFence=n,this._sceneObject=e;const i=this._sceneObject,o=this._czmESPipeFence,r=o.czmCustomPrimitive;if(!i.points||i.points.length<2){this.clear(r);return}const a=i.points.length;let s=[],l=[],u=[],A=[],h=[];for(let y=0;y<a-1;y++){const{outlinePionts:g,customPrimitivePoints:_}=this.divideFourPoints(i.points[y],i.points[y+1]);A.push(..._),h.push(...g),u.push(...this.setIndexs(y))}const[f,p,d]=wn({originPosition:A[0]},A),m=this.setFaces(f);s.push(...m.flat());const v=this.setTextureCoordinates(i,o);l.push(...v.flat()),o.computeBoundingBox(),this.updateCustomPrimitive(r,p,s,u,l)}divideFourPoints(n,e){const i=c.geoHeading(n,e),o=c.geoDestination(n,this._sceneObject.width/2,90+i),r=c.geoDestination(n,this._sceneObject.width/2,i-90),a=c.geoDestination(e,this._sceneObject.width/2,i-90),s=c.geoDestination(e,this._sceneObject.width/2,90+i),l=[o[0],o[1],o[2]+this._sceneObject.height/2],u=[o[0],o[1],o[2]-this._sceneObject.height/2],A=[r[0],r[1],r[2]+this._sceneObject.height/2],h=[r[0],r[1],r[2]-this._sceneObject.height/2],f=[s[0],s[1],s[2]+this._sceneObject.height/2],p=[s[0],s[1],s[2]-this._sceneObject.height/2],d=[a[0],a[1],a[2]+this._sceneObject.height/2],m=[a[0],a[1],a[2]-this._sceneObject.height/2],v=[[l,A],[l,f],[l,u],[u,p]],y=[[u,h],[A,d],[A,h],[h,m]],g=[[f,p],[f,d],[p,m],[d,m]];return{outlinePionts:[...v,...y,...g],customPrimitivePoints:[u,l,A,h,p,f,d,m]}}setIndexs(n){const e=n*16;return[e+1,e+0,e+3,e+1,e+3,e+2,e+5,e+4,e+7,e+6,e+5,e+7,e+9,e+8,e+11,e+9,e+11,e+10,e+13,e+12,e+15,e+13,e+15,e+14]}setFaces(n){const e=[],i=n.length/8;for(let r=0;r<i;r++){const a=n.slice(8*r,8*(r+1));e.push(a)}return[...e.map(r=>[r[4],r[5],r[1],r[0],r[5],r[6],r[2],r[1],r[6],r[7],r[3],r[2],r[7],r[4],r[0],r[3]]).flat()]}getDistances(n,e){const[i]=wn({originPosition:n[0]},n),o=i.length,r=i.reduce((l,u,A,h)=>{if(A===0)return l.push(0),l;const f=A-1,p=h[f],d=Math.sqrt((p[0]-u[0])*(p[0]-u[0])+(p[1]-u[1])*(p[1]-u[1]));return l.push(l[f]+d),l},[]),a=r[o-1];return e.distances=a,r.map(l=>l/a)}setTextureCoordinates(n,e){if(!n.points||n.points.length<2)return;const i=this.getDistances(n.points,e),o=[];for(let r=1;r<i.length;r++){let a=[];if(r===i.length-1){const s=[1,0,1,1,i[r-1],1,i[r-1],0];a=[...s,...s,...s,...s]}else{const s=[i[r],0,i[r],1,i[r-1],1,i[r-1],0];a=[...s,...s,...s,...s]}o.push(a)}return o}updateCustomPrimitive(n,e,i,o,r){n.modelMatrix=e,n.indexTypedArray=new Uint16Array(o),n.attributes={position:{typedArray:new Float32Array(i),componentsPerAttribute:3},a_st:{typedArray:new Float32Array(r),componentsPerAttribute:2}}}clear(n){n.indexTypedArray=void 0,n.modelMatrix=void 0,n.attributes=void 0}}const zc=class zc extends sn{constructor(e,i){super(e,i);L(this,"_line",this.dv(new Ye(this.czmViewer,this.sceneObject.id)));L(this,"_czmTexture",this.ad(new ft(this.czmViewer,this.sceneObject.id)));L(this,"_czmCustomPrimitive",this.dv(new ut(this.czmViewer,this.sceneObject.id)));L(this,"_distances",this.dv(c.react(0)));if(!i.viewer){console.warn("viewer is undefined!");return}const r=this._czmTexture,a=this._line;this.d(c.bind([a,"positions"],[e,"points"])),this.d(c.track([this.line,"allowPicking"],[e,"allowPicking"])),this.d(c.track([this.line,"color"],[e,"strokeColor"])),this.d(c.track([this.line,"width"],[e,"strokeWidth"])),this.d(c.track([this.line,"ground"],[e,"strokeGround"]));{const A=this.dv(c.createNextAnimateFrameEvent(this.sceneObject.pointsChanged,this.sceneObject.strokeWidthChanged,this.sceneObject.strokeColorChanged,this.sceneObject.heightChanged,this.sceneObject.widthChanged,this.sceneObject.fillColorChanged));this.dv(new c.ObjResettingWithEvent(A,()=>new ZL(this,this.sceneObject)))}{const A=()=>{a.show=e.show&&e.stroked};A();const h=this.dv(c.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(h.don(A))}this.bindCustomPrimitive(e);let s="";const l=c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/singleArrow.png"),u=c.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/multipleArrows.png");{const A=()=>{e.materialMode==="multipleArrows"||e.materialMode==="blue"?s=u:e.materialMode==="color"?s="":s=l,r.uri=s,s==""?(this._czmCustomPrimitive.uniformMap={u_color:e.fillColor},this._czmCustomPrimitive.fragmentShaderSource=` uniform vec4 u_color;
|
|
3598
3598
|
in vec2 v_st;
|
|
3599
3599
|
void main()
|
|
3600
3600
|
{
|
|
@@ -4142,10 +4142,10 @@ async function initCesiumViewer(container, czmViewer) {
|
|
|
4142
4142
|
`;function P7(){const t="https://gitee.com/mirrors/CesiumJS/blob/main/packages/engine/Source/Core/Ion.js#L7",e=` 因浏览器同源策略限制,需要用户自行打开网址获取最新的token,点击确定自动打开网址,请不要拦截!
|
|
4143
4143
|
github地址:https://github.com/CesiumGS/cesium/blob/main/packages/engine/Source/Core/Ion.js#L7
|
|
4144
4144
|
gitee地址:${t}
|
|
4145
|
-
`;console.log(e);const i=window.prompt(e,t);i&&window.open(i,"_blank")}const Gt=class Gt extends c.ESViewer{constructor(e){super(e);L(this,"_disabledInputStack",this.disposeVar(c.react(0)));L(this,"_viewer",this.dv(c.react(void 0)));L(this,"_viewerInstance");L(this,"_viewerLegend");L(this,"pickCustomAttachedInfo");L(this,"_fps",this.dv(c.react(0)));L(this,"_notSupportEditingCount",this.disposeVar(c.react(0)));L(this,"_editingSystem",$f);L(this,"_moveObjectsProcess",this.ad(jS()));if(e.type!=="ESCesiumViewer")throw new Error("option.type must be ESCesiumViewer");this.ad(new i3(this)),this.ad(new r3(this)),this.dv(new c.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new l3(this)})),this._viewerLegend=this.dv(new b7(this)),this._viewerInstance=this.dv(new c.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new Wv(this,this.viewer)})),this.d(this.viewerChanged.don(o=>{this.viewer&&(this.viewer.scene.globe.baseColor=Be([1,1,1,1]))}));const i=e;this.d(this._viewer.changed.don(o=>{this.viewerChanged.emit(o)})),this.dv(new c.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new sH(this.subContainer,this,o=>this._viewer.value=o,i.options)}))}get disabledInputStack(){return this._disabledInputStack.value}get disabledInputStackChanged(){return this._disabledInputStack.changed}incrementDisabledInputStack(){++this._disabledInputStack.value}decrementDisabledInputStack(){--this._disabledInputStack.value}get viewer(){return this._viewer.value}get extensions(){return this.viewer&&Ot(this.viewer)}get viewerInstance(){return this._viewerInstance}get viewerLegend(){return this._viewerLegend}async pick(e,i,o){if(!this.extensions)return;const{pickingManager:r}=this.extensions;return await r.pick(e,void 0,i)}async pickPosition(e){if(!this.extensions)return;const{pickingManager:i}=this.extensions;return await i.pickPosition(e)}async quickPickPosition(e){if(!this.extensions)return;const{pickingManager:i}=this.extensions;return await i.quickPickPosition(e)}async getTerrainHeight(e){const{viewer:i}=this;if(!i)return;const o=b.Cartographic.fromDegrees(e[0],e[1],e[2],Gt.getHeightsScartchCarto);return i.scene.globe.getHeight(o)}getCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Mn(e),rotation:gs(e)}}calcFlyToParam(e){if(!this.viewer)return;const{camera:i}=this.viewer;if(!i||!e)return;const o=b.Cartesian3.fromDegrees(...e),r=b.Transforms.eastNorthUpToFixedFrame(o),a=b.Matrix4.inverse(r,new b.Matrix4),s=b.Matrix4.multiplyByPoint(a,i.positionWC,new b.Cartesian3),l=b.Cartesian3.magnitude(s);let u=-Math.asin(s.z/l);u=b.Math.toDegrees(u);let A=b.Math.PI_OVER_TWO-Math.atan(s.y/s.x);s.x>0&&(A+=s.y<0?-b.Math.PI:b.Math.PI),A=b.Math.toDegrees(A);const h=gs(i),f=h[0]-A,p=h[1]-u;return{distance:l,heading:A,pitch:u,flyDuration:1,hDelta:f,pDelta:p}}flyIn(e,i,o,r="default"){var l;if(!i)return;const a={position:e,rotation:i,duration:(o??1)*1e3},s=(l=this.viewer)==null?void 0:l.camera;return s&&sl(s,a,r)}flyTo(e,i,o="default"){var p;const{distance:r,heading:a,pitch:s,flyDuration:l,hDelta:u,pDelta:A}=e,h={position:i,viewDistance:r,rotation:[a,s,0],duration:l*1e3,hdelta:u,pdelta:A},f=(p=this.viewer)==null?void 0:p.camera;return f&&sl(f,h,o)}flyToBoundingSphere(e,i,o=1){var h;const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],a=c.getGeoBoundingSphereFromPositions(r);if(!a)return;const{center:s,radius:l}=a,u={position:s,viewDistance:i??l,rotation:[0,-90,0],duration:o*1e3},A=(h=this.viewer)==null?void 0:h.camera;return A&&sl(A,u)}getCurrentCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Mn(e),rotation:gs(e)}}getLengthInPixel(){return this._viewerLegend.length}changeToWalk(e,i=4.2,o=1.6){var r,a;(a=(r=this._viewerInstance)==null?void 0:r.obj)==null||a.navigationManager.changeToWalk(e,i,o),this._navigationMode.value="Walk"}changeToMap(){var e,i;(i=(e=this._viewerInstance)==null?void 0:e.obj)==null||i.navigationManager.changeToMap(),this._navigationMode.value="Map"}changeToRotateGlobe(e,i,o){var r,a;(a=(r=this._viewerInstance)==null?void 0:r.obj)==null||a.navigationManager.changeToRotateGlobe(e,i,o),this._navigationMode.value="RotateGlobe"}changeToLine(e,i,o,r,a,s){var l,u;(u=(l=this._viewerInstance)==null?void 0:l.obj)==null||u.navigationManager.changeToLine(e,i,o,r,a,s),this._navigationMode.value="Line"}changeToUserDefined(e){this.changeToMap(),console.warn("Cesium引擎暂不支持自定义漫游,已切换为Map模式")}changeToRotatePoint(e,i,o,r,a){var s,l;(l=(s=this._viewerInstance)==null?void 0:s.obj)==null||l.navigationManager.changeToRotatePoint(e,i,o,r,a),this._navigationMode.value="RotatePoint"}changeToFollow(e,i,o,r,a){var s,l;(l=(s=this._viewerInstance)==null?void 0:s.obj)==null||l.navigationManager.changeToFollow(e,i,o,r,a),this._navigationMode.value="Follow"}getFPS(){return this._fps.value}async getBoundSphere(e){return Promise.resolve(void 0)}async getVersion(){const e=window.g_XE3CopyRights??{};return e.cesium={version:b.VERSION},e}async getHeightByLonLat(e,i,o){if(!this.viewer)return null;const r=b.Cartographic.fromDegrees(e,i,void 0,Gt.getHeightsScartchCarto);return this.viewer.scene.sampleHeight(r)??null}async getHeightsByLonLats(e,i){const o=e.map(a=>this.getHeightByLonLat(...a));return await Promise.all(o)}async capture(e,i){if(this.viewer)return await D0(this.viewer.scene,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer||!this.isPointVisible(e))return;const i=this.viewer.scene.cartesianToCanvasCoordinates(rt(e));if(i)return[i.x,i.y]}get notSupportEditingCount(){return this._notSupportEditingCount.value}set notSupportEditingCount(e){this._notSupportEditingCount.value=e}get notSupportEditingCountChanged(){return this._notSupportEditingCount.changed}startEditing(e,i,o){o=Object.assign({useKeyToSwitch:!0,callSource:"outer"},o);const r=e.components.main??e;r&&i!=null&&(r.editingID=`${o.callSource}_${c.createGuid()}`,this._editingSystem.create(this,r,i,o.useKeyToSwitch))}stopEditing(){this._editingSystem.stop()}moveObjects(e){const i=[],o=c.createGuid();for(let r=0;r<e.length;r++){const a=e[r],s=a.components.main??a;s.editingID=o,s&&i.push(s)}this._moveObjectsProcess.restart(void 0,this,i,o)}getCzmObject(e){return this.sceneObjectsMap.get(e)}setCurrentDefaultAccessToken(){this.ionAccessToken=Gt.currentDefaultAccessToken}setLatestDefaultAccessToken(){if(!Gt.latestDefaultAccessToken){alert("Cesium最新的iontoken无法获取!"),console.error("Cesium最新的iontoken无法获取!");return}this.ionAccessToken=Gt.latestDefaultAccessToken}positionsToLocalPositions(e,i){return wn(e,i)}localPositionsToPositions(e,i){return _r(e,i)}isPointVisible(e){if(!this.viewer)return!1;const i=e instanceof b.Cartesian3?e:rt(e),o=new b.EllipsoidalOccluder(this.viewer.scene.globe.ellipsoid,this.viewer.scene.camera.positionWC);if(o.cameraPosition=this.viewer.scene.camera.positionWC,!o.isPointVisible(i))return!1;const r=this.viewer.scene.cartesianToCanvasCoordinates(i);return!(!r||r.x<0||r.y<0)}getESProperties(){const e={...super.getESProperties()},i=Gt.defaults;return{...e,more:[...e.more,new c.GroupProperty([],"通用","通用"),new c.EvalStringProperty([this,"createCesiumViewerFuncStr"],"CesiumViewer创建函数",E7,S7,!0),new c.FunctionProperty([],()=>Gt.getCesiumIonToken(),[],"获取官方token"),new c.FunctionProperty([],()=>this.setCurrentDefaultAccessToken(),[],"重置为当前使用的Cesium版本的token"),new c.FunctionProperty([],()=>this.setLatestDefaultAccessToken(),[],"最新token","重置为当前Cesium官方的最新token"),new c.BooleanProperty([this,"flashLighting"],"头顶灯",i.flashLighting,!0),new c.BooleanProperty([this,"particleGlobalControl"],"粒子全局控制播放",i.particleGlobalControl,!0),new c.GroupProperty([],"Viewer","Viewer"),new c.NumberProperty([this,"resolutionScale"],"分辨率比率",i.resolutionScale,!0),new c.NumberProperty([this,"msaaSamples"],"msaaSamples",i.msaaSamples,!0),new c.BooleanProperty([this,"shadows"]),new c.GroupProperty([],"比例尺","比例尺(Legend)"),new c.NumberProperty([this.viewerLegend,"resolution"],"resolution",void 0,!0,!0),new c.NumberProperty([this.viewerLegend,"zoom"],"zoom",void 0,!0,!0),new c.Number3Property([this.viewerLegend,"center"],"center",void 0,!0,!0),new c.NumberProperty([this.viewerLegend.legend,"lengthInPixels"],"lengthInPixels",100,!0,!1),new c.NumberProperty([this.viewerLegend.legend,"computedLengthInPixels"],"computedLengthInPixels",void 0,!0,!0),new c.NumberProperty([this.viewerLegend.legend,"computedLengthInMeters"],"computedLengthInMeters",void 0,!0,!0),new c.StringProperty([this.viewerLegend.legend,"computedLengthInStr"],"computedLengthInStr",void 0,!0,!0),new c.GroupProperty([],"场景","场景(Scene)"),new c.NumberProperty([this,"sceneSplitPosition"],"内部视口分割比例",i.sceneSplitPosition,!0),new c.GroupProperty([],"Globe","Globe"),new c.EnumProperty([this,"sceneGlobeShadows"],[["禁用","DISABLED"],["启用","ENABLED"],["仅投射","CAST_ONLY"],["仅接收","RECEIVE_ONLY"]],"sceneGlobeShadows",i.sceneGlobeShadows,!0),new c.NumberProperty([this,"sceneGlobeTerrainExaggeration"]),new c.NumberProperty([this,"sceneGlobeTerrainExaggerationRelativeHeight"]),new c.NumberProperty([this,"sceneGlobeVerticalExaggeration"]),new c.NumberProperty([this,"sceneGlobeVerticalExaggerationRelativeHeight"]),new c.BooleanProperty([this,"sceneGlobeBackFaceCulling"]),new c.BooleanProperty([this,"sceneGlobeShowSkirts"]),new c.BooleanProperty([this,"sceneGlobeShowWaterEffect"]),new c.ColorProperty([this,"sceneGlobeBaseColor"]),new c.Number4Property([this,"sceneGlobeCartographicLimitRectangle"]),new c.JsonProperty([this,"sceneGlobeClippingPlanes"]),new c.StringProperty([this,"sceneGlobeClippingPlanesId"]),new c.JsonProperty([this,"sceneGlobeClippingPolygons"]),new c.StringsProperty([this,"sceneGlobeClippingPolygonsId"]),new c.GroupProperty([],"underground","underground"),new c.ColorProperty([this,"sceneGlobeUndergroundColor"],"sceneGlobeUndergroundColor",i.sceneGlobeUndergroundColor,!0),new c.Number4Property([this,"sceneGlobeUndergroundColorAlphaByDistance"],"sceneGlobeUndergroundColorAlphaByDistance",i.sceneGlobeUndergroundColorAlphaByDistance,!0),new c.GroupProperty([],"Translucency","Translucency"),new c.Number4Property([this,"sceneGlobeTranslucencyBackFaceAlphaByDistance"],"背面渐变透明度",i.sceneGlobeTranslucencyBackFaceAlphaByDistance,!0),new c.Number4Property([this,"sceneGlobeTranslucencyFrontFaceAlphaByDistance"],"正面渐变透明度",i.sceneGlobeTranslucencyFrontFaceAlphaByDistance,!0),new c.Number4Property([this,"sceneGlobeTranslucencyRectangle"],"矩形范围",i.sceneGlobeTranslucencyRectangle,!0),new c.GroupProperty([],"Sun","Sun"),new c.BooleanProperty([this,"sun"],"sun",i.sun,!0),new c.NumberProperty([this,"sceneSunGlowFactor"],"sceneSunGlowFactor",i.sceneSunGlowFactor,!0),new c.GroupProperty([],"Moon","Moon"),new c.BooleanProperty([this,"moon"],"moon",i.moon,!0),new c.StringProperty([this,"sceneMoonTextureUrl"],"sceneMoonTextureUrl",i.sceneMoonTextureUrl,!0),new c.BooleanProperty([this,"sceneMoonOnlySunLighting"],"sceneMoonOnlySunLighting",i.sceneMoonOnlySunLighting,!0),new c.GroupProperty([],"SkyBox","SkyBox"),new c.BooleanProperty([this,"sceneSkyBoxShow"]),new c.JsonProperty([this,"sceneSkyBoxSources"],"sceneSkyBoxSources",i.sceneSkyBoxSources,void 0,!0),new c.GroupProperty([],"Background","Background"),new c.BooleanProperty([this,"xbsjUseBackground"]),new c.StringProperty([this,"xbsjBackgroundImageUri"]),new c.ColorProperty([this,"xbsjBackgroundColor"]),new c.GroupProperty([],"SkyAtmosphere","SkyAtmosphere"),new c.JsonProperty([this,"xbsjLocalBoxSources"],"xbsjLocalBoxSources",i.xbsjLocalBoxSources,void 0,!0),new c.ColorProperty([this,"sceneBackgroundColor"]),new c.GroupProperty([],"Fog","Fog"),new c.BooleanProperty([this,"sceneFogEnabled"],"sceneFogEnabled",i.sceneFogEnabled,!0),new c.NumberProperty([this,"sceneFogDensity"],"sceneFogDensity",i.sceneFogDensity,!0),new c.NumberProperty([this,"sceneFogScreenSpaceErrorFactor"],"sceneFogScreenSpaceErrorFactor",i.sceneFogScreenSpaceErrorFactor,!0),new c.NumberProperty([this,"sceneFogMinimumBrightness"],"sceneFogMinimumBrightness",i.sceneFogMinimumBrightness,!0),new c.GroupProperty([],"Sscc","Sscc"),new c.BooleanProperty([this,"sceneSsccEnableInputs"],"sceneSsccEnableInputs",i.sceneSsccEnableInputs,!0),new c.BooleanProperty([this,"sceneSsccEnableCollisionDetection"],"sceneSsccEnableCollisionDetection",i.sceneSsccEnableCollisionDetection,!0),new c.NumberProperty([this,"sceneSsccZoomFactor"],"sceneSsccZoomFactor",i.sceneSsccZoomFactor,!0),new c.NumberProperty([this,"sceneCameraFrustumFov"],"相机广角"),new c.GroupProperty([],"后处理","后处理"),new c.BooleanProperty([this,"scenePpsfxaaEnabled"],"开启FXAA",i.scenePpsfxaaEnabled,!0),new c.GroupProperty([],"环境遮蔽","环境遮蔽"),new c.BooleanProperty([this,"scenePpsAmbientOcclusionEnabled"]),new c.BooleanProperty([this,"scenePpsAmbientOcclusionAmbientOcclusionOnly"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionIntensity"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionBias"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionLengthCap"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionStepSize"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionBlurStepSize"]),new c.GroupProperty([],"Bloom","Bloom"),new c.BooleanProperty([this,"scenePpsBloomEnabled"]),new c.BooleanProperty([this,"scenePpsBloomGlowOnly"]),new c.NumberProperty([this,"scenePpsBloomContrast"]),new c.NumberProperty([this,"scenePpsBloomBrightness"]),new c.NumberProperty([this,"scenePpsBloomDelta"]),new c.NumberProperty([this,"scenePpsBloomSigma"]),new c.NumberProperty([this,"scenePpsBloomStepSize"]),new c.GroupProperty([],"调试","调试"),new c.BooleanProperty([this,"sceneDebugShowFramesPerSecond"],"sceneDebugShowFramesPerSecond",i.sceneDebugShowFramesPerSecond,!0),new c.BooleanProperty([this,"sceneDebugShowCommands"],"sceneDebugShowCommands",i.sceneDebugShowCommands,!0),new c.BooleanProperty([this,"sceneDebugShowFrustums"],"sceneDebugShowFrustums",i.sceneDebugShowFrustums,!0),new c.BooleanProperty([this,"sceneDebugShowFrustumPlanes"],"sceneDebugShowFrustumPlanes",i.sceneDebugShowFrustumPlanes,!0),new c.NumberProperty([this,"sceneDebugShowDepthFrustum"],"sceneDebugShowDepthFrustum",i.sceneDebugShowDepthFrustum,!0),new c.GroupProperty([],"Inspector","Inspector"),new c.BooleanProperty([this,"showCesiumInspector"],"showCesiumInspector",i.showCesiumInspector,!0),new c.BooleanProperty([this,"cesiumInspectorWireframe"],"cesiumInspectorWireframe",i.cesiumInspectorWireframe,!0),new c.BooleanProperty([this,"showCesium3DTilesInspector"],"showCesium3DTilesInspector",i.showCesium3DTilesInspector,!0)]}}};L(Gt,"type",Gt.register("ESCesiumViewer",Gt)),L(Gt,"getCesiumIonToken",P7),L(Gt,"currentDefaultAccessToken",b.Ion.defaultAccessToken),L(Gt,"latestDefaultAccessToken"),L(Gt,"ObjectsToExcludeWrapper",a3),L(Gt,"defaults",{...c.ESViewer.defaults,flashLighting:!1,resolutionScale:1,msaaSamples:4,sceneSplitPosition:0,sceneGlobeShadows:"RECEIVE_ONLY",sceneGlobeUndergroundColor:[0,0,0,1],sceneGlobeUndergroundColorAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyBackFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyFrontFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyRectangle:[-3.141592653589793,-1.5707963267948966,3.141592653589793,1.5707963267948966].map(e=>180*e/Math.PI),sun:!0,sceneSunGlowFactor:1,moon:!0,sceneMoonTextureUrl:b.buildModuleUrl("Assets/Textures/moonSmall.jpg"),sceneMoonOnlySunLighting:!0,sceneSkyBoxSources:{positiveX:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_px.jpg"),negativeX:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mx.jpg"),positiveY:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_py.jpg"),negativeY:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_my.jpg"),positiveZ:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_pz.jpg"),negativeZ:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mz.jpg")},xbsjLocalBoxSources:{positiveX:"${earthsdk3-assets-script-dir}/assets/img/skybox/east.jpg",negativeX:"${earthsdk3-assets-script-dir}/assets/img/skybox/west.jpg",positiveY:"${earthsdk3-assets-script-dir}/assets/img/skybox/bottom.jpg",negativeY:"${earthsdk3-assets-script-dir}/assets/img/skybox/top.jpg",positiveZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/north.jpg",negativeZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/south.jpg"},sceneFogEnabled:!0,sceneFogDensity:2e-4,sceneFogScreenSpaceErrorFactor:2,sceneFogMinimumBrightness:.03,sceneSsccEnableInputs:!0,sceneSsccEnableCollisionDetection:!0,sceneSsccZoomFactor:5,scenePpsfxaaEnabled:!0,sceneDebugShowFramesPerSecond:!1,sceneDebugShowCommands:!1,sceneDebugShowFrustums:!1,sceneDebugShowFrustumPlanes:!1,sceneDebugShowDepthFrustum:1,showCesiumInspector:!1,cesiumInspectorWireframe:!1,showCesium3DTilesInspector:!1,particleGlobalControl:!1}),L(Gt,"getHeightsScartchCarto",new b.Cartographic);let at=Gt;(t=>{t.createDefaultProps=()=>({...c.ESViewer.createDefaultProps(),...C7()})})(at||(at={})),c.extendClassProps(at.prototype,at.createDefaultProps),ne.copyright=void 0;try{const t="earthsdk3-cesium",n="3.6.0-beta.114",e="2025-11-04T07:08:24.000Z",i="北京西部世界科技有限公司",o="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="f414a145e6204a2d8a0b511ec4636c035d8718a6",s=((Date.now()-1762240104e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${r.slice(0,8)}.${e} (距今${s}个小时)
|
|
4145
|
+
`;console.log(e);const i=window.prompt(e,t);i&&window.open(i,"_blank")}const Gt=class Gt extends c.ESViewer{constructor(e){super(e);L(this,"_disabledInputStack",this.disposeVar(c.react(0)));L(this,"_viewer",this.dv(c.react(void 0)));L(this,"_viewerInstance");L(this,"_viewerLegend");L(this,"pickCustomAttachedInfo");L(this,"_fps",this.dv(c.react(0)));L(this,"_notSupportEditingCount",this.disposeVar(c.react(0)));L(this,"_editingSystem",$f);L(this,"_moveObjectsProcess",this.ad(jS()));if(e.type!=="ESCesiumViewer")throw new Error("option.type must be ESCesiumViewer");this.ad(new i3(this)),this.ad(new r3(this)),this.dv(new c.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new l3(this)})),this._viewerLegend=this.dv(new b7(this)),this._viewerInstance=this.dv(new c.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new Wv(this,this.viewer)})),this.d(this.viewerChanged.don(o=>{this.viewer&&(this.viewer.scene.globe.baseColor=Be([1,1,1,1]))}));const i=e;this.d(this._viewer.changed.don(o=>{this.viewerChanged.emit(o)})),this.dv(new c.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new sH(this.subContainer,this,o=>this._viewer.value=o,i.options)}))}get disabledInputStack(){return this._disabledInputStack.value}get disabledInputStackChanged(){return this._disabledInputStack.changed}incrementDisabledInputStack(){++this._disabledInputStack.value}decrementDisabledInputStack(){--this._disabledInputStack.value}get viewer(){return this._viewer.value}get extensions(){return this.viewer&&Ot(this.viewer)}get viewerInstance(){return this._viewerInstance}get viewerLegend(){return this._viewerLegend}async pick(e,i,o){if(!this.extensions)return;const{pickingManager:r}=this.extensions;return await r.pick(e,void 0,i)}async pickPosition(e){if(!this.extensions)return;const{pickingManager:i}=this.extensions;return await i.pickPosition(e)}async quickPickPosition(e){if(!this.extensions)return;const{pickingManager:i}=this.extensions;return await i.quickPickPosition(e)}async getTerrainHeight(e){const{viewer:i}=this;if(!i)return;const o=b.Cartographic.fromDegrees(e[0],e[1],e[2],Gt.getHeightsScartchCarto);return i.scene.globe.getHeight(o)}getCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Mn(e),rotation:gs(e)}}calcFlyToParam(e){if(!this.viewer)return;const{camera:i}=this.viewer;if(!i||!e)return;const o=b.Cartesian3.fromDegrees(...e),r=b.Transforms.eastNorthUpToFixedFrame(o),a=b.Matrix4.inverse(r,new b.Matrix4),s=b.Matrix4.multiplyByPoint(a,i.positionWC,new b.Cartesian3),l=b.Cartesian3.magnitude(s);let u=-Math.asin(s.z/l);u=b.Math.toDegrees(u);let A=b.Math.PI_OVER_TWO-Math.atan(s.y/s.x);s.x>0&&(A+=s.y<0?-b.Math.PI:b.Math.PI),A=b.Math.toDegrees(A);const h=gs(i),f=h[0]-A,p=h[1]-u;return{distance:l,heading:A,pitch:u,flyDuration:1,hDelta:f,pDelta:p}}flyIn(e,i,o,r="default"){var l;if(!i)return;const a={position:e,rotation:i,duration:(o??1)*1e3},s=(l=this.viewer)==null?void 0:l.camera;return s&&sl(s,a,r)}flyTo(e,i,o="default"){var p;const{distance:r,heading:a,pitch:s,flyDuration:l,hDelta:u,pDelta:A}=e,h={position:i,viewDistance:r,rotation:[a,s,0],duration:l*1e3,hdelta:u,pdelta:A},f=(p=this.viewer)==null?void 0:p.camera;return f&&sl(f,h,o)}flyToBoundingSphere(e,i,o=1){var h;const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],a=c.getGeoBoundingSphereFromPositions(r);if(!a)return;const{center:s,radius:l}=a,u={position:s,viewDistance:i??l,rotation:[0,-90,0],duration:o*1e3},A=(h=this.viewer)==null?void 0:h.camera;return A&&sl(A,u)}getCurrentCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Mn(e),rotation:gs(e)}}getLengthInPixel(){return this._viewerLegend.length}changeToWalk(e,i=4.2,o=1.6){var r,a;(a=(r=this._viewerInstance)==null?void 0:r.obj)==null||a.navigationManager.changeToWalk(e,i,o),this._navigationMode.value="Walk"}changeToMap(){var e,i;(i=(e=this._viewerInstance)==null?void 0:e.obj)==null||i.navigationManager.changeToMap(),this._navigationMode.value="Map"}changeToRotateGlobe(e,i,o){var r,a;(a=(r=this._viewerInstance)==null?void 0:r.obj)==null||a.navigationManager.changeToRotateGlobe(e,i,o),this._navigationMode.value="RotateGlobe"}changeToLine(e,i,o,r,a,s){var l,u;(u=(l=this._viewerInstance)==null?void 0:l.obj)==null||u.navigationManager.changeToLine(e,i,o,r,a,s),this._navigationMode.value="Line"}changeToUserDefined(e){this.changeToMap(),console.warn("Cesium引擎暂不支持自定义漫游,已切换为Map模式")}changeToRotatePoint(e,i,o,r,a){var s,l;(l=(s=this._viewerInstance)==null?void 0:s.obj)==null||l.navigationManager.changeToRotatePoint(e,i,o,r,a),this._navigationMode.value="RotatePoint"}changeToFollow(e,i,o,r,a){var s,l;(l=(s=this._viewerInstance)==null?void 0:s.obj)==null||l.navigationManager.changeToFollow(e,i,o,r,a),this._navigationMode.value="Follow"}getFPS(){return this._fps.value}async getBoundSphere(e){return Promise.resolve(void 0)}async getVersion(){const e=window.g_XE3CopyRights??{};return e.cesium={version:b.VERSION},e}async getHeightByLonLat(e,i,o){if(!this.viewer)return null;const r=b.Cartographic.fromDegrees(e,i,void 0,Gt.getHeightsScartchCarto);return this.viewer.scene.sampleHeight(r)??null}async getHeightsByLonLats(e,i){const o=e.map(a=>this.getHeightByLonLat(...a));return await Promise.all(o)}async capture(e,i){if(this.viewer)return await D0(this.viewer.scene,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer||!this.isPointVisible(e))return;const i=this.viewer.scene.cartesianToCanvasCoordinates(rt(e));if(i)return[i.x,i.y]}get notSupportEditingCount(){return this._notSupportEditingCount.value}set notSupportEditingCount(e){this._notSupportEditingCount.value=e}get notSupportEditingCountChanged(){return this._notSupportEditingCount.changed}startEditing(e,i,o){o=Object.assign({useKeyToSwitch:!0,callSource:"outer"},o);const r=e.components.main??e;r&&i!=null&&(r.editingID=`${o.callSource}_${c.createGuid()}`,this._editingSystem.create(this,r,i,o.useKeyToSwitch))}stopEditing(){this._editingSystem.stop()}moveObjects(e){const i=[],o=c.createGuid();for(let r=0;r<e.length;r++){const a=e[r],s=a.components.main??a;s.editingID=o,s&&i.push(s)}this._moveObjectsProcess.restart(void 0,this,i,o)}getCzmObject(e){return this.sceneObjectsMap.get(e)}setCurrentDefaultAccessToken(){this.ionAccessToken=Gt.currentDefaultAccessToken}setLatestDefaultAccessToken(){if(!Gt.latestDefaultAccessToken){alert("Cesium最新的iontoken无法获取!"),console.error("Cesium最新的iontoken无法获取!");return}this.ionAccessToken=Gt.latestDefaultAccessToken}positionsToLocalPositions(e,i){return wn(e,i)}localPositionsToPositions(e,i){return _r(e,i)}isPointVisible(e){if(!this.viewer)return!1;const i=e instanceof b.Cartesian3?e:rt(e),o=new b.EllipsoidalOccluder(this.viewer.scene.globe.ellipsoid,this.viewer.scene.camera.positionWC);if(o.cameraPosition=this.viewer.scene.camera.positionWC,!o.isPointVisible(i))return!1;const r=this.viewer.scene.cartesianToCanvasCoordinates(i);return!(!r||r.x<0||r.y<0)}getESProperties(){const e={...super.getESProperties()},i=Gt.defaults;return{...e,more:[...e.more,new c.GroupProperty([],"通用","通用"),new c.EvalStringProperty([this,"createCesiumViewerFuncStr"],"CesiumViewer创建函数",E7,S7,!0),new c.FunctionProperty([],()=>Gt.getCesiumIonToken(),[],"获取官方token"),new c.FunctionProperty([],()=>this.setCurrentDefaultAccessToken(),[],"重置为当前使用的Cesium版本的token"),new c.FunctionProperty([],()=>this.setLatestDefaultAccessToken(),[],"最新token","重置为当前Cesium官方的最新token"),new c.BooleanProperty([this,"flashLighting"],"头顶灯",i.flashLighting,!0),new c.BooleanProperty([this,"particleGlobalControl"],"粒子全局控制播放",i.particleGlobalControl,!0),new c.GroupProperty([],"Viewer","Viewer"),new c.NumberProperty([this,"resolutionScale"],"分辨率比率",i.resolutionScale,!0),new c.NumberProperty([this,"msaaSamples"],"msaaSamples",i.msaaSamples,!0),new c.BooleanProperty([this,"shadows"]),new c.GroupProperty([],"比例尺","比例尺(Legend)"),new c.NumberProperty([this.viewerLegend,"resolution"],"resolution",void 0,!0,!0),new c.NumberProperty([this.viewerLegend,"zoom"],"zoom",void 0,!0,!0),new c.Number3Property([this.viewerLegend,"center"],"center",void 0,!0,!0),new c.NumberProperty([this.viewerLegend.legend,"lengthInPixels"],"lengthInPixels",100,!0,!1),new c.NumberProperty([this.viewerLegend.legend,"computedLengthInPixels"],"computedLengthInPixels",void 0,!0,!0),new c.NumberProperty([this.viewerLegend.legend,"computedLengthInMeters"],"computedLengthInMeters",void 0,!0,!0),new c.StringProperty([this.viewerLegend.legend,"computedLengthInStr"],"computedLengthInStr",void 0,!0,!0),new c.GroupProperty([],"场景","场景(Scene)"),new c.NumberProperty([this,"sceneSplitPosition"],"内部视口分割比例",i.sceneSplitPosition,!0),new c.GroupProperty([],"Globe","Globe"),new c.EnumProperty([this,"sceneGlobeShadows"],[["禁用","DISABLED"],["启用","ENABLED"],["仅投射","CAST_ONLY"],["仅接收","RECEIVE_ONLY"]],"sceneGlobeShadows",i.sceneGlobeShadows,!0),new c.NumberProperty([this,"sceneGlobeTerrainExaggeration"]),new c.NumberProperty([this,"sceneGlobeTerrainExaggerationRelativeHeight"]),new c.NumberProperty([this,"sceneGlobeVerticalExaggeration"]),new c.NumberProperty([this,"sceneGlobeVerticalExaggerationRelativeHeight"]),new c.BooleanProperty([this,"sceneGlobeBackFaceCulling"]),new c.BooleanProperty([this,"sceneGlobeShowSkirts"]),new c.BooleanProperty([this,"sceneGlobeShowWaterEffect"]),new c.ColorProperty([this,"sceneGlobeBaseColor"]),new c.Number4Property([this,"sceneGlobeCartographicLimitRectangle"]),new c.JsonProperty([this,"sceneGlobeClippingPlanes"]),new c.StringProperty([this,"sceneGlobeClippingPlanesId"]),new c.JsonProperty([this,"sceneGlobeClippingPolygons"]),new c.StringsProperty([this,"sceneGlobeClippingPolygonsId"]),new c.GroupProperty([],"underground","underground"),new c.ColorProperty([this,"sceneGlobeUndergroundColor"],"sceneGlobeUndergroundColor",i.sceneGlobeUndergroundColor,!0),new c.Number4Property([this,"sceneGlobeUndergroundColorAlphaByDistance"],"sceneGlobeUndergroundColorAlphaByDistance",i.sceneGlobeUndergroundColorAlphaByDistance,!0),new c.GroupProperty([],"Translucency","Translucency"),new c.Number4Property([this,"sceneGlobeTranslucencyBackFaceAlphaByDistance"],"背面渐变透明度",i.sceneGlobeTranslucencyBackFaceAlphaByDistance,!0),new c.Number4Property([this,"sceneGlobeTranslucencyFrontFaceAlphaByDistance"],"正面渐变透明度",i.sceneGlobeTranslucencyFrontFaceAlphaByDistance,!0),new c.Number4Property([this,"sceneGlobeTranslucencyRectangle"],"矩形范围",i.sceneGlobeTranslucencyRectangle,!0),new c.GroupProperty([],"Sun","Sun"),new c.BooleanProperty([this,"sun"],"sun",i.sun,!0),new c.NumberProperty([this,"sceneSunGlowFactor"],"sceneSunGlowFactor",i.sceneSunGlowFactor,!0),new c.GroupProperty([],"Moon","Moon"),new c.BooleanProperty([this,"moon"],"moon",i.moon,!0),new c.StringProperty([this,"sceneMoonTextureUrl"],"sceneMoonTextureUrl",i.sceneMoonTextureUrl,!0),new c.BooleanProperty([this,"sceneMoonOnlySunLighting"],"sceneMoonOnlySunLighting",i.sceneMoonOnlySunLighting,!0),new c.GroupProperty([],"SkyBox","SkyBox"),new c.BooleanProperty([this,"sceneSkyBoxShow"]),new c.JsonProperty([this,"sceneSkyBoxSources"],"sceneSkyBoxSources",i.sceneSkyBoxSources,void 0,!0),new c.GroupProperty([],"Background","Background"),new c.BooleanProperty([this,"xbsjUseBackground"]),new c.StringProperty([this,"xbsjBackgroundImageUri"]),new c.ColorProperty([this,"xbsjBackgroundColor"]),new c.GroupProperty([],"SkyAtmosphere","SkyAtmosphere"),new c.JsonProperty([this,"xbsjLocalBoxSources"],"xbsjLocalBoxSources",i.xbsjLocalBoxSources,void 0,!0),new c.ColorProperty([this,"sceneBackgroundColor"]),new c.GroupProperty([],"Fog","Fog"),new c.BooleanProperty([this,"sceneFogEnabled"],"sceneFogEnabled",i.sceneFogEnabled,!0),new c.NumberProperty([this,"sceneFogDensity"],"sceneFogDensity",i.sceneFogDensity,!0),new c.NumberProperty([this,"sceneFogScreenSpaceErrorFactor"],"sceneFogScreenSpaceErrorFactor",i.sceneFogScreenSpaceErrorFactor,!0),new c.NumberProperty([this,"sceneFogMinimumBrightness"],"sceneFogMinimumBrightness",i.sceneFogMinimumBrightness,!0),new c.GroupProperty([],"Sscc","Sscc"),new c.BooleanProperty([this,"sceneSsccEnableInputs"],"sceneSsccEnableInputs",i.sceneSsccEnableInputs,!0),new c.BooleanProperty([this,"sceneSsccEnableCollisionDetection"],"sceneSsccEnableCollisionDetection",i.sceneSsccEnableCollisionDetection,!0),new c.NumberProperty([this,"sceneSsccZoomFactor"],"sceneSsccZoomFactor",i.sceneSsccZoomFactor,!0),new c.NumberProperty([this,"sceneCameraFrustumFov"],"相机广角"),new c.GroupProperty([],"后处理","后处理"),new c.BooleanProperty([this,"scenePpsfxaaEnabled"],"开启FXAA",i.scenePpsfxaaEnabled,!0),new c.GroupProperty([],"环境遮蔽","环境遮蔽"),new c.BooleanProperty([this,"scenePpsAmbientOcclusionEnabled"]),new c.BooleanProperty([this,"scenePpsAmbientOcclusionAmbientOcclusionOnly"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionIntensity"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionBias"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionLengthCap"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionStepSize"]),new c.NumberProperty([this,"scenePpsAmbientOcclusionBlurStepSize"]),new c.GroupProperty([],"Bloom","Bloom"),new c.BooleanProperty([this,"scenePpsBloomEnabled"]),new c.BooleanProperty([this,"scenePpsBloomGlowOnly"]),new c.NumberProperty([this,"scenePpsBloomContrast"]),new c.NumberProperty([this,"scenePpsBloomBrightness"]),new c.NumberProperty([this,"scenePpsBloomDelta"]),new c.NumberProperty([this,"scenePpsBloomSigma"]),new c.NumberProperty([this,"scenePpsBloomStepSize"]),new c.GroupProperty([],"调试","调试"),new c.BooleanProperty([this,"sceneDebugShowFramesPerSecond"],"sceneDebugShowFramesPerSecond",i.sceneDebugShowFramesPerSecond,!0),new c.BooleanProperty([this,"sceneDebugShowCommands"],"sceneDebugShowCommands",i.sceneDebugShowCommands,!0),new c.BooleanProperty([this,"sceneDebugShowFrustums"],"sceneDebugShowFrustums",i.sceneDebugShowFrustums,!0),new c.BooleanProperty([this,"sceneDebugShowFrustumPlanes"],"sceneDebugShowFrustumPlanes",i.sceneDebugShowFrustumPlanes,!0),new c.NumberProperty([this,"sceneDebugShowDepthFrustum"],"sceneDebugShowDepthFrustum",i.sceneDebugShowDepthFrustum,!0),new c.GroupProperty([],"Inspector","Inspector"),new c.BooleanProperty([this,"showCesiumInspector"],"showCesiumInspector",i.showCesiumInspector,!0),new c.BooleanProperty([this,"cesiumInspectorWireframe"],"cesiumInspectorWireframe",i.cesiumInspectorWireframe,!0),new c.BooleanProperty([this,"showCesium3DTilesInspector"],"showCesium3DTilesInspector",i.showCesium3DTilesInspector,!0)]}}};L(Gt,"type",Gt.register("ESCesiumViewer",Gt)),L(Gt,"getCesiumIonToken",P7),L(Gt,"currentDefaultAccessToken",b.Ion.defaultAccessToken),L(Gt,"latestDefaultAccessToken"),L(Gt,"ObjectsToExcludeWrapper",a3),L(Gt,"defaults",{...c.ESViewer.defaults,flashLighting:!1,resolutionScale:1,msaaSamples:4,sceneSplitPosition:0,sceneGlobeShadows:"RECEIVE_ONLY",sceneGlobeUndergroundColor:[0,0,0,1],sceneGlobeUndergroundColorAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyBackFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyFrontFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyRectangle:[-3.141592653589793,-1.5707963267948966,3.141592653589793,1.5707963267948966].map(e=>180*e/Math.PI),sun:!0,sceneSunGlowFactor:1,moon:!0,sceneMoonTextureUrl:b.buildModuleUrl("Assets/Textures/moonSmall.jpg"),sceneMoonOnlySunLighting:!0,sceneSkyBoxSources:{positiveX:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_px.jpg"),negativeX:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mx.jpg"),positiveY:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_py.jpg"),negativeY:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_my.jpg"),positiveZ:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_pz.jpg"),negativeZ:b.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mz.jpg")},xbsjLocalBoxSources:{positiveX:"${earthsdk3-assets-script-dir}/assets/img/skybox/east.jpg",negativeX:"${earthsdk3-assets-script-dir}/assets/img/skybox/west.jpg",positiveY:"${earthsdk3-assets-script-dir}/assets/img/skybox/bottom.jpg",negativeY:"${earthsdk3-assets-script-dir}/assets/img/skybox/top.jpg",positiveZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/north.jpg",negativeZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/south.jpg"},sceneFogEnabled:!0,sceneFogDensity:2e-4,sceneFogScreenSpaceErrorFactor:2,sceneFogMinimumBrightness:.03,sceneSsccEnableInputs:!0,sceneSsccEnableCollisionDetection:!0,sceneSsccZoomFactor:5,scenePpsfxaaEnabled:!0,sceneDebugShowFramesPerSecond:!1,sceneDebugShowCommands:!1,sceneDebugShowFrustums:!1,sceneDebugShowFrustumPlanes:!1,sceneDebugShowDepthFrustum:1,showCesiumInspector:!1,cesiumInspectorWireframe:!1,showCesium3DTilesInspector:!1,particleGlobalControl:!1}),L(Gt,"getHeightsScartchCarto",new b.Cartographic);let at=Gt;(t=>{t.createDefaultProps=()=>({...c.ESViewer.createDefaultProps(),...C7()})})(at||(at={})),c.extendClassProps(at.prototype,at.createDefaultProps),ne.copyright=void 0;try{const t="earthsdk3-cesium",n="3.6.0-beta.116",e="2025-11-04T07:08:24.000Z",i="北京西部世界科技有限公司",o="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="f414a145e6204a2d8a0b511ec4636c035d8718a6",s=((Date.now()-1762240104e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${r.slice(0,8)}.${e} (距今${s}个小时)
|
|
4146
4146
|
%c${o?o+`
|
|
4147
4147
|
`:""}当前网站正在使用${t},此软件版权归${i}所有
|
|
4148
|
-
`;ne.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","f414a145e6204a2d8a0b511ec4636c035d8718a6")},get info(){return l},get date(){return"2025-11-04T07:08:24.000Z"},get author(){return"suplyang"},get version(){return"3.6.0-beta.
|
|
4148
|
+
`;ne.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","f414a145e6204a2d8a0b511ec4636c035d8718a6")},get info(){return l},get date(){return"2025-11-04T07:08:24.000Z"},get author(){return"suplyang"},get version(){return"3.6.0-beta.116"},get name(){return"earthsdk3-cesium"},get commitId(){return"f414a145e6204a2d8a0b511ec4636c035d8718a6"},print(){console.info(this.info,`
|
|
4149
4149
|
font-size: 18px;
|
|
4150
4150
|
font-weight: 1000;
|
|
4151
4151
|
line-height: 1;
|
package/dist/earthsdk3-cesium.js
CHANGED
|
@@ -33536,19 +33536,19 @@ class oR extends F {
|
|
|
33536
33536
|
var u, p;
|
|
33537
33537
|
if (d.ok && ((u = this.cache) != null && u.has(n)) && ((p = this.cache.get(n)) == null ? void 0 : p.size) == 0) return d.arrayBuffer();
|
|
33538
33538
|
}).then((d) => {
|
|
33539
|
-
var m
|
|
33539
|
+
var m;
|
|
33540
33540
|
const u = new px(d), p = new fx(u), f = /* @__PURE__ */ new Map();
|
|
33541
|
-
for (const
|
|
33542
|
-
const
|
|
33543
|
-
if (
|
|
33544
|
-
const
|
|
33545
|
-
for (let
|
|
33546
|
-
const
|
|
33547
|
-
|
|
33541
|
+
for (const v in p.layers) {
|
|
33542
|
+
const y = p.layers[v];
|
|
33543
|
+
if (y.length <= 0 || y.feature(0).type !== 1) continue;
|
|
33544
|
+
const _ = [];
|
|
33545
|
+
for (let w = 0; w < y.length; w++) {
|
|
33546
|
+
const b = y.feature(w);
|
|
33547
|
+
_.push(b.toGeoJSON(e, s, o));
|
|
33548
33548
|
}
|
|
33549
|
-
f.set(
|
|
33549
|
+
f.set(v, _);
|
|
33550
33550
|
}
|
|
33551
|
-
(m = this.cache)
|
|
33551
|
+
(m = this.cache) == null || m.set(n, f), this.addScreenManage(n, f);
|
|
33552
33552
|
});
|
|
33553
33553
|
}
|
|
33554
33554
|
});
|
|
@@ -33570,11 +33570,11 @@ class oR extends F {
|
|
|
33570
33570
|
for (const l of r) {
|
|
33571
33571
|
const { labelStyle: c, billboardStyle: d } = sR(a);
|
|
33572
33572
|
let u, p;
|
|
33573
|
-
c && (u = this.screenManager.addLabel(this.czmESMVTLayer.sceneObject.id, "default", c ?? {}, {
|
|
33573
|
+
c && (c.show = !this.screenManager.avoidanceManager.enable, u = this.screenManager.addLabel(this.czmESMVTLayer.sceneObject.id, "default", c ?? {}, {
|
|
33574
33574
|
position: l.geometry.coordinates,
|
|
33575
33575
|
name: l.properties.NAME ?? l.properties.name,
|
|
33576
33576
|
index: l.id
|
|
33577
|
-
})), d && (p = this.screenManager.addImage(this.czmESMVTLayer.sceneObject.id, "default", d ?? {}, {
|
|
33577
|
+
})), d && (d.show = !this.screenManager.avoidanceManager.enable, p = this.screenManager.addImage(this.czmESMVTLayer.sceneObject.id, "default", d ?? {}, {
|
|
33578
33578
|
position: l.geometry.coordinates,
|
|
33579
33579
|
name: l.properties.NAME ?? l.properties.name,
|
|
33580
33580
|
index: l.id
|
|
@@ -50955,7 +50955,7 @@ let Ye = _t;
|
|
|
50955
50955
|
le(Ye.prototype, Ye.createDefaultProps);
|
|
50956
50956
|
let rp;
|
|
50957
50957
|
try {
|
|
50958
|
-
const t = "earthsdk3-cesium", i = "3.6.0-beta.
|
|
50958
|
+
const t = "earthsdk3-cesium", i = "3.6.0-beta.116", e = "2025-11-04T07:08:24.000Z", s = "北京西部世界科技有限公司", o = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", n = "f414a145e6204a2d8a0b511ec4636c035d8718a6", a = ((Date.now() - 1762240104e3) / 36e5).toFixed(1), l = `%c🌏 ${t}%c ${i}.${n.slice(0, 8)}.${e} (距今${a}个小时)
|
|
50959
50959
|
%c${o ? o + `
|
|
50960
50960
|
` : ""}当前网站正在使用${t},此软件版权归${s}所有
|
|
50961
50961
|
`;
|
|
@@ -50985,7 +50985,7 @@ try {
|
|
|
50985
50985
|
},
|
|
50986
50986
|
// @ts-ignore
|
|
50987
50987
|
get version() {
|
|
50988
|
-
return "3.6.0-beta.
|
|
50988
|
+
return "3.6.0-beta.116";
|
|
50989
50989
|
},
|
|
50990
50990
|
// @ts-ignore
|
|
50991
50991
|
get name() {
|