earthsdk3-cesium 3.0.7-beta.19 → 3.0.7-beta.21
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.
|
@@ -4360,7 +4360,7 @@ ${RS}
|
|
|
4360
4360
|
</div>
|
|
4361
4361
|
</div>
|
|
4362
4362
|
</div>
|
|
4363
|
-
`,HQ=async(t,n)=>{const e=(n==null?void 0:n.fontSize)??Q.ESPoi2D.defaults.style.fontSize,r=n!=null&&n.image&&n.image!=""?n==null?void 0:n.image:"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png",s=(n==null?void 0:n.imageSize)??Q.ESPoi2D.defaults.style.imageSize,o=(n==null?void 0:n.text)??Q.ESPoi2D.defaults.style.text,i=n!=null&&n.textBackground&&(n==null?void 0:n.textBackground)!=""?n==null?void 0:n.textBackground:"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png",a=(n==null?void 0:n.textBackgroundColor)??Q.ESPoi2D.defaults.style.textBackgroundColor,l=(n==null?void 0:n.textBackgroundSize)??Q.ESPoi2D.defaults.style.textBackgroundSize,h=(n==null?void 0:n.textColor)??Q.ESPoi2D.defaults.style.textColor,f=(n==null?void 0:n.textOffset)??Q.ESPoi2D.defaults.style.textOffset;let u=QQ;u=u.replace(/{{CustomContainer}}/g,`ESPoi2DCustomContainer${t}`),u=u.replace(/{{CustomImage}}/g,`ESPoi2DCustomImage${t}`),u=u.replace(/{{CustomTextContainer}}/g,`ESPoi2DCustomTextContainer${t}`),u=u.replace(/{{FONT_SIZE}}/g,e+"px"),u=u.replace(/{{IMAGE_SRC}}/g,Q.ESSceneObject.context.getStrFromEnv(r)),u=u.replace(/{{IMAGE_WIDTH}}/g,s[0]+"px"),u=u.replace(/{{IMAGE_HEIGHT}}/g,s[1]+"px"),u=u.replace(/{{TEXT}}/g,o),u=u.replace(/{{TEXT_BACKGROUND}}/g,Q.ESSceneObject.context.getStrFromEnv(i)),u=u.replace(/{{TEXT_BACKGROUND_COLOR}}/g,`rgb(${a.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_BACKGROUND_WIDTH}}/g,l[0]+"px"),u=u.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g,l[1]+"px"),u=u.replace(/{{TEXT_COLOR}}/g,`rgb(${h.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_OFFSET_X}}/g,f[0]+"px"),u=u.replace(/{{TEXT_OFFSET_Y}}/g,f[1]+"px");const y=document.createElement("div");return y.innerHTML=u,[y.children[0].children[0],y.children[0].children[1]]},Ot=class Ot extends Pu{constructor(e,r){super(e,r);N(this,"_widgetComponent");N(this,"_customWidgetComponent");N(this,"_textBox",[]);N(this,"_iconBox");N(this,"_icon");N(this,"_anchor");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.ad(new E.Event),i=this.ad(new E.Event);{let l;const h=this.ad(E.createNextAnimateFrameEvent(e.screenRenderChanged,i));this.widgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(l)return e.screenRender?new $i(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1):new cd(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1)},!1)),this.customWidgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(!(!l||e.mode!="Custom"))return e.screenRender?new $i(e,r,l[1],!0,!1):new cd(e,r,l[1],!0,!1)},!1)),this.widgetComponent.objChanged.don(()=>{e.minVisibleDistanceChanged.emit()});const f=this.dv(E.createNextAnimateFrameEvent(e.nameChanged,e.styleChanged,o));this.ad(f.don(async()=>{var u;if(e.mode!="Custom"){if(this._textBox.length==0&&e.mode!="Linear01")return;const y=e.style[Object.keys(e.style).filter(m=>m.toUpperCase()=="TEXT")[0]]??e.name,{div:v,styleObj:g}=OQ(e.mode,y,this._textBox,this._iconBox,this._icon,this._anchor);l=v,l.innerHTML=NQ(l.innerHTML,g)}else{const y=await HQ(e.id,{...e.style,text:((u=e.style)==null?void 0:u.text)??e.name});l=[y[0],y[1]]}i.emit()}))}{const l=this.ad(E.createProcessingFromAsyncFunc(async y=>{const v=e.mode;Ot.modeCache.value={...Ot.modeCache.value,[v]:void 0},await y.promise(MQ(v)).then(g=>{Ot.modeCache.value={...Ot.modeCache.value,[v]:g},this._icon=g.icon,this._anchor=g.anchor,this._iconBox=g.iconBox,this._textBox=g.textBox,o.emit()})}));let h=null,f=null;const u=()=>{var y,v,g,m;if(e.mode=="Custom"){o.emit();return}if(Reflect.has(Ot.modeCache.value,e.mode))if(Ot.modeCache.value[e.mode])this._icon=(y=Ot.modeCache.value[e.mode])==null?void 0:y.icon,this._anchor=(v=Ot.modeCache.value[e.mode])==null?void 0:v.anchor,this._iconBox=(g=Ot.modeCache.value[e.mode])==null?void 0:g.iconBox,this._textBox=((m=Ot.modeCache.value[e.mode])==null?void 0:m.textBox)??[],o.emit();else{if(h)return;h=Ot.modeCache.changed.don(()=>{var p,d,c,A;Ot.modeCache.value[e.mode]&&(this._icon=(p=Ot.modeCache.value[e.mode])==null?void 0:p.icon,this._anchor=(d=Ot.modeCache.value[e.mode])==null?void 0:d.anchor,this._iconBox=(c=Ot.modeCache.value[e.mode])==null?void 0:c.iconBox,this._textBox=((A=Ot.modeCache.value[e.mode])==null?void 0:A.textBox)??[],o.emit(),h&&h(),h=null)})}else if(!l.isRunning)l.restart();else{if(f)return;f=l.completeEvent.donce(()=>{f&&f(),f=null,l.restart()})}};u(),this.d(e.modeChanged.don(u))}const a=this.ad(new E.Event);{const l=this.dv(E.createNextAnimateFrameEvent(e.anchorChanged,e.autoAnchorChanged,e.offsetChanged)),h=()=>{const f=this.widgetComponent.obj,u=e.autoAnchor?f.defaultAnchor:e.anchor,y=e.offset;if(f instanceof $i)u?(f.czmGeoCustomDivPoi.originRatioAndOffset=[...u,-y[0],-y[1]],f.widgetInfo.style.transformOrigin=`${u[0]*100}% ${u[1]*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let v=100,g=100;e.sizeByContent&&f.domSize?(v=f.domSize.width/100,g=f.domSize.height/100):(v=e.size[0]/100,g=e.size[1]/100),u?f.czmCustomPrimitive.localPosition=[u[0]*v-y[0]/100,0,u[1]*g-y[1]/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}e.mode=="Custom"&&a.emit()};this.d(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.widgetComponent.objChanged,()=>{if(this.widgetComponent.obj==null)return;const f=new E.Destroyable;return h(),f.d(this.widgetComponent.obj.defaultAnchorChanged.don(h)),f}))}{const l=this.dv(E.createNextAnimateFrameEvent(e.styleChanged,e.showChanged,a)),h=()=>{var d,c,A;if(e.mode!="Custom")return;const f=this.customWidgetComponent.obj;if(!f)return;const u=((d=e.style)==null?void 0:d.imageSize)??Q.ESPoi2D.defaults.style.imageSize,y=e.autoAnchor?this.widgetComponent.obj.defaultAnchor:e.anchor,v=((c=e.style)==null?void 0:c.textBoxAlign)??Q.ESPoi2D.defaults.style.textBoxAlign,g=v=="start"?0:v=="center"?.5:1,m=((A=e.style)==null?void 0:A.textBoxOffset)??Q.ESPoi2D.defaults.style.textBoxOffset,p=e.offset;if(f instanceof $i)y?(f.czmGeoCustomDivPoi.originRatioAndOffset=[g,.5,-p[0]-m[0]+u[0]*(y[0]-.5),-p[1]-m[1]+u[1]*(y[1]-.5)],f.widgetInfo.style.transformOrigin=`${g*100}% ${.5*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let w=100,b=100;e.sizeByContent&&f.domSize?(w=f.domSize.width/100,b=f.domSize.height/100):(w=e.size[0]/100,b=e.size[1]/100),y?f.czmCustomPrimitive.localPosition=[g*w+(-p[0]-m[0]+u[0]*(y[0]-.5))/100,0,.5*b+(-p[1]-m[1]+u[1]*(y[1]-.5))/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}};this.ad(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.customWidgetComponent.objChanged,()=>{if(this.customWidgetComponent.obj==null)return;const f=new E.Destroyable,u=this.customWidgetComponent.obj,y=()=>{var v,g,m,p;u&&(u instanceof $i?(((v=e.style)==null?void 0:v.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(u.czmGeoCustomDivPoi.show=!1,this.d(this.widgetComponent.obj.czmGeoCustomDivPoi.pickedEvent.don(d=>{var A,w;const c=(A=Zo(d,"pickResult"))==null?void 0:A.pointerEvent;c&&(u.czmGeoCustomDivPoi.show=e.show&&(((w=e.style)==null?void 0:w.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&c.type=="mouseenter")}))):u.czmGeoCustomDivPoi.show=e.show&&(((g=e.style)==null?void 0:g.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow):(((m=e.style)==null?void 0:m.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(u.czmCustomPrimitive.show=!1,this.d(e.widgetEvent.don(d=>{var c;d&&(u.czmCustomPrimitive.show=e.show&&(((c=e.style)==null?void 0:c.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&d.type=="mouseEnter")}))):u.czmCustomPrimitive.show=e.show&&(((p=e.style)==null?void 0:p.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))};return y(),f.ad(e.styleChanged.don(y)),f}))}}get widgetComponent(){return this._widgetComponent}set widgetComponent(e){this._widgetComponent=e}get customWidgetComponent(){return this._customWidgetComponent}set customWidgetComponent(e){this._customWidgetComponent=e}flyTo(e,r){const{sceneObject:s,czmViewer:o,widgetComponent:i}=this;if(!o.actived)return!1;if(s.flyToParam||s.flyInParam)return super.flyTo(e,r);if(i.obj)i.obj.flyTo(e,r);else{const a=setTimeout(()=>{clearTimeout(a),this.flyTo(e,r)},200)}return s.flyOverEvent.emit(r,"over",o),!0}visibleDistance(e,r){var s,o,i,a,l;if((s=r.viewer)!=null&&s.camera&&e.show){const h=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let f=!1;e.minVisibleDistance<e.maxVisibleDistance?f=e.minVisibleDistance<h&&h<e.maxVisibleDistance:e.maxVisibleDistance==0&&(f=h>e.minVisibleDistance);const u=this.widgetComponent.obj,y=this.customWidgetComponent.obj;if(!u)return;u instanceof $i?(u.czmGeoCustomDivPoi.show=e.show&&f,(((o=e.style)==null?void 0:o.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmGeoCustomDivPoi.show=e.show&&f&&(((i=e.style)==null?void 0:i.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))):(u.czmCustomPrimitive.show=e.show&&f,(((a=e.style)==null?void 0:a.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmCustomPrimitive.show=e.show&&f&&(((l=e.style)==null?void 0:l.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)))}}};N(Ot,"type",Ot.register("ESCesiumViewer",Q.ESPoi2D.type,Ot)),N(Ot,"modeCache",E.react({}));let dg=Ot;const Fc=class Fc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModelPoi3D");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.dv(E.createNextAnimateFrameEvent(e.modeChanged));this.dv(new E.ObjResettingWithEvent(o,()=>{let{mode:i}=e;const a=Q.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/glb/poi3d/${i}/SM_POI_${i.charAt(0).toUpperCase()+i.slice(1)}.gltf`);return this._czmModelPoi3D=new jQ(e,r,a)}))}visibleDistance(e,r){var s;if((s=r.viewer)!=null&&s.camera&&e.show){const o=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let i=!1;if(e.minVisibleDistance<e.maxVisibleDistance?i=e.minVisibleDistance<o&&o<e.maxVisibleDistance:e.maxVisibleDistance==0&&(i=o>e.minVisibleDistance),!this._czmModelPoi3D)return;this._czmModelPoi3D.czmModel&&(this._czmModelPoi3D.czmModel.show=e.show&&i)}}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):this._czmModelPoi3D?(this._czmModelPoi3D.flyTo(e,r),!0):!1:!1}};N(Fc,"type",Fc.register("ESCesiumViewer",Q.ESPoi3D.type,Fc));let pg=Fc;class jQ extends E.Destroyable{constructor(e,r,s){super();N(this,"czmModel");this._sceneObject=e,this._czmViewer=r,this._modelUrl=s,this.czmModel=this.ad(new tn(this._czmViewer,this._sceneObject.id));const o=this._sceneObject,i=this.czmModel;i.show=!1,i.url=this._modelUrl,i.basePath=this._modelUrl.split("/").slice(0,-1).join("/")+"/",i.activeAnimationsAnimateWhilePaused=!0,this.d(E.bind([i,"position"],[o,"position"])),this.d(jt([i,"rotation"],[o,"rotation"])),this.d(E.track([i,"scale"],[o,"scale"])),this.d(E.track([i,"show"],[o,"show"]));{const a=this.dv(E.createNextAnimateFrameEvent(o.allowPickingChanged,o.editingChanged)),l=()=>{o.allowPicking&&!o.editing?i.allowPicking=!0:i.allowPicking=!1};l(),this.d(a.don(l))}{const a=()=>{const h=document.createElement("div");h.style.position="absolute",h.style.zIndex="-1",h.style.bottom="108px",h.style.right="0px",h.innerHTML=`<div style="width: 512px; height: 128px;color: #fff;text-align: center;line-height: 128px;font-size: 50px;margin: 0 auto;">
|
|
4363
|
+
`,HQ=async(t,n)=>{const e=(n==null?void 0:n.fontSize)??Q.ESPoi2D.defaults.style.fontSize,r=(n==null?void 0:n.image)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png",s=(n==null?void 0:n.imageSize)??Q.ESPoi2D.defaults.style.imageSize,o=(n==null?void 0:n.text)??Q.ESPoi2D.defaults.style.text,i=(n==null?void 0:n.textBackground)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png",a=(n==null?void 0:n.textBackgroundColor)??Q.ESPoi2D.defaults.style.textBackgroundColor,l=(n==null?void 0:n.textBackgroundSize)??Q.ESPoi2D.defaults.style.textBackgroundSize,h=(n==null?void 0:n.textColor)??Q.ESPoi2D.defaults.style.textColor,f=(n==null?void 0:n.textOffset)??Q.ESPoi2D.defaults.style.textOffset;let u=QQ;u=u.replace(/{{CustomContainer}}/g,`ESPoi2DCustomContainer${t}`),u=u.replace(/{{CustomImage}}/g,`ESPoi2DCustomImage${t}`),u=u.replace(/{{CustomTextContainer}}/g,`ESPoi2DCustomTextContainer${t}`),u=u.replace(/{{FONT_SIZE}}/g,e+"px"),u=u.replace(/{{IMAGE_SRC}}/g,Q.ESSceneObject.context.getStrFromEnv(r)),u=u.replace(/{{IMAGE_WIDTH}}/g,s[0]+"px"),u=u.replace(/{{IMAGE_HEIGHT}}/g,s[1]+"px"),u=u.replace(/{{TEXT}}/g,o),u=u.replace(/{{TEXT_BACKGROUND}}/g,Q.ESSceneObject.context.getStrFromEnv(i)),u=u.replace(/{{TEXT_BACKGROUND_COLOR}}/g,`rgb(${a.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_BACKGROUND_WIDTH}}/g,l[0]+"px"),u=u.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g,l[1]+"px"),u=u.replace(/{{TEXT_COLOR}}/g,`rgb(${h.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_OFFSET_X}}/g,f[0]+"px"),u=u.replace(/{{TEXT_OFFSET_Y}}/g,f[1]+"px");const y=document.createElement("div");return y.innerHTML=u,[y.children[0].children[0],y.children[0].children[1]]},Ot=class Ot extends Pu{constructor(e,r){super(e,r);N(this,"_widgetComponent");N(this,"_customWidgetComponent");N(this,"_textBox",[]);N(this,"_iconBox");N(this,"_icon");N(this,"_anchor");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.ad(new E.Event),i=this.ad(new E.Event);{let l;const h=this.ad(E.createNextAnimateFrameEvent(e.screenRenderChanged,i));this.customWidgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(!(!l||e.mode!="Custom"))return e.screenRender?new $i(e,r,l[1],!0,!1):new cd(e,r,l[1],!0,!1)},!1)),this.widgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(l)return e.screenRender?new $i(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1):new cd(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1)},!1)),this.widgetComponent.objChanged.don(()=>{e.minVisibleDistanceChanged.emit()});const f=this.dv(E.createNextAnimateFrameEvent(e.nameChanged,e.styleChanged,o));this.ad(f.don(async()=>{var u;if(e.mode!="Custom"){if(this._textBox.length==0&&e.mode!="Linear01")return;const y=e.style[Object.keys(e.style).filter(m=>m.toUpperCase()=="TEXT")[0]]??e.name,{div:v,styleObj:g}=OQ(e.mode,y,this._textBox,this._iconBox,this._icon,this._anchor);l=v,l.innerHTML=NQ(l.innerHTML,g)}else{const y=await HQ(e.id,{...e.style,text:((u=e.style)==null?void 0:u.text)??e.name});l=[y[0],y[1]]}i.emit()}))}{const l=this.ad(E.createProcessingFromAsyncFunc(async y=>{const v=e.mode;Ot.modeCache.value={...Ot.modeCache.value,[v]:void 0},await y.promise(MQ(v)).then(g=>{Ot.modeCache.value={...Ot.modeCache.value,[v]:g},this._icon=g.icon,this._anchor=g.anchor,this._iconBox=g.iconBox,this._textBox=g.textBox,o.emit()})}));let h=null,f=null;const u=()=>{var y,v,g,m;if(e.mode=="Custom"){o.emit();return}if(Reflect.has(Ot.modeCache.value,e.mode))if(Ot.modeCache.value[e.mode])this._icon=(y=Ot.modeCache.value[e.mode])==null?void 0:y.icon,this._anchor=(v=Ot.modeCache.value[e.mode])==null?void 0:v.anchor,this._iconBox=(g=Ot.modeCache.value[e.mode])==null?void 0:g.iconBox,this._textBox=((m=Ot.modeCache.value[e.mode])==null?void 0:m.textBox)??[],o.emit();else{if(h)return;h=Ot.modeCache.changed.don(()=>{var p,d,c,A;Ot.modeCache.value[e.mode]&&(this._icon=(p=Ot.modeCache.value[e.mode])==null?void 0:p.icon,this._anchor=(d=Ot.modeCache.value[e.mode])==null?void 0:d.anchor,this._iconBox=(c=Ot.modeCache.value[e.mode])==null?void 0:c.iconBox,this._textBox=((A=Ot.modeCache.value[e.mode])==null?void 0:A.textBox)??[],o.emit(),h&&h(),h=null)})}else if(!l.isRunning)l.restart();else{if(f)return;f=l.completeEvent.donce(()=>{f&&f(),f=null,l.restart()})}};u(),this.d(e.modeChanged.don(u))}const a=this.ad(new E.Event);{const l=this.dv(E.createNextAnimateFrameEvent(e.anchorChanged,e.autoAnchorChanged,e.offsetChanged)),h=()=>{const f=this.widgetComponent.obj,u=e.autoAnchor?f.defaultAnchor:e.anchor,y=e.offset;if(f instanceof $i)u?(f.czmGeoCustomDivPoi.originRatioAndOffset=[...u,-y[0],-y[1]],f.widgetInfo.style.transformOrigin=`${u[0]*100}% ${u[1]*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let v=100,g=100;e.sizeByContent&&f.domSize?(v=f.domSize.width/100,g=f.domSize.height/100):(v=e.size[0]/100,g=e.size[1]/100),u?f.czmCustomPrimitive.localPosition=[u[0]*v-y[0]/100,0,u[1]*g-y[1]/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}e.mode=="Custom"&&a.emit()};this.d(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.widgetComponent.objChanged,()=>{if(this.widgetComponent.obj==null)return;const f=new E.Destroyable;return h(),f.d(this.widgetComponent.obj.defaultAnchorChanged.don(h)),f}))}{const l=this.dv(E.createNextAnimateFrameEvent(e.styleChanged,e.showChanged,a)),h=()=>{var d,c,A;if(e.mode!="Custom")return;const f=this.customWidgetComponent.obj;if(!f)return;const u=((d=e.style)==null?void 0:d.imageSize)??Q.ESPoi2D.defaults.style.imageSize,y=e.autoAnchor?this.widgetComponent.obj.defaultAnchor:e.anchor,v=((c=e.style)==null?void 0:c.textBoxAlign)??Q.ESPoi2D.defaults.style.textBoxAlign,g=v=="start"?0:v=="center"?.5:1,m=((A=e.style)==null?void 0:A.textBoxOffset)??Q.ESPoi2D.defaults.style.textBoxOffset,p=e.offset;if(f instanceof $i)y?(f.czmGeoCustomDivPoi.originRatioAndOffset=[g,.5,-p[0]-m[0]+u[0]*(y[0]-.5),-p[1]-m[1]+u[1]*(y[1]-.5)],f.widgetInfo.style.transformOrigin=`${g*100}% ${.5*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let w=100,b=100;e.sizeByContent&&f.domSize?(w=f.domSize.width/100,b=f.domSize.height/100):(w=e.size[0]/100,b=e.size[1]/100),y?f.czmCustomPrimitive.localPosition=[g*w+(-p[0]-m[0]+u[0]*(y[0]-.5))/100,0,.5*b+(-p[1]-m[1]+u[1]*(y[1]-.5))/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}};this.ad(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.customWidgetComponent.objChanged,()=>{if(this.customWidgetComponent.obj==null)return;const f=new E.Destroyable,u=this.customWidgetComponent.obj,y=()=>{var v,g,m,p;u&&(u instanceof $i?(((v=e.style)==null?void 0:v.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(u.czmGeoCustomDivPoi.show=!1,this.d(this.widgetComponent.obj.czmGeoCustomDivPoi.pickedEvent.don(d=>{var A,w;const c=(A=Zo(d,"pickResult"))==null?void 0:A.pointerEvent;c&&(u.czmGeoCustomDivPoi.show=e.show&&(((w=e.style)==null?void 0:w.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&c.type=="mouseenter")}))):u.czmGeoCustomDivPoi.show=e.show&&(((g=e.style)==null?void 0:g.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow):(((m=e.style)==null?void 0:m.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(u.czmCustomPrimitive.show=!1,this.d(e.widgetEvent.don(d=>{var c;d&&(u.czmCustomPrimitive.show=e.show&&(((c=e.style)==null?void 0:c.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&d.type=="mouseEnter")}))):u.czmCustomPrimitive.show=e.show&&(((p=e.style)==null?void 0:p.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))};return y(),f.ad(e.styleChanged.don(y)),f}))}}get widgetComponent(){return this._widgetComponent}set widgetComponent(e){this._widgetComponent=e}get customWidgetComponent(){return this._customWidgetComponent}set customWidgetComponent(e){this._customWidgetComponent=e}flyTo(e,r){const{sceneObject:s,czmViewer:o,widgetComponent:i}=this;if(!o.actived)return!1;if(s.flyToParam||s.flyInParam)return super.flyTo(e,r);if(i.obj)i.obj.flyTo(e,r);else{const a=setTimeout(()=>{clearTimeout(a),this.flyTo(e,r)},200)}return s.flyOverEvent.emit(r,"over",o),!0}visibleDistance(e,r){var s,o,i,a,l;if((s=r.viewer)!=null&&s.camera&&e.show){const h=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let f=!1;e.minVisibleDistance<e.maxVisibleDistance?f=e.minVisibleDistance<h&&h<e.maxVisibleDistance:e.maxVisibleDistance==0&&(f=h>e.minVisibleDistance);const u=this.widgetComponent.obj,y=this.customWidgetComponent.obj;if(!u)return;u instanceof $i?(u.czmGeoCustomDivPoi.show=e.show&&f,(((o=e.style)==null?void 0:o.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmGeoCustomDivPoi.show=e.show&&f&&(((i=e.style)==null?void 0:i.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))):(u.czmCustomPrimitive.show=e.show&&f,(((a=e.style)==null?void 0:a.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmCustomPrimitive.show=e.show&&f&&(((l=e.style)==null?void 0:l.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)))}}};N(Ot,"type",Ot.register("ESCesiumViewer",Q.ESPoi2D.type,Ot)),N(Ot,"modeCache",E.react({}));let dg=Ot;const Fc=class Fc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModelPoi3D");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.dv(E.createNextAnimateFrameEvent(e.modeChanged));this.dv(new E.ObjResettingWithEvent(o,()=>{let{mode:i}=e;const a=Q.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/glb/poi3d/${i}/SM_POI_${i.charAt(0).toUpperCase()+i.slice(1)}.gltf`);return this._czmModelPoi3D=new jQ(e,r,a)}))}visibleDistance(e,r){var s;if((s=r.viewer)!=null&&s.camera&&e.show){const o=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let i=!1;if(e.minVisibleDistance<e.maxVisibleDistance?i=e.minVisibleDistance<o&&o<e.maxVisibleDistance:e.maxVisibleDistance==0&&(i=o>e.minVisibleDistance),!this._czmModelPoi3D)return;this._czmModelPoi3D.czmModel&&(this._czmModelPoi3D.czmModel.show=e.show&&i)}}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):this._czmModelPoi3D?(this._czmModelPoi3D.flyTo(e,r),!0):!1:!1}};N(Fc,"type",Fc.register("ESCesiumViewer",Q.ESPoi3D.type,Fc));let pg=Fc;class jQ extends E.Destroyable{constructor(e,r,s){super();N(this,"czmModel");this._sceneObject=e,this._czmViewer=r,this._modelUrl=s,this.czmModel=this.ad(new tn(this._czmViewer,this._sceneObject.id));const o=this._sceneObject,i=this.czmModel;i.show=!1,i.url=this._modelUrl,i.basePath=this._modelUrl.split("/").slice(0,-1).join("/")+"/",i.activeAnimationsAnimateWhilePaused=!0,this.d(E.bind([i,"position"],[o,"position"])),this.d(jt([i,"rotation"],[o,"rotation"])),this.d(E.track([i,"scale"],[o,"scale"])),this.d(E.track([i,"show"],[o,"show"]));{const a=this.dv(E.createNextAnimateFrameEvent(o.allowPickingChanged,o.editingChanged)),l=()=>{o.allowPicking&&!o.editing?i.allowPicking=!0:i.allowPicking=!1};l(),this.d(a.don(l))}{const a=()=>{const h=document.createElement("div");h.style.position="absolute",h.style.zIndex="-1",h.style.bottom="108px",h.style.right="0px",h.innerHTML=`<div style="width: 512px; height: 128px;color: #fff;text-align: center;line-height: 128px;font-size: 50px;margin: 0 auto;">
|
|
4364
4364
|
<span style="display: inline-block;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;width: 512px;">${o.style[Object.keys(o.style).filter(f=>f.toUpperCase()=="TEXT")[0]]??o.name}</span>
|
|
4365
4365
|
</div>`,document.body.contains(h)||document.body.appendChild(h),km(h,{backgroundColor:null,allowTaint:!1,useCORS:!0}).then(f=>{var u,y;document.body.contains(h)&&document.body.removeChild(h);for(let v=0;v<i.gltf.images.length;v++){const g=i.gltf.images[v];g.name.toUpperCase().includes("TEXT")&&(g.uri=f.toDataURL("image/png",1))}for(let v=0;v<i.gltf.materials.length;v++){const g=i.gltf.materials[v];g.name.toUpperCase().includes("UI")||g.name.toUpperCase().includes("LAMBERT5")?(g.pbrMetallicRoughness.baseColorFactor=((u=o.style)==null?void 0:u.UI_Color)??[1,1,1,1],g.alphaMode&&delete g.alphaMode):g.name.toUpperCase().includes("TEXT")||(g.pbrMetallicRoughness.baseColorFactor=((y=o.style)==null?void 0:y.FX_Color)??[1,1,1,1])}i.gltfJson=i.gltf,i.activeAnimationsJson=i.gltf.animations.map((v,g)=>({index:g,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}))}).catch(()=>{document.body.contains(h)&&document.body.removeChild(h)})};a();const l=this.dv(E.createNextAnimateFrameEvent(o.nameChanged,o.styleChanged));this.d(l.don(a))}}flyTo(e,r){const{_czmViewer:s,_sceneObject:o,czmModel:i}=this;Bn(s,o,r,e,i,!0)}}const kc=class kc extends Ze{constructor(e,r){super(e,r);N(this,"_czmCustomPrimitive");N(this,"_causticsTexture");N(this,"_foamTexture");N(this,"_heightMapTexture");N(this,"_normalMapTexture");N(this,"isTimestamp",e=>{if(e.toString().length!==13||isNaN(e))return console.log("时间戳格式错误"),!1;const s=new Date(e);return isNaN(s.getTime())?(console.log("时间戳格式错误"),!1):!0});N(this,"getClosestTimestampIndex",(e,r)=>{for(var s=0,o=1/0,i=0;i<r.length;i++){var a=Math.abs(e-r[i]);a<o&&(o=a,s=i)}return s});if(this._czmCustomPrimitive=this.dv(new mt(r,e.id)),this._causticsTexture=this.dv(new wt(r)),this._foamTexture=this.dv(new wt(r)),this._heightMapTexture=this.dv(new wt(r)),this._normalMapTexture=this.dv(new wt(r)),!r.viewer){console.warn("viewer is undefined!");return}const o=this.czmCustomPrimitive,i=this.causticsTexture,a=this.foamTexture,l=this.heightMapTexture,h=this.normalMapTexture;i.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/caustics.jpg"),a.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/foam.jpg"),l.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/heightmap.jpg"),h.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/water_normalmap.png"),this.d(E.track([o,"show"],[e,"show"])),this.d(E.track([o,"allowPicking"],[e,"allowPicking"])),this.d(E.bind([o,"position"],[e,"position"])),this.d(E.bind([o,"rotation"],[e,"rotation"])),this.d(E.bind([o,"scale"],[e,"scale"])),o.pass="TRANSLUCENT",o.primitiveType="TRIANGLES",o.renderState={depthTest:{enabled:!0},cull:{enabled:!0,face:1029},depthMask:!0,blending:{enabled:!0,equationRgb:32774,equationAlpha:32774,functionSourceRgb:770,functionSourceAlpha:1,functionDestinationRgb:771,functionDestinationAlpha:771}},o.vertexShaderSource=`
|
|
4366
4366
|
in vec3 position;
|
|
@@ -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 y=F.Cartesian3.subtract(r.currentV,this.owner.cartesian,new F.Cartesian3);F.Cartesian3.normalize(y,y);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(y,v,f.normal),m=N0(f.origin,y,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],y=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?y+=g:y-=g),u<=0&&(u+=g),y<=0&&(y+=g),this.scale=[u??1,y??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:y}=this._scaleAxis,v=this._opInfo.constraintMode.value,g=this._opInfo.step;f.color=[0,0,1,.99],u.color=[0,1,0,.99],y.color=[1,0,0,.99],v==="x"?y.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:y,yAxis:v,xAxis:g}=this._scaleAxis;y.startPosition=v.startPosition=g.startPosition=u;const[m,p,d]=u;y.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 A=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);A&&(v.stopPosition=A)};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 y={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,y),this._opInfo.constraintMode.value=y.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=y.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&&y.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),y=Q.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,y),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((y,v)=>{u.disposer.dispose(v),u.disposer.dispose(e.pointerUpEvent.don(()=>{y()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{y()}))})),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(y=>{y?(o++,u(!0)):u(!1)})),a.disposer.dispose(f.overEvent.disposableOnce(y=>{y?(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 y=n.editingPoints.get(f).position;if(!y)break;const v=Fp(h,y);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 y=new Ap(this,u);this.editingPoints.splice(o,0,y)}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 y=[...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]-y[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])),y=[...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 y=>{const v=y.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 y.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.19",e="2025-06-16T02:43:40.000Z",r="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="bfb5c52299c36a3d7531a7512f7bbff5dc3150cc",a=((Date.now()-175004182e4)/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 y=F.Cartesian3.subtract(r.currentV,this.owner.cartesian,new F.Cartesian3);F.Cartesian3.normalize(y,y);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(y,v,f.normal),m=N0(f.origin,y,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],y=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?y+=g:y-=g),u<=0&&(u+=g),y<=0&&(y+=g),this.scale=[u??1,y??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:y}=this._scaleAxis,v=this._opInfo.constraintMode.value,g=this._opInfo.step;f.color=[0,0,1,.99],u.color=[0,1,0,.99],y.color=[1,0,0,.99],v==="x"?y.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:y,yAxis:v,xAxis:g}=this._scaleAxis;y.startPosition=v.startPosition=g.startPosition=u;const[m,p,d]=u;y.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 A=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);A&&(v.stopPosition=A)};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 y={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,y),this._opInfo.constraintMode.value=y.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=y.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&&y.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),y=Q.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,y),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((y,v)=>{u.disposer.dispose(v),u.disposer.dispose(e.pointerUpEvent.don(()=>{y()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{y()}))})),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(y=>{y?(o++,u(!0)):u(!1)})),a.disposer.dispose(f.overEvent.disposableOnce(y=>{y?(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 y=n.editingPoints.get(f).position;if(!y)break;const v=Fp(h,y);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 y=new Ap(this,u);this.editingPoints.splice(o,0,y)}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 y=[...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]-y[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])),y=[...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 y=>{const v=y.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 y.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.21",e="2025-06-16T03:30:33.000Z",r="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="c23ced783039305cf177e3e481e98b9d5fb9213a",a=((Date.now()-1750044633e3)/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}","
|
|
4900
|
+
`;ue.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","c23ced783039305cf177e3e481e98b9d5fb9213a")},get info(){return l},get date(){return"2025-06-16T03:30:33.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.21"},get name(){return"earthsdk3-cesium"},get commitId(){return"c23ced783039305cf177e3e481e98b9d5fb9213a"},print(){console.info(this.info,`
|
|
4901
4901
|
font-size: 18px;
|
|
4902
4902
|
font-weight: 1000;
|
|
4903
4903
|
line-height: 1;
|
package/dist/earthsdk3-cesium.js
CHANGED
|
@@ -39514,7 +39514,7 @@ const q4 = {
|
|
|
39514
39514
|
</div>
|
|
39515
39515
|
</div>
|
|
39516
39516
|
`, X4 = async (t, i) => {
|
|
39517
|
-
const e = (i == null ? void 0 : i.fontSize) ?? gt.defaults.style.fontSize, n = i
|
|
39517
|
+
const e = (i == null ? void 0 : i.fontSize) ?? gt.defaults.style.fontSize, n = (i == null ? void 0 : i.image) ?? "${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png", s = (i == null ? void 0 : i.imageSize) ?? gt.defaults.style.imageSize, o = (i == null ? void 0 : i.text) ?? gt.defaults.style.text, r = (i == null ? void 0 : i.textBackground) ?? "${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png", a = (i == null ? void 0 : i.textBackgroundColor) ?? gt.defaults.style.textBackgroundColor, l = (i == null ? void 0 : i.textBackgroundSize) ?? gt.defaults.style.textBackgroundSize, c = (i == null ? void 0 : i.textColor) ?? gt.defaults.style.textColor, d = (i == null ? void 0 : i.textOffset) ?? gt.defaults.style.textOffset;
|
|
39518
39518
|
let u = $4;
|
|
39519
39519
|
u = u.replace(/{{CustomContainer}}/g, `ESPoi2DCustomContainer${t}`), u = u.replace(/{{CustomImage}}/g, `ESPoi2DCustomImage${t}`), u = u.replace(/{{CustomTextContainer}}/g, `ESPoi2DCustomTextContainer${t}`), u = u.replace(/{{FONT_SIZE}}/g, e + "px"), u = u.replace(/{{IMAGE_SRC}}/g, ae.context.getStrFromEnv(n)), u = u.replace(/{{IMAGE_WIDTH}}/g, s[0] + "px"), u = u.replace(/{{IMAGE_HEIGHT}}/g, s[1] + "px"), u = u.replace(/{{TEXT}}/g, o), u = u.replace(/{{TEXT_BACKGROUND}}/g, ae.context.getStrFromEnv(r)), u = u.replace(/{{TEXT_BACKGROUND_COLOR}}/g, `rgb(${a.map((f) => f * 255).join(",")})`), u = u.replace(/{{TEXT_BACKGROUND_WIDTH}}/g, l[0] + "px"), u = u.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g, l[1] + "px"), u = u.replace(/{{TEXT_COLOR}}/g, `rgb(${c.map((f) => f * 255).join(",")})`), u = u.replace(/{{TEXT_OFFSET_X}}/g, d[0] + "px"), u = u.replace(/{{TEXT_OFFSET_Y}}/g, d[1] + "px");
|
|
39520
39520
|
const p = document.createElement("div");
|
|
@@ -39539,12 +39539,12 @@ const q4 = {
|
|
|
39539
39539
|
e.screenRenderChanged,
|
|
39540
39540
|
r
|
|
39541
39541
|
));
|
|
39542
|
-
this.
|
|
39543
|
-
if (l)
|
|
39544
|
-
return e.screenRender ? new hs(e, n, l instanceof HTMLDivElement ? l : l[0], !0, !1) : new xg(e, n, l instanceof HTMLDivElement ? l : l[0], !0, !1);
|
|
39545
|
-
}, !1)), this.customWidgetComponent = this.disposeVar(new pe(c, () => {
|
|
39542
|
+
this.customWidgetComponent = this.disposeVar(new pe(c, () => {
|
|
39546
39543
|
if (!(!l || e.mode != "Custom"))
|
|
39547
39544
|
return e.screenRender ? new hs(e, n, l[1], !0, !1) : new xg(e, n, l[1], !0, !1);
|
|
39545
|
+
}, !1)), this.widgetComponent = this.disposeVar(new pe(c, () => {
|
|
39546
|
+
if (l)
|
|
39547
|
+
return e.screenRender ? new hs(e, n, l instanceof HTMLDivElement ? l : l[0], !0, !1) : new xg(e, n, l instanceof HTMLDivElement ? l : l[0], !0, !1);
|
|
39548
39548
|
}, !1)), this.widgetComponent.objChanged.don(() => {
|
|
39549
39549
|
e.minVisibleDistanceChanged.emit();
|
|
39550
39550
|
});
|
|
@@ -53493,7 +53493,7 @@ function YV() {
|
|
|
53493
53493
|
}
|
|
53494
53494
|
let og;
|
|
53495
53495
|
try {
|
|
53496
|
-
const t = "earthsdk3-cesium", i = "3.0.7-beta.
|
|
53496
|
+
const t = "earthsdk3-cesium", i = "3.0.7-beta.21", e = "2025-06-16T03:30:33.000Z", n = "北京西部世界科技有限公司", s = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", o = "c23ced783039305cf177e3e481e98b9d5fb9213a", a = ((Date.now() - 1750044633e3) / 36e5).toFixed(1), l = `%c🌏 ${t}%c ${i}.${o.slice(0, 8)}.${e} (距今${a}个小时)
|
|
53497
53497
|
%c${s ? s + `
|
|
53498
53498
|
` : ""}当前网站正在使用${t},此软件版权归${n}所有
|
|
53499
53499
|
`;
|
|
@@ -53507,7 +53507,7 @@ try {
|
|
|
53507
53507
|
},
|
|
53508
53508
|
// @ts-ignore
|
|
53509
53509
|
get gituri() {
|
|
53510
|
-
return GITURI_ && GITURI_.replace("${commitId}", "
|
|
53510
|
+
return GITURI_ && GITURI_.replace("${commitId}", "c23ced783039305cf177e3e481e98b9d5fb9213a");
|
|
53511
53511
|
},
|
|
53512
53512
|
// @ts-ignore
|
|
53513
53513
|
get info() {
|
|
@@ -53515,7 +53515,7 @@ try {
|
|
|
53515
53515
|
},
|
|
53516
53516
|
// @ts-ignore
|
|
53517
53517
|
get date() {
|
|
53518
|
-
return "2025-06-
|
|
53518
|
+
return "2025-06-16T03:30:33.000Z";
|
|
53519
53519
|
},
|
|
53520
53520
|
// @ts-ignore
|
|
53521
53521
|
get author() {
|
|
@@ -53523,7 +53523,7 @@ try {
|
|
|
53523
53523
|
},
|
|
53524
53524
|
// @ts-ignore
|
|
53525
53525
|
get version() {
|
|
53526
|
-
return "3.0.7-beta.
|
|
53526
|
+
return "3.0.7-beta.21";
|
|
53527
53527
|
},
|
|
53528
53528
|
// @ts-ignore
|
|
53529
53529
|
get name() {
|
|
@@ -53531,7 +53531,7 @@ try {
|
|
|
53531
53531
|
},
|
|
53532
53532
|
// @ts-ignore
|
|
53533
53533
|
get commitId() {
|
|
53534
|
-
return "
|
|
53534
|
+
return "c23ced783039305cf177e3e481e98b9d5fb9213a";
|
|
53535
53535
|
},
|
|
53536
53536
|
print() {
|
|
53537
53537
|
console.info(
|
|
@@ -2282,7 +2282,7 @@ ${$C}
|
|
|
2282
2282
|
</div>
|
|
2283
2283
|
</div>
|
|
2284
2284
|
</div>
|
|
2285
|
-
`,AL=async(t,i)=>{const e=(i==null?void 0:i.fontSize)??w.ESPoi2D.defaults.style.fontSize,n=i!=null&&i.image&&i.image!=""?i==null?void 0:i.image:"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png",r=(i==null?void 0:i.imageSize)??w.ESPoi2D.defaults.style.imageSize,o=(i==null?void 0:i.text)??w.ESPoi2D.defaults.style.text,s=i!=null&&i.textBackground&&(i==null?void 0:i.textBackground)!=""?i==null?void 0:i.textBackground:"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png",a=(i==null?void 0:i.textBackgroundColor)??w.ESPoi2D.defaults.style.textBackgroundColor,l=(i==null?void 0:i.textBackgroundSize)??w.ESPoi2D.defaults.style.textBackgroundSize,h=(i==null?void 0:i.textColor)??w.ESPoi2D.defaults.style.textColor,u=(i==null?void 0:i.textOffset)??w.ESPoi2D.defaults.style.textOffset;let p=EL;p=p.replace(/{{CustomContainer}}/g,`ESPoi2DCustomContainer${t}`),p=p.replace(/{{CustomImage}}/g,`ESPoi2DCustomImage${t}`),p=p.replace(/{{CustomTextContainer}}/g,`ESPoi2DCustomTextContainer${t}`),p=p.replace(/{{FONT_SIZE}}/g,e+"px"),p=p.replace(/{{IMAGE_SRC}}/g,w.ESSceneObject.context.getStrFromEnv(n)),p=p.replace(/{{IMAGE_WIDTH}}/g,r[0]+"px"),p=p.replace(/{{IMAGE_HEIGHT}}/g,r[1]+"px"),p=p.replace(/{{TEXT}}/g,o),p=p.replace(/{{TEXT_BACKGROUND}}/g,w.ESSceneObject.context.getStrFromEnv(s)),p=p.replace(/{{TEXT_BACKGROUND_COLOR}}/g,`rgb(${a.map(m=>m*255).join(",")})`),p=p.replace(/{{TEXT_BACKGROUND_WIDTH}}/g,l[0]+"px"),p=p.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g,l[1]+"px"),p=p.replace(/{{TEXT_COLOR}}/g,`rgb(${h.map(m=>m*255).join(",")})`),p=p.replace(/{{TEXT_OFFSET_X}}/g,u[0]+"px"),p=p.replace(/{{TEXT_OFFSET_Y}}/g,u[1]+"px");const f=document.createElement("div");return f.innerHTML=p,[f.children[0].children[0],f.children[0].children[1]]},rt=class rt extends Da{constructor(e,n){super(e,n);v(this,"_widgetComponent");v(this,"_customWidgetComponent");v(this,"_textBox",[]);v(this,"_iconBox");v(this,"_icon");v(this,"_anchor");if(!n.viewer){console.warn("viewer is undefined!");return}const o=this.ad(new c.Event),s=this.ad(new c.Event);{let l;const h=this.ad(c.createNextAnimateFrameEvent(e.screenRenderChanged,s));this.widgetComponent=this.disposeVar(new c.ObjResettingWithEvent(h,()=>{if(l)return e.screenRender?new Qn(e,n,l instanceof HTMLDivElement?l:l[0],!0,!1):new vh(e,n,l instanceof HTMLDivElement?l:l[0],!0,!1)},!1)),this.customWidgetComponent=this.disposeVar(new c.ObjResettingWithEvent(h,()=>{if(!(!l||e.mode!="Custom"))return e.screenRender?new Qn(e,n,l[1],!0,!1):new vh(e,n,l[1],!0,!1)},!1)),this.widgetComponent.objChanged.don(()=>{e.minVisibleDistanceChanged.emit()});const u=this.dv(c.createNextAnimateFrameEvent(e.nameChanged,e.styleChanged,o));this.ad(u.don(async()=>{var p;if(e.mode!="Custom"){if(this._textBox.length==0&&e.mode!="Linear01")return;const f=e.style[Object.keys(e.style).filter(y=>y.toUpperCase()=="TEXT")[0]]??e.name,{div:m,styleObj:g}=gL(e.mode,f,this._textBox,this._iconBox,this._icon,this._anchor);l=m,l.innerHTML=PL(l.innerHTML,g)}else{const f=await AL(e.id,{...e.style,text:((p=e.style)==null?void 0:p.text)??e.name});l=[f[0],f[1]]}s.emit()}))}{const l=this.ad(c.createProcessingFromAsyncFunc(async f=>{const m=e.mode;rt.modeCache.value={...rt.modeCache.value,[m]:void 0},await f.promise(mL(m)).then(g=>{rt.modeCache.value={...rt.modeCache.value,[m]:g},this._icon=g.icon,this._anchor=g.anchor,this._iconBox=g.iconBox,this._textBox=g.textBox,o.emit()})}));let h=null,u=null;const p=()=>{var f,m,g,y;if(e.mode=="Custom"){o.emit();return}if(Reflect.has(rt.modeCache.value,e.mode))if(rt.modeCache.value[e.mode])this._icon=(f=rt.modeCache.value[e.mode])==null?void 0:f.icon,this._anchor=(m=rt.modeCache.value[e.mode])==null?void 0:m.anchor,this._iconBox=(g=rt.modeCache.value[e.mode])==null?void 0:g.iconBox,this._textBox=((y=rt.modeCache.value[e.mode])==null?void 0:y.textBox)??[],o.emit();else{if(h)return;h=rt.modeCache.changed.don(()=>{var P,S,C,E;rt.modeCache.value[e.mode]&&(this._icon=(P=rt.modeCache.value[e.mode])==null?void 0:P.icon,this._anchor=(S=rt.modeCache.value[e.mode])==null?void 0:S.anchor,this._iconBox=(C=rt.modeCache.value[e.mode])==null?void 0:C.iconBox,this._textBox=((E=rt.modeCache.value[e.mode])==null?void 0:E.textBox)??[],o.emit(),h&&h(),h=null)})}else if(!l.isRunning)l.restart();else{if(u)return;u=l.completeEvent.donce(()=>{u&&u(),u=null,l.restart()})}};p(),this.d(e.modeChanged.don(p))}const a=this.ad(new c.Event);{const l=this.dv(c.createNextAnimateFrameEvent(e.anchorChanged,e.autoAnchorChanged,e.offsetChanged)),h=()=>{const u=this.widgetComponent.obj,p=e.autoAnchor?u.defaultAnchor:e.anchor,f=e.offset;if(u instanceof Qn)p?(u.czmGeoCustomDivPoi.originRatioAndOffset=[...p,-f[0],-f[1]],u.widgetInfo.style.transformOrigin=`${p[0]*100}% ${p[1]*100}%`):u.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let m=100,g=100;e.sizeByContent&&u.domSize?(m=u.domSize.width/100,g=u.domSize.height/100):(m=e.size[0]/100,g=e.size[1]/100),p?u.czmCustomPrimitive.localPosition=[p[0]*m-f[0]/100,0,p[1]*g-f[1]/100]:u.czmCustomPrimitive.localPosition=[0,0,0]}e.mode=="Custom"&&a.emit()};this.d(l.don(h)),this.ad(new c.ObjResettingWithEvent(this.widgetComponent.objChanged,()=>{if(this.widgetComponent.obj==null)return;const u=new c.Destroyable;return h(),u.d(this.widgetComponent.obj.defaultAnchorChanged.don(h)),u}))}{const l=this.dv(c.createNextAnimateFrameEvent(e.styleChanged,e.showChanged,a)),h=()=>{var S,C,E;if(e.mode!="Custom")return;const u=this.customWidgetComponent.obj;if(!u)return;const p=((S=e.style)==null?void 0:S.imageSize)??w.ESPoi2D.defaults.style.imageSize,f=e.autoAnchor?this.widgetComponent.obj.defaultAnchor:e.anchor,m=((C=e.style)==null?void 0:C.textBoxAlign)??w.ESPoi2D.defaults.style.textBoxAlign,g=m=="start"?0:m=="center"?.5:1,y=((E=e.style)==null?void 0:E.textBoxOffset)??w.ESPoi2D.defaults.style.textBoxOffset,P=e.offset;if(u instanceof Qn)f?(u.czmGeoCustomDivPoi.originRatioAndOffset=[g,.5,-P[0]-y[0]+p[0]*(f[0]-.5),-P[1]-y[1]+p[1]*(f[1]-.5)],u.widgetInfo.style.transformOrigin=`${g*100}% ${.5*100}%`):u.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let T=100,I=100;e.sizeByContent&&u.domSize?(T=u.domSize.width/100,I=u.domSize.height/100):(T=e.size[0]/100,I=e.size[1]/100),f?u.czmCustomPrimitive.localPosition=[g*T+(-P[0]-y[0]+p[0]*(f[0]-.5))/100,0,.5*I+(-P[1]-y[1]+p[1]*(f[1]-.5))/100]:u.czmCustomPrimitive.localPosition=[0,0,0]}};this.ad(l.don(h)),this.ad(new c.ObjResettingWithEvent(this.customWidgetComponent.objChanged,()=>{if(this.customWidgetComponent.obj==null)return;const u=new c.Destroyable,p=this.customWidgetComponent.obj,f=()=>{var m,g,y,P;p&&(p instanceof Qn?(((m=e.style)==null?void 0:m.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="hover"?(p.czmGeoCustomDivPoi.show=!1,this.d(this.widgetComponent.obj.czmGeoCustomDivPoi.pickedEvent.don(S=>{var E,T;const C=(E=Go(S,"pickResult"))==null?void 0:E.pointerEvent;C&&(p.czmGeoCustomDivPoi.show=e.show&&(((T=e.style)==null?void 0:T.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow)&&C.type=="mouseenter")}))):p.czmGeoCustomDivPoi.show=e.show&&(((g=e.style)==null?void 0:g.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow):(((y=e.style)==null?void 0:y.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="hover"?(p.czmCustomPrimitive.show=!1,this.d(e.widgetEvent.don(S=>{var C;S&&(p.czmCustomPrimitive.show=e.show&&(((C=e.style)==null?void 0:C.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow)&&S.type=="mouseEnter")}))):p.czmCustomPrimitive.show=e.show&&(((P=e.style)==null?void 0:P.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow))};return f(),u.ad(e.styleChanged.don(f)),u}))}}get widgetComponent(){return this._widgetComponent}set widgetComponent(e){this._widgetComponent=e}get customWidgetComponent(){return this._customWidgetComponent}set customWidgetComponent(e){this._customWidgetComponent=e}flyTo(e,n){const{sceneObject:r,czmViewer:o,widgetComponent:s}=this;if(!o.actived)return!1;if(r.flyToParam||r.flyInParam)return super.flyTo(e,n);if(s.obj)s.obj.flyTo(e,n);else{const a=setTimeout(()=>{clearTimeout(a),this.flyTo(e,n)},200)}return r.flyOverEvent.emit(n,"over",o),!0}visibleDistance(e,n){var r,o,s,a,l;if((r=n.viewer)!=null&&r.camera&&e.show){const h=w.getDistancesFromPositions([e.position,jt(n.viewer.camera)],"NONE")[0];let u=!1;e.minVisibleDistance<e.maxVisibleDistance?u=e.minVisibleDistance<h&&h<e.maxVisibleDistance:e.maxVisibleDistance==0&&(u=h>e.minVisibleDistance);const p=this.widgetComponent.obj,f=this.customWidgetComponent.obj;if(!p)return;p instanceof Qn?(p.czmGeoCustomDivPoi.show=e.show&&u,(((o=e.style)==null?void 0:o.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="default"&&f&&(f.czmGeoCustomDivPoi.show=e.show&&u&&(((s=e.style)==null?void 0:s.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow))):(p.czmCustomPrimitive.show=e.show&&u,(((a=e.style)==null?void 0:a.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="default"&&f&&(f.czmCustomPrimitive.show=e.show&&u&&(((l=e.style)==null?void 0:l.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow)))}}};v(rt,"type",rt.register("ESCesiumViewer",w.ESPoi2D.type,rt)),v(rt,"modeCache",c.react({}));let Mf=rt;const xl=class xl extends Ae{constructor(e,n){super(e,n);v(this,"_czmModelPoi3D");if(!n.viewer){console.warn("viewer is undefined!");return}const o=this.dv(c.createNextAnimateFrameEvent(e.modeChanged));this.dv(new c.ObjResettingWithEvent(o,()=>{let{mode:s}=e;const a=w.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/glb/poi3d/${s}/SM_POI_${s.charAt(0).toUpperCase()+s.slice(1)}.gltf`);return this._czmModelPoi3D=new TL(e,n,a)}))}visibleDistance(e,n){var r;if((r=n.viewer)!=null&&r.camera&&e.show){const o=w.getDistancesFromPositions([e.position,jt(n.viewer.camera)],"NONE")[0];let s=!1;if(e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<o&&o<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=o>e.minVisibleDistance),!this._czmModelPoi3D)return;this._czmModelPoi3D.czmModel&&(this._czmModelPoi3D.czmModel.show=e.show&&s)}}flyTo(e,n){const{sceneObject:r,czmViewer:o}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):this._czmModelPoi3D?(this._czmModelPoi3D.flyTo(e,n),!0):!1:!1}};v(xl,"type",xl.register("ESCesiumViewer",w.ESPoi3D.type,xl));let If=xl;class TL extends c.Destroyable{constructor(e,n,r){super();v(this,"czmModel");this._sceneObject=e,this._czmViewer=n,this._modelUrl=r,this.czmModel=this.ad(new _t(this._czmViewer,this._sceneObject.id));const o=this._sceneObject,s=this.czmModel;s.show=!1,s.url=this._modelUrl,s.basePath=this._modelUrl.split("/").slice(0,-1).join("/")+"/",s.activeAnimationsAnimateWhilePaused=!0,this.d(c.bind([s,"position"],[o,"position"])),this.d(ut([s,"rotation"],[o,"rotation"])),this.d(c.track([s,"scale"],[o,"scale"])),this.d(c.track([s,"show"],[o,"show"]));{const a=this.dv(c.createNextAnimateFrameEvent(o.allowPickingChanged,o.editingChanged)),l=()=>{o.allowPicking&&!o.editing?s.allowPicking=!0:s.allowPicking=!1};l(),this.d(a.don(l))}{const a=()=>{const h=document.createElement("div");h.style.position="absolute",h.style.zIndex="-1",h.style.bottom="108px",h.style.right="0px",h.innerHTML=`<div style="width: 512px; height: 128px;color: #fff;text-align: center;line-height: 128px;font-size: 50px;margin: 0 auto;">
|
|
2285
|
+
`,AL=async(t,i)=>{const e=(i==null?void 0:i.fontSize)??w.ESPoi2D.defaults.style.fontSize,n=(i==null?void 0:i.image)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png",r=(i==null?void 0:i.imageSize)??w.ESPoi2D.defaults.style.imageSize,o=(i==null?void 0:i.text)??w.ESPoi2D.defaults.style.text,s=(i==null?void 0:i.textBackground)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png",a=(i==null?void 0:i.textBackgroundColor)??w.ESPoi2D.defaults.style.textBackgroundColor,l=(i==null?void 0:i.textBackgroundSize)??w.ESPoi2D.defaults.style.textBackgroundSize,h=(i==null?void 0:i.textColor)??w.ESPoi2D.defaults.style.textColor,u=(i==null?void 0:i.textOffset)??w.ESPoi2D.defaults.style.textOffset;let p=EL;p=p.replace(/{{CustomContainer}}/g,`ESPoi2DCustomContainer${t}`),p=p.replace(/{{CustomImage}}/g,`ESPoi2DCustomImage${t}`),p=p.replace(/{{CustomTextContainer}}/g,`ESPoi2DCustomTextContainer${t}`),p=p.replace(/{{FONT_SIZE}}/g,e+"px"),p=p.replace(/{{IMAGE_SRC}}/g,w.ESSceneObject.context.getStrFromEnv(n)),p=p.replace(/{{IMAGE_WIDTH}}/g,r[0]+"px"),p=p.replace(/{{IMAGE_HEIGHT}}/g,r[1]+"px"),p=p.replace(/{{TEXT}}/g,o),p=p.replace(/{{TEXT_BACKGROUND}}/g,w.ESSceneObject.context.getStrFromEnv(s)),p=p.replace(/{{TEXT_BACKGROUND_COLOR}}/g,`rgb(${a.map(m=>m*255).join(",")})`),p=p.replace(/{{TEXT_BACKGROUND_WIDTH}}/g,l[0]+"px"),p=p.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g,l[1]+"px"),p=p.replace(/{{TEXT_COLOR}}/g,`rgb(${h.map(m=>m*255).join(",")})`),p=p.replace(/{{TEXT_OFFSET_X}}/g,u[0]+"px"),p=p.replace(/{{TEXT_OFFSET_Y}}/g,u[1]+"px");const f=document.createElement("div");return f.innerHTML=p,[f.children[0].children[0],f.children[0].children[1]]},rt=class rt extends Da{constructor(e,n){super(e,n);v(this,"_widgetComponent");v(this,"_customWidgetComponent");v(this,"_textBox",[]);v(this,"_iconBox");v(this,"_icon");v(this,"_anchor");if(!n.viewer){console.warn("viewer is undefined!");return}const o=this.ad(new c.Event),s=this.ad(new c.Event);{let l;const h=this.ad(c.createNextAnimateFrameEvent(e.screenRenderChanged,s));this.customWidgetComponent=this.disposeVar(new c.ObjResettingWithEvent(h,()=>{if(!(!l||e.mode!="Custom"))return e.screenRender?new Qn(e,n,l[1],!0,!1):new vh(e,n,l[1],!0,!1)},!1)),this.widgetComponent=this.disposeVar(new c.ObjResettingWithEvent(h,()=>{if(l)return e.screenRender?new Qn(e,n,l instanceof HTMLDivElement?l:l[0],!0,!1):new vh(e,n,l instanceof HTMLDivElement?l:l[0],!0,!1)},!1)),this.widgetComponent.objChanged.don(()=>{e.minVisibleDistanceChanged.emit()});const u=this.dv(c.createNextAnimateFrameEvent(e.nameChanged,e.styleChanged,o));this.ad(u.don(async()=>{var p;if(e.mode!="Custom"){if(this._textBox.length==0&&e.mode!="Linear01")return;const f=e.style[Object.keys(e.style).filter(y=>y.toUpperCase()=="TEXT")[0]]??e.name,{div:m,styleObj:g}=gL(e.mode,f,this._textBox,this._iconBox,this._icon,this._anchor);l=m,l.innerHTML=PL(l.innerHTML,g)}else{const f=await AL(e.id,{...e.style,text:((p=e.style)==null?void 0:p.text)??e.name});l=[f[0],f[1]]}s.emit()}))}{const l=this.ad(c.createProcessingFromAsyncFunc(async f=>{const m=e.mode;rt.modeCache.value={...rt.modeCache.value,[m]:void 0},await f.promise(mL(m)).then(g=>{rt.modeCache.value={...rt.modeCache.value,[m]:g},this._icon=g.icon,this._anchor=g.anchor,this._iconBox=g.iconBox,this._textBox=g.textBox,o.emit()})}));let h=null,u=null;const p=()=>{var f,m,g,y;if(e.mode=="Custom"){o.emit();return}if(Reflect.has(rt.modeCache.value,e.mode))if(rt.modeCache.value[e.mode])this._icon=(f=rt.modeCache.value[e.mode])==null?void 0:f.icon,this._anchor=(m=rt.modeCache.value[e.mode])==null?void 0:m.anchor,this._iconBox=(g=rt.modeCache.value[e.mode])==null?void 0:g.iconBox,this._textBox=((y=rt.modeCache.value[e.mode])==null?void 0:y.textBox)??[],o.emit();else{if(h)return;h=rt.modeCache.changed.don(()=>{var P,S,C,E;rt.modeCache.value[e.mode]&&(this._icon=(P=rt.modeCache.value[e.mode])==null?void 0:P.icon,this._anchor=(S=rt.modeCache.value[e.mode])==null?void 0:S.anchor,this._iconBox=(C=rt.modeCache.value[e.mode])==null?void 0:C.iconBox,this._textBox=((E=rt.modeCache.value[e.mode])==null?void 0:E.textBox)??[],o.emit(),h&&h(),h=null)})}else if(!l.isRunning)l.restart();else{if(u)return;u=l.completeEvent.donce(()=>{u&&u(),u=null,l.restart()})}};p(),this.d(e.modeChanged.don(p))}const a=this.ad(new c.Event);{const l=this.dv(c.createNextAnimateFrameEvent(e.anchorChanged,e.autoAnchorChanged,e.offsetChanged)),h=()=>{const u=this.widgetComponent.obj,p=e.autoAnchor?u.defaultAnchor:e.anchor,f=e.offset;if(u instanceof Qn)p?(u.czmGeoCustomDivPoi.originRatioAndOffset=[...p,-f[0],-f[1]],u.widgetInfo.style.transformOrigin=`${p[0]*100}% ${p[1]*100}%`):u.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let m=100,g=100;e.sizeByContent&&u.domSize?(m=u.domSize.width/100,g=u.domSize.height/100):(m=e.size[0]/100,g=e.size[1]/100),p?u.czmCustomPrimitive.localPosition=[p[0]*m-f[0]/100,0,p[1]*g-f[1]/100]:u.czmCustomPrimitive.localPosition=[0,0,0]}e.mode=="Custom"&&a.emit()};this.d(l.don(h)),this.ad(new c.ObjResettingWithEvent(this.widgetComponent.objChanged,()=>{if(this.widgetComponent.obj==null)return;const u=new c.Destroyable;return h(),u.d(this.widgetComponent.obj.defaultAnchorChanged.don(h)),u}))}{const l=this.dv(c.createNextAnimateFrameEvent(e.styleChanged,e.showChanged,a)),h=()=>{var S,C,E;if(e.mode!="Custom")return;const u=this.customWidgetComponent.obj;if(!u)return;const p=((S=e.style)==null?void 0:S.imageSize)??w.ESPoi2D.defaults.style.imageSize,f=e.autoAnchor?this.widgetComponent.obj.defaultAnchor:e.anchor,m=((C=e.style)==null?void 0:C.textBoxAlign)??w.ESPoi2D.defaults.style.textBoxAlign,g=m=="start"?0:m=="center"?.5:1,y=((E=e.style)==null?void 0:E.textBoxOffset)??w.ESPoi2D.defaults.style.textBoxOffset,P=e.offset;if(u instanceof Qn)f?(u.czmGeoCustomDivPoi.originRatioAndOffset=[g,.5,-P[0]-y[0]+p[0]*(f[0]-.5),-P[1]-y[1]+p[1]*(f[1]-.5)],u.widgetInfo.style.transformOrigin=`${g*100}% ${.5*100}%`):u.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let T=100,I=100;e.sizeByContent&&u.domSize?(T=u.domSize.width/100,I=u.domSize.height/100):(T=e.size[0]/100,I=e.size[1]/100),f?u.czmCustomPrimitive.localPosition=[g*T+(-P[0]-y[0]+p[0]*(f[0]-.5))/100,0,.5*I+(-P[1]-y[1]+p[1]*(f[1]-.5))/100]:u.czmCustomPrimitive.localPosition=[0,0,0]}};this.ad(l.don(h)),this.ad(new c.ObjResettingWithEvent(this.customWidgetComponent.objChanged,()=>{if(this.customWidgetComponent.obj==null)return;const u=new c.Destroyable,p=this.customWidgetComponent.obj,f=()=>{var m,g,y,P;p&&(p instanceof Qn?(((m=e.style)==null?void 0:m.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="hover"?(p.czmGeoCustomDivPoi.show=!1,this.d(this.widgetComponent.obj.czmGeoCustomDivPoi.pickedEvent.don(S=>{var E,T;const C=(E=Go(S,"pickResult"))==null?void 0:E.pointerEvent;C&&(p.czmGeoCustomDivPoi.show=e.show&&(((T=e.style)==null?void 0:T.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow)&&C.type=="mouseenter")}))):p.czmGeoCustomDivPoi.show=e.show&&(((g=e.style)==null?void 0:g.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow):(((y=e.style)==null?void 0:y.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="hover"?(p.czmCustomPrimitive.show=!1,this.d(e.widgetEvent.don(S=>{var C;S&&(p.czmCustomPrimitive.show=e.show&&(((C=e.style)==null?void 0:C.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow)&&S.type=="mouseEnter")}))):p.czmCustomPrimitive.show=e.show&&(((P=e.style)==null?void 0:P.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow))};return f(),u.ad(e.styleChanged.don(f)),u}))}}get widgetComponent(){return this._widgetComponent}set widgetComponent(e){this._widgetComponent=e}get customWidgetComponent(){return this._customWidgetComponent}set customWidgetComponent(e){this._customWidgetComponent=e}flyTo(e,n){const{sceneObject:r,czmViewer:o,widgetComponent:s}=this;if(!o.actived)return!1;if(r.flyToParam||r.flyInParam)return super.flyTo(e,n);if(s.obj)s.obj.flyTo(e,n);else{const a=setTimeout(()=>{clearTimeout(a),this.flyTo(e,n)},200)}return r.flyOverEvent.emit(n,"over",o),!0}visibleDistance(e,n){var r,o,s,a,l;if((r=n.viewer)!=null&&r.camera&&e.show){const h=w.getDistancesFromPositions([e.position,jt(n.viewer.camera)],"NONE")[0];let u=!1;e.minVisibleDistance<e.maxVisibleDistance?u=e.minVisibleDistance<h&&h<e.maxVisibleDistance:e.maxVisibleDistance==0&&(u=h>e.minVisibleDistance);const p=this.widgetComponent.obj,f=this.customWidgetComponent.obj;if(!p)return;p instanceof Qn?(p.czmGeoCustomDivPoi.show=e.show&&u,(((o=e.style)==null?void 0:o.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="default"&&f&&(f.czmGeoCustomDivPoi.show=e.show&&u&&(((s=e.style)==null?void 0:s.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow))):(p.czmCustomPrimitive.show=e.show&&u,(((a=e.style)==null?void 0:a.textBoxMode)??w.ESPoi2D.defaults.style.textBoxMode)=="default"&&f&&(f.czmCustomPrimitive.show=e.show&&u&&(((l=e.style)==null?void 0:l.textBoxShow)??w.ESPoi2D.defaults.style.textBoxShow)))}}};v(rt,"type",rt.register("ESCesiumViewer",w.ESPoi2D.type,rt)),v(rt,"modeCache",c.react({}));let Mf=rt;const xl=class xl extends Ae{constructor(e,n){super(e,n);v(this,"_czmModelPoi3D");if(!n.viewer){console.warn("viewer is undefined!");return}const o=this.dv(c.createNextAnimateFrameEvent(e.modeChanged));this.dv(new c.ObjResettingWithEvent(o,()=>{let{mode:s}=e;const a=w.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/glb/poi3d/${s}/SM_POI_${s.charAt(0).toUpperCase()+s.slice(1)}.gltf`);return this._czmModelPoi3D=new TL(e,n,a)}))}visibleDistance(e,n){var r;if((r=n.viewer)!=null&&r.camera&&e.show){const o=w.getDistancesFromPositions([e.position,jt(n.viewer.camera)],"NONE")[0];let s=!1;if(e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<o&&o<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=o>e.minVisibleDistance),!this._czmModelPoi3D)return;this._czmModelPoi3D.czmModel&&(this._czmModelPoi3D.czmModel.show=e.show&&s)}}flyTo(e,n){const{sceneObject:r,czmViewer:o}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):this._czmModelPoi3D?(this._czmModelPoi3D.flyTo(e,n),!0):!1:!1}};v(xl,"type",xl.register("ESCesiumViewer",w.ESPoi3D.type,xl));let If=xl;class TL extends c.Destroyable{constructor(e,n,r){super();v(this,"czmModel");this._sceneObject=e,this._czmViewer=n,this._modelUrl=r,this.czmModel=this.ad(new _t(this._czmViewer,this._sceneObject.id));const o=this._sceneObject,s=this.czmModel;s.show=!1,s.url=this._modelUrl,s.basePath=this._modelUrl.split("/").slice(0,-1).join("/")+"/",s.activeAnimationsAnimateWhilePaused=!0,this.d(c.bind([s,"position"],[o,"position"])),this.d(ut([s,"rotation"],[o,"rotation"])),this.d(c.track([s,"scale"],[o,"scale"])),this.d(c.track([s,"show"],[o,"show"]));{const a=this.dv(c.createNextAnimateFrameEvent(o.allowPickingChanged,o.editingChanged)),l=()=>{o.allowPicking&&!o.editing?s.allowPicking=!0:s.allowPicking=!1};l(),this.d(a.don(l))}{const a=()=>{const h=document.createElement("div");h.style.position="absolute",h.style.zIndex="-1",h.style.bottom="108px",h.style.right="0px",h.innerHTML=`<div style="width: 512px; height: 128px;color: #fff;text-align: center;line-height: 128px;font-size: 50px;margin: 0 auto;">
|
|
2286
2286
|
<span style="display: inline-block;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;width: 512px;">${o.style[Object.keys(o.style).filter(u=>u.toUpperCase()=="TEXT")[0]]??o.name}</span>
|
|
2287
2287
|
</div>`,document.body.contains(h)||document.body.appendChild(h),Fd(h,{backgroundColor:null,allowTaint:!1,useCORS:!0}).then(u=>{var p,f;document.body.contains(h)&&document.body.removeChild(h);for(let m=0;m<s.gltf.images.length;m++){const g=s.gltf.images[m];g.name.toUpperCase().includes("TEXT")&&(g.uri=u.toDataURL("image/png",1))}for(let m=0;m<s.gltf.materials.length;m++){const g=s.gltf.materials[m];g.name.toUpperCase().includes("UI")||g.name.toUpperCase().includes("LAMBERT5")?(g.pbrMetallicRoughness.baseColorFactor=((p=o.style)==null?void 0:p.UI_Color)??[1,1,1,1],g.alphaMode&&delete g.alphaMode):g.name.toUpperCase().includes("TEXT")||(g.pbrMetallicRoughness.baseColorFactor=((f=o.style)==null?void 0:f.FX_Color)??[1,1,1,1])}s.gltfJson=s.gltf,s.activeAnimationsJson=s.gltf.animations.map((m,g)=>({index:g,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}))}).catch(()=>{document.body.contains(h)&&document.body.removeChild(h)})};a();const l=this.dv(c.createNextAnimateFrameEvent(o.nameChanged,o.styleChanged));this.d(l.don(a))}}flyTo(e,n){const{_czmViewer:r,_sceneObject:o,czmModel:s}=this;Wt(r,o,n,e,s,!0)}}const Fl=class Fl extends Ae{constructor(e,n){super(e,n);v(this,"_czmCustomPrimitive");v(this,"_causticsTexture");v(this,"_foamTexture");v(this,"_heightMapTexture");v(this,"_normalMapTexture");v(this,"isTimestamp",e=>{if(e.toString().length!==13||isNaN(e))return console.log("时间戳格式错误"),!1;const r=new Date(e);return isNaN(r.getTime())?(console.log("时间戳格式错误"),!1):!0});v(this,"getClosestTimestampIndex",(e,n)=>{for(var r=0,o=1/0,s=0;s<n.length;s++){var a=Math.abs(e-n[s]);a<o&&(o=a,r=s)}return r});if(this._czmCustomPrimitive=this.dv(new Ge(n,e.id)),this._causticsTexture=this.dv(new He(n)),this._foamTexture=this.dv(new He(n)),this._heightMapTexture=this.dv(new He(n)),this._normalMapTexture=this.dv(new He(n)),!n.viewer){console.warn("viewer is undefined!");return}const o=this.czmCustomPrimitive,s=this.causticsTexture,a=this.foamTexture,l=this.heightMapTexture,h=this.normalMapTexture;s.uri=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/caustics.jpg"),a.uri=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/foam.jpg"),l.uri=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/heightmap.jpg"),h.uri=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/water_normalmap.png"),this.d(c.track([o,"show"],[e,"show"])),this.d(c.track([o,"allowPicking"],[e,"allowPicking"])),this.d(c.bind([o,"position"],[e,"position"])),this.d(c.bind([o,"rotation"],[e,"rotation"])),this.d(c.bind([o,"scale"],[e,"scale"])),o.pass="TRANSLUCENT",o.primitiveType="TRIANGLES",o.renderState={depthTest:{enabled:!0},cull:{enabled:!0,face:1029},depthMask:!0,blending:{enabled:!0,equationRgb:32774,equationAlpha:32774,functionSourceRgb:770,functionSourceAlpha:1,functionDestinationRgb:771,functionDestinationAlpha:771}},o.vertexShaderSource=`
|
|
2288
2288
|
in vec3 position;
|
|
@@ -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[Ri.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[Ri.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[Ri.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 Ri=Sr;(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),rotation:c.reactArray([0,0,0]),selfRotation:c.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Ri||(Ri={})),c.extendClassProps(Ri.prototype,Ri.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 Ro=class Ro 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??Ro.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??Ro.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(Ro,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),v(Ro,"defaults",{...Vt.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:Ro.baseImageUrl+"point-green.png",otherControlPointImageUrl:Ro.baseImageUrl+"point-yellow.png"});let vi=Ro;(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 R1 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 Ri(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 Rc=class Rc 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(Rc,"type",Rc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularAppend,Rc));let ov=Rc;const xc=class xc 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(xc,"type",xc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularInsert,xc));let rv=xc;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 R1(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 x1(){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}x.copyright=void 0;try{const t="earthsdk3-cesium",i="3.0.7-beta.19",e="2025-06-16T02:43:40.000Z",n="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="bfb5c52299c36a3d7531a7512f7bbff5dc3150cc",a=((Date.now()-175004182e4)/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[Ri.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[Ri.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[Ri.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 Ri=Sr;(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),rotation:c.reactArray([0,0,0]),selfRotation:c.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Ri||(Ri={})),c.extendClassProps(Ri.prototype,Ri.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 Ro=class Ro 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??Ro.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??Ro.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(Ro,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),v(Ro,"defaults",{...Vt.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:Ro.baseImageUrl+"point-green.png",otherControlPointImageUrl:Ro.baseImageUrl+"point-yellow.png"});let vi=Ro;(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 R1 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 Ri(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 Rc=class Rc 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(Rc,"type",Rc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularAppend,Rc));let ov=Rc;const xc=class xc 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(xc,"type",xc.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularInsert,xc));let rv=xc;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 R1(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 x1(){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}x.copyright=void 0;try{const t="earthsdk3-cesium",i="3.0.7-beta.21",e="2025-06-16T03:30:33.000Z",n="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="c23ced783039305cf177e3e481e98b9d5fb9213a",a=((Date.now()-1750044633e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${i}.${o.slice(0,8)}.${e} (距今${a}个小时)
|
|
2820
2820
|
%c${r?r+`
|
|
2821
2821
|
`:""}当前网站正在使用${t},此软件版权归${n}所有
|
|
2822
|
-
`;x.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
2822
|
+
`;x.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","c23ced783039305cf177e3e481e98b9d5fb9213a")},get info(){return l},get date(){return"2025-06-16T03:30:33.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.21"},get name(){return"earthsdk3-cesium"},get commitId(){return"c23ced783039305cf177e3e481e98b9d5fb9213a"},print(){console.info(this.info,`
|
|
2823
2823
|
font-size: 18px;
|
|
2824
2824
|
font-weight: 1000;
|
|
2825
2825
|
line-height: 1;
|