earthsdk3-cesium 3.0.7-beta.14 → 3.0.7-beta.15

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.
@@ -3484,7 +3484,7 @@ class CityShaderInstance extends xbsj['xr-base-utils'].Destroyable {
3484
3484
  \`\`\`
3485
3485
  `,wV=`function (p, q, time) {
3486
3486
  return (1.0 - time) * p + time * q;
3487
- };`,bV={color:"vec4(1,0,0,1)"},gS={planes:[{normal:[1,0,0],distance:0}],enabled:!0,modelMatrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],unionClippingRegions:!1,edgeColor:[1,1,1,1],edgeWidth:2};`${JSON.stringify(gS,void 0," ")}`;const vS={attenuation:!1,geometricErrorScale:1,maximumAttenuation:16,baseResolution:void 0,eyeDomeLighting:!0,eyeDomeLightingStrength:1,eyeDomeLightingRadius:1,backFaceCulling:!1,normalShading:!0};`${JSON.stringify(vS,void 0," ")}`;const wS={imageBasedLightingFactor:[1,1],luminanceAtZenith:2,sphericalHarmonicCoefficients:[[1.234709620475769,1.221461296081543,1.273156881332397],[1.135921120643616,1.171217799186707,1.287644743919373],[1.245193719863892,1.245591878890991,1.282818794250488],[-1.106930732727051,-1.112522482872009,-1.153198838233948],[-1.086226940155029,-1.079731941223145,-1.101912498474121],[1.189834713935852,1.185906887054443,1.214385271072388],[.01778045296669,.02013735473156,.025313569232821],[-1.086826920509338,-1.084611177444458,-1.111204028129578],[-.05241484940052,-.048303380608559,-.041960217058659]],specularEnvironmentMaps:""},_V={enabled:!0,mipmapLevels:7,maximumSecondsDifference:3600,maximumPositionEpsilon:1e3,atmosphereScatteringIntensity:2,gamma:1,brightness:1,saturation:1,groundColor:[.44313725490196076,.44313725490196076,.27058823529411763,1],groundAlbedo:.31};`${JSON.stringify(wS,void 0," ")}`;const xV=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];class CV extends E.Destroyable{constructor(n,e){super(),this._czm3DTiles=n,this._czmClippingPlanes=e,this.dispose(E.track([this._czm3DTiles,"clippingPlanes"],[this._czmClippingPlanes,"computedClippingPlanes"])),this.dispose(()=>this._czm3DTiles.clippingPlanes=void 0)}}function SV(t){let n,e=typeof t=="string"?t:t.url;do{if(!e.startsWith("Ion("))break;let r=/Ion\((\d+)/.exec(e);if(!r)break;let s=r[1]&&+r[1];try{s&&(n=`"await Cesium.IonResource.fromAssetId(${s}))"`)}catch(o){console.error(`Ion资源未能获取到 error: ${o}`,o);break}}while(!1);return n=n||`"${Q.ESSceneObject.context.getStrFromEnv(e)}"`,n}const Zn=class Zn extends E.Destroyable{constructor(e,r,s){super();N(this,"_id",this.disposeVar(E.react(E.createGuid())));N(this,"_supportEdit",this.disposeVar(E.react(!0)));N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_customShaderInstanceClass",this.disposeVar(E.react(void 0)));N(this,"_updateCustomShaderEvent",this.disposeVar(new E.Event));N(this,"_foveatedInterpolationCallback",this.disposeVar(E.react(Zn.defaultFoveatedInterpolationCallback)));N(this,"_origin",this.disposeVar(E.react(void 0)));N(this,"_czmTilesetReadyEvent",this.disposeVar(new E.Event));N(this,"_czmFlattenedPlaneWithId");N(this,"_clippingPlanesSceneObjectWithId");N(this,"_customShaderInstance",this.disposeVar(E.react(void 0)));N(this,"_style",this.disposeVar(E.react(void 0)));N(this,"_originRootTransform",this.disposeVar(E.react(void 0)));N(this,"_originRootTransformInv",this.disposeVar(E.react(void 0)));N(this,"_recreateEvent",this.disposeVar(E.createNextAnimateFrameEvent(...tV(this))));N(this,"_nativeTilesetResetting");N(this,"_setMaterialEvent",this.disposeVar(new E.Event));this._czmViewer=e,s&&(this.id=s),this._nativeTilesetResetting=this.disposeVar(new E.ObjResettingWithEvent(this._recreateEvent,()=>{typeof this.url=="string"?this.url=Q.ESSceneObject.context.getStrFromEnv(this.url):this.url&&(this.url.url=Q.ESSceneObject.context.getStrFromEnv(this.url.url));const a=this.url;if(a)return new dV(a,this,e.viewer,e)})),this._clippingPlanesSceneObjectWithId=this.disposeVar(new Q.ESSceneObjectWithId),this.dispose(E.track([this._clippingPlanesSceneObjectWithId,"id"],[this,"clippingPlanesId"])),this.ad(new AV(this.czmViewer,this));const o=a=>{if(a&&"computedClippingPlanes"in a&&"computedClippingPlanesChanged"in a)return new CV(this,a)};this.disposeVar(new E.ObjResettingWithEvent(this.clippingPlanesSceneObjectWithId.sceneObjectChanged,()=>{const{sceneObject:a}=this.clippingPlanesSceneObjectWithId;if(!a)return;let l;a instanceof Q.ESBoxClipping&&Q.registerCreatedEventUpdate(this,a,()=>{l=e.getEngineObject(a).czmBoxClippingPlanes,o(l)}),a instanceof Q.ES3DTileset&&(l=r.clippingPlanes,o(l))})),this._czmFlattenedPlaneWithId=this.disposeVar(new Q.ESSceneObjectWithId),this.dispose(E.track([this._czmFlattenedPlaneWithId,"id"],[this,"czmFlattenedPlaneId"])),this.dispose(this.originChanged.disposableOn(()=>{this.origin&&(this.position=this.origin)}));const i=()=>{try{this.customShaderInstanceClass=this.customShaderInstanceClassStr&&Function(`"use strict";return (${this.customShaderInstanceClassStr})`)()}catch{this.customShaderInstanceClass=void 0}};i(),this.dispose(this.customShaderInstanceClassStrChanged.disposableOn(i)),Q.registerEventUpdate(this,this.foveatedInterpolationCallbackStrChanged,()=>{this.foveatedInterpolationCallback=mS(this.foveatedInterpolationCallbackStr)}),this.dispose(this.urlChanged.disposableOn(()=>{this._origin.value=void 0})),this.dispose(this._czmTilesetReadyEvent.disposableOn((a,l)=>{if(!this._origin.value){let h=a.root.transform;const f=F.Matrix4.getTranslation(h,new F.Cartesian3),u=He(f),A=At({initialRotation:"yForwardzUp",rotation:[0,0,0],position:u});A&&!A.equalsEpsilon(h,.001)||h.equals(F.Matrix4.IDENTITY)?(h=a.clippingPlanesOriginMatrix,this._origin.value=He(F.Matrix4.getTranslation(h,new F.Cartesian3))):this._origin.value=u}})),Q.registerEventUpdate(this,this.styleJsonChanged,()=>this.style=pV(this.styleJson)),Q.registerEventUpdate(this,this.customShaderInstanceClassChanged,()=>{const a=this.customShaderInstanceClass;this.customShaderInstance=a&&new a(this,e)}),this.dispose(this.updateCustomShaderEvent.disposableOn(a=>{this.customShaderInstance&&a(this.customShaderInstance,this,e)}))}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}get czmViewer(){return this._czmViewer}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get customShaderInstanceClass(){return this._customShaderInstanceClass.value}set customShaderInstanceClass(e){this._customShaderInstanceClass.value=e}get customShaderInstanceClassChanged(){return this._customShaderInstanceClass.changed}get updateCustomShaderEvent(){return this._updateCustomShaderEvent}updateCustomShader(e){this._updateCustomShaderEvent.emit(e)}get foveatedInterpolationCallback(){return this._foveatedInterpolationCallback.value}get foveatedInterpolationCallbackChanged(){return this._foveatedInterpolationCallback.changed}set foveatedInterpolationCallback(e){this._foveatedInterpolationCallback.value=e}get imageBasedLightingFactor(){return this.imageBasedLighting&&this.imageBasedLighting.imageBasedLightingFactor}get imageBasedLightingFactorChanged(){return this.imageBasedLightingChanged}set imageBasedLightingFactor(e){this.imageBasedLighting=this.imageBasedLighting&&{...this.imageBasedLighting,imageBasedLightingFactor:e}||{imageBasedLightingFactor:e}}get origin(){return this._origin.value}get originChanged(){return this._origin.changed}setPositionAsOrigin(){this.position=this.origin}get czmTilesetReadyEvent(){return this._czmTilesetReadyEvent}notifyCzmTilesetReady(e,r){this._czmTilesetReadyEvent.emit(e,r)}get czmFlattenedPlaneWithId(){return this._czmFlattenedPlaneWithId}get clippingPlanesSceneObjectWithId(){return this._clippingPlanesSceneObjectWithId}get customShaderInstance(){return this._customShaderInstance.value}get customShaderInstanceChanged(){return this._customShaderInstance.changed}set customShaderInstance(e){this._customShaderInstance.value=e}get style(){return this._style.value}get styleChanged(){return this._style.changed}set style(e){this._style.value=e}get originRootTransform(){return this._originRootTransform.value}set originRootTransform(e){this._originRootTransform.value=e}get originRootTransformChanged(){return this._originRootTransform.changed}get originRootTransformInv(){return this._originRootTransformInv.value}set originRootTransformInv(e){this._originRootTransformInv.value=e}get originRootTransformInvChanged(){return this._originRootTransformInv.changed}get recreateEvent(){return this._recreateEvent}get nativeTilesetResetting(){return this._nativeTilesetResetting}get tileset(){var e;return(e=this.nativeTilesetResetting.obj)==null?void 0:e.tileset}get tilesetChanged(){return this.nativeTilesetResetting.objChanged}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){this._setMaterialEvent.emit(e)}async openLocalDir(){const e=await E.defaultLocalFileServer.getRootDirId("3dtiles");if(e===void 0){console.warn("openLocalDir failed!");return}const r=`https://${e}/tileset.json`;this.url=r}};N(Zn,"defaultCustomShaderInstanceClassStr",yS),N(Zn,"customShaderInstanceClassStrMd",gV),N(Zn,"styleMd",vV),N(Zn,"defaultFoveatedInterpolationCallbackStr",wV),N(Zn,"defaultStyleJson",bV),N(Zn,"defaultFoveatedInterpolationCallback",F.Math.lerp),N(Zn,"defaults",{url:"",show:!0,colorBlendMode:"HIGHLIGHT",modelMatrix:xV,modelUpAxis:"Y",modelForwardAxis:"X",shadows:"ENABLED",maximumScreenSpaceError:16,maximumMemoryUsage:512,cacheBytes:536870912,maximumCacheOverflowBytes:536870912,cullWithChildrenBounds:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:60,preloadWhenHidden:!1,preloadFlightDestinations:!0,preferLeaves:!1,dynamicScreenSpaceError:!1,dynamicScreenSpaceErrorDensity:.00278,dynamicScreenSpaceErrorFactor:4,dynamicScreenSpaceErrorHeightFalloff:.25,progressiveResolutionHeightFraction:.3,foveatedScreenSpaceError:!0,foveatedConeSize:.1,foveatedMinimumScreenSpaceErrorRelaxation:0,foveatedTimeDelay:.2,skipLevelOfDetail:!1,baseScreenSpaceError:1024,skipScreenSpaceErrorFactor:16,skipLevels:1,immediatelyLoadDesiredLevelOfDetail:!1,loadSiblings:!1,clippingPlanes:gS,classificationType:"NONE",ellipsoid:uB,pointCloudShading:vS,lightColor:void 0,imageBasedLighting:wS,environmentMapManager:_V,backFaceCulling:!0,enableShowOutline:!0,showOutline:!0,outlineColor:[0,0,0,1],vectorClassificationOnly:!1,vectorKeepDecodedPositions:!1,featureIdLabel:"featureId_0",instanceFeatureIdLabel:"instanceFeatureId_0",showCreditsOnScreen:!1,splitDirection:"NONE",projectTo2D:!1,debugHeatmapTilePropertyName:"",debugFreezeFrame:!1,debugColorizeTiles:!1,enableDebugWireframe:!1,debugWireframe:!1,debugShowBoundingVolume:!1,debugShowContentBoundingVolume:!1,debugShowViewerRequestVolume:!1,debugShowGeometricError:!1,debugShowRenderingStatistics:!1,debugShowMemoryUsage:!1,debugShowUrl:!1,customShaderInstanceClassStr:Zn.defaultCustomShaderInstanceClassStr,styleJson:Zn.defaultStyleJson,foveatedInterpolationCallbackStr:Zn.defaultFoveatedInterpolationCallbackStr});let it=Zn;(t=>{t.createDefaultProps=()=>({position:E.reactArrayWithUndefined(void 0),rotation:E.reactArrayWithUndefined([0,0,0]),allowPicking:!1,czmFlattenedPlaneId:"",url:void 0,show:void 0,colorBlendMode:void 0,modelMatrix:E.reactArrayWithUndefined(void 0),modelUpAxis:void 0,modelForwardAxis:void 0,shadows:void 0,maximumScreenSpaceError:void 0,maximumMemoryUsage:void 0,cacheBytes:void 0,maximumCacheOverflowBytes:void 0,cullWithChildrenBounds:void 0,cullRequestsWhileMoving:void 0,cullRequestsWhileMovingMultiplier:void 0,preloadWhenHidden:void 0,preloadFlightDestinations:void 0,preferLeaves:void 0,dynamicScreenSpaceError:void 0,dynamicScreenSpaceErrorDensity:void 0,dynamicScreenSpaceErrorFactor:void 0,dynamicScreenSpaceErrorHeightFalloff:void 0,progressiveResolutionHeightFraction:void 0,foveatedScreenSpaceError:void 0,foveatedConeSize:void 0,foveatedMinimumScreenSpaceErrorRelaxation:void 0,foveatedInterpolationCallbackStr:void 0,foveatedTimeDelay:void 0,skipLevelOfDetail:void 0,baseScreenSpaceError:void 0,skipScreenSpaceErrorFactor:void 0,skipLevels:void 0,immediatelyLoadDesiredLevelOfDetail:void 0,loadSiblings:void 0,clippingPlanes:E.reactJsonWithUndefined(void 0),clippingPlanesId:"",clippingPolygons:E.reactJsonWithUndefined(void 0),clippingPolygonsId:E.reactArray([]),absoluteClippingPlanes:!1,classificationType:void 0,ellipsoid:E.reactArrayWithUndefined(void 0),pointCloudShading:E.reactJsonWithUndefined(void 0),lightColor:E.reactArrayWithUndefined(void 0),imageBasedLighting:E.reactJsonWithUndefined(void 0),environmentMapManager:E.reactJsonWithUndefined(void 0),backFaceCulling:void 0,enableShowOutline:void 0,showOutline:void 0,outlineColor:E.reactArrayWithUndefined(void 0),vectorClassificationOnly:void 0,vectorKeepDecodedPositions:void 0,featureIdLabel:void 0,instanceFeatureIdLabel:void 0,showCreditsOnScreen:void 0,splitDirection:void 0,projectTo2D:void 0,debugHeatmapTilePropertyName:void 0,debugFreezeFrame:void 0,debugColorizeTiles:void 0,enableDebugWireframe:void 0,debugWireframe:void 0,debugShowBoundingVolume:void 0,debugShowContentBoundingVolume:void 0,debugShowViewerRequestVolume:void 0,debugShowGeometricError:void 0,debugShowRenderingStatistics:void 0,debugShowMemoryUsage:void 0,debugShowUrl:void 0,customShaderInstanceClassStr:void 0,styleJson:E.reactJsonWithUndefined(void 0),autoSetPositionAsOrigin:void 0})})(it||(it={})),E.extendClassProps(it.prototype,it.createDefaultProps);function EV(t){t.toBlob(n=>{if(!n){console.warn("canvas.toBlob error!");return}var e=new ClipboardItem({"image/png":n});navigator.clipboard.write([e]).then(function(){alert("图像已复制到剪切板")}).catch(function(r){console.error("复制到剪切板失败: ",r)})})}const bp=class bp extends E.Destroyable{constructor(n,e){super(),this._geoPolygonCanvas=n,this._geoPolygon=e;{const r=(i,a)=>{const{canvas:l,canvasCtx:h,canvasWidth:f}=this._geoPolygonCanvas,{toMercatorPos:u}=bp,A=u(i),v=u(a),g=v[0]-A[0],m=v[1]-A[1],p=f>8192?8192:f;if(g<=0)return;const d=p*m/g|0;if(d<=0||d>8192)return;const{points:c}=this._geoPolygon;if(!c)throw new Error("!positions");const y=c.map(w=>{const b=u(w);return[(b[0]-A[0])*p/g,d-(b[1]-A[1])*d/m]});l.width=p,l.height=d,h.clearRect(0,0,p,d),h.beginPath();for(const w of y)h.lineTo(w[0],w[1]);h.closePath(),h.fillStyle="#FFFFFF",h.fill()},s=()=>{let i;do{const{canvas:a,canvasCtx:l,canvasWidth:h}=this._geoPolygonCanvas;l.clearRect(0,0,a.width,a.height);const{points:f}=this._geoPolygon;if(!f||f.length<3)break;const u=Q.getMinMaxCorner(f),{minPos:A,maxPos:v}=u;r(A,v),i={rect:[A[0],A[1],v[0],v[1]],height:f[0][2]}}while(!1);this._geoPolygonCanvas.canvasGeoInfo=i,this.ad(E.nextAnimateFrame(()=>{this._geoPolygonCanvas.canvasChanged.emit()}))};s();const o=this.disposeVar(E.createNextAnimateFrameEvent(this._geoPolygon.pointsChanged,this._geoPolygonCanvas.canvasWidthChanged));this.dispose(o.disposableOn(s))}}};N(bp,"toMercatorPos",function(n){const[e,r,s]=n;return[e,r/Math.cos(r*Math.PI/180),s]});let ky=bp;const Xu=class Xu extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_geoPolygonWithId");N(this,"_canvas",document.createElement("canvas"));N(this,"_canvasCtx",this._canvas.getContext("2d"));N(this,"_canvasChanged",this.disposeVar(new E.Event));N(this,"_canvasGeoInfo",this.disposeVar(E.reactJsonWithUndefined(void 0)));this._geoPolygonWithId=this.disposeVar(new Q.ESSceneObjectWithId),this.dispose(E.track([this._geoPolygonWithId,"id"],[this,"geoPolygonId"])),this.disposeVar(new E.ObjResettingWithEvent(this.geoPolygonWithId.sceneObjectChanged,()=>{const{sceneObject:s}=this.geoPolygonWithId;if(s&&s instanceof Q.ESGeoPolygon)return new Xu.PolygonCanvasResetting(this,s)}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygonWithId(){return this._geoPolygonWithId}get canvas(){return this._canvas}get canvasCtx(){return this._canvasCtx}get canvasChanged(){return this._canvasChanged}get canvasGeoInfo(){return this._canvasGeoInfo.value}set canvasGeoInfo(e){this._canvasGeoInfo.value=e}get canvasGeoInfoChanged(){return this._canvasGeoInfo.changed}};N(Xu,"saveCanvasToClipboard",EV),N(Xu,"PolygonCanvasResetting",ky);let ya=Xu;(t=>{t.createDefaultProps=()=>({enabled:!0,geoPolygonId:"",canvasWidth:512})})(ya||(ya={})),E.extendClassProps(ya.prototype,ya.createDefaultProps);function PV(t,n){return class extends E.Destroyable{constructor(s,o){super();N(this,"_customShader",this.disposeVar(new F.CustomShader({uniforms:{u_discardRatio:{value:new F.Cartesian2(0,1),type:F.UniformType.VEC2},u_topColor:{value:new F.Color(1,1,1,1),type:F.UniformType.VEC4},u_bottomColor:{value:new F.Color(1,1,1,1),type:F.UniformType.VEC4}},varyings:{v_xbsjPos:F.VaryingType.VEC3,v_m:F.VaryingType.FLOAT},vertexShaderText:` // IMPORTANT: the function signature must use these parameter names. This
3487
+ };`,bV={color:"vec4(1,0,0,1)"},gS={planes:[{normal:[1,0,0],distance:0}],enabled:!0,modelMatrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],unionClippingRegions:!1,edgeColor:[1,1,1,1],edgeWidth:2};`${JSON.stringify(gS,void 0," ")}`;const vS={attenuation:!1,geometricErrorScale:1,maximumAttenuation:16,baseResolution:void 0,eyeDomeLighting:!0,eyeDomeLightingStrength:1,eyeDomeLightingRadius:1,backFaceCulling:!1,normalShading:!0};`${JSON.stringify(vS,void 0," ")}`;const wS={imageBasedLightingFactor:[1,1],luminanceAtZenith:2,sphericalHarmonicCoefficients:[[1.234709620475769,1.221461296081543,1.273156881332397],[1.135921120643616,1.171217799186707,1.287644743919373],[1.245193719863892,1.245591878890991,1.282818794250488],[-1.106930732727051,-1.112522482872009,-1.153198838233948],[-1.086226940155029,-1.079731941223145,-1.101912498474121],[1.189834713935852,1.185906887054443,1.214385271072388],[.01778045296669,.02013735473156,.025313569232821],[-1.086826920509338,-1.084611177444458,-1.111204028129578],[-.05241484940052,-.048303380608559,-.041960217058659]],specularEnvironmentMaps:""},_V={enabled:!0,mipmapLevels:7,maximumSecondsDifference:3600,maximumPositionEpsilon:1e3,atmosphereScatteringIntensity:2,gamma:1,brightness:1,saturation:1,groundColor:[.44313725490196076,.44313725490196076,.27058823529411763,1],groundAlbedo:.31};`${JSON.stringify(wS,void 0," ")}`;const xV=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];class CV extends E.Destroyable{constructor(n,e){super(),this._czm3DTiles=n,this._czmClippingPlanes=e,this.dispose(E.track([this._czm3DTiles,"clippingPlanes"],[this._czmClippingPlanes,"computedClippingPlanes"])),this.dispose(()=>this._czm3DTiles.clippingPlanes=void 0)}}function SV(t){let n,e=typeof t=="string"?t:t.url;do{if(!e.startsWith("Ion("))break;let r=/Ion\((\d+)/.exec(e);if(!r)break;let s=r[1]&&+r[1];try{s&&(n=`"await Cesium.IonResource.fromAssetId(${s}))"`)}catch(o){console.error(`Ion资源未能获取到 error: ${o}`,o);break}}while(!1);return n=n||`"${Q.ESSceneObject.context.getStrFromEnv(e)}"`,n}const Zn=class Zn extends E.Destroyable{constructor(e,r,s){super();N(this,"_id",this.disposeVar(E.react(E.createGuid())));N(this,"_supportEdit",this.disposeVar(E.react(!0)));N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_customShaderInstanceClass",this.disposeVar(E.react(void 0)));N(this,"_updateCustomShaderEvent",this.disposeVar(new E.Event));N(this,"_foveatedInterpolationCallback",this.disposeVar(E.react(Zn.defaultFoveatedInterpolationCallback)));N(this,"_origin",this.disposeVar(E.react(void 0)));N(this,"_czmTilesetReadyEvent",this.disposeVar(new E.Event));N(this,"_czmFlattenedPlaneWithId");N(this,"_clippingPlanesSceneObjectWithId");N(this,"_customShaderInstance",this.disposeVar(E.react(void 0)));N(this,"_style",this.disposeVar(E.react(void 0)));N(this,"_originRootTransform",this.disposeVar(E.react(void 0)));N(this,"_originRootTransformInv",this.disposeVar(E.react(void 0)));N(this,"_recreateEvent",this.disposeVar(E.createNextAnimateFrameEvent(...tV(this))));N(this,"_nativeTilesetResetting");N(this,"_setMaterialEvent",this.disposeVar(new E.Event));this._czmViewer=e,s&&(this.id=s),this._nativeTilesetResetting=this.disposeVar(new E.ObjResettingWithEvent(this._recreateEvent,()=>{typeof this.url=="string"?this.url=Q.ESSceneObject.context.getStrFromEnv(this.url):this.url&&(this.url.url=Q.ESSceneObject.context.getStrFromEnv(this.url.url));const a=this.url;if(a)return new dV(a,this,e.viewer,e)})),this._clippingPlanesSceneObjectWithId=this.disposeVar(new Q.ESSceneObjectWithId),this.dispose(E.track([this._clippingPlanesSceneObjectWithId,"id"],[this,"clippingPlanesId"])),this.ad(new AV(this.czmViewer,this));const o=a=>{if(a&&"computedClippingPlanes"in a&&"computedClippingPlanesChanged"in a)return new CV(this,a)};this.disposeVar(new E.ObjResettingWithEvent(this.clippingPlanesSceneObjectWithId.sceneObjectChanged,()=>{const{sceneObject:a}=this.clippingPlanesSceneObjectWithId;if(!a){this.clippingPlanes=void 0;return}let l,h;return a instanceof Q.ESBoxClipping&&Q.registerCreatedEventUpdate(this,a,()=>{l=e.getEngineObject(a).czmBoxClippingPlanes,h=o(l)}),a instanceof Q.ES3DTileset&&(l=r.clippingPlanes,h=o(l)),h})),this._czmFlattenedPlaneWithId=this.disposeVar(new Q.ESSceneObjectWithId),this.dispose(E.track([this._czmFlattenedPlaneWithId,"id"],[this,"czmFlattenedPlaneId"])),this.dispose(this.originChanged.disposableOn(()=>{this.origin&&(this.position=this.origin)}));const i=()=>{try{this.customShaderInstanceClass=this.customShaderInstanceClassStr&&Function(`"use strict";return (${this.customShaderInstanceClassStr})`)()}catch{this.customShaderInstanceClass=void 0}};i(),this.dispose(this.customShaderInstanceClassStrChanged.disposableOn(i)),Q.registerEventUpdate(this,this.foveatedInterpolationCallbackStrChanged,()=>{this.foveatedInterpolationCallback=mS(this.foveatedInterpolationCallbackStr)}),this.dispose(this.urlChanged.disposableOn(()=>{this._origin.value=void 0})),this.dispose(this._czmTilesetReadyEvent.disposableOn((a,l)=>{if(!this._origin.value){let h=a.root.transform;const f=F.Matrix4.getTranslation(h,new F.Cartesian3),u=He(f),A=At({initialRotation:"yForwardzUp",rotation:[0,0,0],position:u});A&&!A.equalsEpsilon(h,.001)||h.equals(F.Matrix4.IDENTITY)?(h=a.clippingPlanesOriginMatrix,this._origin.value=He(F.Matrix4.getTranslation(h,new F.Cartesian3))):this._origin.value=u}})),Q.registerEventUpdate(this,this.styleJsonChanged,()=>this.style=pV(this.styleJson)),Q.registerEventUpdate(this,this.customShaderInstanceClassChanged,()=>{const a=this.customShaderInstanceClass;this.customShaderInstance=a&&new a(this,e)}),this.dispose(this.updateCustomShaderEvent.disposableOn(a=>{this.customShaderInstance&&a(this.customShaderInstance,this,e)}))}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}get czmViewer(){return this._czmViewer}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get customShaderInstanceClass(){return this._customShaderInstanceClass.value}set customShaderInstanceClass(e){this._customShaderInstanceClass.value=e}get customShaderInstanceClassChanged(){return this._customShaderInstanceClass.changed}get updateCustomShaderEvent(){return this._updateCustomShaderEvent}updateCustomShader(e){this._updateCustomShaderEvent.emit(e)}get foveatedInterpolationCallback(){return this._foveatedInterpolationCallback.value}get foveatedInterpolationCallbackChanged(){return this._foveatedInterpolationCallback.changed}set foveatedInterpolationCallback(e){this._foveatedInterpolationCallback.value=e}get imageBasedLightingFactor(){return this.imageBasedLighting&&this.imageBasedLighting.imageBasedLightingFactor}get imageBasedLightingFactorChanged(){return this.imageBasedLightingChanged}set imageBasedLightingFactor(e){this.imageBasedLighting=this.imageBasedLighting&&{...this.imageBasedLighting,imageBasedLightingFactor:e}||{imageBasedLightingFactor:e}}get origin(){return this._origin.value}get originChanged(){return this._origin.changed}setPositionAsOrigin(){this.position=this.origin}get czmTilesetReadyEvent(){return this._czmTilesetReadyEvent}notifyCzmTilesetReady(e,r){this._czmTilesetReadyEvent.emit(e,r)}get czmFlattenedPlaneWithId(){return this._czmFlattenedPlaneWithId}get clippingPlanesSceneObjectWithId(){return this._clippingPlanesSceneObjectWithId}get customShaderInstance(){return this._customShaderInstance.value}get customShaderInstanceChanged(){return this._customShaderInstance.changed}set customShaderInstance(e){this._customShaderInstance.value=e}get style(){return this._style.value}get styleChanged(){return this._style.changed}set style(e){this._style.value=e}get originRootTransform(){return this._originRootTransform.value}set originRootTransform(e){this._originRootTransform.value=e}get originRootTransformChanged(){return this._originRootTransform.changed}get originRootTransformInv(){return this._originRootTransformInv.value}set originRootTransformInv(e){this._originRootTransformInv.value=e}get originRootTransformInvChanged(){return this._originRootTransformInv.changed}get recreateEvent(){return this._recreateEvent}get nativeTilesetResetting(){return this._nativeTilesetResetting}get tileset(){var e;return(e=this.nativeTilesetResetting.obj)==null?void 0:e.tileset}get tilesetChanged(){return this.nativeTilesetResetting.objChanged}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){this._setMaterialEvent.emit(e)}async openLocalDir(){const e=await E.defaultLocalFileServer.getRootDirId("3dtiles");if(e===void 0){console.warn("openLocalDir failed!");return}const r=`https://${e}/tileset.json`;this.url=r}};N(Zn,"defaultCustomShaderInstanceClassStr",yS),N(Zn,"customShaderInstanceClassStrMd",gV),N(Zn,"styleMd",vV),N(Zn,"defaultFoveatedInterpolationCallbackStr",wV),N(Zn,"defaultStyleJson",bV),N(Zn,"defaultFoveatedInterpolationCallback",F.Math.lerp),N(Zn,"defaults",{url:"",show:!0,colorBlendMode:"HIGHLIGHT",modelMatrix:xV,modelUpAxis:"Y",modelForwardAxis:"X",shadows:"ENABLED",maximumScreenSpaceError:16,maximumMemoryUsage:512,cacheBytes:536870912,maximumCacheOverflowBytes:536870912,cullWithChildrenBounds:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:60,preloadWhenHidden:!1,preloadFlightDestinations:!0,preferLeaves:!1,dynamicScreenSpaceError:!1,dynamicScreenSpaceErrorDensity:.00278,dynamicScreenSpaceErrorFactor:4,dynamicScreenSpaceErrorHeightFalloff:.25,progressiveResolutionHeightFraction:.3,foveatedScreenSpaceError:!0,foveatedConeSize:.1,foveatedMinimumScreenSpaceErrorRelaxation:0,foveatedTimeDelay:.2,skipLevelOfDetail:!1,baseScreenSpaceError:1024,skipScreenSpaceErrorFactor:16,skipLevels:1,immediatelyLoadDesiredLevelOfDetail:!1,loadSiblings:!1,clippingPlanes:gS,classificationType:"NONE",ellipsoid:uB,pointCloudShading:vS,lightColor:void 0,imageBasedLighting:wS,environmentMapManager:_V,backFaceCulling:!0,enableShowOutline:!0,showOutline:!0,outlineColor:[0,0,0,1],vectorClassificationOnly:!1,vectorKeepDecodedPositions:!1,featureIdLabel:"featureId_0",instanceFeatureIdLabel:"instanceFeatureId_0",showCreditsOnScreen:!1,splitDirection:"NONE",projectTo2D:!1,debugHeatmapTilePropertyName:"",debugFreezeFrame:!1,debugColorizeTiles:!1,enableDebugWireframe:!1,debugWireframe:!1,debugShowBoundingVolume:!1,debugShowContentBoundingVolume:!1,debugShowViewerRequestVolume:!1,debugShowGeometricError:!1,debugShowRenderingStatistics:!1,debugShowMemoryUsage:!1,debugShowUrl:!1,customShaderInstanceClassStr:Zn.defaultCustomShaderInstanceClassStr,styleJson:Zn.defaultStyleJson,foveatedInterpolationCallbackStr:Zn.defaultFoveatedInterpolationCallbackStr});let it=Zn;(t=>{t.createDefaultProps=()=>({position:E.reactArrayWithUndefined(void 0),rotation:E.reactArrayWithUndefined([0,0,0]),allowPicking:!1,czmFlattenedPlaneId:"",url:void 0,show:void 0,colorBlendMode:void 0,modelMatrix:E.reactArrayWithUndefined(void 0),modelUpAxis:void 0,modelForwardAxis:void 0,shadows:void 0,maximumScreenSpaceError:void 0,maximumMemoryUsage:void 0,cacheBytes:void 0,maximumCacheOverflowBytes:void 0,cullWithChildrenBounds:void 0,cullRequestsWhileMoving:void 0,cullRequestsWhileMovingMultiplier:void 0,preloadWhenHidden:void 0,preloadFlightDestinations:void 0,preferLeaves:void 0,dynamicScreenSpaceError:void 0,dynamicScreenSpaceErrorDensity:void 0,dynamicScreenSpaceErrorFactor:void 0,dynamicScreenSpaceErrorHeightFalloff:void 0,progressiveResolutionHeightFraction:void 0,foveatedScreenSpaceError:void 0,foveatedConeSize:void 0,foveatedMinimumScreenSpaceErrorRelaxation:void 0,foveatedInterpolationCallbackStr:void 0,foveatedTimeDelay:void 0,skipLevelOfDetail:void 0,baseScreenSpaceError:void 0,skipScreenSpaceErrorFactor:void 0,skipLevels:void 0,immediatelyLoadDesiredLevelOfDetail:void 0,loadSiblings:void 0,clippingPlanes:E.reactJsonWithUndefined(void 0),clippingPlanesId:"",clippingPolygons:E.reactJsonWithUndefined(void 0),clippingPolygonsId:E.reactArray([]),absoluteClippingPlanes:!1,classificationType:void 0,ellipsoid:E.reactArrayWithUndefined(void 0),pointCloudShading:E.reactJsonWithUndefined(void 0),lightColor:E.reactArrayWithUndefined(void 0),imageBasedLighting:E.reactJsonWithUndefined(void 0),environmentMapManager:E.reactJsonWithUndefined(void 0),backFaceCulling:void 0,enableShowOutline:void 0,showOutline:void 0,outlineColor:E.reactArrayWithUndefined(void 0),vectorClassificationOnly:void 0,vectorKeepDecodedPositions:void 0,featureIdLabel:void 0,instanceFeatureIdLabel:void 0,showCreditsOnScreen:void 0,splitDirection:void 0,projectTo2D:void 0,debugHeatmapTilePropertyName:void 0,debugFreezeFrame:void 0,debugColorizeTiles:void 0,enableDebugWireframe:void 0,debugWireframe:void 0,debugShowBoundingVolume:void 0,debugShowContentBoundingVolume:void 0,debugShowViewerRequestVolume:void 0,debugShowGeometricError:void 0,debugShowRenderingStatistics:void 0,debugShowMemoryUsage:void 0,debugShowUrl:void 0,customShaderInstanceClassStr:void 0,styleJson:E.reactJsonWithUndefined(void 0),autoSetPositionAsOrigin:void 0})})(it||(it={})),E.extendClassProps(it.prototype,it.createDefaultProps);function EV(t){t.toBlob(n=>{if(!n){console.warn("canvas.toBlob error!");return}var e=new ClipboardItem({"image/png":n});navigator.clipboard.write([e]).then(function(){alert("图像已复制到剪切板")}).catch(function(r){console.error("复制到剪切板失败: ",r)})})}const bp=class bp extends E.Destroyable{constructor(n,e){super(),this._geoPolygonCanvas=n,this._geoPolygon=e;{const r=(i,a)=>{const{canvas:l,canvasCtx:h,canvasWidth:f}=this._geoPolygonCanvas,{toMercatorPos:u}=bp,A=u(i),v=u(a),g=v[0]-A[0],m=v[1]-A[1],p=f>8192?8192:f;if(g<=0)return;const d=p*m/g|0;if(d<=0||d>8192)return;const{points:c}=this._geoPolygon;if(!c)throw new Error("!positions");const y=c.map(w=>{const b=u(w);return[(b[0]-A[0])*p/g,d-(b[1]-A[1])*d/m]});l.width=p,l.height=d,h.clearRect(0,0,p,d),h.beginPath();for(const w of y)h.lineTo(w[0],w[1]);h.closePath(),h.fillStyle="#FFFFFF",h.fill()},s=()=>{let i;do{const{canvas:a,canvasCtx:l,canvasWidth:h}=this._geoPolygonCanvas;l.clearRect(0,0,a.width,a.height);const{points:f}=this._geoPolygon;if(!f||f.length<3)break;const u=Q.getMinMaxCorner(f),{minPos:A,maxPos:v}=u;r(A,v),i={rect:[A[0],A[1],v[0],v[1]],height:f[0][2]}}while(!1);this._geoPolygonCanvas.canvasGeoInfo=i,this.ad(E.nextAnimateFrame(()=>{this._geoPolygonCanvas.canvasChanged.emit()}))};s();const o=this.disposeVar(E.createNextAnimateFrameEvent(this._geoPolygon.pointsChanged,this._geoPolygonCanvas.canvasWidthChanged));this.dispose(o.disposableOn(s))}}};N(bp,"toMercatorPos",function(n){const[e,r,s]=n;return[e,r/Math.cos(r*Math.PI/180),s]});let ky=bp;const Xu=class Xu extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_geoPolygonWithId");N(this,"_canvas",document.createElement("canvas"));N(this,"_canvasCtx",this._canvas.getContext("2d"));N(this,"_canvasChanged",this.disposeVar(new E.Event));N(this,"_canvasGeoInfo",this.disposeVar(E.reactJsonWithUndefined(void 0)));this._geoPolygonWithId=this.disposeVar(new Q.ESSceneObjectWithId),this.dispose(E.track([this._geoPolygonWithId,"id"],[this,"geoPolygonId"])),this.disposeVar(new E.ObjResettingWithEvent(this.geoPolygonWithId.sceneObjectChanged,()=>{const{sceneObject:s}=this.geoPolygonWithId;if(s&&s instanceof Q.ESGeoPolygon)return new Xu.PolygonCanvasResetting(this,s)}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygonWithId(){return this._geoPolygonWithId}get canvas(){return this._canvas}get canvasCtx(){return this._canvasCtx}get canvasChanged(){return this._canvasChanged}get canvasGeoInfo(){return this._canvasGeoInfo.value}set canvasGeoInfo(e){this._canvasGeoInfo.value=e}get canvasGeoInfoChanged(){return this._canvasGeoInfo.changed}};N(Xu,"saveCanvasToClipboard",EV),N(Xu,"PolygonCanvasResetting",ky);let ya=Xu;(t=>{t.createDefaultProps=()=>({enabled:!0,geoPolygonId:"",canvasWidth:512})})(ya||(ya={})),E.extendClassProps(ya.prototype,ya.createDefaultProps);function PV(t,n){return class extends E.Destroyable{constructor(s,o){super();N(this,"_customShader",this.disposeVar(new F.CustomShader({uniforms:{u_discardRatio:{value:new F.Cartesian2(0,1),type:F.UniformType.VEC2},u_topColor:{value:new F.Color(1,1,1,1),type:F.UniformType.VEC4},u_bottomColor:{value:new F.Color(1,1,1,1),type:F.UniformType.VEC4}},varyings:{v_xbsjPos:F.VaryingType.VEC3,v_m:F.VaryingType.FLOAT},vertexShaderText:` // IMPORTANT: the function signature must use these parameter names. This
3488
3488
  // makes it easier for the runtime to generate the shader and make optimizations.
3489
3489
  void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) {
3490
3490
  // code goes here. An empty body is a no-op.
@@ -4894,10 +4894,10 @@ void main()
4894
4894
  {
4895
4895
  out_FragColor = u_color;
4896
4896
  }
4897
- `,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},mt,t)}class Cj extends E.HasOwner{constructor(n){super(n);const{czmViewer:e}=this.owner;let r;this.dispose(()=>this.owner.hoveredPlaneType="none");const s=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const i=r=this._getStartInfo(o.pointerEvent);i&&(this.owner.hoveredPlaneType=i.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{r&&r.currentPlaneType!=="none"&&(s.restart(void 0,e,r),r=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const i=this._getStartInfo(o.pointerEvent);if(!i||i.currentPlaneType==="none")break;const{currentPlaneType:a}=i,l=[...this.owner.selfRotation];l[Er.rotationNum[a]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(E.createProcessingFromAsyncFunc(async(n,e,r)=>{const s=this.owner.circles[r.currentPlaneType];e.incrementDisabledInputStack(),n.disposer.dispose(()=>e.decrementDisabledInputStack()),n.disposer.dispose(e.pointerMoveEvent.don(o=>{if(r&&o.pointerEvent){const{offsetX:i,offsetY:a}=o.pointerEvent,l=[i,a],{currentPlaneType:h}=r;if(h==="none")return;const f=this.owner.getPlane(h);if(!r.currentV)return;const u=f.pick(l);if(!u||!this.owner.cartesian)return;const A=F.Cartesian3.subtract(r.currentV,this.owner.cartesian,new F.Cartesian3);F.Cartesian3.normalize(A,A);const v=F.Cartesian3.subtract(u,this.owner.cartesian,new F.Cartesian3);if(F.Cartesian3.normalize(v,v),!f.normal||!f.origin)return;const g=N0(A,v,f.normal),m=N0(f.origin,A,f.normal),p=N0(f.origin,v,f.normal);{const d=[...this.owner.selfRotation];d[Er.rotationNum[h]]=r.startRotation+g,this.owner.selfRotation=d,s.circleStartRotation=m,s.circleEndRotation=p}}})),this.owner.movingPlaneType=r.currentPlaneType,n.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),n.disposer.dispose(()=>{s.circleStartRotation=0,s.circleEndRotation=0}),await E.step(n,o=>new Promise((i,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{i()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{i()}))}))}))}_pickPlane(n,e,r,s,o){const i=this.owner.cartesian;if(!i)return;const{selfRotation:a}=this.owner,l=this.owner.getPlane(r).pick(s);if(!l)return;const h=F.Cartesian3.distance(i,l),f=o/4,u=f*3/128;if(!(h>=f-u&&h<=f+u))return;const v=F.Cartesian3.distance(e.camera.positionWC,l);n.currentD2c<=v||(n.currentPlaneType=r,n.currentD2c=v,n.currentV=l,n.startRotation=a[Er.rotationNum[r]])}_getStartInfo(n){var f;const{czmViewer:e}=this.owner,r=(f=e.viewer)==null?void 0:f.scene;if(!this.owner.position||!this.owner.cartesian)return;const s=ii(r,this.owner.cartesian,this.owner.pixelSize);if(!s)return;const{offsetX:o,offsetY:i}=n,a=[o,i],l=n.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(h,r,"heading",a,s),this._pickPlane(h,r,"pitch",a,s),this._pickPlane(h,r,"roll",a,s),h}}function N0(t,n,e){const r=F.Cartesian3.cross(n,t,new F.Cartesian3);if(r.equals(F.Cartesian3.ZERO))return 0;F.Cartesian3.normalize(r,r);const s=F.Cartesian3.dot(r,e);let o=Math.acos(F.Cartesian3.dot(t,n))*180/Math.PI;return o=s>0?o:-o,o}const La=class La extends $n{constructor(e){super();N(this,"_hoveredPlaneType",this.disposeVar(E.react("none")));N(this,"_movingPlaneType",this.disposeVar(E.react("none")));N(this,"_circles");N(this,"_czmCameraModel");N(this,"_cartesian");N(this,"_planes",{heading:this.disposeVar(new vj(this)),pitch:this.disposeVar(new wj(this)),roll:this.disposeVar(new bj(this))});N(this,"_rotatorRunningResetting");this._czmViewer=e;const r=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new E.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new Cj(this)})),this._circles={heading:this._createRotatorCircle(r,"heading"),pitch:this._createRotatorCircle(r,"pitch"),roll:this._createRotatorCircle(r,"roll")},!!r.viewer){{const o=()=>{this._cartesian=this.position&&Tt(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(r)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new tn(e),this._czmCameraModel.url="${earthsdk3-assets-script-dir}/assets/glb/camera1/camera1.gltf",this._czmCameraModel.localRotation=[90,0,0],this._czmCameraModel.allowPicking=!1,this._czmCameraModel.opaquePass="OVERLAY",this.dispose(E.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],r=>r*.1)),this.dispose(E.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(E.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const r=()=>{const s=At({rotation:this.selfRotation});if(!s)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=F.Matrix4.toArray(s))};r(),this.dispose(this.selfRotationChanged.disposableOn(r))}{const r=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};r(),this.dispose(this.enabledChanged.disposableOn(r)),this.dispose(this.showHelperChanged.disposableOn(r))}}_createRotatorCircle(e,r){const s=this.ad(new ll(e));this.dispose(E.track([s,"position"],[this,"position"])),this.dispose(E.track([s,"pixelSize"],[this,"pixelSize"])),this.dispose(E.track([s,"debug"],[this,"debug"])),this.dispose(E.track([s,"rotation"],[this,"rotation"]));{const o=()=>{s.selfRotation=La.rotationFuncs[r](this.selfRotation),s.circleRotation=this.selfRotation[La.rotationNum[r]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const i=this.movingPlaneType===r,a=this.hoveredPlaneType===r,h=[0,0,0,i||a?1:.8];h[La.rotationNum[r]]=1,s.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return s}};N(La,"rotationNum",{heading:0,pitch:1,roll:2}),N(La,"rotationFuncs",{heading:([e,r,s])=>[0,0,0],pitch:([e,r,s])=>[e,0,-90],roll:([e,r,s])=>[e,r+90,0]});let Er=La;(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),rotation:E.reactArray([0,0,0]),selfRotation:E.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Er||(Er={})),E.extendClassProps(Er.prototype,Er.createDefaultProps);const za=class za extends E.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(n){this.positions=[n??za.defaults.positions[0],this.stopPosition??za.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(n){this.positions=[this.startPosition??za.defaults.positions[0],n??za.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(n,e){if(super(),!n.viewer)return;const s=this.ad(new lt(n,e));s.arcType="RHUMB";const o=this.ad(new nr(n,e));this.ad(E.track([s,"allowPicking"],[this,"allowPicking"])),this.ad(E.track([o,"allowPicking"],[this,"allowPicking"]));{const i=()=>{s.show=o.show=this.show};i(),this.ad(this.showChanged.don(i))}{const i=()=>{s.width=this.width/2,o.pixelSize=this.width};i(),this.ad(this.widthChanged.don(i))}{const i=()=>{s.color=o.color=this.color};i(),this.ad(this.colorChanged.don(i))}{const i=()=>{s.positions=this.positions,o.position=this.stopPosition};i(),this.dispose(this.startPositionChanged.disposableOn(i)),this.dispose(this.stopPositionChanged.disposableOn(i))}}};N(za,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let Ia=za;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:E.reactPositions(t.defaults.positions),width:10,color:E.reactArray([1,0,0,1])})})(Ia||(Ia={})),E.extendClassProps(Ia.prototype,Ia.createDefaultProps);class Fi extends $n{constructor(e){super();N(this,"_lastPosition");N(this,"_opInfo",{step:this.ad(E.react(!1)),moved:this.ad(E.react(!1)),constraintMode:this.disposeVar(E.react("none")),originPosition:this.disposeVar(E.reactArray([0,0,0])),originHeading:this.disposeVar(E.react(0)),originDimensions:this.disposeVar(E.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(E.reactArray([0,0,0])),movingPosition:this.disposeVar(E.reactArray([0,0,0])),targetPosition:this.disposeVar(E.reactArray([0,0,0])),targetHeading:this.disposeVar(E.react(0))});N(this,"_scaleAxis");N(this,"_pickingXYProcessing",e=>this.disposeVar(new E.Processing((r,s,o)=>{const i=[0,0,0],a=new F.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const h=pr(E.getDomEventCurrentTargetPos(l.pointerEvent));if(!ja(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Qa(a,i),this._opInfo.constraintMode.value==="x"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value,i,i):this._opInfo.constraintMode.value==="y"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,i,i):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=i,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const f=[0,0,0];Q.geoRhumbDestination(i,o,s,f),this._opInfo.targetPosition.value=f;let u=this.scale[0],A=this.scale[1];const v=Q.geoDistance(f,this._opInfo.originPosition.value)-Q.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...f];const g=this._opInfo.originDimensions.value[0]/100;v!=0&&this._opInfo.constraintMode.value==="y"&&(v>0?u+=g:u-=g),v!=0&&this._opInfo.constraintMode.value==="x"&&(v>0?A+=g:A-=g),u<=0&&(u+=g),A<=0&&(A+=g),this.scale=[u??1,A??1,this.scale[2]??1]})})));N(this,"_pickingZProcessing",e=>this.disposeVar(new E.Processing(()=>{const r=new F.Cartesian3,s=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const i=pr(E.getDomEventCurrentTargetPos(o.pointerEvent));if(!Hh(e.viewer.scene,Tt(this._opInfo.originPosition.value),i,r))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(He(r,s)){this._opInfo.movingPosition.value=s;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],s[2]+a];let h=this.scale[2];const f=s[2]-this._lastPosition[2];this._lastPosition=[...s];const u=this._opInfo.originDimensions.value[0]/100;f!=0&&(f>0?h+=u:h-=u),h<=0&&(h+=u),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const r=e.viewer;if(!r)return;const{scene:s}=r;this.ad(new zp(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:f,yAxis:u,xAxis:A}=this._scaleAxis,v=this._opInfo.constraintMode.value,g=this._opInfo.step;f.color=[0,0,1,.99],u.color=[0,1,0,.99],A.color=[1,0,0,.99],v==="x"?A.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="y"?u.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="z"&&(f.color=g?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:u=Fi.defaults.position}=this,{zAxis:A,yAxis:v,xAxis:g}=this._scaleAxis;A.startPosition=v.startPosition=g.startPosition=u;const[m,p,d]=u;A.stopPosition=[m,p,d+this._opInfo.originDimensions.value[2]];const c=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[0],90);c&&(g.stopPosition=c);const y=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);y&&(v.stopPosition=y)};h();const f=this.ad(E.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(f.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((f,u)=>f===this._opInfo.targetPosition.value[u])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),i=this._pickingZProcessing(e),a=this.disposeVar(E.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await E.step(h,async f=>{const u=()=>{const g=[...this.position??Fi.defaults.position];e.editingHeightOffset&&(g[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=g};f.disposer.dispose((u(),this.positionChanged.disposableOn(u)));const A={constraintMode:"none",startDragPos:[0,0,0]},v=g=>{if(!this.position)return;const m={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Pp(g,s,m,this.axisSnapPixelSize,A),this._opInfo.constraintMode.value=A.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=A.startDragPos};f.disposer.dispose(e.pointerMoveEvent.disposableOn(g=>{g.pointerEvent&&v(g.pointerEvent)})),await E.step(f,g=>new Promise((m,p)=>{g.disposer.dispose(p),g.disposer.dispose(e.pointerDownEvent.don(d=>{d.pointerEvent&&v(d.pointerEvent),d.pointerEvent&&d.pointerEvent.button===0&&A.constraintMode!=="none"&&m()}))}))}),this._opInfo.step.value=!1,await E.step(h,async f=>{if(e.incrementDisabledInputStack(),f.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const u=Q.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),A=Q.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,A),f.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(i.restart(),f.disposer.dispose(()=>i.cancel()));await E.step(f,u=>new Promise((A,v)=>{u.disposer.dispose(v),u.disposer.dispose(e.pointerUpEvent.don(()=>{A()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{A()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,r){const s=this.ad(new Ia(e));return s.width=10,this.ad(E.track([s,"show"],[this,"enabled"])),s}}(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),scale:E.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(Fi||(Fi={})),E.extendClassProps(Fi.prototype,Fi.createDefaultProps);const Vo=class Vo extends En{constructor(e){super();N(this,"_editingPoints",this.disposeVar(new E.ObservableArray));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_currentProcess");N(this,"_menuPoiEnabled",this.disposeVar(E.react(!1)));N(this,"_status",this.disposeVar(E.react("None")));N(this,"_positionsChanged",this.ad(new E.Event));N(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(r=>{for(let{start:s,deleteCount:o,items:i}of r){for(const a of i)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=s;a<s+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let r of this.editingPoints)r.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(r=>{this.ad(E.nextAnimateFrame(()=>{var s;((s=r.pointerEvent)==null?void 0:s.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(r=>{this._currentProcess&&(r?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const r=()=>{this.polylineShow=this.czmViewer.editingLineShow};r(),this.ad(this.czmViewer.editingLineShowChanged.don(r))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let r of this._editingPoints)r.position&&e.push([...r.position]);return e}resetPositions(e){if(this.enabled??Vo.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const r=e||[];return!(r.length===this.editingPoints.length&&r.every((s,o)=>s.every((i,a)=>{const l=this.editingPoints.get(o);return l.position&&l.position[a]===i})))}forceResetPositions(e){(this.enabled??Vo.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const r=this.ad(new lt(e));this.ad(E.track([r,"color"],[this,"polylineColor"])),this.ad(E.track([r,"width"],[this,"polylineWidth"])),this.ad(E.track([r,"show"],[this,"polylineShow"])),this.ad(E.track([r,"arcType"],[this,"polylineArcType"])),this.ad(E.track([r,"loop"],[this,"loop"]));{const s=()=>{const o=[];for(const i of this.getPositions())i[2]-=e.editingHeightOffset??0,o.push(i);r.positions=o};s(),this.ad(this.positionsChanged.don(s))}}_createCursorInfo(e){const r=this._cursorInfo=this.ad(new E.CursorInfo(e.container,E.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const s=this.status;if(r){if(!this.hideCursorInfo){r.show=!1;return}s==="Adding"?(r.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",r.show=!0):s==="Modifying"||s==="Modifying_Point"?(r.text="Esc键或左键双击:退出编辑状态",r.show=!0):s==="None"&&(r.text="",r.show=!1)}}))}};N(Vo,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),N(Vo,"defaults",{...En.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:Vo.baseImageUrl+"point-green.png",otherControlPointImageUrl:Vo.baseImageUrl+"point-yellow.png"});let cr=Vo;(t=>{t.createDefaultProps=()=>({...En.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:E.reactArray([1,1,1,1]),polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,firstControlPointImageUrl:t.baseImageUrl+"point-green.png",otherControlPointImageUrl:t.baseImageUrl+"point-yellow.png",hideCursorInfo:!1,middlePointShow:!0})})(cr||(cr={})),E.extendClassProps(cr.prototype,cr.createDefaultProps);let Sj=0;class m2 extends E.Destroyable{constructor(e,r){super();N(this,"_position",this.disposeVar(E.reactArrayWithUndefined(void 0)));N(this,"_id",Sj++);N(this,"_menuPoi");r&&(this.position=r),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const s=this._menuPoi=this.ad(new os(e.czmViewer));s.enabled=!1,this.ad(E.track([s,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){s.position=void 0;return}const i=[...this.position];i[2]-=e.czmViewer.editingHeightOffset??0,s.position=i,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const i=e.editingPoints.indexOf(this)+1;i!==0&&(s.title=`控制点${i}`,i===1?s.imageUri=e.firstControlPointImageUrl??cr.defaults.firstControlPointImageUrl:s.imageUri=e.otherControlPointImageUrl??cr.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class y2 extends m2{constructor(n,e){super(n,e)}}class Lt extends cr{constructor(e){super(e);N(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new E.Event));N(this,"placeEditing");if(!e.viewer)return;const r=this.placeEditing=this.ad(new Sr(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??Lt.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Lt.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await s.promise(E.step(s,async o=>{const i=o.disposer,a=i.ad(this._addingEditingProcessing());i.dispose(()=>"adding canceled!"),i.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(l=>{i.dispose(a.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new y2(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Lt.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},r=E.createProcessingFromAsyncFunc(async s=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await s.promise(E.step(s,async a=>{let l;!e()&&(l=a.disposer.disposeVar(new Ej(this,o)));const f=a.disposer.disposeVar(new Tj(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>f.do())),await a.promise(new Promise(u=>{l&&a.disposer.dispose(l.overEvent.disposableOnce(A=>{A?(o++,u(!0)):u(!1)})),a.disposer.dispose(f.overEvent.disposableOnce(A=>{A?(o--,u(!0)):u(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>u(!1)))}))})))break;while(!0)});return r.start(),r}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps()})})(Lt||(Lt={})),E.extendClassProps(Lt.prototype,Lt.createDefaultProps);class Ej extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));const{placeEditing:s}=e;let o=new y2(e,void 0);e.editingPoints.splice(r,0,o);const i=()=>{(e.debug??Lt.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(s.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(E.track([o,"position"],[s,"position"])),s.enabled=!0;let a=!1;const l=()=>{i(),this._overEvent.emit(!1)};this.dispose(()=>{s.enabled=!1,!a&&l()}),this.dispose(s.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??Lt.defaults.debug)&&console.log(`PointAdding creating! index(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PointAdding destroying! index(${r})`)})}get overEvent(){return this._overEvent}}function Pj(t,n){const e=t.editingPoints,r=n-1;return r<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(r,1),!0)}class Tj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_doEvent",this.disposeVar(new E.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(Pj(e,r)))),(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${r})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class g2 extends Lt{constructor(n){super(n),this.loop=!1}}class v2 extends Lt{constructor(n){super(n),this.loop=!0}}class Ap extends m2{constructor(n,e){super(n,e);{const{menuPoi:r}=this;r.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],r.clickCommandName="modify",r.rightClickCommandName="delete",this.dispose(r.commandEvent.disposableOn(s=>{n.menuPoiCommand(this,s)})),this.dispose(r.dbclickEvent.disposableOn(()=>{n.menuPoiCommand(this,"dbClick")}))}if(n.middlePointShow){const r=this.ad(new Rr(n.czmViewer));{r.imageUri=n.firstControlPointImageUrl??ht.defaults.firstControlPointImageUrl,r.tooltip="点击增加一个控制点",r.bgColor=[0,0,0,.6],r.fgColor=[1,1,1,1],r.size=[8,8],r.originRatioAndOffset=[.5,.5,0,0];{const s=()=>{if(!(n.enabled??ht.defaults.enabled)){r.enabled=!1,r.show=!1;return}do{const i=n.editingPoints.indexOf(this);if(i===-1)break;const a=n.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(n.loop??ht.defaults.loop)&&i+1>=a)break;const h=this.position;if(!h)break;let f=(i+1)%a;const A=n.editingPoints.get(f).position;if(!A)break;const v=Fp(h,A);if(!v)break;v[2]-=n.czmViewer.editingHeightOffset??0,r.position=v;const g=n.editingPoints.length<(n.maxPointsNum??ht.defaults.maxPointsNum);r.enabled=g,r.show=g;return}while(!1);r.enabled=!1,r.show=!1};s(),this.dispose(n.positionsChanged.disposableOn(s)),this.dispose(n.loopChanged.disposableOn(s)),this.dispose(n.enabledChanged.disposableOn(s))}this.dispose(r.clickEvent.disposableOn(s=>{if(s.button!==0||n.editingPoints.length>=(n.maxPointsNum??ht.defaults.maxPointsNum))return;const o=n.editingPoints.indexOf(this);if(o===-1)return;const i=r.position?[...r.position]:void 0;i&&(i[2]+=n.czmViewer.editingHeightOffset??0);let a=new Ap(n,i);n.editingPoints.splice(o+1,0,a),n.modify(a)}))}}}}class ht extends cr{constructor(e){super(e);N(this,"_menuPoiCommand",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"translationEditing");{const s=this.ad(E.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new E.ObjResettingWithEvent(s,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new Bj(this.editingPoints.get(0),this)}))}const r=this.translationEditing=this.disposeVar(new Ii(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??ht.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??ht.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await s.promise(E.step(s,async i=>{const a=i.disposer,l=a.ad(new Ij(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(f=>l.modify(f))),await i.promise(new Promise(f=>{a.dispose(l.overEvent.disposableOnce(u=>{f(u)}))}))})),o===-1){(this.debug??ht.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??ht.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??ht.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let l=o%this.editingPoints.length;const f=this.editingPoints.get(l).position;if(!f)return;const u=Fp(a,f);if(!u)return;u&&(u[2]+=this.czmViewer.editingHeightOffset??0);let A=new Ap(this,u);this.editingPoints.splice(o,0,A)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,r){this._menuPoiCommand.emit(e,r)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new Ap(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps(),moveWithFirstPosition:!1})})(ht||(ht={})),E.extendClassProps(ht.prototype,ht.createDefaultProps);class Bj extends E.Destroyable{constructor(n,e){super(),this._firstPositionEditor=n,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((r,s)=>{if(r===void 0||s===void 0)return;var o=[r[0]-s[0],r[1]-s[1],r[2]-s[2]];const i=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<i;a++){const l=this.multiPointsModifyEditing.editingPoints.get(a),h=l.position;h!==void 0&&(l.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class Ij extends E.Destroyable{constructor(e){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let r;const s=()=>{r==null||r.destroy(),r=void 0,e.status="Modifying"};this.dispose(s);const o=i=>{s(),e.status="Modifying_Point",r=new Fj(e,i),r.dispose(r.overEvent.disposableOn(()=>{s()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((i,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(a==="modify")o(i);else if(a==="add"){const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class Fj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));this._modifying=e,this._posEditor=r,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:s}=this._modifying;if(s.enabled=!0,s.heading=0,this.dispose(()=>{s.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");s.position=this._posEditor.position,this.dispose(E.track([this._posEditor,"position"],[s,"position"])),this.dispose(s.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class w2 extends ht{constructor(n){super(n),this.loop=!1}}class b2 extends ht{constructor(n){super(n),this.loop=!0}}class ul extends Lt{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(s<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([90,0,0]),distance:E.react(1)})})(ul||(ul={})),E.extendClassProps(ul.prototype,ul.createDefaultProps);class Fa extends ht{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let l of this.editingPoints)l.menuPoi.commands=[["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(Math.abs(s)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([0,0,0]),distance:E.react(0)})})(Fa||(Fa={})),E.extendClassProps(Fa.prototype,Fa.createDefaultProps);class _2 extends Lt{constructor(n){super(n),this.loop=!1,this.polylineShow=!1}}class x2 extends ht{constructor(n){super(n),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class cl extends Lt{constructor(n){super(n),n.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(cl||(cl={})),E.extendClassProps(cl.prototype,cl.createDefaultProps);class hl extends ht{constructor(n){if(super(n),!!n.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(hl||(hl={})),E.extendClassProps(hl.prototype,hl.createDefaultProps);class C2 extends Fa{constructor(n){super(n),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class vn extends Q.EngineObject{constructor(e,r,s){super(e,r,s??!0);N(this,"_supportEditing",this.disposeVar(E.react(!0)));N(this,"_currentEditing",this.disposeVar(E.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof Lt&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof Sr&&this.currentEditing.enabled&&(e.position=[0,0,0])}}))}get supportEditing(){return this._supportEditing.value}set supportEditing(e){this._supportEditing.value=e}get supportEditingChanged(){return this._supportEditing.changed}get currentEditing(){return this._currentEditing.value}set currentEditing(e){this._currentEditing.value=e}get currentEditingChanged(){return this._currentEditing.changed}}const Ch=class Ch extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Sr(e));this.ad(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)==2&&(r.enabled=!0)}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"])),r.enabled=!r.position||Q.equalsN3(r.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};N(Ch,"type",Ch.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Place,Ch));let V0=Ch;const Sh=class Sh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Er(e));r.rotation=[90,0,0],this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);s&&(this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"])))});break}if(Reflect.has(n,"position")&&Reflect.has(n,"rotation")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"]));break}this.supportEditing=!1}while(!1)}};N(Sh,"type",Sh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Rotation,Sh));let Q0=Sh;const Eh=class Eh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Fi(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")&&Reflect.has(n,"scale")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"scale"],[n,"scale"]));break}this.supportEditing=!1}while(!1)}};N(Eh,"type",Eh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Scale,Eh));let H0=Eh;const Ph=class Ph extends vn{constructor(n,e){super(Array.isArray(n)?n[0]:n,e,!0);const r=this.currentEditing=this.ad(new Ii(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(n)){const s=[];for(let o=0;o<n.length;o++){const i=n[o];Reflect.has(i,"position")?s.push(i.position):i.points&&s.push(...i.points)}r.position=Q.getMinMaxCorner(s).center,this.ad(r.positionChanged.disposableOn((o,i)=>{if(!(!o||!i)){var a=Tn({originPosition:i},[o])[0][0];n.forEach(l=>{if(Reflect.has(l,"position")){const h=Tn({originPosition:i},[l.position])[0][0];l.position=Vi({originPosition:i},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const h=Tn({originPosition:i},l.points)[0];l.points=Vi({originPosition:i},h.map(f=>[f[0]+a[0],f[1]+a[1],f[2]+a[2]]))[0]}})}}));break}if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"]));break}if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"]))});break}if(Reflect.has(n,"points")){if(n.points===void 0||n.points.length===0){this.destroy();break}r.position=Q.getMinMaxCorner(n.points).center,this.ad(r.positionChanged.disposableOn((s,o)=>{if(s===void 0||o===void 0||n.points===void 0||n.points.length===0){this.destroy();return}var i=Tn({originPosition:o},[s])[0][0];const a=Tn({originPosition:o},n.points)[0];n.points=Vi({originPosition:o},a.map(l=>[l[0]+i[0],l[1]+i[1],l[2]+i[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};N(Ph,"type",Ph.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Translation,Ph));let mp=Ph;const Th=class Th extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new ul(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const s=Tt(n.position);if(F.Cartesian3.ZERO.equals(s)||!e.viewer)return;r.distance=ii(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1);r.startPosition&&!Q.equalsN3(r.startPosition,[0,0,0])&&r.init(),r.enabled=!0}};N(Th,"type",Th.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsAppend,Th));let j0=Th;const Bh=class Bh extends vn{constructor(n,e){var o;if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new Fa(e));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const i=Tt(n.position);if(F.Cartesian3.ZERO.equals(i)||!e.viewer)return;r.distance=ii(e.viewer.scene,i,100)??1}while(!1);break}if(Reflect.has(n,"points")&&((o=n.points)==null?void 0:o.length)==2){r.moveWithFirstPosition=!1;const i=()=>r.positions=n.points??[];i(),this.ad(n.pointsChanged.don(()=>!r.enabled&&i())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Bh,"type",Bh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsModify,Bh));let G0=Bh;const Ih=class Ih extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new v2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Ih,"type",Ih.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularAppend,Ih));let W0=Ih;const Fh=class Fh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new b2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Fh,"type",Fh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularInsert,Fh));let q0=Fh;const kh=class kh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new g2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(kh,"type",kh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringAppend,kh));let K0=kh;const Mh=class Mh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new w2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Mh,"type",Mh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringInsert,Mh));let X0=Mh;const Oh=class Oh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new _2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Oh,"type",Oh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterAppend,Oh));let $0=Oh;const Dh=class Dh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new x2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Dh,"type",Dh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterModify,Dh));let Z0=Dh;const Rh=class Rh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new cl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Rh,"type",Rh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityAppend,Rh));let Y0=Rh;const Uh=class Uh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new hl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Uh,"type",Uh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityModify,Uh));let J0=Uh;const Lh=class Lh extends vn{constructor(n,e){if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new C2(e));do{if(Reflect.has(n,"points")){const o=Reflect.has(n,"extrudedHeight"),i=Reflect.has(n,"height"),a=Reflect.has(n,"perPositionHeight")?n.perPositionHeight:!o,l=n instanceof Q.ESClassification||n instanceof Q.ESPolygonFence;let h=Q.getMinMaxCorner(n.points).center,f=[...h],u=l?n.points[0][2]:0;a?o?f[2]=n.extrudedHeight:f[2]=n.height+u:(i&&(h[2]=n.height),o&&(f[2]=n.extrudedHeight)),r.startPosition=h,r.distance=f[2]-h[2],r.moveWithFirstPosition=!1;let A=[...h];this.ad(r.positionsChanged.don(()=>{r.positions.length===2&&(a?(n.points=n.points.map(v=>[v[0],v[1],v[2]+r.positions[0][2]-A[2]]),o?n.extrudedHeight=r.positions[1][2]:i&&(n.height=r.positions[1][2]-(l?r.positions[0][2]:0))):(i&&(n.height=r.positions[0][2]),o&&(n.extrudedHeight=r.positions[1][2])),A=[...r.positions[0]])}));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Lh,"type",Lh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.HeightModify,Lh));let ew=Lh;function S2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s,o=!0)=>{const i=Array.isArray(s)?[...s]:[s],a=r.editingID;e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"start",add:{modes:i}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"end",add:{modes:i}}),t.isRunning&&t.cancel()};n.disposer.ad(l),n.disposer.ad(r.toDestroyEvent.don(l)),n.disposer.ad(e.keyDownEvent.don(f=>{f.code=="Escape"&&l()}));let h=0;do{const f=i[h%i.length],u=await E.step(n,async A=>{const v=A.disposer,g=Q.EngineObject.contextEditing.getEngineObjConstructor(f,e.typeName);if(!g||!r.supportEditingModes().includes(f))return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;const m=new g(r,e);if(v.ad(()=>{!m.isDestroyed()&&m.destroy()}),m.supportEditing)e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;return await A.promise(new Promise(d=>{m.isDestroyed()&&d(!1),v.ad(m.toDestroyEvent.don(()=>{console.log(`编辑模式${f}结束`),d(!1)})),o&&(v.ad(e.keyDownEvent.don(c=>{c.code=="Space"&&(console.log(`编辑模式${f}结束`),d(!1))})),v.ad(e.dblclickEvent.don(()=>d(!0))))}))});if(o&&u||!o&&h==i.length-1||e.notSupportEditingCount==i.length)break;h++}while(!0)});return t}function E2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s)=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"end"}),t.isRunning&&t.cancel()};n.disposer.ad(o),n.disposer.ad(e.keyDownEvent.don(a=>{a.code=="Escape"&&o()}));const i=new mp(r,e);n.disposer.ad(()=>{!i.isDestroyed()&&i.destroy()}),await n.promise(new Promise(a=>{i.isDestroyed()&&a(),n.disposer.ad(i.toDestroyEvent.don(()=>{console.log("移动结束"),a()})),n.disposer.ad(e.dblclickEvent.don(()=>a()))}))});return t}ue.copyright=void 0;try{const t="earthsdk3-cesium",n="3.0.7-beta.14",e="2025-06-10T03:06:51.000Z",r="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="c8c322db6bbdb77c3b35c75f5d7473a074c14e6c",a=((Date.now()-1749524811e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${o.slice(0,8)}.${e} (距今${a}个小时)
4897
+ `,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},mt,t)}class Cj extends E.HasOwner{constructor(n){super(n);const{czmViewer:e}=this.owner;let r;this.dispose(()=>this.owner.hoveredPlaneType="none");const s=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const i=r=this._getStartInfo(o.pointerEvent);i&&(this.owner.hoveredPlaneType=i.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{r&&r.currentPlaneType!=="none"&&(s.restart(void 0,e,r),r=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const i=this._getStartInfo(o.pointerEvent);if(!i||i.currentPlaneType==="none")break;const{currentPlaneType:a}=i,l=[...this.owner.selfRotation];l[Er.rotationNum[a]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(E.createProcessingFromAsyncFunc(async(n,e,r)=>{const s=this.owner.circles[r.currentPlaneType];e.incrementDisabledInputStack(),n.disposer.dispose(()=>e.decrementDisabledInputStack()),n.disposer.dispose(e.pointerMoveEvent.don(o=>{if(r&&o.pointerEvent){const{offsetX:i,offsetY:a}=o.pointerEvent,l=[i,a],{currentPlaneType:h}=r;if(h==="none")return;const f=this.owner.getPlane(h);if(!r.currentV)return;const u=f.pick(l);if(!u||!this.owner.cartesian)return;const A=F.Cartesian3.subtract(r.currentV,this.owner.cartesian,new F.Cartesian3);F.Cartesian3.normalize(A,A);const v=F.Cartesian3.subtract(u,this.owner.cartesian,new F.Cartesian3);if(F.Cartesian3.normalize(v,v),!f.normal||!f.origin)return;const g=N0(A,v,f.normal),m=N0(f.origin,A,f.normal),p=N0(f.origin,v,f.normal);{const d=[...this.owner.selfRotation];d[Er.rotationNum[h]]=r.startRotation+g,this.owner.selfRotation=d,s.circleStartRotation=m,s.circleEndRotation=p}}})),this.owner.movingPlaneType=r.currentPlaneType,n.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),n.disposer.dispose(()=>{s.circleStartRotation=0,s.circleEndRotation=0}),await E.step(n,o=>new Promise((i,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{i()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{i()}))}))}))}_pickPlane(n,e,r,s,o){const i=this.owner.cartesian;if(!i)return;const{selfRotation:a}=this.owner,l=this.owner.getPlane(r).pick(s);if(!l)return;const h=F.Cartesian3.distance(i,l),f=o/4,u=f*3/128;if(!(h>=f-u&&h<=f+u))return;const v=F.Cartesian3.distance(e.camera.positionWC,l);n.currentD2c<=v||(n.currentPlaneType=r,n.currentD2c=v,n.currentV=l,n.startRotation=a[Er.rotationNum[r]])}_getStartInfo(n){var f;const{czmViewer:e}=this.owner,r=(f=e.viewer)==null?void 0:f.scene;if(!this.owner.position||!this.owner.cartesian)return;const s=ii(r,this.owner.cartesian,this.owner.pixelSize);if(!s)return;const{offsetX:o,offsetY:i}=n,a=[o,i],l=n.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(h,r,"heading",a,s),this._pickPlane(h,r,"pitch",a,s),this._pickPlane(h,r,"roll",a,s),h}}function N0(t,n,e){const r=F.Cartesian3.cross(n,t,new F.Cartesian3);if(r.equals(F.Cartesian3.ZERO))return 0;F.Cartesian3.normalize(r,r);const s=F.Cartesian3.dot(r,e);let o=Math.acos(F.Cartesian3.dot(t,n))*180/Math.PI;return o=s>0?o:-o,o}const La=class La extends $n{constructor(e){super();N(this,"_hoveredPlaneType",this.disposeVar(E.react("none")));N(this,"_movingPlaneType",this.disposeVar(E.react("none")));N(this,"_circles");N(this,"_czmCameraModel");N(this,"_cartesian");N(this,"_planes",{heading:this.disposeVar(new vj(this)),pitch:this.disposeVar(new wj(this)),roll:this.disposeVar(new bj(this))});N(this,"_rotatorRunningResetting");this._czmViewer=e;const r=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new E.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new Cj(this)})),this._circles={heading:this._createRotatorCircle(r,"heading"),pitch:this._createRotatorCircle(r,"pitch"),roll:this._createRotatorCircle(r,"roll")},!!r.viewer){{const o=()=>{this._cartesian=this.position&&Tt(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(r)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new tn(e),this._czmCameraModel.url="${earthsdk3-assets-script-dir}/assets/glb/camera1/camera1.gltf",this._czmCameraModel.localRotation=[90,0,0],this._czmCameraModel.allowPicking=!1,this._czmCameraModel.opaquePass="OVERLAY",this.dispose(E.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],r=>r*.1)),this.dispose(E.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(E.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const r=()=>{const s=At({rotation:this.selfRotation});if(!s)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=F.Matrix4.toArray(s))};r(),this.dispose(this.selfRotationChanged.disposableOn(r))}{const r=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};r(),this.dispose(this.enabledChanged.disposableOn(r)),this.dispose(this.showHelperChanged.disposableOn(r))}}_createRotatorCircle(e,r){const s=this.ad(new ll(e));this.dispose(E.track([s,"position"],[this,"position"])),this.dispose(E.track([s,"pixelSize"],[this,"pixelSize"])),this.dispose(E.track([s,"debug"],[this,"debug"])),this.dispose(E.track([s,"rotation"],[this,"rotation"]));{const o=()=>{s.selfRotation=La.rotationFuncs[r](this.selfRotation),s.circleRotation=this.selfRotation[La.rotationNum[r]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const i=this.movingPlaneType===r,a=this.hoveredPlaneType===r,h=[0,0,0,i||a?1:.8];h[La.rotationNum[r]]=1,s.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return s}};N(La,"rotationNum",{heading:0,pitch:1,roll:2}),N(La,"rotationFuncs",{heading:([e,r,s])=>[0,0,0],pitch:([e,r,s])=>[e,0,-90],roll:([e,r,s])=>[e,r+90,0]});let Er=La;(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),rotation:E.reactArray([0,0,0]),selfRotation:E.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Er||(Er={})),E.extendClassProps(Er.prototype,Er.createDefaultProps);const za=class za extends E.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(n){this.positions=[n??za.defaults.positions[0],this.stopPosition??za.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(n){this.positions=[this.startPosition??za.defaults.positions[0],n??za.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(n,e){if(super(),!n.viewer)return;const s=this.ad(new lt(n,e));s.arcType="RHUMB";const o=this.ad(new nr(n,e));this.ad(E.track([s,"allowPicking"],[this,"allowPicking"])),this.ad(E.track([o,"allowPicking"],[this,"allowPicking"]));{const i=()=>{s.show=o.show=this.show};i(),this.ad(this.showChanged.don(i))}{const i=()=>{s.width=this.width/2,o.pixelSize=this.width};i(),this.ad(this.widthChanged.don(i))}{const i=()=>{s.color=o.color=this.color};i(),this.ad(this.colorChanged.don(i))}{const i=()=>{s.positions=this.positions,o.position=this.stopPosition};i(),this.dispose(this.startPositionChanged.disposableOn(i)),this.dispose(this.stopPositionChanged.disposableOn(i))}}};N(za,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let Ia=za;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:E.reactPositions(t.defaults.positions),width:10,color:E.reactArray([1,0,0,1])})})(Ia||(Ia={})),E.extendClassProps(Ia.prototype,Ia.createDefaultProps);class Fi extends $n{constructor(e){super();N(this,"_lastPosition");N(this,"_opInfo",{step:this.ad(E.react(!1)),moved:this.ad(E.react(!1)),constraintMode:this.disposeVar(E.react("none")),originPosition:this.disposeVar(E.reactArray([0,0,0])),originHeading:this.disposeVar(E.react(0)),originDimensions:this.disposeVar(E.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(E.reactArray([0,0,0])),movingPosition:this.disposeVar(E.reactArray([0,0,0])),targetPosition:this.disposeVar(E.reactArray([0,0,0])),targetHeading:this.disposeVar(E.react(0))});N(this,"_scaleAxis");N(this,"_pickingXYProcessing",e=>this.disposeVar(new E.Processing((r,s,o)=>{const i=[0,0,0],a=new F.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const h=pr(E.getDomEventCurrentTargetPos(l.pointerEvent));if(!ja(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Qa(a,i),this._opInfo.constraintMode.value==="x"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value,i,i):this._opInfo.constraintMode.value==="y"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,i,i):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=i,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const f=[0,0,0];Q.geoRhumbDestination(i,o,s,f),this._opInfo.targetPosition.value=f;let u=this.scale[0],A=this.scale[1];const v=Q.geoDistance(f,this._opInfo.originPosition.value)-Q.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...f];const g=this._opInfo.originDimensions.value[0]/100;v!=0&&this._opInfo.constraintMode.value==="y"&&(v>0?u+=g:u-=g),v!=0&&this._opInfo.constraintMode.value==="x"&&(v>0?A+=g:A-=g),u<=0&&(u+=g),A<=0&&(A+=g),this.scale=[u??1,A??1,this.scale[2]??1]})})));N(this,"_pickingZProcessing",e=>this.disposeVar(new E.Processing(()=>{const r=new F.Cartesian3,s=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const i=pr(E.getDomEventCurrentTargetPos(o.pointerEvent));if(!Hh(e.viewer.scene,Tt(this._opInfo.originPosition.value),i,r))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(He(r,s)){this._opInfo.movingPosition.value=s;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],s[2]+a];let h=this.scale[2];const f=s[2]-this._lastPosition[2];this._lastPosition=[...s];const u=this._opInfo.originDimensions.value[0]/100;f!=0&&(f>0?h+=u:h-=u),h<=0&&(h+=u),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const r=e.viewer;if(!r)return;const{scene:s}=r;this.ad(new zp(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:f,yAxis:u,xAxis:A}=this._scaleAxis,v=this._opInfo.constraintMode.value,g=this._opInfo.step;f.color=[0,0,1,.99],u.color=[0,1,0,.99],A.color=[1,0,0,.99],v==="x"?A.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="y"?u.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="z"&&(f.color=g?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:u=Fi.defaults.position}=this,{zAxis:A,yAxis:v,xAxis:g}=this._scaleAxis;A.startPosition=v.startPosition=g.startPosition=u;const[m,p,d]=u;A.stopPosition=[m,p,d+this._opInfo.originDimensions.value[2]];const c=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[0],90);c&&(g.stopPosition=c);const y=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);y&&(v.stopPosition=y)};h();const f=this.ad(E.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(f.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((f,u)=>f===this._opInfo.targetPosition.value[u])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),i=this._pickingZProcessing(e),a=this.disposeVar(E.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await E.step(h,async f=>{const u=()=>{const g=[...this.position??Fi.defaults.position];e.editingHeightOffset&&(g[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=g};f.disposer.dispose((u(),this.positionChanged.disposableOn(u)));const A={constraintMode:"none",startDragPos:[0,0,0]},v=g=>{if(!this.position)return;const m={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Pp(g,s,m,this.axisSnapPixelSize,A),this._opInfo.constraintMode.value=A.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=A.startDragPos};f.disposer.dispose(e.pointerMoveEvent.disposableOn(g=>{g.pointerEvent&&v(g.pointerEvent)})),await E.step(f,g=>new Promise((m,p)=>{g.disposer.dispose(p),g.disposer.dispose(e.pointerDownEvent.don(d=>{d.pointerEvent&&v(d.pointerEvent),d.pointerEvent&&d.pointerEvent.button===0&&A.constraintMode!=="none"&&m()}))}))}),this._opInfo.step.value=!1,await E.step(h,async f=>{if(e.incrementDisabledInputStack(),f.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const u=Q.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),A=Q.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,A),f.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(i.restart(),f.disposer.dispose(()=>i.cancel()));await E.step(f,u=>new Promise((A,v)=>{u.disposer.dispose(v),u.disposer.dispose(e.pointerUpEvent.don(()=>{A()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{A()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,r){const s=this.ad(new Ia(e));return s.width=10,this.ad(E.track([s,"show"],[this,"enabled"])),s}}(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),scale:E.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(Fi||(Fi={})),E.extendClassProps(Fi.prototype,Fi.createDefaultProps);const Vo=class Vo extends En{constructor(e){super();N(this,"_editingPoints",this.disposeVar(new E.ObservableArray));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_currentProcess");N(this,"_menuPoiEnabled",this.disposeVar(E.react(!1)));N(this,"_status",this.disposeVar(E.react("None")));N(this,"_positionsChanged",this.ad(new E.Event));N(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(r=>{for(let{start:s,deleteCount:o,items:i}of r){for(const a of i)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=s;a<s+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let r of this.editingPoints)r.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(r=>{this.ad(E.nextAnimateFrame(()=>{var s;((s=r.pointerEvent)==null?void 0:s.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(r=>{this._currentProcess&&(r?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const r=()=>{this.polylineShow=this.czmViewer.editingLineShow};r(),this.ad(this.czmViewer.editingLineShowChanged.don(r))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let r of this._editingPoints)r.position&&e.push([...r.position]);return e}resetPositions(e){if(this.enabled??Vo.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const r=e||[];return!(r.length===this.editingPoints.length&&r.every((s,o)=>s.every((i,a)=>{const l=this.editingPoints.get(o);return l.position&&l.position[a]===i})))}forceResetPositions(e){(this.enabled??Vo.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const r=this.ad(new lt(e));this.ad(E.track([r,"color"],[this,"polylineColor"])),this.ad(E.track([r,"width"],[this,"polylineWidth"])),this.ad(E.track([r,"show"],[this,"polylineShow"])),this.ad(E.track([r,"arcType"],[this,"polylineArcType"])),this.ad(E.track([r,"loop"],[this,"loop"]));{const s=()=>{const o=[];for(const i of this.getPositions())i[2]-=e.editingHeightOffset??0,o.push(i);r.positions=o};s(),this.ad(this.positionsChanged.don(s))}}_createCursorInfo(e){const r=this._cursorInfo=this.ad(new E.CursorInfo(e.container,E.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const s=this.status;if(r){if(!this.hideCursorInfo){r.show=!1;return}s==="Adding"?(r.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",r.show=!0):s==="Modifying"||s==="Modifying_Point"?(r.text="Esc键或左键双击:退出编辑状态",r.show=!0):s==="None"&&(r.text="",r.show=!1)}}))}};N(Vo,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),N(Vo,"defaults",{...En.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:Vo.baseImageUrl+"point-green.png",otherControlPointImageUrl:Vo.baseImageUrl+"point-yellow.png"});let cr=Vo;(t=>{t.createDefaultProps=()=>({...En.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:E.reactArray([1,1,1,1]),polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,firstControlPointImageUrl:t.baseImageUrl+"point-green.png",otherControlPointImageUrl:t.baseImageUrl+"point-yellow.png",hideCursorInfo:!1,middlePointShow:!0})})(cr||(cr={})),E.extendClassProps(cr.prototype,cr.createDefaultProps);let Sj=0;class m2 extends E.Destroyable{constructor(e,r){super();N(this,"_position",this.disposeVar(E.reactArrayWithUndefined(void 0)));N(this,"_id",Sj++);N(this,"_menuPoi");r&&(this.position=r),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const s=this._menuPoi=this.ad(new os(e.czmViewer));s.enabled=!1,this.ad(E.track([s,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){s.position=void 0;return}const i=[...this.position];i[2]-=e.czmViewer.editingHeightOffset??0,s.position=i,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const i=e.editingPoints.indexOf(this)+1;i!==0&&(s.title=`控制点${i}`,i===1?s.imageUri=e.firstControlPointImageUrl??cr.defaults.firstControlPointImageUrl:s.imageUri=e.otherControlPointImageUrl??cr.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class y2 extends m2{constructor(n,e){super(n,e)}}class Lt extends cr{constructor(e){super(e);N(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new E.Event));N(this,"placeEditing");if(!e.viewer)return;const r=this.placeEditing=this.ad(new Sr(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??Lt.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Lt.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await s.promise(E.step(s,async o=>{const i=o.disposer,a=i.ad(this._addingEditingProcessing());i.dispose(()=>"adding canceled!"),i.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(l=>{i.dispose(a.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new y2(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Lt.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},r=E.createProcessingFromAsyncFunc(async s=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await s.promise(E.step(s,async a=>{let l;!e()&&(l=a.disposer.disposeVar(new Ej(this,o)));const f=a.disposer.disposeVar(new Tj(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>f.do())),await a.promise(new Promise(u=>{l&&a.disposer.dispose(l.overEvent.disposableOnce(A=>{A?(o++,u(!0)):u(!1)})),a.disposer.dispose(f.overEvent.disposableOnce(A=>{A?(o--,u(!0)):u(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>u(!1)))}))})))break;while(!0)});return r.start(),r}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps()})})(Lt||(Lt={})),E.extendClassProps(Lt.prototype,Lt.createDefaultProps);class Ej extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));const{placeEditing:s}=e;let o=new y2(e,void 0);e.editingPoints.splice(r,0,o);const i=()=>{(e.debug??Lt.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(s.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(E.track([o,"position"],[s,"position"])),s.enabled=!0;let a=!1;const l=()=>{i(),this._overEvent.emit(!1)};this.dispose(()=>{s.enabled=!1,!a&&l()}),this.dispose(s.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??Lt.defaults.debug)&&console.log(`PointAdding creating! index(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PointAdding destroying! index(${r})`)})}get overEvent(){return this._overEvent}}function Pj(t,n){const e=t.editingPoints,r=n-1;return r<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(r,1),!0)}class Tj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_doEvent",this.disposeVar(new E.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(Pj(e,r)))),(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${r})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class g2 extends Lt{constructor(n){super(n),this.loop=!1}}class v2 extends Lt{constructor(n){super(n),this.loop=!0}}class Ap extends m2{constructor(n,e){super(n,e);{const{menuPoi:r}=this;r.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],r.clickCommandName="modify",r.rightClickCommandName="delete",this.dispose(r.commandEvent.disposableOn(s=>{n.menuPoiCommand(this,s)})),this.dispose(r.dbclickEvent.disposableOn(()=>{n.menuPoiCommand(this,"dbClick")}))}if(n.middlePointShow){const r=this.ad(new Rr(n.czmViewer));{r.imageUri=n.firstControlPointImageUrl??ht.defaults.firstControlPointImageUrl,r.tooltip="点击增加一个控制点",r.bgColor=[0,0,0,.6],r.fgColor=[1,1,1,1],r.size=[8,8],r.originRatioAndOffset=[.5,.5,0,0];{const s=()=>{if(!(n.enabled??ht.defaults.enabled)){r.enabled=!1,r.show=!1;return}do{const i=n.editingPoints.indexOf(this);if(i===-1)break;const a=n.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(n.loop??ht.defaults.loop)&&i+1>=a)break;const h=this.position;if(!h)break;let f=(i+1)%a;const A=n.editingPoints.get(f).position;if(!A)break;const v=Fp(h,A);if(!v)break;v[2]-=n.czmViewer.editingHeightOffset??0,r.position=v;const g=n.editingPoints.length<(n.maxPointsNum??ht.defaults.maxPointsNum);r.enabled=g,r.show=g;return}while(!1);r.enabled=!1,r.show=!1};s(),this.dispose(n.positionsChanged.disposableOn(s)),this.dispose(n.loopChanged.disposableOn(s)),this.dispose(n.enabledChanged.disposableOn(s))}this.dispose(r.clickEvent.disposableOn(s=>{if(s.button!==0||n.editingPoints.length>=(n.maxPointsNum??ht.defaults.maxPointsNum))return;const o=n.editingPoints.indexOf(this);if(o===-1)return;const i=r.position?[...r.position]:void 0;i&&(i[2]+=n.czmViewer.editingHeightOffset??0);let a=new Ap(n,i);n.editingPoints.splice(o+1,0,a),n.modify(a)}))}}}}class ht extends cr{constructor(e){super(e);N(this,"_menuPoiCommand",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"translationEditing");{const s=this.ad(E.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new E.ObjResettingWithEvent(s,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new Bj(this.editingPoints.get(0),this)}))}const r=this.translationEditing=this.disposeVar(new Ii(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??ht.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??ht.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await s.promise(E.step(s,async i=>{const a=i.disposer,l=a.ad(new Ij(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(f=>l.modify(f))),await i.promise(new Promise(f=>{a.dispose(l.overEvent.disposableOnce(u=>{f(u)}))}))})),o===-1){(this.debug??ht.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??ht.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??ht.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let l=o%this.editingPoints.length;const f=this.editingPoints.get(l).position;if(!f)return;const u=Fp(a,f);if(!u)return;u&&(u[2]+=this.czmViewer.editingHeightOffset??0);let A=new Ap(this,u);this.editingPoints.splice(o,0,A)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,r){this._menuPoiCommand.emit(e,r)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new Ap(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps(),moveWithFirstPosition:!1})})(ht||(ht={})),E.extendClassProps(ht.prototype,ht.createDefaultProps);class Bj extends E.Destroyable{constructor(n,e){super(),this._firstPositionEditor=n,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((r,s)=>{if(r===void 0||s===void 0)return;var o=[r[0]-s[0],r[1]-s[1],r[2]-s[2]];const i=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<i;a++){const l=this.multiPointsModifyEditing.editingPoints.get(a),h=l.position;h!==void 0&&(l.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class Ij extends E.Destroyable{constructor(e){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let r;const s=()=>{r==null||r.destroy(),r=void 0,e.status="Modifying"};this.dispose(s);const o=i=>{s(),e.status="Modifying_Point",r=new Fj(e,i),r.dispose(r.overEvent.disposableOn(()=>{s()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((i,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(a==="modify")o(i);else if(a==="add"){const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class Fj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));this._modifying=e,this._posEditor=r,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:s}=this._modifying;if(s.enabled=!0,s.heading=0,this.dispose(()=>{s.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");s.position=this._posEditor.position,this.dispose(E.track([this._posEditor,"position"],[s,"position"])),this.dispose(s.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class w2 extends ht{constructor(n){super(n),this.loop=!1}}class b2 extends ht{constructor(n){super(n),this.loop=!0}}class ul extends Lt{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(s<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([90,0,0]),distance:E.react(1)})})(ul||(ul={})),E.extendClassProps(ul.prototype,ul.createDefaultProps);class Fa extends ht{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let l of this.editingPoints)l.menuPoi.commands=[["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(Math.abs(s)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([0,0,0]),distance:E.react(0)})})(Fa||(Fa={})),E.extendClassProps(Fa.prototype,Fa.createDefaultProps);class _2 extends Lt{constructor(n){super(n),this.loop=!1,this.polylineShow=!1}}class x2 extends ht{constructor(n){super(n),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class cl extends Lt{constructor(n){super(n),n.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(cl||(cl={})),E.extendClassProps(cl.prototype,cl.createDefaultProps);class hl extends ht{constructor(n){if(super(n),!!n.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(hl||(hl={})),E.extendClassProps(hl.prototype,hl.createDefaultProps);class C2 extends Fa{constructor(n){super(n),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class vn extends Q.EngineObject{constructor(e,r,s){super(e,r,s??!0);N(this,"_supportEditing",this.disposeVar(E.react(!0)));N(this,"_currentEditing",this.disposeVar(E.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof Lt&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof Sr&&this.currentEditing.enabled&&(e.position=[0,0,0])}}))}get supportEditing(){return this._supportEditing.value}set supportEditing(e){this._supportEditing.value=e}get supportEditingChanged(){return this._supportEditing.changed}get currentEditing(){return this._currentEditing.value}set currentEditing(e){this._currentEditing.value=e}get currentEditingChanged(){return this._currentEditing.changed}}const Ch=class Ch extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Sr(e));this.ad(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)==2&&(r.enabled=!0)}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"])),r.enabled=!r.position||Q.equalsN3(r.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};N(Ch,"type",Ch.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Place,Ch));let V0=Ch;const Sh=class Sh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Er(e));r.rotation=[90,0,0],this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);s&&(this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"])))});break}if(Reflect.has(n,"position")&&Reflect.has(n,"rotation")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"]));break}this.supportEditing=!1}while(!1)}};N(Sh,"type",Sh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Rotation,Sh));let Q0=Sh;const Eh=class Eh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Fi(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")&&Reflect.has(n,"scale")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"scale"],[n,"scale"]));break}this.supportEditing=!1}while(!1)}};N(Eh,"type",Eh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Scale,Eh));let H0=Eh;const Ph=class Ph extends vn{constructor(n,e){super(Array.isArray(n)?n[0]:n,e,!0);const r=this.currentEditing=this.ad(new Ii(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(n)){const s=[];for(let o=0;o<n.length;o++){const i=n[o];Reflect.has(i,"position")?s.push(i.position):i.points&&s.push(...i.points)}r.position=Q.getMinMaxCorner(s).center,this.ad(r.positionChanged.disposableOn((o,i)=>{if(!(!o||!i)){var a=Tn({originPosition:i},[o])[0][0];n.forEach(l=>{if(Reflect.has(l,"position")){const h=Tn({originPosition:i},[l.position])[0][0];l.position=Vi({originPosition:i},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const h=Tn({originPosition:i},l.points)[0];l.points=Vi({originPosition:i},h.map(f=>[f[0]+a[0],f[1]+a[1],f[2]+a[2]]))[0]}})}}));break}if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"]));break}if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"]))});break}if(Reflect.has(n,"points")){if(n.points===void 0||n.points.length===0){this.destroy();break}r.position=Q.getMinMaxCorner(n.points).center,this.ad(r.positionChanged.disposableOn((s,o)=>{if(s===void 0||o===void 0||n.points===void 0||n.points.length===0){this.destroy();return}var i=Tn({originPosition:o},[s])[0][0];const a=Tn({originPosition:o},n.points)[0];n.points=Vi({originPosition:o},a.map(l=>[l[0]+i[0],l[1]+i[1],l[2]+i[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};N(Ph,"type",Ph.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Translation,Ph));let mp=Ph;const Th=class Th extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new ul(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const s=Tt(n.position);if(F.Cartesian3.ZERO.equals(s)||!e.viewer)return;r.distance=ii(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1);r.startPosition&&!Q.equalsN3(r.startPosition,[0,0,0])&&r.init(),r.enabled=!0}};N(Th,"type",Th.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsAppend,Th));let j0=Th;const Bh=class Bh extends vn{constructor(n,e){var o;if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new Fa(e));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const i=Tt(n.position);if(F.Cartesian3.ZERO.equals(i)||!e.viewer)return;r.distance=ii(e.viewer.scene,i,100)??1}while(!1);break}if(Reflect.has(n,"points")&&((o=n.points)==null?void 0:o.length)==2){r.moveWithFirstPosition=!1;const i=()=>r.positions=n.points??[];i(),this.ad(n.pointsChanged.don(()=>!r.enabled&&i())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Bh,"type",Bh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsModify,Bh));let G0=Bh;const Ih=class Ih extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new v2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Ih,"type",Ih.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularAppend,Ih));let W0=Ih;const Fh=class Fh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new b2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Fh,"type",Fh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularInsert,Fh));let q0=Fh;const kh=class kh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new g2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(kh,"type",kh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringAppend,kh));let K0=kh;const Mh=class Mh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new w2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Mh,"type",Mh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringInsert,Mh));let X0=Mh;const Oh=class Oh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new _2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Oh,"type",Oh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterAppend,Oh));let $0=Oh;const Dh=class Dh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new x2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Dh,"type",Dh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterModify,Dh));let Z0=Dh;const Rh=class Rh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new cl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Rh,"type",Rh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityAppend,Rh));let Y0=Rh;const Uh=class Uh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new hl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Uh,"type",Uh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityModify,Uh));let J0=Uh;const Lh=class Lh extends vn{constructor(n,e){if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new C2(e));do{if(Reflect.has(n,"points")){const o=Reflect.has(n,"extrudedHeight"),i=Reflect.has(n,"height"),a=Reflect.has(n,"perPositionHeight")?n.perPositionHeight:!o,l=n instanceof Q.ESClassification||n instanceof Q.ESPolygonFence;let h=Q.getMinMaxCorner(n.points).center,f=[...h],u=l?n.points[0][2]:0;a?o?f[2]=n.extrudedHeight:f[2]=n.height+u:(i&&(h[2]=n.height),o&&(f[2]=n.extrudedHeight)),r.startPosition=h,r.distance=f[2]-h[2],r.moveWithFirstPosition=!1;let A=[...h];this.ad(r.positionsChanged.don(()=>{r.positions.length===2&&(a?(n.points=n.points.map(v=>[v[0],v[1],v[2]+r.positions[0][2]-A[2]]),o?n.extrudedHeight=r.positions[1][2]:i&&(n.height=r.positions[1][2]-(l?r.positions[0][2]:0))):(i&&(n.height=r.positions[0][2]),o&&(n.extrudedHeight=r.positions[1][2])),A=[...r.positions[0]])}));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Lh,"type",Lh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.HeightModify,Lh));let ew=Lh;function S2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s,o=!0)=>{const i=Array.isArray(s)?[...s]:[s],a=r.editingID;e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"start",add:{modes:i}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"end",add:{modes:i}}),t.isRunning&&t.cancel()};n.disposer.ad(l),n.disposer.ad(r.toDestroyEvent.don(l)),n.disposer.ad(e.keyDownEvent.don(f=>{f.code=="Escape"&&l()}));let h=0;do{const f=i[h%i.length],u=await E.step(n,async A=>{const v=A.disposer,g=Q.EngineObject.contextEditing.getEngineObjConstructor(f,e.typeName);if(!g||!r.supportEditingModes().includes(f))return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;const m=new g(r,e);if(v.ad(()=>{!m.isDestroyed()&&m.destroy()}),m.supportEditing)e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;return await A.promise(new Promise(d=>{m.isDestroyed()&&d(!1),v.ad(m.toDestroyEvent.don(()=>{console.log(`编辑模式${f}结束`),d(!1)})),o&&(v.ad(e.keyDownEvent.don(c=>{c.code=="Space"&&(console.log(`编辑模式${f}结束`),d(!1))})),v.ad(e.dblclickEvent.don(()=>d(!0))))}))});if(o&&u||!o&&h==i.length-1||e.notSupportEditingCount==i.length)break;h++}while(!0)});return t}function E2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s)=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"end"}),t.isRunning&&t.cancel()};n.disposer.ad(o),n.disposer.ad(e.keyDownEvent.don(a=>{a.code=="Escape"&&o()}));const i=new mp(r,e);n.disposer.ad(()=>{!i.isDestroyed()&&i.destroy()}),await n.promise(new Promise(a=>{i.isDestroyed()&&a(),n.disposer.ad(i.toDestroyEvent.don(()=>{console.log("移动结束"),a()})),n.disposer.ad(e.dblclickEvent.don(()=>a()))}))});return t}ue.copyright=void 0;try{const t="earthsdk3-cesium",n="3.0.7-beta.15",e="2025-06-10T07:22:29.000Z",r="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2",a=((Date.now()-1749540149e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${o.slice(0,8)}.${e} (距今${a}个小时)
4898
4898
  %c${s?s+`
4899
4899
  `:""}当前网站正在使用${t},此软件版权归${r}所有
4900
- `;ue.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","c8c322db6bbdb77c3b35c75f5d7473a074c14e6c")},get info(){return l},get date(){return"2025-06-10T03:06:51.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.14"},get name(){return"earthsdk3-cesium"},get commitId(){return"c8c322db6bbdb77c3b35c75f5d7473a074c14e6c"},print(){console.info(this.info,`
4900
+ `;ue.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2")},get info(){return l},get date(){return"2025-06-10T07:22:29.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.15"},get name(){return"earthsdk3-cesium"},get commitId(){return"aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2"},print(){console.info(this.info,`
4901
4901
  font-size: 18px;
4902
4902
  font-weight: 1000;
4903
4903
  line-height: 1;
@@ -31360,11 +31360,14 @@ const xi = class xi extends G {
31360
31360
  };
31361
31361
  this.disposeVar(new pe(this.clippingPlanesSceneObjectWithId.sceneObjectChanged, () => {
31362
31362
  const { sceneObject: a } = this.clippingPlanesSceneObjectWithId;
31363
- if (!a) return;
31364
- let l;
31365
- a instanceof tm && Ht(this, a, () => {
31366
- l = e.getEngineObject(a).czmBoxClippingPlanes, o(l);
31367
- }), a instanceof Fi && (l = n.clippingPlanes, o(l));
31363
+ if (!a) {
31364
+ this.clippingPlanes = void 0;
31365
+ return;
31366
+ }
31367
+ let l, c;
31368
+ return a instanceof tm && Ht(this, a, () => {
31369
+ l = e.getEngineObject(a).czmBoxClippingPlanes, c = o(l);
31370
+ }), a instanceof Fi && (l = n.clippingPlanes, c = o(l)), c;
31368
31371
  })), this._czmFlattenedPlaneWithId = this.disposeVar(new Wi()), this.dispose(_([this._czmFlattenedPlaneWithId, "id"], [this, "czmFlattenedPlaneId"])), this.dispose(this.originChanged.disposableOn(() => {
31369
31372
  this.origin && (this.position = this.origin);
31370
31373
  }));
@@ -53472,7 +53475,7 @@ function YV() {
53472
53475
  }
53473
53476
  let ng;
53474
53477
  try {
53475
- const t = "earthsdk3-cesium", i = "3.0.7-beta.14", e = "2025-06-10T03:06:51.000Z", n = "北京西部世界科技有限公司", s = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", o = "c8c322db6bbdb77c3b35c75f5d7473a074c14e6c", a = ((Date.now() - 1749524811e3) / 36e5).toFixed(1), l = `%c🌏 ${t}%c ${i}.${o.slice(0, 8)}.${e} (距今${a}个小时)
53478
+ const t = "earthsdk3-cesium", i = "3.0.7-beta.15", e = "2025-06-10T07:22:29.000Z", n = "北京西部世界科技有限公司", s = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", o = "aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2", a = ((Date.now() - 1749540149e3) / 36e5).toFixed(1), l = `%c🌏 ${t}%c ${i}.${o.slice(0, 8)}.${e} (距今${a}个小时)
53476
53479
  %c${s ? s + `
53477
53480
  ` : ""}当前网站正在使用${t},此软件版权归${n}所有
53478
53481
  `;
@@ -53486,7 +53489,7 @@ try {
53486
53489
  },
53487
53490
  // @ts-ignore
53488
53491
  get gituri() {
53489
- return GITURI_ && GITURI_.replace("${commitId}", "c8c322db6bbdb77c3b35c75f5d7473a074c14e6c");
53492
+ return GITURI_ && GITURI_.replace("${commitId}", "aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2");
53490
53493
  },
53491
53494
  // @ts-ignore
53492
53495
  get info() {
@@ -53494,7 +53497,7 @@ try {
53494
53497
  },
53495
53498
  // @ts-ignore
53496
53499
  get date() {
53497
- return "2025-06-10T03:06:51.000Z";
53500
+ return "2025-06-10T07:22:29.000Z";
53498
53501
  },
53499
53502
  // @ts-ignore
53500
53503
  get author() {
@@ -53502,7 +53505,7 @@ try {
53502
53505
  },
53503
53506
  // @ts-ignore
53504
53507
  get version() {
53505
- return "3.0.7-beta.14";
53508
+ return "3.0.7-beta.15";
53506
53509
  },
53507
53510
  // @ts-ignore
53508
53511
  get name() {
@@ -53510,7 +53513,7 @@ try {
53510
53513
  },
53511
53514
  // @ts-ignore
53512
53515
  get commitId() {
53513
- return "c8c322db6bbdb77c3b35c75f5d7473a074c14e6c";
53516
+ return "aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2";
53514
53517
  },
53515
53518
  print() {
53516
53519
  console.info(
@@ -1406,7 +1406,7 @@ class CityShaderInstance extends xbsj['xr-base-utils'].Destroyable {
1406
1406
  \`\`\`
1407
1407
  `,i3=`function (p, q, time) {
1408
1408
  return (1.0 - time) * p + time * q;
1409
- };`,n3={color:"vec4(1,0,0,1)"},MC={planes:[{normal:[1,0,0],distance:0}],enabled:!0,modelMatrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],unionClippingRegions:!1,edgeColor:[1,1,1,1],edgeWidth:2};`${JSON.stringify(MC,void 0," ")}`;const IC={attenuation:!1,geometricErrorScale:1,maximumAttenuation:16,baseResolution:void 0,eyeDomeLighting:!0,eyeDomeLightingStrength:1,eyeDomeLightingRadius:1,backFaceCulling:!1,normalShading:!0};`${JSON.stringify(IC,void 0," ")}`;const bC={imageBasedLightingFactor:[1,1],luminanceAtZenith:2,sphericalHarmonicCoefficients:[[1.234709620475769,1.221461296081543,1.273156881332397],[1.135921120643616,1.171217799186707,1.287644743919373],[1.245193719863892,1.245591878890991,1.282818794250488],[-1.106930732727051,-1.112522482872009,-1.153198838233948],[-1.086226940155029,-1.079731941223145,-1.101912498474121],[1.189834713935852,1.185906887054443,1.214385271072388],[.01778045296669,.02013735473156,.025313569232821],[-1.086826920509338,-1.084611177444458,-1.111204028129578],[-.05241484940052,-.048303380608559,-.041960217058659]],specularEnvironmentMaps:""},o3={enabled:!0,mipmapLevels:7,maximumSecondsDifference:3600,maximumPositionEpsilon:1e3,atmosphereScatteringIntensity:2,gamma:1,brightness:1,saturation:1,groundColor:[.44313725490196076,.44313725490196076,.27058823529411763,1],groundAlbedo:.31};`${JSON.stringify(bC,void 0," ")}`;const r3=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];class s3 extends c.Destroyable{constructor(i,e){super(),this._czm3DTiles=i,this._czmClippingPlanes=e,this.dispose(c.track([this._czm3DTiles,"clippingPlanes"],[this._czmClippingPlanes,"computedClippingPlanes"])),this.dispose(()=>this._czm3DTiles.clippingPlanes=void 0)}}function a3(t){let i,e=typeof t=="string"?t:t.url;do{if(!e.startsWith("Ion("))break;let n=/Ion\((\d+)/.exec(e);if(!n)break;let r=n[1]&&+n[1];try{r&&(i=`"await Cesium.IonResource.fromAssetId(${r}))"`)}catch(o){console.error(`Ion资源未能获取到 error: ${o}`,o);break}}while(!1);return i=i||`"${w.ESSceneObject.context.getStrFromEnv(e)}"`,i}const ci=class ci extends c.Destroyable{constructor(e,n,r){super();v(this,"_id",this.disposeVar(c.react(c.createGuid())));v(this,"_supportEdit",this.disposeVar(c.react(!0)));v(this,"_flyToEvent",this.disposeVar(new c.Event));v(this,"_customShaderInstanceClass",this.disposeVar(c.react(void 0)));v(this,"_updateCustomShaderEvent",this.disposeVar(new c.Event));v(this,"_foveatedInterpolationCallback",this.disposeVar(c.react(ci.defaultFoveatedInterpolationCallback)));v(this,"_origin",this.disposeVar(c.react(void 0)));v(this,"_czmTilesetReadyEvent",this.disposeVar(new c.Event));v(this,"_czmFlattenedPlaneWithId");v(this,"_clippingPlanesSceneObjectWithId");v(this,"_customShaderInstance",this.disposeVar(c.react(void 0)));v(this,"_style",this.disposeVar(c.react(void 0)));v(this,"_originRootTransform",this.disposeVar(c.react(void 0)));v(this,"_originRootTransformInv",this.disposeVar(c.react(void 0)));v(this,"_recreateEvent",this.disposeVar(c.createNextAnimateFrameEvent(...Ok(this))));v(this,"_nativeTilesetResetting");v(this,"_setMaterialEvent",this.disposeVar(new c.Event));this._czmViewer=e,r&&(this.id=r),this._nativeTilesetResetting=this.disposeVar(new c.ObjResettingWithEvent(this._recreateEvent,()=>{typeof this.url=="string"?this.url=w.ESSceneObject.context.getStrFromEnv(this.url):this.url&&(this.url.url=w.ESSceneObject.context.getStrFromEnv(this.url.url));const a=this.url;if(a)return new Qk(a,this,e.viewer,e)})),this._clippingPlanesSceneObjectWithId=this.disposeVar(new w.ESSceneObjectWithId),this.dispose(c.track([this._clippingPlanesSceneObjectWithId,"id"],[this,"clippingPlanesId"])),this.ad(new Jk(this.czmViewer,this));const o=a=>{if(a&&"computedClippingPlanes"in a&&"computedClippingPlanesChanged"in a)return new s3(this,a)};this.disposeVar(new c.ObjResettingWithEvent(this.clippingPlanesSceneObjectWithId.sceneObjectChanged,()=>{const{sceneObject:a}=this.clippingPlanesSceneObjectWithId;if(!a)return;let l;a instanceof w.ESBoxClipping&&w.registerCreatedEventUpdate(this,a,()=>{l=e.getEngineObject(a).czmBoxClippingPlanes,o(l)}),a instanceof w.ES3DTileset&&(l=n.clippingPlanes,o(l))})),this._czmFlattenedPlaneWithId=this.disposeVar(new w.ESSceneObjectWithId),this.dispose(c.track([this._czmFlattenedPlaneWithId,"id"],[this,"czmFlattenedPlaneId"])),this.dispose(this.originChanged.disposableOn(()=>{this.origin&&(this.position=this.origin)}));const s=()=>{try{this.customShaderInstanceClass=this.customShaderInstanceClassStr&&Function(`"use strict";return (${this.customShaderInstanceClassStr})`)()}catch{this.customShaderInstanceClass=void 0}};s(),this.dispose(this.customShaderInstanceClassStrChanged.disposableOn(s)),w.registerEventUpdate(this,this.foveatedInterpolationCallbackStrChanged,()=>{this.foveatedInterpolationCallback=AC(this.foveatedInterpolationCallbackStr)}),this.dispose(this.urlChanged.disposableOn(()=>{this._origin.value=void 0})),this.dispose(this._czmTilesetReadyEvent.disposableOn((a,l)=>{if(!this._origin.value){let h=a.root.transform;const u=d.Matrix4.getTranslation(h,new d.Cartesian3),p=fe(u),f=Ue({initialRotation:"yForwardzUp",rotation:[0,0,0],position:p});f&&!f.equalsEpsilon(h,.001)||h.equals(d.Matrix4.IDENTITY)?(h=a.clippingPlanesOriginMatrix,this._origin.value=fe(d.Matrix4.getTranslation(h,new d.Cartesian3))):this._origin.value=p}})),w.registerEventUpdate(this,this.styleJsonChanged,()=>this.style=Kk(this.styleJson)),w.registerEventUpdate(this,this.customShaderInstanceClassChanged,()=>{const a=this.customShaderInstanceClass;this.customShaderInstance=a&&new a(this,e)}),this.dispose(this.updateCustomShaderEvent.disposableOn(a=>{this.customShaderInstance&&a(this.customShaderInstance,this,e)}))}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}get czmViewer(){return this._czmViewer}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get customShaderInstanceClass(){return this._customShaderInstanceClass.value}set customShaderInstanceClass(e){this._customShaderInstanceClass.value=e}get customShaderInstanceClassChanged(){return this._customShaderInstanceClass.changed}get updateCustomShaderEvent(){return this._updateCustomShaderEvent}updateCustomShader(e){this._updateCustomShaderEvent.emit(e)}get foveatedInterpolationCallback(){return this._foveatedInterpolationCallback.value}get foveatedInterpolationCallbackChanged(){return this._foveatedInterpolationCallback.changed}set foveatedInterpolationCallback(e){this._foveatedInterpolationCallback.value=e}get imageBasedLightingFactor(){return this.imageBasedLighting&&this.imageBasedLighting.imageBasedLightingFactor}get imageBasedLightingFactorChanged(){return this.imageBasedLightingChanged}set imageBasedLightingFactor(e){this.imageBasedLighting=this.imageBasedLighting&&{...this.imageBasedLighting,imageBasedLightingFactor:e}||{imageBasedLightingFactor:e}}get origin(){return this._origin.value}get originChanged(){return this._origin.changed}setPositionAsOrigin(){this.position=this.origin}get czmTilesetReadyEvent(){return this._czmTilesetReadyEvent}notifyCzmTilesetReady(e,n){this._czmTilesetReadyEvent.emit(e,n)}get czmFlattenedPlaneWithId(){return this._czmFlattenedPlaneWithId}get clippingPlanesSceneObjectWithId(){return this._clippingPlanesSceneObjectWithId}get customShaderInstance(){return this._customShaderInstance.value}get customShaderInstanceChanged(){return this._customShaderInstance.changed}set customShaderInstance(e){this._customShaderInstance.value=e}get style(){return this._style.value}get styleChanged(){return this._style.changed}set style(e){this._style.value=e}get originRootTransform(){return this._originRootTransform.value}set originRootTransform(e){this._originRootTransform.value=e}get originRootTransformChanged(){return this._originRootTransform.changed}get originRootTransformInv(){return this._originRootTransformInv.value}set originRootTransformInv(e){this._originRootTransformInv.value=e}get originRootTransformInvChanged(){return this._originRootTransformInv.changed}get recreateEvent(){return this._recreateEvent}get nativeTilesetResetting(){return this._nativeTilesetResetting}get tileset(){var e;return(e=this.nativeTilesetResetting.obj)==null?void 0:e.tileset}get tilesetChanged(){return this.nativeTilesetResetting.objChanged}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){this._setMaterialEvent.emit(e)}async openLocalDir(){const e=await c.defaultLocalFileServer.getRootDirId("3dtiles");if(e===void 0){console.warn("openLocalDir failed!");return}const n=`https://${e}/tileset.json`;this.url=n}};v(ci,"defaultCustomShaderInstanceClassStr",TC),v(ci,"customShaderInstanceClassStrMd",e3),v(ci,"styleMd",t3),v(ci,"defaultFoveatedInterpolationCallbackStr",i3),v(ci,"defaultStyleJson",n3),v(ci,"defaultFoveatedInterpolationCallback",d.Math.lerp),v(ci,"defaults",{url:"",show:!0,colorBlendMode:"HIGHLIGHT",modelMatrix:r3,modelUpAxis:"Y",modelForwardAxis:"X",shadows:"ENABLED",maximumScreenSpaceError:16,maximumMemoryUsage:512,cacheBytes:512*1024*1024,maximumCacheOverflowBytes:512*1024*1024,cullWithChildrenBounds:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:60,preloadWhenHidden:!1,preloadFlightDestinations:!0,preferLeaves:!1,dynamicScreenSpaceError:!1,dynamicScreenSpaceErrorDensity:.00278,dynamicScreenSpaceErrorFactor:4,dynamicScreenSpaceErrorHeightFalloff:.25,progressiveResolutionHeightFraction:.3,foveatedScreenSpaceError:!0,foveatedConeSize:.1,foveatedMinimumScreenSpaceErrorRelaxation:0,foveatedTimeDelay:.2,skipLevelOfDetail:!1,baseScreenSpaceError:1024,skipScreenSpaceErrorFactor:16,skipLevels:1,immediatelyLoadDesiredLevelOfDetail:!1,loadSiblings:!1,clippingPlanes:MC,classificationType:"NONE",ellipsoid:vE,pointCloudShading:IC,lightColor:void 0,imageBasedLighting:bC,environmentMapManager:o3,backFaceCulling:!0,enableShowOutline:!0,showOutline:!0,outlineColor:[0,0,0,1],vectorClassificationOnly:!1,vectorKeepDecodedPositions:!1,featureIdLabel:"featureId_0",instanceFeatureIdLabel:"instanceFeatureId_0",showCreditsOnScreen:!1,splitDirection:"NONE",projectTo2D:!1,debugHeatmapTilePropertyName:"",debugFreezeFrame:!1,debugColorizeTiles:!1,enableDebugWireframe:!1,debugWireframe:!1,debugShowBoundingVolume:!1,debugShowContentBoundingVolume:!1,debugShowViewerRequestVolume:!1,debugShowGeometricError:!1,debugShowRenderingStatistics:!1,debugShowMemoryUsage:!1,debugShowUrl:!1,customShaderInstanceClassStr:ci.defaultCustomShaderInstanceClassStr,styleJson:ci.defaultStyleJson,foveatedInterpolationCallbackStr:ci.defaultFoveatedInterpolationCallbackStr});let xe=ci;(t=>{t.createDefaultProps=()=>({position:c.reactArrayWithUndefined(void 0),rotation:c.reactArrayWithUndefined([0,0,0]),allowPicking:!1,czmFlattenedPlaneId:"",url:void 0,show:void 0,colorBlendMode:void 0,modelMatrix:c.reactArrayWithUndefined(void 0),modelUpAxis:void 0,modelForwardAxis:void 0,shadows:void 0,maximumScreenSpaceError:void 0,maximumMemoryUsage:void 0,cacheBytes:void 0,maximumCacheOverflowBytes:void 0,cullWithChildrenBounds:void 0,cullRequestsWhileMoving:void 0,cullRequestsWhileMovingMultiplier:void 0,preloadWhenHidden:void 0,preloadFlightDestinations:void 0,preferLeaves:void 0,dynamicScreenSpaceError:void 0,dynamicScreenSpaceErrorDensity:void 0,dynamicScreenSpaceErrorFactor:void 0,dynamicScreenSpaceErrorHeightFalloff:void 0,progressiveResolutionHeightFraction:void 0,foveatedScreenSpaceError:void 0,foveatedConeSize:void 0,foveatedMinimumScreenSpaceErrorRelaxation:void 0,foveatedInterpolationCallbackStr:void 0,foveatedTimeDelay:void 0,skipLevelOfDetail:void 0,baseScreenSpaceError:void 0,skipScreenSpaceErrorFactor:void 0,skipLevels:void 0,immediatelyLoadDesiredLevelOfDetail:void 0,loadSiblings:void 0,clippingPlanes:c.reactJsonWithUndefined(void 0),clippingPlanesId:"",clippingPolygons:c.reactJsonWithUndefined(void 0),clippingPolygonsId:c.reactArray([]),absoluteClippingPlanes:!1,classificationType:void 0,ellipsoid:c.reactArrayWithUndefined(void 0),pointCloudShading:c.reactJsonWithUndefined(void 0),lightColor:c.reactArrayWithUndefined(void 0),imageBasedLighting:c.reactJsonWithUndefined(void 0),environmentMapManager:c.reactJsonWithUndefined(void 0),backFaceCulling:void 0,enableShowOutline:void 0,showOutline:void 0,outlineColor:c.reactArrayWithUndefined(void 0),vectorClassificationOnly:void 0,vectorKeepDecodedPositions:void 0,featureIdLabel:void 0,instanceFeatureIdLabel:void 0,showCreditsOnScreen:void 0,splitDirection:void 0,projectTo2D:void 0,debugHeatmapTilePropertyName:void 0,debugFreezeFrame:void 0,debugColorizeTiles:void 0,enableDebugWireframe:void 0,debugWireframe:void 0,debugShowBoundingVolume:void 0,debugShowContentBoundingVolume:void 0,debugShowViewerRequestVolume:void 0,debugShowGeometricError:void 0,debugShowRenderingStatistics:void 0,debugShowMemoryUsage:void 0,debugShowUrl:void 0,customShaderInstanceClassStr:void 0,styleJson:c.reactJsonWithUndefined(void 0),autoSetPositionAsOrigin:void 0})})(xe||(xe={})),c.extendClassProps(xe.prototype,xe.createDefaultProps);function l3(t){t.toBlob(i=>{if(!i){console.warn("canvas.toBlob error!");return}var e=new ClipboardItem({"image/png":i});navigator.clipboard.write([e]).then(function(){alert("图像已复制到剪切板")}).catch(function(n){console.error("复制到剪切板失败: ",n)})})}const Md=class Md extends c.Destroyable{constructor(i,e){super(),this._geoPolygonCanvas=i,this._geoPolygon=e;{const n=(s,a)=>{const{canvas:l,canvasCtx:h,canvasWidth:u}=this._geoPolygonCanvas,{toMercatorPos:p}=Md,f=p(s),m=p(a),g=m[0]-f[0],y=m[1]-f[1],P=u>8192?8192:u;if(g<=0)return;const S=P*y/g|0;if(S<=0||S>8192)return;const{points:C}=this._geoPolygon;if(!C)throw new Error("!positions");const E=C.map(T=>{const I=p(T);return[(I[0]-f[0])*P/g,S-(I[1]-f[1])*S/y]});l.width=P,l.height=S,h.clearRect(0,0,P,S),h.beginPath();for(const T of E)h.lineTo(T[0],T[1]);h.closePath(),h.fillStyle="#FFFFFF",h.fill()},r=()=>{let s;do{const{canvas:a,canvasCtx:l,canvasWidth:h}=this._geoPolygonCanvas;l.clearRect(0,0,a.width,a.height);const{points:u}=this._geoPolygon;if(!u||u.length<3)break;const p=w.getMinMaxCorner(u),{minPos:f,maxPos:m}=p;n(f,m),s={rect:[f[0],f[1],m[0],m[1]],height:u[0][2]}}while(!1);this._geoPolygonCanvas.canvasGeoInfo=s,this.ad(c.nextAnimateFrame(()=>{this._geoPolygonCanvas.canvasChanged.emit()}))};r();const o=this.disposeVar(c.createNextAnimateFrameEvent(this._geoPolygon.pointsChanged,this._geoPolygonCanvas.canvasWidthChanged));this.dispose(o.disposableOn(r))}}};v(Md,"toMercatorPos",function(i){const[e,n,r]=i;return[e,n/Math.cos(n*Math.PI/180),r]});let $p=Md;const Ka=class Ka extends c.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new c.Event));v(this,"_geoPolygonWithId");v(this,"_canvas",document.createElement("canvas"));v(this,"_canvasCtx",this._canvas.getContext("2d"));v(this,"_canvasChanged",this.disposeVar(new c.Event));v(this,"_canvasGeoInfo",this.disposeVar(c.reactJsonWithUndefined(void 0)));this._geoPolygonWithId=this.disposeVar(new w.ESSceneObjectWithId),this.dispose(c.track([this._geoPolygonWithId,"id"],[this,"geoPolygonId"])),this.disposeVar(new c.ObjResettingWithEvent(this.geoPolygonWithId.sceneObjectChanged,()=>{const{sceneObject:r}=this.geoPolygonWithId;if(r&&r instanceof w.ESGeoPolygon)return new Ka.PolygonCanvasResetting(this,r)}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygonWithId(){return this._geoPolygonWithId}get canvas(){return this._canvas}get canvasCtx(){return this._canvasCtx}get canvasChanged(){return this._canvasChanged}get canvasGeoInfo(){return this._canvasGeoInfo.value}set canvasGeoInfo(e){this._canvasGeoInfo.value=e}get canvasGeoInfoChanged(){return this._canvasGeoInfo.changed}};v(Ka,"saveCanvasToClipboard",l3),v(Ka,"PolygonCanvasResetting",$p);let ir=Ka;(t=>{t.createDefaultProps=()=>({enabled:!0,geoPolygonId:"",canvasWidth:512})})(ir||(ir={})),c.extendClassProps(ir.prototype,ir.createDefaultProps);function c3(t,i){return class extends c.Destroyable{constructor(r,o){super();v(this,"_customShader",this.disposeVar(new d.CustomShader({uniforms:{u_discardRatio:{value:new d.Cartesian2(0,1),type:d.UniformType.VEC2},u_topColor:{value:new d.Color(1,1,1,1),type:d.UniformType.VEC4},u_bottomColor:{value:new d.Color(1,1,1,1),type:d.UniformType.VEC4}},varyings:{v_xbsjPos:d.VaryingType.VEC3,v_m:d.VaryingType.FLOAT},vertexShaderText:` // IMPORTANT: the function signature must use these parameter names. This
1409
+ };`,n3={color:"vec4(1,0,0,1)"},MC={planes:[{normal:[1,0,0],distance:0}],enabled:!0,modelMatrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],unionClippingRegions:!1,edgeColor:[1,1,1,1],edgeWidth:2};`${JSON.stringify(MC,void 0," ")}`;const IC={attenuation:!1,geometricErrorScale:1,maximumAttenuation:16,baseResolution:void 0,eyeDomeLighting:!0,eyeDomeLightingStrength:1,eyeDomeLightingRadius:1,backFaceCulling:!1,normalShading:!0};`${JSON.stringify(IC,void 0," ")}`;const bC={imageBasedLightingFactor:[1,1],luminanceAtZenith:2,sphericalHarmonicCoefficients:[[1.234709620475769,1.221461296081543,1.273156881332397],[1.135921120643616,1.171217799186707,1.287644743919373],[1.245193719863892,1.245591878890991,1.282818794250488],[-1.106930732727051,-1.112522482872009,-1.153198838233948],[-1.086226940155029,-1.079731941223145,-1.101912498474121],[1.189834713935852,1.185906887054443,1.214385271072388],[.01778045296669,.02013735473156,.025313569232821],[-1.086826920509338,-1.084611177444458,-1.111204028129578],[-.05241484940052,-.048303380608559,-.041960217058659]],specularEnvironmentMaps:""},o3={enabled:!0,mipmapLevels:7,maximumSecondsDifference:3600,maximumPositionEpsilon:1e3,atmosphereScatteringIntensity:2,gamma:1,brightness:1,saturation:1,groundColor:[.44313725490196076,.44313725490196076,.27058823529411763,1],groundAlbedo:.31};`${JSON.stringify(bC,void 0," ")}`;const r3=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];class s3 extends c.Destroyable{constructor(i,e){super(),this._czm3DTiles=i,this._czmClippingPlanes=e,this.dispose(c.track([this._czm3DTiles,"clippingPlanes"],[this._czmClippingPlanes,"computedClippingPlanes"])),this.dispose(()=>this._czm3DTiles.clippingPlanes=void 0)}}function a3(t){let i,e=typeof t=="string"?t:t.url;do{if(!e.startsWith("Ion("))break;let n=/Ion\((\d+)/.exec(e);if(!n)break;let r=n[1]&&+n[1];try{r&&(i=`"await Cesium.IonResource.fromAssetId(${r}))"`)}catch(o){console.error(`Ion资源未能获取到 error: ${o}`,o);break}}while(!1);return i=i||`"${w.ESSceneObject.context.getStrFromEnv(e)}"`,i}const ci=class ci extends c.Destroyable{constructor(e,n,r){super();v(this,"_id",this.disposeVar(c.react(c.createGuid())));v(this,"_supportEdit",this.disposeVar(c.react(!0)));v(this,"_flyToEvent",this.disposeVar(new c.Event));v(this,"_customShaderInstanceClass",this.disposeVar(c.react(void 0)));v(this,"_updateCustomShaderEvent",this.disposeVar(new c.Event));v(this,"_foveatedInterpolationCallback",this.disposeVar(c.react(ci.defaultFoveatedInterpolationCallback)));v(this,"_origin",this.disposeVar(c.react(void 0)));v(this,"_czmTilesetReadyEvent",this.disposeVar(new c.Event));v(this,"_czmFlattenedPlaneWithId");v(this,"_clippingPlanesSceneObjectWithId");v(this,"_customShaderInstance",this.disposeVar(c.react(void 0)));v(this,"_style",this.disposeVar(c.react(void 0)));v(this,"_originRootTransform",this.disposeVar(c.react(void 0)));v(this,"_originRootTransformInv",this.disposeVar(c.react(void 0)));v(this,"_recreateEvent",this.disposeVar(c.createNextAnimateFrameEvent(...Ok(this))));v(this,"_nativeTilesetResetting");v(this,"_setMaterialEvent",this.disposeVar(new c.Event));this._czmViewer=e,r&&(this.id=r),this._nativeTilesetResetting=this.disposeVar(new c.ObjResettingWithEvent(this._recreateEvent,()=>{typeof this.url=="string"?this.url=w.ESSceneObject.context.getStrFromEnv(this.url):this.url&&(this.url.url=w.ESSceneObject.context.getStrFromEnv(this.url.url));const a=this.url;if(a)return new Qk(a,this,e.viewer,e)})),this._clippingPlanesSceneObjectWithId=this.disposeVar(new w.ESSceneObjectWithId),this.dispose(c.track([this._clippingPlanesSceneObjectWithId,"id"],[this,"clippingPlanesId"])),this.ad(new Jk(this.czmViewer,this));const o=a=>{if(a&&"computedClippingPlanes"in a&&"computedClippingPlanesChanged"in a)return new s3(this,a)};this.disposeVar(new c.ObjResettingWithEvent(this.clippingPlanesSceneObjectWithId.sceneObjectChanged,()=>{const{sceneObject:a}=this.clippingPlanesSceneObjectWithId;if(!a){this.clippingPlanes=void 0;return}let l,h;return a instanceof w.ESBoxClipping&&w.registerCreatedEventUpdate(this,a,()=>{l=e.getEngineObject(a).czmBoxClippingPlanes,h=o(l)}),a instanceof w.ES3DTileset&&(l=n.clippingPlanes,h=o(l)),h})),this._czmFlattenedPlaneWithId=this.disposeVar(new w.ESSceneObjectWithId),this.dispose(c.track([this._czmFlattenedPlaneWithId,"id"],[this,"czmFlattenedPlaneId"])),this.dispose(this.originChanged.disposableOn(()=>{this.origin&&(this.position=this.origin)}));const s=()=>{try{this.customShaderInstanceClass=this.customShaderInstanceClassStr&&Function(`"use strict";return (${this.customShaderInstanceClassStr})`)()}catch{this.customShaderInstanceClass=void 0}};s(),this.dispose(this.customShaderInstanceClassStrChanged.disposableOn(s)),w.registerEventUpdate(this,this.foveatedInterpolationCallbackStrChanged,()=>{this.foveatedInterpolationCallback=AC(this.foveatedInterpolationCallbackStr)}),this.dispose(this.urlChanged.disposableOn(()=>{this._origin.value=void 0})),this.dispose(this._czmTilesetReadyEvent.disposableOn((a,l)=>{if(!this._origin.value){let h=a.root.transform;const u=d.Matrix4.getTranslation(h,new d.Cartesian3),p=fe(u),f=Ue({initialRotation:"yForwardzUp",rotation:[0,0,0],position:p});f&&!f.equalsEpsilon(h,.001)||h.equals(d.Matrix4.IDENTITY)?(h=a.clippingPlanesOriginMatrix,this._origin.value=fe(d.Matrix4.getTranslation(h,new d.Cartesian3))):this._origin.value=p}})),w.registerEventUpdate(this,this.styleJsonChanged,()=>this.style=Kk(this.styleJson)),w.registerEventUpdate(this,this.customShaderInstanceClassChanged,()=>{const a=this.customShaderInstanceClass;this.customShaderInstance=a&&new a(this,e)}),this.dispose(this.updateCustomShaderEvent.disposableOn(a=>{this.customShaderInstance&&a(this.customShaderInstance,this,e)}))}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}get czmViewer(){return this._czmViewer}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get customShaderInstanceClass(){return this._customShaderInstanceClass.value}set customShaderInstanceClass(e){this._customShaderInstanceClass.value=e}get customShaderInstanceClassChanged(){return this._customShaderInstanceClass.changed}get updateCustomShaderEvent(){return this._updateCustomShaderEvent}updateCustomShader(e){this._updateCustomShaderEvent.emit(e)}get foveatedInterpolationCallback(){return this._foveatedInterpolationCallback.value}get foveatedInterpolationCallbackChanged(){return this._foveatedInterpolationCallback.changed}set foveatedInterpolationCallback(e){this._foveatedInterpolationCallback.value=e}get imageBasedLightingFactor(){return this.imageBasedLighting&&this.imageBasedLighting.imageBasedLightingFactor}get imageBasedLightingFactorChanged(){return this.imageBasedLightingChanged}set imageBasedLightingFactor(e){this.imageBasedLighting=this.imageBasedLighting&&{...this.imageBasedLighting,imageBasedLightingFactor:e}||{imageBasedLightingFactor:e}}get origin(){return this._origin.value}get originChanged(){return this._origin.changed}setPositionAsOrigin(){this.position=this.origin}get czmTilesetReadyEvent(){return this._czmTilesetReadyEvent}notifyCzmTilesetReady(e,n){this._czmTilesetReadyEvent.emit(e,n)}get czmFlattenedPlaneWithId(){return this._czmFlattenedPlaneWithId}get clippingPlanesSceneObjectWithId(){return this._clippingPlanesSceneObjectWithId}get customShaderInstance(){return this._customShaderInstance.value}get customShaderInstanceChanged(){return this._customShaderInstance.changed}set customShaderInstance(e){this._customShaderInstance.value=e}get style(){return this._style.value}get styleChanged(){return this._style.changed}set style(e){this._style.value=e}get originRootTransform(){return this._originRootTransform.value}set originRootTransform(e){this._originRootTransform.value=e}get originRootTransformChanged(){return this._originRootTransform.changed}get originRootTransformInv(){return this._originRootTransformInv.value}set originRootTransformInv(e){this._originRootTransformInv.value=e}get originRootTransformInvChanged(){return this._originRootTransformInv.changed}get recreateEvent(){return this._recreateEvent}get nativeTilesetResetting(){return this._nativeTilesetResetting}get tileset(){var e;return(e=this.nativeTilesetResetting.obj)==null?void 0:e.tileset}get tilesetChanged(){return this.nativeTilesetResetting.objChanged}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){this._setMaterialEvent.emit(e)}async openLocalDir(){const e=await c.defaultLocalFileServer.getRootDirId("3dtiles");if(e===void 0){console.warn("openLocalDir failed!");return}const n=`https://${e}/tileset.json`;this.url=n}};v(ci,"defaultCustomShaderInstanceClassStr",TC),v(ci,"customShaderInstanceClassStrMd",e3),v(ci,"styleMd",t3),v(ci,"defaultFoveatedInterpolationCallbackStr",i3),v(ci,"defaultStyleJson",n3),v(ci,"defaultFoveatedInterpolationCallback",d.Math.lerp),v(ci,"defaults",{url:"",show:!0,colorBlendMode:"HIGHLIGHT",modelMatrix:r3,modelUpAxis:"Y",modelForwardAxis:"X",shadows:"ENABLED",maximumScreenSpaceError:16,maximumMemoryUsage:512,cacheBytes:512*1024*1024,maximumCacheOverflowBytes:512*1024*1024,cullWithChildrenBounds:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:60,preloadWhenHidden:!1,preloadFlightDestinations:!0,preferLeaves:!1,dynamicScreenSpaceError:!1,dynamicScreenSpaceErrorDensity:.00278,dynamicScreenSpaceErrorFactor:4,dynamicScreenSpaceErrorHeightFalloff:.25,progressiveResolutionHeightFraction:.3,foveatedScreenSpaceError:!0,foveatedConeSize:.1,foveatedMinimumScreenSpaceErrorRelaxation:0,foveatedTimeDelay:.2,skipLevelOfDetail:!1,baseScreenSpaceError:1024,skipScreenSpaceErrorFactor:16,skipLevels:1,immediatelyLoadDesiredLevelOfDetail:!1,loadSiblings:!1,clippingPlanes:MC,classificationType:"NONE",ellipsoid:vE,pointCloudShading:IC,lightColor:void 0,imageBasedLighting:bC,environmentMapManager:o3,backFaceCulling:!0,enableShowOutline:!0,showOutline:!0,outlineColor:[0,0,0,1],vectorClassificationOnly:!1,vectorKeepDecodedPositions:!1,featureIdLabel:"featureId_0",instanceFeatureIdLabel:"instanceFeatureId_0",showCreditsOnScreen:!1,splitDirection:"NONE",projectTo2D:!1,debugHeatmapTilePropertyName:"",debugFreezeFrame:!1,debugColorizeTiles:!1,enableDebugWireframe:!1,debugWireframe:!1,debugShowBoundingVolume:!1,debugShowContentBoundingVolume:!1,debugShowViewerRequestVolume:!1,debugShowGeometricError:!1,debugShowRenderingStatistics:!1,debugShowMemoryUsage:!1,debugShowUrl:!1,customShaderInstanceClassStr:ci.defaultCustomShaderInstanceClassStr,styleJson:ci.defaultStyleJson,foveatedInterpolationCallbackStr:ci.defaultFoveatedInterpolationCallbackStr});let xe=ci;(t=>{t.createDefaultProps=()=>({position:c.reactArrayWithUndefined(void 0),rotation:c.reactArrayWithUndefined([0,0,0]),allowPicking:!1,czmFlattenedPlaneId:"",url:void 0,show:void 0,colorBlendMode:void 0,modelMatrix:c.reactArrayWithUndefined(void 0),modelUpAxis:void 0,modelForwardAxis:void 0,shadows:void 0,maximumScreenSpaceError:void 0,maximumMemoryUsage:void 0,cacheBytes:void 0,maximumCacheOverflowBytes:void 0,cullWithChildrenBounds:void 0,cullRequestsWhileMoving:void 0,cullRequestsWhileMovingMultiplier:void 0,preloadWhenHidden:void 0,preloadFlightDestinations:void 0,preferLeaves:void 0,dynamicScreenSpaceError:void 0,dynamicScreenSpaceErrorDensity:void 0,dynamicScreenSpaceErrorFactor:void 0,dynamicScreenSpaceErrorHeightFalloff:void 0,progressiveResolutionHeightFraction:void 0,foveatedScreenSpaceError:void 0,foveatedConeSize:void 0,foveatedMinimumScreenSpaceErrorRelaxation:void 0,foveatedInterpolationCallbackStr:void 0,foveatedTimeDelay:void 0,skipLevelOfDetail:void 0,baseScreenSpaceError:void 0,skipScreenSpaceErrorFactor:void 0,skipLevels:void 0,immediatelyLoadDesiredLevelOfDetail:void 0,loadSiblings:void 0,clippingPlanes:c.reactJsonWithUndefined(void 0),clippingPlanesId:"",clippingPolygons:c.reactJsonWithUndefined(void 0),clippingPolygonsId:c.reactArray([]),absoluteClippingPlanes:!1,classificationType:void 0,ellipsoid:c.reactArrayWithUndefined(void 0),pointCloudShading:c.reactJsonWithUndefined(void 0),lightColor:c.reactArrayWithUndefined(void 0),imageBasedLighting:c.reactJsonWithUndefined(void 0),environmentMapManager:c.reactJsonWithUndefined(void 0),backFaceCulling:void 0,enableShowOutline:void 0,showOutline:void 0,outlineColor:c.reactArrayWithUndefined(void 0),vectorClassificationOnly:void 0,vectorKeepDecodedPositions:void 0,featureIdLabel:void 0,instanceFeatureIdLabel:void 0,showCreditsOnScreen:void 0,splitDirection:void 0,projectTo2D:void 0,debugHeatmapTilePropertyName:void 0,debugFreezeFrame:void 0,debugColorizeTiles:void 0,enableDebugWireframe:void 0,debugWireframe:void 0,debugShowBoundingVolume:void 0,debugShowContentBoundingVolume:void 0,debugShowViewerRequestVolume:void 0,debugShowGeometricError:void 0,debugShowRenderingStatistics:void 0,debugShowMemoryUsage:void 0,debugShowUrl:void 0,customShaderInstanceClassStr:void 0,styleJson:c.reactJsonWithUndefined(void 0),autoSetPositionAsOrigin:void 0})})(xe||(xe={})),c.extendClassProps(xe.prototype,xe.createDefaultProps);function l3(t){t.toBlob(i=>{if(!i){console.warn("canvas.toBlob error!");return}var e=new ClipboardItem({"image/png":i});navigator.clipboard.write([e]).then(function(){alert("图像已复制到剪切板")}).catch(function(n){console.error("复制到剪切板失败: ",n)})})}const Md=class Md extends c.Destroyable{constructor(i,e){super(),this._geoPolygonCanvas=i,this._geoPolygon=e;{const n=(s,a)=>{const{canvas:l,canvasCtx:h,canvasWidth:u}=this._geoPolygonCanvas,{toMercatorPos:p}=Md,f=p(s),m=p(a),g=m[0]-f[0],y=m[1]-f[1],P=u>8192?8192:u;if(g<=0)return;const S=P*y/g|0;if(S<=0||S>8192)return;const{points:C}=this._geoPolygon;if(!C)throw new Error("!positions");const E=C.map(T=>{const I=p(T);return[(I[0]-f[0])*P/g,S-(I[1]-f[1])*S/y]});l.width=P,l.height=S,h.clearRect(0,0,P,S),h.beginPath();for(const T of E)h.lineTo(T[0],T[1]);h.closePath(),h.fillStyle="#FFFFFF",h.fill()},r=()=>{let s;do{const{canvas:a,canvasCtx:l,canvasWidth:h}=this._geoPolygonCanvas;l.clearRect(0,0,a.width,a.height);const{points:u}=this._geoPolygon;if(!u||u.length<3)break;const p=w.getMinMaxCorner(u),{minPos:f,maxPos:m}=p;n(f,m),s={rect:[f[0],f[1],m[0],m[1]],height:u[0][2]}}while(!1);this._geoPolygonCanvas.canvasGeoInfo=s,this.ad(c.nextAnimateFrame(()=>{this._geoPolygonCanvas.canvasChanged.emit()}))};r();const o=this.disposeVar(c.createNextAnimateFrameEvent(this._geoPolygon.pointsChanged,this._geoPolygonCanvas.canvasWidthChanged));this.dispose(o.disposableOn(r))}}};v(Md,"toMercatorPos",function(i){const[e,n,r]=i;return[e,n/Math.cos(n*Math.PI/180),r]});let $p=Md;const Ka=class Ka extends c.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new c.Event));v(this,"_geoPolygonWithId");v(this,"_canvas",document.createElement("canvas"));v(this,"_canvasCtx",this._canvas.getContext("2d"));v(this,"_canvasChanged",this.disposeVar(new c.Event));v(this,"_canvasGeoInfo",this.disposeVar(c.reactJsonWithUndefined(void 0)));this._geoPolygonWithId=this.disposeVar(new w.ESSceneObjectWithId),this.dispose(c.track([this._geoPolygonWithId,"id"],[this,"geoPolygonId"])),this.disposeVar(new c.ObjResettingWithEvent(this.geoPolygonWithId.sceneObjectChanged,()=>{const{sceneObject:r}=this.geoPolygonWithId;if(r&&r instanceof w.ESGeoPolygon)return new Ka.PolygonCanvasResetting(this,r)}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygonWithId(){return this._geoPolygonWithId}get canvas(){return this._canvas}get canvasCtx(){return this._canvasCtx}get canvasChanged(){return this._canvasChanged}get canvasGeoInfo(){return this._canvasGeoInfo.value}set canvasGeoInfo(e){this._canvasGeoInfo.value=e}get canvasGeoInfoChanged(){return this._canvasGeoInfo.changed}};v(Ka,"saveCanvasToClipboard",l3),v(Ka,"PolygonCanvasResetting",$p);let ir=Ka;(t=>{t.createDefaultProps=()=>({enabled:!0,geoPolygonId:"",canvasWidth:512})})(ir||(ir={})),c.extendClassProps(ir.prototype,ir.createDefaultProps);function c3(t,i){return class extends c.Destroyable{constructor(r,o){super();v(this,"_customShader",this.disposeVar(new d.CustomShader({uniforms:{u_discardRatio:{value:new d.Cartesian2(0,1),type:d.UniformType.VEC2},u_topColor:{value:new d.Color(1,1,1,1),type:d.UniformType.VEC4},u_bottomColor:{value:new d.Color(1,1,1,1),type:d.UniformType.VEC4}},varyings:{v_xbsjPos:d.VaryingType.VEC3,v_m:d.VaryingType.FLOAT},vertexShaderText:` // IMPORTANT: the function signature must use these parameter names. This
1410
1410
  // makes it easier for the runtime to generate the shader and make optimizations.
1411
1411
  void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput) {
1412
1412
  // code goes here. An empty body is a no-op.
@@ -2816,10 +2816,10 @@ void main()
2816
2816
  {
2817
2817
  out_FragColor = u_color;
2818
2818
  }
2819
- `,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},Ge,t)}class BN extends c.HasOwner{constructor(i){super(i);const{czmViewer:e}=this.owner;let n;this.dispose(()=>this.owner.hoveredPlaneType="none");const r=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const s=n=this._getStartInfo(o.pointerEvent);s&&(this.owner.hoveredPlaneType=s.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{n&&n.currentPlaneType!=="none"&&(r.restart(void 0,e,n),n=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const s=this._getStartInfo(o.pointerEvent);if(!s||s.currentPlaneType==="none")break;const{currentPlaneType:a}=s,l=[...this.owner.selfRotation];l[xi.rotationNum[a]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(c.createProcessingFromAsyncFunc(async(i,e,n)=>{const r=this.owner.circles[n.currentPlaneType];e.incrementDisabledInputStack(),i.disposer.dispose(()=>e.decrementDisabledInputStack()),i.disposer.dispose(e.pointerMoveEvent.don(o=>{if(n&&o.pointerEvent){const{offsetX:s,offsetY:a}=o.pointerEvent,l=[s,a],{currentPlaneType:h}=n;if(h==="none")return;const u=this.owner.getPlane(h);if(!n.currentV)return;const p=u.pick(l);if(!p||!this.owner.cartesian)return;const f=d.Cartesian3.subtract(n.currentV,this.owner.cartesian,new d.Cartesian3);d.Cartesian3.normalize(f,f);const m=d.Cartesian3.subtract(p,this.owner.cartesian,new d.Cartesian3);if(d.Cartesian3.normalize(m,m),!u.normal||!u.origin)return;const g=Bg(f,m,u.normal),y=Bg(u.origin,f,u.normal),P=Bg(u.origin,m,u.normal);{const S=[...this.owner.selfRotation];S[xi.rotationNum[h]]=n.startRotation+g,this.owner.selfRotation=S,r.circleStartRotation=y,r.circleEndRotation=P}}})),this.owner.movingPlaneType=n.currentPlaneType,i.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),i.disposer.dispose(()=>{r.circleStartRotation=0,r.circleEndRotation=0}),await c.step(i,o=>new Promise((s,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{s()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{s()}))}))}))}_pickPlane(i,e,n,r,o){const s=this.owner.cartesian;if(!s)return;const{selfRotation:a}=this.owner,l=this.owner.getPlane(n).pick(r);if(!l)return;const h=d.Cartesian3.distance(s,l),u=o/4,p=u*3/128;if(!(h>=u-p&&h<=u+p))return;const m=d.Cartesian3.distance(e.camera.positionWC,l);i.currentD2c<=m||(i.currentPlaneType=n,i.currentD2c=m,i.currentV=l,i.startRotation=a[xi.rotationNum[n]])}_getStartInfo(i){var u;const{czmViewer:e}=this.owner,n=(u=e.viewer)==null?void 0:u.scene;if(!this.owner.position||!this.owner.cartesian)return;const r=sn(n,this.owner.cartesian,this.owner.pixelSize);if(!r)return;const{offsetX:o,offsetY:s}=i,a=[o,s],l=i.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(h,n,"heading",a,r),this._pickPlane(h,n,"pitch",a,r),this._pickPlane(h,n,"roll",a,r),h}}function Bg(t,i,e){const n=d.Cartesian3.cross(i,t,new d.Cartesian3);if(n.equals(d.Cartesian3.ZERO))return 0;d.Cartesian3.normalize(n,n);const r=d.Cartesian3.dot(n,e);let o=Math.acos(d.Cartesian3.dot(t,i))*180/Math.PI;return o=r>0?o:-o,o}const Sr=class Sr extends li{constructor(e){super();v(this,"_hoveredPlaneType",this.disposeVar(c.react("none")));v(this,"_movingPlaneType",this.disposeVar(c.react("none")));v(this,"_circles");v(this,"_czmCameraModel");v(this,"_cartesian");v(this,"_planes",{heading:this.disposeVar(new YN(this)),pitch:this.disposeVar(new ZN(this)),roll:this.disposeVar(new QN(this))});v(this,"_rotatorRunningResetting");this._czmViewer=e;const n=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new c.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new BN(this)})),this._circles={heading:this._createRotatorCircle(n,"heading"),pitch:this._createRotatorCircle(n,"pitch"),roll:this._createRotatorCircle(n,"roll")},!!n.viewer){{const o=()=>{this._cartesian=this.position&&je(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(n)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new _t(e),this._czmCameraModel.url="${earthsdk3-assets-script-dir}/assets/glb/camera1/camera1.gltf",this._czmCameraModel.localRotation=[90,0,0],this._czmCameraModel.allowPicking=!1,this._czmCameraModel.opaquePass="OVERLAY",this.dispose(c.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],n=>n*.1)),this.dispose(c.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(c.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const n=()=>{const r=Ue({rotation:this.selfRotation});if(!r)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=d.Matrix4.toArray(r))};n(),this.dispose(this.selfRotationChanged.disposableOn(n))}{const n=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};n(),this.dispose(this.enabledChanged.disposableOn(n)),this.dispose(this.showHelperChanged.disposableOn(n))}}_createRotatorCircle(e,n){const r=this.ad(new Fs(e));this.dispose(c.track([r,"position"],[this,"position"])),this.dispose(c.track([r,"pixelSize"],[this,"pixelSize"])),this.dispose(c.track([r,"debug"],[this,"debug"])),this.dispose(c.track([r,"rotation"],[this,"rotation"]));{const o=()=>{r.selfRotation=Sr.rotationFuncs[n](this.selfRotation),r.circleRotation=this.selfRotation[Sr.rotationNum[n]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const s=this.movingPlaneType===n,a=this.hoveredPlaneType===n,h=[0,0,0,s||a?1:.8];h[Sr.rotationNum[n]]=1,r.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return r}};v(Sr,"rotationNum",{heading:0,pitch:1,roll:2}),v(Sr,"rotationFuncs",{heading:([e,n,r])=>[0,0,0],pitch:([e,n,r])=>[e,0,-90],roll:([e,n,r])=>[e,n+90,0]});let xi=Sr;(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),rotation:c.reactArray([0,0,0]),selfRotation:c.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(xi||(xi={})),c.extendClassProps(xi.prototype,xi.createDefaultProps);const Er=class Er extends c.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(i){this.positions=[i??Er.defaults.positions[0],this.stopPosition??Er.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(i){this.positions=[this.startPosition??Er.defaults.positions[0],i??Er.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(i,e){if(super(),!i.viewer)return;const r=this.ad(new Le(i,e));r.arcType="RHUMB";const o=this.ad(new pi(i,e));this.ad(c.track([r,"allowPicking"],[this,"allowPicking"])),this.ad(c.track([o,"allowPicking"],[this,"allowPicking"]));{const s=()=>{r.show=o.show=this.show};s(),this.ad(this.showChanged.don(s))}{const s=()=>{r.width=this.width/2,o.pixelSize=this.width};s(),this.ad(this.widthChanged.don(s))}{const s=()=>{r.color=o.color=this.color};s(),this.ad(this.colorChanged.don(s))}{const s=()=>{r.positions=this.positions,o.position=this.stopPosition};s(),this.dispose(this.startPositionChanged.disposableOn(s)),this.dispose(this.stopPositionChanged.disposableOn(s))}}};v(Er,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let mr=Er;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:c.reactPositions(t.defaults.positions),width:10,color:c.reactArray([1,0,0,1])})})(mr||(mr={})),c.extendClassProps(mr.prototype,mr.createDefaultProps);class bn extends li{constructor(e){super();v(this,"_lastPosition");v(this,"_opInfo",{step:this.ad(c.react(!1)),moved:this.ad(c.react(!1)),constraintMode:this.disposeVar(c.react("none")),originPosition:this.disposeVar(c.reactArray([0,0,0])),originHeading:this.disposeVar(c.react(0)),originDimensions:this.disposeVar(c.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(c.reactArray([0,0,0])),movingPosition:this.disposeVar(c.reactArray([0,0,0])),targetPosition:this.disposeVar(c.reactArray([0,0,0])),targetHeading:this.disposeVar(c.react(0))});v(this,"_scaleAxis");v(this,"_pickingXYProcessing",e=>this.disposeVar(new c.Processing((n,r,o)=>{const s=[0,0,0],a=new d.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const h=_i(c.getDomEventCurrentTargetPos(l.pointerEvent));if(!Ir(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Tr(a,s),this._opInfo.constraintMode.value==="x"?Fo(this._opInfo.originPosition.value,this._opInfo.originHeading.value,s,s):this._opInfo.constraintMode.value==="y"?Fo(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,s,s):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=s,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const u=[0,0,0];w.geoRhumbDestination(s,o,r,u),this._opInfo.targetPosition.value=u;let p=this.scale[0],f=this.scale[1];const m=w.geoDistance(u,this._opInfo.originPosition.value)-w.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...u];const g=this._opInfo.originDimensions.value[0]/100;m!=0&&this._opInfo.constraintMode.value==="y"&&(m>0?p+=g:p-=g),m!=0&&this._opInfo.constraintMode.value==="x"&&(m>0?f+=g:f-=g),p<=0&&(p+=g),f<=0&&(f+=g),this.scale=[p??1,f??1,this.scale[2]??1]})})));v(this,"_pickingZProcessing",e=>this.disposeVar(new c.Processing(()=>{const n=new d.Cartesian3,r=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const s=_i(c.getDomEventCurrentTargetPos(o.pointerEvent));if(!qc(e.viewer.scene,je(this._opInfo.originPosition.value),s,n))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(fe(n,r)){this._opInfo.movingPosition.value=r;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],r[2]+a];let h=this.scale[2];const u=r[2]-this._lastPosition[2];this._lastPosition=[...r];const p=this._opInfo.originDimensions.value[0]/100;u!=0&&(u>0?h+=p:h-=p),h<=0&&(h+=p),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const n=e.viewer;if(!n)return;const{scene:r}=n;this.ad(new Jd(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:u,yAxis:p,xAxis:f}=this._scaleAxis,m=this._opInfo.constraintMode.value,g=this._opInfo.step;u.color=[0,0,1,.99],p.color=[0,1,0,.99],f.color=[1,0,0,.99],m==="x"?f.color=g?[1,1,0,.8]:[1,1,0,.99]:m==="y"?p.color=g?[1,1,0,.8]:[1,1,0,.99]:m==="z"&&(u.color=g?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:p=bn.defaults.position}=this,{zAxis:f,yAxis:m,xAxis:g}=this._scaleAxis;f.startPosition=m.startPosition=g.startPosition=p;const[y,P,S]=p;f.stopPosition=[y,P,S+this._opInfo.originDimensions.value[2]];const C=w.geoRhumbDestination(p,this._opInfo.originDimensions.value[0],90);C&&(g.stopPosition=C);const E=w.geoRhumbDestination(p,this._opInfo.originDimensions.value[1],0);E&&(m.stopPosition=E)};h();const u=this.ad(c.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(u.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((u,p)=>u===this._opInfo.targetPosition.value[p])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),s=this._pickingZProcessing(e),a=this.disposeVar(c.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await c.step(h,async u=>{const p=()=>{const g=[...this.position??bn.defaults.position];e.editingHeightOffset&&(g[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=g};u.disposer.dispose((p(),this.positionChanged.disposableOn(p)));const f={constraintMode:"none",startDragPos:[0,0,0]},m=g=>{if(!this.position)return;const y={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Vd(g,r,y,this.axisSnapPixelSize,f),this._opInfo.constraintMode.value=f.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=f.startDragPos};u.disposer.dispose(e.pointerMoveEvent.disposableOn(g=>{g.pointerEvent&&m(g.pointerEvent)})),await c.step(u,g=>new Promise((y,P)=>{g.disposer.dispose(P),g.disposer.dispose(e.pointerDownEvent.don(S=>{S.pointerEvent&&m(S.pointerEvent),S.pointerEvent&&S.pointerEvent.button===0&&f.constraintMode!=="none"&&y()}))}))}),this._opInfo.step.value=!1,await c.step(h,async u=>{if(e.incrementDisabledInputStack(),u.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const p=w.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),f=w.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,p,f),u.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(s.restart(),u.disposer.dispose(()=>s.cancel()));await c.step(u,p=>new Promise((f,m)=>{p.disposer.dispose(m),p.disposer.dispose(e.pointerUpEvent.don(()=>{f()})),p.disposer.dispose(e.pointerOutEvent.don(()=>{f()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,n){const r=this.ad(new mr(e));return r.width=10,this.ad(c.track([r,"show"],[this,"enabled"])),r}}(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),scale:c.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(bn||(bn={})),c.extendClassProps(bn.prototype,bn.createDefaultProps);const xo=class xo extends Vt{constructor(e){super();v(this,"_editingPoints",this.disposeVar(new c.ObservableArray));v(this,"_cancelEvent",this.disposeVar(new c.Event));v(this,"_currentProcess");v(this,"_menuPoiEnabled",this.disposeVar(c.react(!1)));v(this,"_status",this.disposeVar(c.react("None")));v(this,"_positionsChanged",this.ad(new c.Event));v(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(n=>{for(let{start:r,deleteCount:o,items:s}of n){for(const a of s)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=r;a<r+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let n of this.editingPoints)n.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(n=>{this.ad(c.nextAnimateFrame(()=>{var r;((r=n.pointerEvent)==null?void 0:r.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(n=>{this._currentProcess&&(n?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const n=()=>{this.polylineShow=this.czmViewer.editingLineShow};n(),this.ad(this.czmViewer.editingLineShowChanged.don(n))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let n of this._editingPoints)n.position&&e.push([...n.position]);return e}resetPositions(e){if(this.enabled??xo.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const n=e||[];return!(n.length===this.editingPoints.length&&n.every((r,o)=>r.every((s,a)=>{const l=this.editingPoints.get(o);return l.position&&l.position[a]===s})))}forceResetPositions(e){(this.enabled??xo.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const n=this.ad(new Le(e));this.ad(c.track([n,"color"],[this,"polylineColor"])),this.ad(c.track([n,"width"],[this,"polylineWidth"])),this.ad(c.track([n,"show"],[this,"polylineShow"])),this.ad(c.track([n,"arcType"],[this,"polylineArcType"])),this.ad(c.track([n,"loop"],[this,"loop"]));{const r=()=>{const o=[];for(const s of this.getPositions())s[2]-=e.editingHeightOffset??0,o.push(s);n.positions=o};r(),this.ad(this.positionsChanged.don(r))}}_createCursorInfo(e){const n=this._cursorInfo=this.ad(new c.CursorInfo(e.container,c.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const r=this.status;if(n){if(!this.hideCursorInfo){n.show=!1;return}r==="Adding"?(n.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",n.show=!0):r==="Modifying"||r==="Modifying_Point"?(n.text="Esc键或左键双击:退出编辑状态",n.show=!0):r==="None"&&(n.text="",n.show=!1)}}))}};v(xo,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),v(xo,"defaults",{...Vt.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:xo.baseImageUrl+"point-green.png",otherControlPointImageUrl:xo.baseImageUrl+"point-yellow.png"});let vi=xo;(t=>{t.createDefaultProps=()=>({...Vt.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:c.reactArray([1,1,1,1]),polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,firstControlPointImageUrl:t.baseImageUrl+"point-green.png",otherControlPointImageUrl:t.baseImageUrl+"point-yellow.png",hideCursorInfo:!1,middlePointShow:!0})})(vi||(vi={})),c.extendClassProps(vi.prototype,vi.createDefaultProps);let jN=0;class S1 extends c.Destroyable{constructor(e,n){super();v(this,"_position",this.disposeVar(c.reactArrayWithUndefined(void 0)));v(this,"_id",jN++);v(this,"_menuPoi");n&&(this.position=n),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const r=this._menuPoi=this.ad(new Hr(e.czmViewer));r.enabled=!1,this.ad(c.track([r,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){r.position=void 0;return}const s=[...this.position];s[2]-=e.czmViewer.editingHeightOffset??0,r.position=s,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const s=e.editingPoints.indexOf(this)+1;s!==0&&(r.title=`控制点${s}`,s===1?r.imageUri=e.firstControlPointImageUrl??vi.defaults.firstControlPointImageUrl:r.imageUri=e.otherControlPointImageUrl??vi.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class E1 extends S1{constructor(i,e){super(i,e)}}class at extends vi{constructor(e){super(e);v(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new c.Event));v(this,"placeEditing");if(!e.viewer)return;const n=this.placeEditing=this.ad(new Di(e));n.enabled=!1,this.currentProcess=this.disposeVar(c.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??at.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??at.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await r.promise(c.step(r,async o=>{const s=o.disposer,a=s.ad(this._addingEditingProcessing());s.dispose(()=>"adding canceled!"),s.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(l=>{s.dispose(a.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new E1(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??at.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},n=c.createProcessingFromAsyncFunc(async r=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await r.promise(c.step(r,async a=>{let l;!e()&&(l=a.disposer.disposeVar(new e4(this,o)));const u=a.disposer.disposeVar(new i4(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>u.do())),await a.promise(new Promise(p=>{l&&a.disposer.dispose(l.overEvent.disposableOnce(f=>{f?(o++,p(!0)):p(!1)})),a.disposer.dispose(u.overEvent.disposableOnce(f=>{f?(o--,p(!0)):p(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>p(!1)))}))})))break;while(!0)});return n.start(),n}}(t=>{t.createDefaultProps=()=>({...vi.createDefaultProps()})})(at||(at={})),c.extendClassProps(at.prototype,at.createDefaultProps);class e4 extends c.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new c.Event));const{placeEditing:r}=e;let o=new E1(e,void 0);e.editingPoints.splice(n,0,o);const s=()=>{(e.debug??at.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(r.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(c.track([o,"position"],[r,"position"])),r.enabled=!0;let a=!1;const l=()=>{s(),this._overEvent.emit(!1)};this.dispose(()=>{r.enabled=!1,!a&&l()}),this.dispose(r.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??at.defaults.debug)&&console.log(`PointAdding creating! index(${n})`),this.dispose(()=>{(e.debug??at.defaults.debug)&&console.log(`PointAdding destroying! index(${n})`)})}get overEvent(){return this._overEvent}}function t4(t,i){const e=t.editingPoints,n=i-1;return n<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(n,1),!0)}class i4 extends c.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new c.Event));v(this,"_doEvent",this.disposeVar(new c.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(t4(e,n)))),(e.debug??at.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${n})`),this.dispose(()=>{(e.debug??at.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${n})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class A1 extends at{constructor(i){super(i),this.loop=!1}}class T1 extends at{constructor(i){super(i),this.loop=!0}}class _d extends S1{constructor(i,e){super(i,e);{const{menuPoi:n}=this;n.commands=[["add","增加控制点","",Oe.baseImageUrl+"add.png"],["delete","删除当前控制点","",Oe.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Oe.baseImageUrl+"modify.png"]],n.clickCommandName="modify",n.rightClickCommandName="delete",this.dispose(n.commandEvent.disposableOn(r=>{i.menuPoiCommand(this,r)})),this.dispose(n.dbclickEvent.disposableOn(()=>{i.menuPoiCommand(this,"dbClick")}))}if(i.middlePointShow){const n=this.ad(new Ui(i.czmViewer));{n.imageUri=i.firstControlPointImageUrl??Oe.defaults.firstControlPointImageUrl,n.tooltip="点击增加一个控制点",n.bgColor=[0,0,0,.6],n.fgColor=[1,1,1,1],n.size=[8,8],n.originRatioAndOffset=[.5,.5,0,0];{const r=()=>{if(!(i.enabled??Oe.defaults.enabled)){n.enabled=!1,n.show=!1;return}do{const s=i.editingPoints.indexOf(this);if(s===-1)break;const a=i.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(i.loop??Oe.defaults.loop)&&s+1>=a)break;const h=this.position;if(!h)break;let u=(s+1)%a;const f=i.editingPoints.get(u).position;if(!f)break;const m=Hd(h,f);if(!m)break;m[2]-=i.czmViewer.editingHeightOffset??0,n.position=m;const g=i.editingPoints.length<(i.maxPointsNum??Oe.defaults.maxPointsNum);n.enabled=g,n.show=g;return}while(!1);n.enabled=!1,n.show=!1};r(),this.dispose(i.positionsChanged.disposableOn(r)),this.dispose(i.loopChanged.disposableOn(r)),this.dispose(i.enabledChanged.disposableOn(r))}this.dispose(n.clickEvent.disposableOn(r=>{if(r.button!==0||i.editingPoints.length>=(i.maxPointsNum??Oe.defaults.maxPointsNum))return;const o=i.editingPoints.indexOf(this);if(o===-1)return;const s=n.position?[...n.position]:void 0;s&&(s[2]+=i.czmViewer.editingHeightOffset??0);let a=new _d(i,s);i.editingPoints.splice(o+1,0,a),i.modify(a)}))}}}}class Oe extends vi{constructor(e){super(e);v(this,"_menuPoiCommand",this.disposeVar(new c.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new c.Event));v(this,"_overEvent",this.disposeVar(new c.Event));v(this,"translationEditing");{const r=this.ad(c.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new c.ObjResettingWithEvent(r,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new n4(this.editingPoints.get(0),this)}))}const n=this.translationEditing=this.disposeVar(new In(e));n.enabled=!1,this.currentProcess=this.disposeVar(c.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??Oe.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??Oe.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await r.promise(c.step(r,async s=>{const a=s.disposer,l=a.ad(new o4(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(u=>l.modify(u))),await s.promise(new Promise(u=>{a.dispose(l.overEvent.disposableOnce(p=>{u(p)}))}))})),o===-1){(this.debug??Oe.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??Oe.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??Oe.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let l=o%this.editingPoints.length;const u=this.editingPoints.get(l).position;if(!u)return;const p=Hd(a,u);if(!p)return;p&&(p[2]+=this.czmViewer.editingHeightOffset??0);let f=new _d(this,p);this.editingPoints.splice(o,0,f)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,n){this._menuPoiCommand.emit(e,n)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new _d(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...vi.createDefaultProps(),moveWithFirstPosition:!1})})(Oe||(Oe={})),c.extendClassProps(Oe.prototype,Oe.createDefaultProps);class n4 extends c.Destroyable{constructor(i,e){super(),this._firstPositionEditor=i,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((n,r)=>{if(n===void 0||r===void 0)return;var o=[n[0]-r[0],n[1]-r[1],n[2]-r[2]];const s=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<s;a++){const l=this.multiPointsModifyEditing.editingPoints.get(a),h=l.position;h!==void 0&&(l.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class o4 extends c.Destroyable{constructor(e){super();v(this,"_overEvent",this.disposeVar(new c.Event));v(this,"_cancelEvent",this.disposeVar(new c.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new c.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let n;const r=()=>{n==null||n.destroy(),n=void 0,e.status="Modifying"};this.dispose(r);const o=s=>{r(),e.status="Modifying_Point",n=new r4(e,s),n.dispose(n.overEvent.disposableOn(()=>{r()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((s,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(s);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(a==="modify")o(s);else if(a==="add"){const l=e.editingPoints.indexOf(s);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class r4 extends c.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new c.Event));this._modifying=e,this._posEditor=n,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:r}=this._modifying;if(r.enabled=!0,r.heading=0,this.dispose(()=>{r.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");r.position=this._posEditor.position,this.dispose(c.track([this._posEditor,"position"],[r,"position"])),this.dispose(r.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class M1 extends Oe{constructor(i){super(i),this.loop=!1}}class I1 extends Oe{constructor(i){super(i),this.loop=!0}}class ks extends at{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(r<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...at.createDefaultProps(),startPosition:c.reactArrayWithUndefined(void 0),endPosition:c.reactArrayWithUndefined(void 0),rotation:c.reactArray([90,0,0]),distance:c.react(1)})})(ks||(ks={})),c.extendClassProps(ks.prototype,ks.createDefaultProps);class gr extends Oe{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",Oe.baseImageUrl+"add.png"],["delete","删除当前控制点","",Oe.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Oe.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let l of this.editingPoints)l.menuPoi.commands=[["delete","删除当前控制点","",Oe.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Oe.baseImageUrl+"modify.png"]];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(Math.abs(r)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Oe.createDefaultProps(),startPosition:c.reactArrayWithUndefined(void 0),endPosition:c.reactArrayWithUndefined(void 0),rotation:c.reactArray([0,0,0]),distance:c.react(0)})})(gr||(gr={})),c.extendClassProps(gr.prototype,gr.createDefaultProps);class b1 extends at{constructor(i){super(i),this.loop=!1,this.polylineShow=!1}}class D1 extends Oe{constructor(i){super(i),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class Ls extends at{constructor(i){super(i),i.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(i){const e=this.ad(new Ai(i));e.topOrBottom="bottom",this.ad(c.track([e,"color"],[this,"polylineColor"])),this.ad(c.track([e,"width"],[this,"polylineWidth"])),this.ad(c.track([e,"show"],[this,"polylineShow"])),this.ad(c.track([e,"arcType"],[this,"polylineArcType"])),this.ad(c.track([e,"loop"],[this,"loop"])),this.ad(c.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...at.createDefaultProps(),visibilityPositions:c.reactPositionsSet(void 0)})})(Ls||(Ls={})),c.extendClassProps(Ls.prototype,Ls.createDefaultProps);class zs extends Oe{constructor(i){if(super(i),!!i.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(i){const e=this.ad(new Ai(i));e.topOrBottom="bottom",this.ad(c.track([e,"color"],[this,"polylineColor"])),this.ad(c.track([e,"width"],[this,"polylineWidth"])),this.ad(c.track([e,"show"],[this,"polylineShow"])),this.ad(c.track([e,"arcType"],[this,"polylineArcType"])),this.ad(c.track([e,"loop"],[this,"loop"])),this.ad(c.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Oe.createDefaultProps(),visibilityPositions:c.reactPositionsSet(void 0)})})(zs||(zs={})),c.extendClassProps(zs.prototype,zs.createDefaultProps);class x1 extends gr{constructor(i){super(i),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class kt extends w.EngineObject{constructor(e,n,r){super(e,n,r??!0);v(this,"_supportEditing",this.disposeVar(c.react(!0)));v(this,"_currentEditing",this.disposeVar(c.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof at&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof Di&&this.currentEditing.enabled&&(e.position=[0,0,0])}}))}get supportEditing(){return this._supportEditing.value}set supportEditing(e){this._supportEditing.value=e}get supportEditingChanged(){return this._supportEditing.changed}get currentEditing(){return this._currentEditing.value}set currentEditing(e){this._currentEditing.value=e}get currentEditingChanged(){return this._currentEditing.changed}}const Ac=class Ac extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new Di(e));this.ad(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)==2&&(n.enabled=!0)}));do{if(Reflect.has(i,"position")){this.ad(c.bind([n,"position"],[i,"position"])),n.enabled=!n.position||w.equalsN3(n.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};v(Ac,"type",Ac.registerEditing("ESCesiumViewer",w.ESJEditingMode.Place,Ac));let jg=Ac;const Tc=class Tc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new xi(e));n.rotation=[90,0,0],this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);r&&(this.ad(c.bind([n,"position"],[r.czm3DTiles,"position"])),this.ad(c.bind([n,"selfRotation"],[i,"rotation"])))});break}if(Reflect.has(i,"position")&&Reflect.has(i,"rotation")){this.ad(c.bind([n,"position"],[i,"position"])),this.ad(c.bind([n,"selfRotation"],[i,"rotation"]));break}this.supportEditing=!1}while(!1)}};v(Tc,"type",Tc.registerEditing("ESCesiumViewer",w.ESJEditingMode.Rotation,Tc));let ev=Tc;const Mc=class Mc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new bn(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")&&Reflect.has(i,"scale")){this.ad(c.bind([n,"position"],[i,"position"])),this.ad(c.bind([n,"scale"],[i,"scale"]));break}this.supportEditing=!1}while(!1)}};v(Mc,"type",Mc.registerEditing("ESCesiumViewer",w.ESJEditingMode.Scale,Mc));let tv=Mc;const Ic=class Ic extends kt{constructor(i,e){super(Array.isArray(i)?i[0]:i,e,!0);const n=this.currentEditing=this.ad(new In(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(i)){const r=[];for(let o=0;o<i.length;o++){const s=i[o];Reflect.has(s,"position")?r.push(s.position):s.points&&r.push(...s.points)}n.position=w.getMinMaxCorner(r).center,this.ad(n.positionChanged.disposableOn((o,s)=>{if(!(!o||!s)){var a=Gt({originPosition:s},[o])[0][0];i.forEach(l=>{if(Reflect.has(l,"position")){const h=Gt({originPosition:s},[l.position])[0][0];l.position=Un({originPosition:s},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const h=Gt({originPosition:s},l.points)[0];l.points=Un({originPosition:s},h.map(u=>[u[0]+a[0],u[1]+a[1],u[2]+a[2]]))[0]}})}}));break}if(Reflect.has(i,"position")){this.ad(c.bind([n,"position"],[i,"position"]));break}if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);this.ad(c.bind([n,"position"],[r.czm3DTiles,"position"]))});break}if(Reflect.has(i,"points")){if(i.points===void 0||i.points.length===0){this.destroy();break}n.position=w.getMinMaxCorner(i.points).center,this.ad(n.positionChanged.disposableOn((r,o)=>{if(r===void 0||o===void 0||i.points===void 0||i.points.length===0){this.destroy();return}var s=Gt({originPosition:o},[r])[0][0];const a=Gt({originPosition:o},i.points)[0];i.points=Un({originPosition:o},a.map(l=>[l[0]+s[0],l[1]+s[1],l[2]+s[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};v(Ic,"type",Ic.registerEditing("ESCesiumViewer",w.ESJEditingMode.Translation,Ic));let Pd=Ic;const bc=class bc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new ks(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")){this.ad(c.bind([n,"startPosition"],[i,"position"])),this.ad(ut([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(c.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(c.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(c.bind([n,"distance"],[i,"distance"]));break}const r=je(i.position);if(d.Cartesian3.ZERO.equals(r)||!e.viewer)return;n.distance=sn(e.viewer.scene,r,100)??1}while(!1);break}if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1);n.startPosition&&!w.equalsN3(n.startPosition,[0,0,0])&&n.init(),n.enabled=!0}};v(bc,"type",bc.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsAppend,bc));let iv=bc;const Dc=class Dc extends kt{constructor(i,e){var o;if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new gr(e));do{if(Reflect.has(i,"position")){this.ad(c.bind([n,"startPosition"],[i,"position"])),this.ad(ut([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(c.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(c.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(c.bind([n,"distance"],[i,"distance"]));break}const s=je(i.position);if(d.Cartesian3.ZERO.equals(s)||!e.viewer)return;n.distance=sn(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(i,"points")&&((o=i.points)==null?void 0:o.length)==2){n.moveWithFirstPosition=!1;const s=()=>n.positions=i.points??[];s(),this.ad(i.pointsChanged.don(()=>!n.enabled&&s())),this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(c.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Dc,"type",Dc.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsModify,Dc));let nv=Dc;const xc=class xc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new T1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(xc,"type",xc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularAppend,xc));let ov=xc;const Rc=class Rc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new I1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Rc,"type",Rc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularInsert,Rc));let rv=Rc;const Fc=class Fc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new A1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Fc,"type",Fc.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringAppend,Fc));let sv=Fc;const kc=class kc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new M1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(kc,"type",kc.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringInsert,kc));let av=kc;const Lc=class Lc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new b1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Lc,"type",Lc.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterAppend,Lc));let lv=Lc;const zc=class zc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new D1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(zc,"type",zc.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterModify,zc));let cv=zc;const Oc=class Oc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new Ls(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Oc,"type",Oc.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityAppend,Oc));let hv=Oc;const Nc=class Nc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new zs(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Nc,"type",Nc.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityModify,Nc));let dv=Nc;const Vc=class Vc extends kt{constructor(i,e){if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new x1(e));do{if(Reflect.has(i,"points")){const o=Reflect.has(i,"extrudedHeight"),s=Reflect.has(i,"height"),a=Reflect.has(i,"perPositionHeight")?i.perPositionHeight:!o,l=i instanceof w.ESClassification||i instanceof w.ESPolygonFence;let h=w.getMinMaxCorner(i.points).center,u=[...h],p=l?i.points[0][2]:0;a?o?u[2]=i.extrudedHeight:u[2]=i.height+p:(s&&(h[2]=i.height),o&&(u[2]=i.extrudedHeight)),n.startPosition=h,n.distance=u[2]-h[2],n.moveWithFirstPosition=!1;let f=[...h];this.ad(n.positionsChanged.don(()=>{n.positions.length===2&&(a?(i.points=i.points.map(m=>[m[0],m[1],m[2]+n.positions[0][2]-f[2]]),o?i.extrudedHeight=n.positions[1][2]:s&&(i.height=n.positions[1][2]-(l?n.positions[0][2]:0))):(s&&(i.height=n.positions[0][2]),o&&(i.extrudedHeight=n.positions[1][2])),f=[...n.positions[0]])}));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(c.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Vc,"type",Vc.registerEditing("ESCesiumViewer",w.ESJEditingMode.HeightModify,Vc));let uv=Vc;function R1(){const t=c.createProcessingFromAsyncFunc(async(i,e,n,r,o=!0)=>{const s=Array.isArray(r)?[...r]:[r],a=n.editingID;e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"start",add:{modes:s}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"end",add:{modes:s}}),t.isRunning&&t.cancel()};i.disposer.ad(l),i.disposer.ad(n.toDestroyEvent.don(l)),i.disposer.ad(e.keyDownEvent.don(u=>{u.code=="Escape"&&l()}));let h=0;do{const u=s[h%s.length],p=await c.step(i,async f=>{const m=f.disposer,g=w.EngineObject.contextEditing.getEngineObjConstructor(u,e.typeName);if(!g||!n.supportEditingModes().includes(u))return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:h}}),e.notSupportEditingCount++,!1;const y=new g(n,e);if(m.ad(()=>{!y.isDestroyed()&&y.destroy()}),y.supportEditing)e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"changed",add:{cMode:u,cIndex:h}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:h}}),e.notSupportEditingCount++,!1;return await f.promise(new Promise(S=>{y.isDestroyed()&&S(!1),m.ad(y.toDestroyEvent.don(()=>{console.log(`编辑模式${u}结束`),S(!1)})),o&&(m.ad(e.keyDownEvent.don(C=>{C.code=="Space"&&(console.log(`编辑模式${u}结束`),S(!1))})),m.ad(e.dblclickEvent.don(()=>S(!0))))}))});if(o&&p||!o&&h==s.length-1||e.notSupportEditingCount==s.length)break;h++}while(!0)});return t}function F1(){const t=c.createProcessingFromAsyncFunc(async(i,e,n,r)=>{e.editingEvent.emit({objectIDs:n.map(a=>a.id.split("_")[0]),editingID:r,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:n.map(a=>a.id.split("_")[0]),editingID:r,type:"end"}),t.isRunning&&t.cancel()};i.disposer.ad(o),i.disposer.ad(e.keyDownEvent.don(a=>{a.code=="Escape"&&o()}));const s=new Pd(n,e);i.disposer.ad(()=>{!s.isDestroyed()&&s.destroy()}),await i.promise(new Promise(a=>{s.isDestroyed()&&a(),i.disposer.ad(s.toDestroyEvent.don(()=>{console.log("移动结束"),a()})),i.disposer.ad(e.dblclickEvent.don(()=>a()))}))});return t}R.copyright=void 0;try{const t="earthsdk3-cesium",i="3.0.7-beta.14",e="2025-06-10T03:06:51.000Z",n="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="c8c322db6bbdb77c3b35c75f5d7473a074c14e6c",a=((Date.now()-1749524811e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${i}.${o.slice(0,8)}.${e} (距今${a}个小时)
2819
+ `,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},Ge,t)}class BN extends c.HasOwner{constructor(i){super(i);const{czmViewer:e}=this.owner;let n;this.dispose(()=>this.owner.hoveredPlaneType="none");const r=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const s=n=this._getStartInfo(o.pointerEvent);s&&(this.owner.hoveredPlaneType=s.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{n&&n.currentPlaneType!=="none"&&(r.restart(void 0,e,n),n=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const s=this._getStartInfo(o.pointerEvent);if(!s||s.currentPlaneType==="none")break;const{currentPlaneType:a}=s,l=[...this.owner.selfRotation];l[xi.rotationNum[a]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(c.createProcessingFromAsyncFunc(async(i,e,n)=>{const r=this.owner.circles[n.currentPlaneType];e.incrementDisabledInputStack(),i.disposer.dispose(()=>e.decrementDisabledInputStack()),i.disposer.dispose(e.pointerMoveEvent.don(o=>{if(n&&o.pointerEvent){const{offsetX:s,offsetY:a}=o.pointerEvent,l=[s,a],{currentPlaneType:h}=n;if(h==="none")return;const u=this.owner.getPlane(h);if(!n.currentV)return;const p=u.pick(l);if(!p||!this.owner.cartesian)return;const f=d.Cartesian3.subtract(n.currentV,this.owner.cartesian,new d.Cartesian3);d.Cartesian3.normalize(f,f);const m=d.Cartesian3.subtract(p,this.owner.cartesian,new d.Cartesian3);if(d.Cartesian3.normalize(m,m),!u.normal||!u.origin)return;const g=Bg(f,m,u.normal),y=Bg(u.origin,f,u.normal),P=Bg(u.origin,m,u.normal);{const S=[...this.owner.selfRotation];S[xi.rotationNum[h]]=n.startRotation+g,this.owner.selfRotation=S,r.circleStartRotation=y,r.circleEndRotation=P}}})),this.owner.movingPlaneType=n.currentPlaneType,i.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),i.disposer.dispose(()=>{r.circleStartRotation=0,r.circleEndRotation=0}),await c.step(i,o=>new Promise((s,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{s()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{s()}))}))}))}_pickPlane(i,e,n,r,o){const s=this.owner.cartesian;if(!s)return;const{selfRotation:a}=this.owner,l=this.owner.getPlane(n).pick(r);if(!l)return;const h=d.Cartesian3.distance(s,l),u=o/4,p=u*3/128;if(!(h>=u-p&&h<=u+p))return;const m=d.Cartesian3.distance(e.camera.positionWC,l);i.currentD2c<=m||(i.currentPlaneType=n,i.currentD2c=m,i.currentV=l,i.startRotation=a[xi.rotationNum[n]])}_getStartInfo(i){var u;const{czmViewer:e}=this.owner,n=(u=e.viewer)==null?void 0:u.scene;if(!this.owner.position||!this.owner.cartesian)return;const r=sn(n,this.owner.cartesian,this.owner.pixelSize);if(!r)return;const{offsetX:o,offsetY:s}=i,a=[o,s],l=i.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(h,n,"heading",a,r),this._pickPlane(h,n,"pitch",a,r),this._pickPlane(h,n,"roll",a,r),h}}function Bg(t,i,e){const n=d.Cartesian3.cross(i,t,new d.Cartesian3);if(n.equals(d.Cartesian3.ZERO))return 0;d.Cartesian3.normalize(n,n);const r=d.Cartesian3.dot(n,e);let o=Math.acos(d.Cartesian3.dot(t,i))*180/Math.PI;return o=r>0?o:-o,o}const Sr=class Sr extends li{constructor(e){super();v(this,"_hoveredPlaneType",this.disposeVar(c.react("none")));v(this,"_movingPlaneType",this.disposeVar(c.react("none")));v(this,"_circles");v(this,"_czmCameraModel");v(this,"_cartesian");v(this,"_planes",{heading:this.disposeVar(new YN(this)),pitch:this.disposeVar(new ZN(this)),roll:this.disposeVar(new QN(this))});v(this,"_rotatorRunningResetting");this._czmViewer=e;const n=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new c.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new BN(this)})),this._circles={heading:this._createRotatorCircle(n,"heading"),pitch:this._createRotatorCircle(n,"pitch"),roll:this._createRotatorCircle(n,"roll")},!!n.viewer){{const o=()=>{this._cartesian=this.position&&je(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(n)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new _t(e),this._czmCameraModel.url="${earthsdk3-assets-script-dir}/assets/glb/camera1/camera1.gltf",this._czmCameraModel.localRotation=[90,0,0],this._czmCameraModel.allowPicking=!1,this._czmCameraModel.opaquePass="OVERLAY",this.dispose(c.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],n=>n*.1)),this.dispose(c.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(c.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const n=()=>{const r=Ue({rotation:this.selfRotation});if(!r)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=d.Matrix4.toArray(r))};n(),this.dispose(this.selfRotationChanged.disposableOn(n))}{const n=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};n(),this.dispose(this.enabledChanged.disposableOn(n)),this.dispose(this.showHelperChanged.disposableOn(n))}}_createRotatorCircle(e,n){const r=this.ad(new Fs(e));this.dispose(c.track([r,"position"],[this,"position"])),this.dispose(c.track([r,"pixelSize"],[this,"pixelSize"])),this.dispose(c.track([r,"debug"],[this,"debug"])),this.dispose(c.track([r,"rotation"],[this,"rotation"]));{const o=()=>{r.selfRotation=Sr.rotationFuncs[n](this.selfRotation),r.circleRotation=this.selfRotation[Sr.rotationNum[n]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const s=this.movingPlaneType===n,a=this.hoveredPlaneType===n,h=[0,0,0,s||a?1:.8];h[Sr.rotationNum[n]]=1,r.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return r}};v(Sr,"rotationNum",{heading:0,pitch:1,roll:2}),v(Sr,"rotationFuncs",{heading:([e,n,r])=>[0,0,0],pitch:([e,n,r])=>[e,0,-90],roll:([e,n,r])=>[e,n+90,0]});let xi=Sr;(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),rotation:c.reactArray([0,0,0]),selfRotation:c.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(xi||(xi={})),c.extendClassProps(xi.prototype,xi.createDefaultProps);const Er=class Er extends c.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(i){this.positions=[i??Er.defaults.positions[0],this.stopPosition??Er.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(i){this.positions=[this.startPosition??Er.defaults.positions[0],i??Er.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(i,e){if(super(),!i.viewer)return;const r=this.ad(new Le(i,e));r.arcType="RHUMB";const o=this.ad(new pi(i,e));this.ad(c.track([r,"allowPicking"],[this,"allowPicking"])),this.ad(c.track([o,"allowPicking"],[this,"allowPicking"]));{const s=()=>{r.show=o.show=this.show};s(),this.ad(this.showChanged.don(s))}{const s=()=>{r.width=this.width/2,o.pixelSize=this.width};s(),this.ad(this.widthChanged.don(s))}{const s=()=>{r.color=o.color=this.color};s(),this.ad(this.colorChanged.don(s))}{const s=()=>{r.positions=this.positions,o.position=this.stopPosition};s(),this.dispose(this.startPositionChanged.disposableOn(s)),this.dispose(this.stopPositionChanged.disposableOn(s))}}};v(Er,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let mr=Er;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:c.reactPositions(t.defaults.positions),width:10,color:c.reactArray([1,0,0,1])})})(mr||(mr={})),c.extendClassProps(mr.prototype,mr.createDefaultProps);class bn extends li{constructor(e){super();v(this,"_lastPosition");v(this,"_opInfo",{step:this.ad(c.react(!1)),moved:this.ad(c.react(!1)),constraintMode:this.disposeVar(c.react("none")),originPosition:this.disposeVar(c.reactArray([0,0,0])),originHeading:this.disposeVar(c.react(0)),originDimensions:this.disposeVar(c.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(c.reactArray([0,0,0])),movingPosition:this.disposeVar(c.reactArray([0,0,0])),targetPosition:this.disposeVar(c.reactArray([0,0,0])),targetHeading:this.disposeVar(c.react(0))});v(this,"_scaleAxis");v(this,"_pickingXYProcessing",e=>this.disposeVar(new c.Processing((n,r,o)=>{const s=[0,0,0],a=new d.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const h=_i(c.getDomEventCurrentTargetPos(l.pointerEvent));if(!Ir(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Tr(a,s),this._opInfo.constraintMode.value==="x"?Fo(this._opInfo.originPosition.value,this._opInfo.originHeading.value,s,s):this._opInfo.constraintMode.value==="y"?Fo(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,s,s):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=s,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const u=[0,0,0];w.geoRhumbDestination(s,o,r,u),this._opInfo.targetPosition.value=u;let p=this.scale[0],f=this.scale[1];const m=w.geoDistance(u,this._opInfo.originPosition.value)-w.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...u];const g=this._opInfo.originDimensions.value[0]/100;m!=0&&this._opInfo.constraintMode.value==="y"&&(m>0?p+=g:p-=g),m!=0&&this._opInfo.constraintMode.value==="x"&&(m>0?f+=g:f-=g),p<=0&&(p+=g),f<=0&&(f+=g),this.scale=[p??1,f??1,this.scale[2]??1]})})));v(this,"_pickingZProcessing",e=>this.disposeVar(new c.Processing(()=>{const n=new d.Cartesian3,r=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const s=_i(c.getDomEventCurrentTargetPos(o.pointerEvent));if(!qc(e.viewer.scene,je(this._opInfo.originPosition.value),s,n))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(fe(n,r)){this._opInfo.movingPosition.value=r;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],r[2]+a];let h=this.scale[2];const u=r[2]-this._lastPosition[2];this._lastPosition=[...r];const p=this._opInfo.originDimensions.value[0]/100;u!=0&&(u>0?h+=p:h-=p),h<=0&&(h+=p),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const n=e.viewer;if(!n)return;const{scene:r}=n;this.ad(new Jd(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:u,yAxis:p,xAxis:f}=this._scaleAxis,m=this._opInfo.constraintMode.value,g=this._opInfo.step;u.color=[0,0,1,.99],p.color=[0,1,0,.99],f.color=[1,0,0,.99],m==="x"?f.color=g?[1,1,0,.8]:[1,1,0,.99]:m==="y"?p.color=g?[1,1,0,.8]:[1,1,0,.99]:m==="z"&&(u.color=g?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:p=bn.defaults.position}=this,{zAxis:f,yAxis:m,xAxis:g}=this._scaleAxis;f.startPosition=m.startPosition=g.startPosition=p;const[y,P,S]=p;f.stopPosition=[y,P,S+this._opInfo.originDimensions.value[2]];const C=w.geoRhumbDestination(p,this._opInfo.originDimensions.value[0],90);C&&(g.stopPosition=C);const E=w.geoRhumbDestination(p,this._opInfo.originDimensions.value[1],0);E&&(m.stopPosition=E)};h();const u=this.ad(c.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(u.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((u,p)=>u===this._opInfo.targetPosition.value[p])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),s=this._pickingZProcessing(e),a=this.disposeVar(c.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await c.step(h,async u=>{const p=()=>{const g=[...this.position??bn.defaults.position];e.editingHeightOffset&&(g[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=g};u.disposer.dispose((p(),this.positionChanged.disposableOn(p)));const f={constraintMode:"none",startDragPos:[0,0,0]},m=g=>{if(!this.position)return;const y={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Vd(g,r,y,this.axisSnapPixelSize,f),this._opInfo.constraintMode.value=f.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=f.startDragPos};u.disposer.dispose(e.pointerMoveEvent.disposableOn(g=>{g.pointerEvent&&m(g.pointerEvent)})),await c.step(u,g=>new Promise((y,P)=>{g.disposer.dispose(P),g.disposer.dispose(e.pointerDownEvent.don(S=>{S.pointerEvent&&m(S.pointerEvent),S.pointerEvent&&S.pointerEvent.button===0&&f.constraintMode!=="none"&&y()}))}))}),this._opInfo.step.value=!1,await c.step(h,async u=>{if(e.incrementDisabledInputStack(),u.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const p=w.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),f=w.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,p,f),u.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(s.restart(),u.disposer.dispose(()=>s.cancel()));await c.step(u,p=>new Promise((f,m)=>{p.disposer.dispose(m),p.disposer.dispose(e.pointerUpEvent.don(()=>{f()})),p.disposer.dispose(e.pointerOutEvent.don(()=>{f()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,n){const r=this.ad(new mr(e));return r.width=10,this.ad(c.track([r,"show"],[this,"enabled"])),r}}(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),scale:c.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(bn||(bn={})),c.extendClassProps(bn.prototype,bn.createDefaultProps);const xo=class xo extends Vt{constructor(e){super();v(this,"_editingPoints",this.disposeVar(new c.ObservableArray));v(this,"_cancelEvent",this.disposeVar(new c.Event));v(this,"_currentProcess");v(this,"_menuPoiEnabled",this.disposeVar(c.react(!1)));v(this,"_status",this.disposeVar(c.react("None")));v(this,"_positionsChanged",this.ad(new c.Event));v(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(n=>{for(let{start:r,deleteCount:o,items:s}of n){for(const a of s)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=r;a<r+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let n of this.editingPoints)n.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(n=>{this.ad(c.nextAnimateFrame(()=>{var r;((r=n.pointerEvent)==null?void 0:r.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(n=>{this._currentProcess&&(n?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const n=()=>{this.polylineShow=this.czmViewer.editingLineShow};n(),this.ad(this.czmViewer.editingLineShowChanged.don(n))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let n of this._editingPoints)n.position&&e.push([...n.position]);return e}resetPositions(e){if(this.enabled??xo.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const n=e||[];return!(n.length===this.editingPoints.length&&n.every((r,o)=>r.every((s,a)=>{const l=this.editingPoints.get(o);return l.position&&l.position[a]===s})))}forceResetPositions(e){(this.enabled??xo.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const n=this.ad(new Le(e));this.ad(c.track([n,"color"],[this,"polylineColor"])),this.ad(c.track([n,"width"],[this,"polylineWidth"])),this.ad(c.track([n,"show"],[this,"polylineShow"])),this.ad(c.track([n,"arcType"],[this,"polylineArcType"])),this.ad(c.track([n,"loop"],[this,"loop"]));{const r=()=>{const o=[];for(const s of this.getPositions())s[2]-=e.editingHeightOffset??0,o.push(s);n.positions=o};r(),this.ad(this.positionsChanged.don(r))}}_createCursorInfo(e){const n=this._cursorInfo=this.ad(new c.CursorInfo(e.container,c.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const r=this.status;if(n){if(!this.hideCursorInfo){n.show=!1;return}r==="Adding"?(n.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",n.show=!0):r==="Modifying"||r==="Modifying_Point"?(n.text="Esc键或左键双击:退出编辑状态",n.show=!0):r==="None"&&(n.text="",n.show=!1)}}))}};v(xo,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),v(xo,"defaults",{...Vt.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:xo.baseImageUrl+"point-green.png",otherControlPointImageUrl:xo.baseImageUrl+"point-yellow.png"});let vi=xo;(t=>{t.createDefaultProps=()=>({...Vt.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:c.reactArray([1,1,1,1]),polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,firstControlPointImageUrl:t.baseImageUrl+"point-green.png",otherControlPointImageUrl:t.baseImageUrl+"point-yellow.png",hideCursorInfo:!1,middlePointShow:!0})})(vi||(vi={})),c.extendClassProps(vi.prototype,vi.createDefaultProps);let jN=0;class S1 extends c.Destroyable{constructor(e,n){super();v(this,"_position",this.disposeVar(c.reactArrayWithUndefined(void 0)));v(this,"_id",jN++);v(this,"_menuPoi");n&&(this.position=n),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const r=this._menuPoi=this.ad(new Hr(e.czmViewer));r.enabled=!1,this.ad(c.track([r,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){r.position=void 0;return}const s=[...this.position];s[2]-=e.czmViewer.editingHeightOffset??0,r.position=s,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const s=e.editingPoints.indexOf(this)+1;s!==0&&(r.title=`控制点${s}`,s===1?r.imageUri=e.firstControlPointImageUrl??vi.defaults.firstControlPointImageUrl:r.imageUri=e.otherControlPointImageUrl??vi.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class E1 extends S1{constructor(i,e){super(i,e)}}class at extends vi{constructor(e){super(e);v(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new c.Event));v(this,"placeEditing");if(!e.viewer)return;const n=this.placeEditing=this.ad(new Di(e));n.enabled=!1,this.currentProcess=this.disposeVar(c.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??at.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??at.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await r.promise(c.step(r,async o=>{const s=o.disposer,a=s.ad(this._addingEditingProcessing());s.dispose(()=>"adding canceled!"),s.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(l=>{s.dispose(a.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new E1(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??at.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},n=c.createProcessingFromAsyncFunc(async r=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await r.promise(c.step(r,async a=>{let l;!e()&&(l=a.disposer.disposeVar(new e4(this,o)));const u=a.disposer.disposeVar(new i4(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>u.do())),await a.promise(new Promise(p=>{l&&a.disposer.dispose(l.overEvent.disposableOnce(f=>{f?(o++,p(!0)):p(!1)})),a.disposer.dispose(u.overEvent.disposableOnce(f=>{f?(o--,p(!0)):p(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>p(!1)))}))})))break;while(!0)});return n.start(),n}}(t=>{t.createDefaultProps=()=>({...vi.createDefaultProps()})})(at||(at={})),c.extendClassProps(at.prototype,at.createDefaultProps);class e4 extends c.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new c.Event));const{placeEditing:r}=e;let o=new E1(e,void 0);e.editingPoints.splice(n,0,o);const s=()=>{(e.debug??at.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(r.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(c.track([o,"position"],[r,"position"])),r.enabled=!0;let a=!1;const l=()=>{s(),this._overEvent.emit(!1)};this.dispose(()=>{r.enabled=!1,!a&&l()}),this.dispose(r.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??at.defaults.debug)&&console.log(`PointAdding creating! index(${n})`),this.dispose(()=>{(e.debug??at.defaults.debug)&&console.log(`PointAdding destroying! index(${n})`)})}get overEvent(){return this._overEvent}}function t4(t,i){const e=t.editingPoints,n=i-1;return n<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(n,1),!0)}class i4 extends c.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new c.Event));v(this,"_doEvent",this.disposeVar(new c.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(t4(e,n)))),(e.debug??at.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${n})`),this.dispose(()=>{(e.debug??at.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${n})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class A1 extends at{constructor(i){super(i),this.loop=!1}}class T1 extends at{constructor(i){super(i),this.loop=!0}}class _d extends S1{constructor(i,e){super(i,e);{const{menuPoi:n}=this;n.commands=[["add","增加控制点","",Oe.baseImageUrl+"add.png"],["delete","删除当前控制点","",Oe.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Oe.baseImageUrl+"modify.png"]],n.clickCommandName="modify",n.rightClickCommandName="delete",this.dispose(n.commandEvent.disposableOn(r=>{i.menuPoiCommand(this,r)})),this.dispose(n.dbclickEvent.disposableOn(()=>{i.menuPoiCommand(this,"dbClick")}))}if(i.middlePointShow){const n=this.ad(new Ui(i.czmViewer));{n.imageUri=i.firstControlPointImageUrl??Oe.defaults.firstControlPointImageUrl,n.tooltip="点击增加一个控制点",n.bgColor=[0,0,0,.6],n.fgColor=[1,1,1,1],n.size=[8,8],n.originRatioAndOffset=[.5,.5,0,0];{const r=()=>{if(!(i.enabled??Oe.defaults.enabled)){n.enabled=!1,n.show=!1;return}do{const s=i.editingPoints.indexOf(this);if(s===-1)break;const a=i.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(i.loop??Oe.defaults.loop)&&s+1>=a)break;const h=this.position;if(!h)break;let u=(s+1)%a;const f=i.editingPoints.get(u).position;if(!f)break;const m=Hd(h,f);if(!m)break;m[2]-=i.czmViewer.editingHeightOffset??0,n.position=m;const g=i.editingPoints.length<(i.maxPointsNum??Oe.defaults.maxPointsNum);n.enabled=g,n.show=g;return}while(!1);n.enabled=!1,n.show=!1};r(),this.dispose(i.positionsChanged.disposableOn(r)),this.dispose(i.loopChanged.disposableOn(r)),this.dispose(i.enabledChanged.disposableOn(r))}this.dispose(n.clickEvent.disposableOn(r=>{if(r.button!==0||i.editingPoints.length>=(i.maxPointsNum??Oe.defaults.maxPointsNum))return;const o=i.editingPoints.indexOf(this);if(o===-1)return;const s=n.position?[...n.position]:void 0;s&&(s[2]+=i.czmViewer.editingHeightOffset??0);let a=new _d(i,s);i.editingPoints.splice(o+1,0,a),i.modify(a)}))}}}}class Oe extends vi{constructor(e){super(e);v(this,"_menuPoiCommand",this.disposeVar(new c.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new c.Event));v(this,"_overEvent",this.disposeVar(new c.Event));v(this,"translationEditing");{const r=this.ad(c.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new c.ObjResettingWithEvent(r,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new n4(this.editingPoints.get(0),this)}))}const n=this.translationEditing=this.disposeVar(new In(e));n.enabled=!1,this.currentProcess=this.disposeVar(c.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??Oe.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??Oe.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await r.promise(c.step(r,async s=>{const a=s.disposer,l=a.ad(new o4(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(u=>l.modify(u))),await s.promise(new Promise(u=>{a.dispose(l.overEvent.disposableOnce(p=>{u(p)}))}))})),o===-1){(this.debug??Oe.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??Oe.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??Oe.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let l=o%this.editingPoints.length;const u=this.editingPoints.get(l).position;if(!u)return;const p=Hd(a,u);if(!p)return;p&&(p[2]+=this.czmViewer.editingHeightOffset??0);let f=new _d(this,p);this.editingPoints.splice(o,0,f)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,n){this._menuPoiCommand.emit(e,n)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new _d(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...vi.createDefaultProps(),moveWithFirstPosition:!1})})(Oe||(Oe={})),c.extendClassProps(Oe.prototype,Oe.createDefaultProps);class n4 extends c.Destroyable{constructor(i,e){super(),this._firstPositionEditor=i,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((n,r)=>{if(n===void 0||r===void 0)return;var o=[n[0]-r[0],n[1]-r[1],n[2]-r[2]];const s=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<s;a++){const l=this.multiPointsModifyEditing.editingPoints.get(a),h=l.position;h!==void 0&&(l.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class o4 extends c.Destroyable{constructor(e){super();v(this,"_overEvent",this.disposeVar(new c.Event));v(this,"_cancelEvent",this.disposeVar(new c.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new c.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let n;const r=()=>{n==null||n.destroy(),n=void 0,e.status="Modifying"};this.dispose(r);const o=s=>{r(),e.status="Modifying_Point",n=new r4(e,s),n.dispose(n.overEvent.disposableOn(()=>{r()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((s,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(s);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(a==="modify")o(s);else if(a==="add"){const l=e.editingPoints.indexOf(s);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class r4 extends c.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new c.Event));this._modifying=e,this._posEditor=n,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:r}=this._modifying;if(r.enabled=!0,r.heading=0,this.dispose(()=>{r.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");r.position=this._posEditor.position,this.dispose(c.track([this._posEditor,"position"],[r,"position"])),this.dispose(r.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class M1 extends Oe{constructor(i){super(i),this.loop=!1}}class I1 extends Oe{constructor(i){super(i),this.loop=!0}}class ks extends at{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(r<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...at.createDefaultProps(),startPosition:c.reactArrayWithUndefined(void 0),endPosition:c.reactArrayWithUndefined(void 0),rotation:c.reactArray([90,0,0]),distance:c.react(1)})})(ks||(ks={})),c.extendClassProps(ks.prototype,ks.createDefaultProps);class gr extends Oe{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",Oe.baseImageUrl+"add.png"],["delete","删除当前控制点","",Oe.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Oe.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let l of this.editingPoints)l.menuPoi.commands=[["delete","删除当前控制点","",Oe.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Oe.baseImageUrl+"modify.png"]];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(Math.abs(r)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Oe.createDefaultProps(),startPosition:c.reactArrayWithUndefined(void 0),endPosition:c.reactArrayWithUndefined(void 0),rotation:c.reactArray([0,0,0]),distance:c.react(0)})})(gr||(gr={})),c.extendClassProps(gr.prototype,gr.createDefaultProps);class b1 extends at{constructor(i){super(i),this.loop=!1,this.polylineShow=!1}}class D1 extends Oe{constructor(i){super(i),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class Ls extends at{constructor(i){super(i),i.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(i){const e=this.ad(new Ai(i));e.topOrBottom="bottom",this.ad(c.track([e,"color"],[this,"polylineColor"])),this.ad(c.track([e,"width"],[this,"polylineWidth"])),this.ad(c.track([e,"show"],[this,"polylineShow"])),this.ad(c.track([e,"arcType"],[this,"polylineArcType"])),this.ad(c.track([e,"loop"],[this,"loop"])),this.ad(c.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...at.createDefaultProps(),visibilityPositions:c.reactPositionsSet(void 0)})})(Ls||(Ls={})),c.extendClassProps(Ls.prototype,Ls.createDefaultProps);class zs extends Oe{constructor(i){if(super(i),!!i.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(i){const e=this.ad(new Ai(i));e.topOrBottom="bottom",this.ad(c.track([e,"color"],[this,"polylineColor"])),this.ad(c.track([e,"width"],[this,"polylineWidth"])),this.ad(c.track([e,"show"],[this,"polylineShow"])),this.ad(c.track([e,"arcType"],[this,"polylineArcType"])),this.ad(c.track([e,"loop"],[this,"loop"])),this.ad(c.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Oe.createDefaultProps(),visibilityPositions:c.reactPositionsSet(void 0)})})(zs||(zs={})),c.extendClassProps(zs.prototype,zs.createDefaultProps);class x1 extends gr{constructor(i){super(i),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class kt extends w.EngineObject{constructor(e,n,r){super(e,n,r??!0);v(this,"_supportEditing",this.disposeVar(c.react(!0)));v(this,"_currentEditing",this.disposeVar(c.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof at&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof Di&&this.currentEditing.enabled&&(e.position=[0,0,0])}}))}get supportEditing(){return this._supportEditing.value}set supportEditing(e){this._supportEditing.value=e}get supportEditingChanged(){return this._supportEditing.changed}get currentEditing(){return this._currentEditing.value}set currentEditing(e){this._currentEditing.value=e}get currentEditingChanged(){return this._currentEditing.changed}}const Ac=class Ac extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new Di(e));this.ad(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)==2&&(n.enabled=!0)}));do{if(Reflect.has(i,"position")){this.ad(c.bind([n,"position"],[i,"position"])),n.enabled=!n.position||w.equalsN3(n.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};v(Ac,"type",Ac.registerEditing("ESCesiumViewer",w.ESJEditingMode.Place,Ac));let jg=Ac;const Tc=class Tc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new xi(e));n.rotation=[90,0,0],this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);r&&(this.ad(c.bind([n,"position"],[r.czm3DTiles,"position"])),this.ad(c.bind([n,"selfRotation"],[i,"rotation"])))});break}if(Reflect.has(i,"position")&&Reflect.has(i,"rotation")){this.ad(c.bind([n,"position"],[i,"position"])),this.ad(c.bind([n,"selfRotation"],[i,"rotation"]));break}this.supportEditing=!1}while(!1)}};v(Tc,"type",Tc.registerEditing("ESCesiumViewer",w.ESJEditingMode.Rotation,Tc));let ev=Tc;const Mc=class Mc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new bn(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")&&Reflect.has(i,"scale")){this.ad(c.bind([n,"position"],[i,"position"])),this.ad(c.bind([n,"scale"],[i,"scale"]));break}this.supportEditing=!1}while(!1)}};v(Mc,"type",Mc.registerEditing("ESCesiumViewer",w.ESJEditingMode.Scale,Mc));let tv=Mc;const Ic=class Ic extends kt{constructor(i,e){super(Array.isArray(i)?i[0]:i,e,!0);const n=this.currentEditing=this.ad(new In(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(i)){const r=[];for(let o=0;o<i.length;o++){const s=i[o];Reflect.has(s,"position")?r.push(s.position):s.points&&r.push(...s.points)}n.position=w.getMinMaxCorner(r).center,this.ad(n.positionChanged.disposableOn((o,s)=>{if(!(!o||!s)){var a=Gt({originPosition:s},[o])[0][0];i.forEach(l=>{if(Reflect.has(l,"position")){const h=Gt({originPosition:s},[l.position])[0][0];l.position=Un({originPosition:s},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const h=Gt({originPosition:s},l.points)[0];l.points=Un({originPosition:s},h.map(u=>[u[0]+a[0],u[1]+a[1],u[2]+a[2]]))[0]}})}}));break}if(Reflect.has(i,"position")){this.ad(c.bind([n,"position"],[i,"position"]));break}if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);this.ad(c.bind([n,"position"],[r.czm3DTiles,"position"]))});break}if(Reflect.has(i,"points")){if(i.points===void 0||i.points.length===0){this.destroy();break}n.position=w.getMinMaxCorner(i.points).center,this.ad(n.positionChanged.disposableOn((r,o)=>{if(r===void 0||o===void 0||i.points===void 0||i.points.length===0){this.destroy();return}var s=Gt({originPosition:o},[r])[0][0];const a=Gt({originPosition:o},i.points)[0];i.points=Un({originPosition:o},a.map(l=>[l[0]+s[0],l[1]+s[1],l[2]+s[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};v(Ic,"type",Ic.registerEditing("ESCesiumViewer",w.ESJEditingMode.Translation,Ic));let Pd=Ic;const bc=class bc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new ks(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")){this.ad(c.bind([n,"startPosition"],[i,"position"])),this.ad(ut([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(c.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(c.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(c.bind([n,"distance"],[i,"distance"]));break}const r=je(i.position);if(d.Cartesian3.ZERO.equals(r)||!e.viewer)return;n.distance=sn(e.viewer.scene,r,100)??1}while(!1);break}if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1);n.startPosition&&!w.equalsN3(n.startPosition,[0,0,0])&&n.init(),n.enabled=!0}};v(bc,"type",bc.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsAppend,bc));let iv=bc;const Dc=class Dc extends kt{constructor(i,e){var o;if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new gr(e));do{if(Reflect.has(i,"position")){this.ad(c.bind([n,"startPosition"],[i,"position"])),this.ad(ut([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(c.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(c.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(c.bind([n,"distance"],[i,"distance"]));break}const s=je(i.position);if(d.Cartesian3.ZERO.equals(s)||!e.viewer)return;n.distance=sn(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(i,"points")&&((o=i.points)==null?void 0:o.length)==2){n.moveWithFirstPosition=!1;const s=()=>n.positions=i.points??[];s(),this.ad(i.pointsChanged.don(()=>!n.enabled&&s())),this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(c.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Dc,"type",Dc.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsModify,Dc));let nv=Dc;const xc=class xc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new T1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(xc,"type",xc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularAppend,xc));let ov=xc;const Rc=class Rc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new I1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Rc,"type",Rc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularInsert,Rc));let rv=Rc;const Fc=class Fc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new A1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Fc,"type",Fc.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringAppend,Fc));let sv=Fc;const kc=class kc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new M1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(kc,"type",kc.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringInsert,kc));let av=kc;const Lc=class Lc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new b1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Lc,"type",Lc.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterAppend,Lc));let lv=Lc;const zc=class zc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new D1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(zc,"type",zc.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterModify,zc));let cv=zc;const Oc=class Oc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new Ls(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Oc,"type",Oc.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityAppend,Oc));let hv=Oc;const Nc=class Nc extends kt{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new zs(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(c.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(c.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Nc,"type",Nc.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityModify,Nc));let dv=Nc;const Vc=class Vc extends kt{constructor(i,e){if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new x1(e));do{if(Reflect.has(i,"points")){const o=Reflect.has(i,"extrudedHeight"),s=Reflect.has(i,"height"),a=Reflect.has(i,"perPositionHeight")?i.perPositionHeight:!o,l=i instanceof w.ESClassification||i instanceof w.ESPolygonFence;let h=w.getMinMaxCorner(i.points).center,u=[...h],p=l?i.points[0][2]:0;a?o?u[2]=i.extrudedHeight:u[2]=i.height+p:(s&&(h[2]=i.height),o&&(u[2]=i.extrudedHeight)),n.startPosition=h,n.distance=u[2]-h[2],n.moveWithFirstPosition=!1;let f=[...h];this.ad(n.positionsChanged.don(()=>{n.positions.length===2&&(a?(i.points=i.points.map(m=>[m[0],m[1],m[2]+n.positions[0][2]-f[2]]),o?i.extrudedHeight=n.positions[1][2]:s&&(i.height=n.positions[1][2]-(l?n.positions[0][2]:0))):(s&&(i.height=n.positions[0][2]),o&&(i.extrudedHeight=n.positions[1][2])),f=[...n.positions[0]])}));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(c.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Vc,"type",Vc.registerEditing("ESCesiumViewer",w.ESJEditingMode.HeightModify,Vc));let uv=Vc;function R1(){const t=c.createProcessingFromAsyncFunc(async(i,e,n,r,o=!0)=>{const s=Array.isArray(r)?[...r]:[r],a=n.editingID;e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"start",add:{modes:s}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"end",add:{modes:s}}),t.isRunning&&t.cancel()};i.disposer.ad(l),i.disposer.ad(n.toDestroyEvent.don(l)),i.disposer.ad(e.keyDownEvent.don(u=>{u.code=="Escape"&&l()}));let h=0;do{const u=s[h%s.length],p=await c.step(i,async f=>{const m=f.disposer,g=w.EngineObject.contextEditing.getEngineObjConstructor(u,e.typeName);if(!g||!n.supportEditingModes().includes(u))return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:h}}),e.notSupportEditingCount++,!1;const y=new g(n,e);if(m.ad(()=>{!y.isDestroyed()&&y.destroy()}),y.supportEditing)e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"changed",add:{cMode:u,cIndex:h}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:h}}),e.notSupportEditingCount++,!1;return await f.promise(new Promise(S=>{y.isDestroyed()&&S(!1),m.ad(y.toDestroyEvent.don(()=>{console.log(`编辑模式${u}结束`),S(!1)})),o&&(m.ad(e.keyDownEvent.don(C=>{C.code=="Space"&&(console.log(`编辑模式${u}结束`),S(!1))})),m.ad(e.dblclickEvent.don(()=>S(!0))))}))});if(o&&p||!o&&h==s.length-1||e.notSupportEditingCount==s.length)break;h++}while(!0)});return t}function F1(){const t=c.createProcessingFromAsyncFunc(async(i,e,n,r)=>{e.editingEvent.emit({objectIDs:n.map(a=>a.id.split("_")[0]),editingID:r,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:n.map(a=>a.id.split("_")[0]),editingID:r,type:"end"}),t.isRunning&&t.cancel()};i.disposer.ad(o),i.disposer.ad(e.keyDownEvent.don(a=>{a.code=="Escape"&&o()}));const s=new Pd(n,e);i.disposer.ad(()=>{!s.isDestroyed()&&s.destroy()}),await i.promise(new Promise(a=>{s.isDestroyed()&&a(),i.disposer.ad(s.toDestroyEvent.don(()=>{console.log("移动结束"),a()})),i.disposer.ad(e.dblclickEvent.don(()=>a()))}))});return t}R.copyright=void 0;try{const t="earthsdk3-cesium",i="3.0.7-beta.15",e="2025-06-10T07:22:29.000Z",n="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2",a=((Date.now()-1749540149e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${i}.${o.slice(0,8)}.${e} (距今${a}个小时)
2820
2820
  %c${r?r+`
2821
2821
  `:""}当前网站正在使用${t},此软件版权归${n}所有
2822
- `;R.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","c8c322db6bbdb77c3b35c75f5d7473a074c14e6c")},get info(){return l},get date(){return"2025-06-10T03:06:51.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.14"},get name(){return"earthsdk3-cesium"},get commitId(){return"c8c322db6bbdb77c3b35c75f5d7473a074c14e6c"},print(){console.info(this.info,`
2822
+ `;R.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2")},get info(){return l},get date(){return"2025-06-10T07:22:29.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.15"},get name(){return"earthsdk3-cesium"},get commitId(){return"aecd0d3d9b7e380d41df5f4fece5d8ed811d6ff2"},print(){console.info(this.info,`
2823
2823
  font-size: 18px;
2824
2824
  font-weight: 1000;
2825
2825
  line-height: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/CzmObjects/general/CzmES3DTileset/Czm3DTiles/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAA8B,4BAA4B,EAAE,eAAe,EAAE,iBAAiB,EAAuF,MAAM,WAAW,CAAC;AAC9M,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,kCAAkC,EAAyB,oCAAoC,EAAqB,6BAA6B,EAAE,4BAA4B,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5R,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAgB,KAAK,EAA+D,SAAS,EAAoB,oCAAoC,EAA8E,cAAc,EAAc,MAAM,WAAW,CAAC;AAC/S,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAK1E,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAC/F,MAAM,MAAM,WAAW,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAapG;AAsQD,MAAM,MAAM,+BAA+B,GAAG;IAAE,OAAO,IAAI,SAAS,CAAC;IAAC,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAA;CAAE,CAAC;AAChH,MAAM,MAAM,uCAAuC,GAAG,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,KAAK,+BAA+B,CAAC;AAU/I,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,OAqB9E;AAoBD,qBAAa,UAAW,SAAQ,WAAW;IAuG3B,OAAO,CAAC,UAAU;IAtG9B,OAAO,CAAC,GAAG,CAAwD;IACnE,IAAI,EAAE,IACQ,cAAc,CADO;IACnC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAA6B;IACzD,IAAI,SAAS,+BAA+B;IAI5C,IAAI,SAAS,mBAA8B;IAE3C,OAAO,CAAC,YAAY,CAAyC;IAC7D,IAAI,WAAW,IACQ,OAAO,CADuB;IACrD,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAsC;IACpE;;MAEE;IACF,IAAI,kBAAkB,iCAAwC;IAE9D,OAAO,CAAC,WAAW,CAAsD;IACzE,IAAI,UAAU,IAAI,QAAQ,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAA6B;IAC7E,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM;IAIvB,OAAO,CAAC,0BAA0B,CAA0F;IAC5H,IAAI,yBAAyB,IACQ,uCAAuC,GAAG,SAAS,CADP;IACjF,IAAI,yBAAyB,CAAC,KAAK,EAAE,uCAAuC,GAAG,SAAS,EAAoD;IAC5I,IAAI,gCAAgC,yHAAsD;IAE1F,OAAO,CAAC,wBAAwB,CAAoJ;IACpL,IAAI,uBAAuB,kCAD0D,+BAA+B,eAAe,UAAU,UAAU,cAAc,KAAK,IAAI,GACvG;IACvE,kBAAkB,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE,+BAA+B,KAAK,IAAI;IAIxF,MAAM,CAAC,mCAAmC,SAAuC;IACjF,MAAM,CAAC,8BAA8B,SAAkC;IAEvE,MAAM,CAAC,OAAO,SAAW;IACzB,MAAM,CAAC,uCAAuC,SAA2C;IACzF,MAAM,CAAC,gBAAgB;;MAAoB;IAE3C,MAAM,CAAC,oCAAoC,0BAAoB;IAC/D,OAAO,CAAC,8BAA8B,CAA8G;IACpJ,IAAI,6BAA6B,IAEQ,iCAAiC,CAFe;IACzF,IAAI,oCAAoC,qFAA0D;IAClG,IAAI,6BAA6B,CAAC,KAAK,EAAE,iCAAiC,EAAwD;IAElI,IAAI,wBAAwB,IAEQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAFsD;IACtH,IAAI,+BAA+B,qGAA6C;IAChF,IAAI,wBAAwB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAkK;IAElO,OAAO,CAAC,OAAO,CAA2E;IAC1F,IAAI,MAAM,yCAAiC;IAC3C,IAAI,aAAa,2FAAmC;IACpD,mBAAmB;IAEnB,OAAO,CAAC,qBAAqB,CAAuF;IACpH,IAAI,oBAAoB,iEAAyC;IACjE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU;IAIzE,OAAO,CAAC,wBAAwB,CAAC;IACjC,IAAI,uBAAuB,QAA4C;IAEvE,OAAO,CAAC,gCAAgC,CAAC;IACzC,IAAI,+BAA+B,QAAoD;IAEvF,OAAO,CAAC,qBAAqB,CAAkF;IAC/G,IAAI,oBAAoB,IAEQ,+BAA+B,GAAG,SAAS,CAFJ;IACvE,IAAI,2BAA2B,yGAAiD;IAChF,IAAI,oBAAoB,CAAC,KAAK,EAAE,+BAA+B,GAAG,SAAS,EAA+C;IAE1H,OAAO,CAAC,MAAM,CAA2E;IACzF,IAAI,KAAK,IAEQ,MAAM,CAAC,iBAAiB,GAAG,SAAS,CAFZ;IACzC,IAAI,YAAY,2FAAkC;IAClD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,GAAG,SAAS,EAAgC;IAErF,OAAO,CAAC,oBAAoB,CAAiE;IAC7F,IAAI,mBAAmB,IACQ,MAAM,CAAC,OAAO,GAAG,SAAS,CADY;IACrE,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,EAA8C;IACvG,IAAI,0BAA0B,uEAAgD;IAE9E,OAAO,CAAC,uBAAuB,CAAiE;IAChG,IAAI,sBAAsB,IACQ,MAAM,CAAC,OAAO,GAAG,SAAS,CADe;IAC3E,IAAI,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,EAAiD;IAC7G,IAAI,6BAA6B,uEAAmD;IAEpF,OAAO,CAAC,cAAc,CAA4E;IAClG,IAAI,aAAa,8CAAkC;IAEnD,OAAO,CAAC,uBAAuB,CAAC;IAChC,IAAI,sBAAsB,QAA2C;IAErE,IAAI,OAAO,QAAuD;IAClE,IAAI,cAAc,QAAqD;IAEvE,OAAO,CAAC,iBAAiB,CAAiF;IAC1G,IAAI,gBAAgB;;QAAqC;IACzD,WAAW,CAAC,OAAO,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,GAAG,SAAS;gBAG9C,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,cAAc;IAoGnG,MAAM,CAAC,QAAQ;;;wBAIoB,WAAW,GAAG,SAAS,GAAG,KAAK;;qBAE1C,OAAO;0BACF,OAAO;iBACV,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqCL,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBASrB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;;;;;wBASpC,iBAAiB;;;;;;;;;;;;;;;mBAqBD,SAAS;;MAErD;IAEF;;OAEG;IACG,YAAY;CASrB;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,kBAAkB;;;;;aAeT,MAAM,GAAG,SAAS,GAAG,WAAW;cAE/B,OAAO,GAAG,SAAS;wBACT,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;;qBAE9C,OAAO,GAAG,SAAS;0BACd,OAAO,GAAG,SAAS;iBAC5B,aAAa,GAAG,SAAS;iCAET,MAAM,GAAG,SAAS;4BACvB,MAAM,GAAG,SAAS;oBAC1B,MAAM,GAAG,SAAS;mCACH,MAAM,GAAG,SAAS;gCAErB,OAAO,GAAG,SAAS;iCAClB,OAAO,GAAG,SAAS;2CACT,MAAM,GAAG,SAAS;2BAElC,OAAO,GAAG,SAAS;mCACX,OAAO,GAAG,SAAS;sBAChC,OAAO,GAAG,SAAS;iCAER,OAAO,GAAG,SAAS;wCACZ,MAAM,GAAG,SAAS;uCACnB,MAAM,GAAG,SAAS;8CACX,MAAM,GAAG,SAAS;6CAEnB,MAAM,GAAG,SAAS;kCAE7B,OAAO,GAAG,SAAS;0BAC3B,MAAM,GAAG,SAAS;mDACO,MAAM,GAAG,SAAS;0CAE3B,MAAM,GAAG,SAAS;2BACjC,MAAM,GAAG,SAAS;2BAElB,OAAO,GAAG,SAAS;8BAEhB,MAAM,GAAG,SAAS;oCACZ,MAAM,GAAG,SAAS;oBAClC,MAAM,GAAG,SAAS;6CAEO,OAAO,GAAG,SAAS;sBAC1C,OAAO,GAAG,SAAS;;;;;;4BAOb,qBAAqB,GAAG,SAAS;;;;;;yBAMpC,OAAO,GAAG,SAAS;2BACjB,OAAO,GAAG,SAAS;qBACzB,OAAO,GAAG,SAAS;;kCAGN,OAAO,GAAG,SAAS;oCACjB,OAAO,GAAG,SAAS;wBAE/B,MAAM,GAAG,SAAS;gCACV,MAAM,GAAG,SAAS;6BACrB,OAAO,GAAG,SAAS;wBAExB,iBAAiB,GAAG,SAAS;qBAChC,OAAO,GAAG,SAAS;sCAEF,MAAM,GAAG,SAAS;0BAE9B,OAAO,GAAG,SAAS;4BACjB,OAAO,GAAG,SAAS;8BACjB,OAAO,GAAG,SAAS;wBACzB,OAAO,GAAG,SAAS;iCACV,OAAO,GAAG,SAAS;wCACZ,OAAO,GAAG,SAAS;sCACrB,OAAO,GAAG,SAAS;iCACxB,OAAO,GAAG,SAAS;sCACd,OAAO,GAAG,SAAS;8BAC3B,OAAO,GAAG,SAAS;sBAC3B,OAAO,GAAG,SAAS;sCAGH,MAAM,GAAG,SAAS;;iCAMvB,OAAO,GAAG,SAAS;KAC3D,CAAC;CACN;AAED,MAAM,WAAW,UAAW,SAAQ,oCAAoC,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAAI"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/CzmObjects/general/CzmES3DTileset/Czm3DTiles/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAA8B,4BAA4B,EAAE,eAAe,EAAE,iBAAiB,EAAuF,MAAM,WAAW,CAAC;AAC9M,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,kCAAkC,EAAyB,oCAAoC,EAAqB,6BAA6B,EAAE,4BAA4B,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5R,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAgB,KAAK,EAA+D,SAAS,EAAoB,oCAAoC,EAA8E,cAAc,EAAc,MAAM,WAAW,CAAC;AAC/S,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAK1E,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAC/F,MAAM,MAAM,WAAW,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAapG;AAsQD,MAAM,MAAM,+BAA+B,GAAG;IAAE,OAAO,IAAI,SAAS,CAAC;IAAC,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAA;CAAE,CAAC;AAChH,MAAM,MAAM,uCAAuC,GAAG,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,KAAK,+BAA+B,CAAC;AAU/I,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,OAqB9E;AAoBD,qBAAa,UAAW,SAAQ,WAAW;IAuG3B,OAAO,CAAC,UAAU;IAtG9B,OAAO,CAAC,GAAG,CAAwD;IACnE,IAAI,EAAE,IACQ,cAAc,CADO;IACnC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAA6B;IACzD,IAAI,SAAS,+BAA+B;IAI5C,IAAI,SAAS,mBAA8B;IAE3C,OAAO,CAAC,YAAY,CAAyC;IAC7D,IAAI,WAAW,IACQ,OAAO,CADuB;IACrD,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAsC;IACpE;;MAEE;IACF,IAAI,kBAAkB,iCAAwC;IAE9D,OAAO,CAAC,WAAW,CAAsD;IACzE,IAAI,UAAU,IAAI,QAAQ,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAA6B;IAC7E,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM;IAIvB,OAAO,CAAC,0BAA0B,CAA0F;IAC5H,IAAI,yBAAyB,IACQ,uCAAuC,GAAG,SAAS,CADP;IACjF,IAAI,yBAAyB,CAAC,KAAK,EAAE,uCAAuC,GAAG,SAAS,EAAoD;IAC5I,IAAI,gCAAgC,yHAAsD;IAE1F,OAAO,CAAC,wBAAwB,CAAoJ;IACpL,IAAI,uBAAuB,kCAD0D,+BAA+B,eAAe,UAAU,UAAU,cAAc,KAAK,IAAI,GACvG;IACvE,kBAAkB,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE,+BAA+B,KAAK,IAAI;IAIxF,MAAM,CAAC,mCAAmC,SAAuC;IACjF,MAAM,CAAC,8BAA8B,SAAkC;IAEvE,MAAM,CAAC,OAAO,SAAW;IACzB,MAAM,CAAC,uCAAuC,SAA2C;IACzF,MAAM,CAAC,gBAAgB;;MAAoB;IAE3C,MAAM,CAAC,oCAAoC,0BAAoB;IAC/D,OAAO,CAAC,8BAA8B,CAA8G;IACpJ,IAAI,6BAA6B,IAEQ,iCAAiC,CAFe;IACzF,IAAI,oCAAoC,qFAA0D;IAClG,IAAI,6BAA6B,CAAC,KAAK,EAAE,iCAAiC,EAAwD;IAElI,IAAI,wBAAwB,IAEQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAFsD;IACtH,IAAI,+BAA+B,qGAA6C;IAChF,IAAI,wBAAwB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAkK;IAElO,OAAO,CAAC,OAAO,CAA2E;IAC1F,IAAI,MAAM,yCAAiC;IAC3C,IAAI,aAAa,2FAAmC;IACpD,mBAAmB;IAEnB,OAAO,CAAC,qBAAqB,CAAuF;IACpH,IAAI,oBAAoB,iEAAyC;IACjE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU;IAIzE,OAAO,CAAC,wBAAwB,CAAC;IACjC,IAAI,uBAAuB,QAA4C;IAEvE,OAAO,CAAC,gCAAgC,CAAC;IACzC,IAAI,+BAA+B,QAAoD;IAEvF,OAAO,CAAC,qBAAqB,CAAkF;IAC/G,IAAI,oBAAoB,IAEQ,+BAA+B,GAAG,SAAS,CAFJ;IACvE,IAAI,2BAA2B,yGAAiD;IAChF,IAAI,oBAAoB,CAAC,KAAK,EAAE,+BAA+B,GAAG,SAAS,EAA+C;IAE1H,OAAO,CAAC,MAAM,CAA2E;IACzF,IAAI,KAAK,IAEQ,MAAM,CAAC,iBAAiB,GAAG,SAAS,CAFZ;IACzC,IAAI,YAAY,2FAAkC;IAClD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,GAAG,SAAS,EAAgC;IAErF,OAAO,CAAC,oBAAoB,CAAiE;IAC7F,IAAI,mBAAmB,IACQ,MAAM,CAAC,OAAO,GAAG,SAAS,CADY;IACrE,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,EAA8C;IACvG,IAAI,0BAA0B,uEAAgD;IAE9E,OAAO,CAAC,uBAAuB,CAAiE;IAChG,IAAI,sBAAsB,IACQ,MAAM,CAAC,OAAO,GAAG,SAAS,CADe;IAC3E,IAAI,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,EAAiD;IAC7G,IAAI,6BAA6B,uEAAmD;IAEpF,OAAO,CAAC,cAAc,CAA4E;IAClG,IAAI,aAAa,8CAAkC;IAEnD,OAAO,CAAC,uBAAuB,CAAC;IAChC,IAAI,sBAAsB,QAA2C;IAErE,IAAI,OAAO,QAAuD;IAClE,IAAI,cAAc,QAAqD;IAEvE,OAAO,CAAC,iBAAiB,CAAiF;IAC1G,IAAI,gBAAgB;;QAAqC;IACzD,WAAW,CAAC,OAAO,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,GAAG,SAAS;gBAG9C,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,cAAc;IAyGnG,MAAM,CAAC,QAAQ;;;wBAIoB,WAAW,GAAG,SAAS,GAAG,KAAK;;qBAE1C,OAAO;0BACF,OAAO;iBACV,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqCL,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBASrB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;;;;;wBASpC,iBAAiB;;;;;;;;;;;;;;;mBAqBD,SAAS;;MAErD;IAEF;;OAEG;IACG,YAAY;CASrB;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,kBAAkB;;;;;aAeT,MAAM,GAAG,SAAS,GAAG,WAAW;cAE/B,OAAO,GAAG,SAAS;wBACT,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;;qBAE9C,OAAO,GAAG,SAAS;0BACd,OAAO,GAAG,SAAS;iBAC5B,aAAa,GAAG,SAAS;iCAET,MAAM,GAAG,SAAS;4BACvB,MAAM,GAAG,SAAS;oBAC1B,MAAM,GAAG,SAAS;mCACH,MAAM,GAAG,SAAS;gCAErB,OAAO,GAAG,SAAS;iCAClB,OAAO,GAAG,SAAS;2CACT,MAAM,GAAG,SAAS;2BAElC,OAAO,GAAG,SAAS;mCACX,OAAO,GAAG,SAAS;sBAChC,OAAO,GAAG,SAAS;iCAER,OAAO,GAAG,SAAS;wCACZ,MAAM,GAAG,SAAS;uCACnB,MAAM,GAAG,SAAS;8CACX,MAAM,GAAG,SAAS;6CAEnB,MAAM,GAAG,SAAS;kCAE7B,OAAO,GAAG,SAAS;0BAC3B,MAAM,GAAG,SAAS;mDACO,MAAM,GAAG,SAAS;0CAE3B,MAAM,GAAG,SAAS;2BACjC,MAAM,GAAG,SAAS;2BAElB,OAAO,GAAG,SAAS;8BAEhB,MAAM,GAAG,SAAS;oCACZ,MAAM,GAAG,SAAS;oBAClC,MAAM,GAAG,SAAS;6CAEO,OAAO,GAAG,SAAS;sBAC1C,OAAO,GAAG,SAAS;;;;;;4BAOb,qBAAqB,GAAG,SAAS;;;;;;yBAMpC,OAAO,GAAG,SAAS;2BACjB,OAAO,GAAG,SAAS;qBACzB,OAAO,GAAG,SAAS;;kCAGN,OAAO,GAAG,SAAS;oCACjB,OAAO,GAAG,SAAS;wBAE/B,MAAM,GAAG,SAAS;gCACV,MAAM,GAAG,SAAS;6BACrB,OAAO,GAAG,SAAS;wBAExB,iBAAiB,GAAG,SAAS;qBAChC,OAAO,GAAG,SAAS;sCAEF,MAAM,GAAG,SAAS;0BAE9B,OAAO,GAAG,SAAS;4BACjB,OAAO,GAAG,SAAS;8BACjB,OAAO,GAAG,SAAS;wBACzB,OAAO,GAAG,SAAS;iCACV,OAAO,GAAG,SAAS;wCACZ,OAAO,GAAG,SAAS;sCACrB,OAAO,GAAG,SAAS;iCACxB,OAAO,GAAG,SAAS;sCACd,OAAO,GAAG,SAAS;8BAC3B,OAAO,GAAG,SAAS;sBAC3B,OAAO,GAAG,SAAS;sCAGH,MAAM,GAAG,SAAS;;iCAMvB,OAAO,GAAG,SAAS;KAC3D,CAAC;CACN;AAED,MAAM,WAAW,UAAW,SAAQ,oCAAoC,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAAI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "earthsdk3-cesium",
3
- "version": "3.0.7-beta.14",
3
+ "version": "3.0.7-beta.15",
4
4
  "description": "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",
5
5
  "type": "module",
6
6
  "main": "./dist/earthsdk3-cesium.umd.cjs",