earthsdk3-cesium 3.0.8-beta.6 → 3.0.8-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/earthsdk3-cesium.iife.js +3 -3
- package/dist/earthsdk3-cesium.js +5 -5
- package/dist/earthsdk3-cesium.umd.cjs +3 -3
- package/package.json +3 -3
- package/dist/types/CzmObjects/base/InnerClass/XbsjGroundPolylinePrimitive/GroundPolylinePrimitive.d.ts +0 -148
- package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/XbsjPolylineGeometry.d.ts +0 -3
- package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/xbsjCreateODLinesPrimitive.d.ts +0 -29
- package/dist/types/CzmObjects/general/CzmESVideoFusion/XbsjCameraVideo/XbsjCameraVideo.d.ts +0 -18
- package/dist/types/CzmObjects/general/CzmESViewShed/XbsjViewshed/XbsjViewshed.d.ts +0 -16
- package/dist/types/ESCesiumViewer/BackGroundImage/BackGroundImage.d.ts +0 -5
- package/dist/types/ESCesiumViewer/LocalSkyBox/SkyAtmosphere.d.ts +0 -14
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatPipelineStage.d.ts +0 -12
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatTexturePipelineStage.d.ts +0 -11
- package/dist/types/ESCesiumViewer/initCesiumViewer/fixGoogleEarth/cesiumFixGoogleEarth.d.ts +0 -1
- package/dist/types/__declares/cesium.d.ts +0 -405
- package/dist/types/utils/czmUtils/todo/generateCartesianArc/czm/generateCartesianArc.d.ts +0 -8
- package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/index.d.ts +0 -37
- package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/lib/spline.d.ts +0 -62
|
@@ -4688,10 +4688,10 @@ void main()
|
|
|
4688
4688
|
{
|
|
4689
4689
|
out_FragColor = u_color;
|
|
4690
4690
|
}
|
|
4691
|
-
`,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},At,t)}class FG extends m.HasOwner{constructor(n){super(n);const{czmViewer:e}=this.owner;let i;this.dispose(()=>this.owner.hoveredPlaneType="none");const o=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(r=>{const a=i=this._getStartInfo(r.pointerEvent);a&&(this.owner.hoveredPlaneType=a.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(r=>{i&&i.currentPlaneType!=="none"&&(o.restart(void 0,e,i),i=void 0)})),this.dispose(e.dblclickEvent.disposableOn(r=>{do{const a=this._getStartInfo(r.pointerEvent);if(!a||a.currentPlaneType==="none")break;const{currentPlaneType:s}=a,l=[...this.owner.selfRotation];l[Ci.rotationNum[s]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(m.createProcessingFromAsyncFunc(async(n,e,i)=>{const o=this.owner.circles[i.currentPlaneType];e.incrementDisabledInputStack(),n.disposer.dispose(()=>e.decrementDisabledInputStack()),n.disposer.dispose(e.pointerMoveEvent.don(r=>{if(i&&r.pointerEvent){const{offsetX:a,offsetY:s}=r.pointerEvent,l=[a,s],{currentPlaneType:u}=i;if(u==="none")return;const h=this.owner.getPlane(u);if(!i.currentV)return;const c=h.pick(l);if(!c||!this.owner.cartesian)return;const f=C.Cartesian3.subtract(i.currentV,this.owner.cartesian,new C.Cartesian3);C.Cartesian3.normalize(f,f);const A=C.Cartesian3.subtract(c,this.owner.cartesian,new C.Cartesian3);if(C.Cartesian3.normalize(A,A),!h.normal||!h.origin)return;const d=N0(f,A,h.normal),p=N0(h.origin,f,h.normal),v=N0(h.origin,A,h.normal);{const y=[...this.owner.selfRotation];y[Ci.rotationNum[u]]=i.startRotation+d,this.owner.selfRotation=y,o.circleStartRotation=p,o.circleEndRotation=v}}})),this.owner.movingPlaneType=i.currentPlaneType,n.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),n.disposer.dispose(()=>{o.circleStartRotation=0,o.circleEndRotation=0}),await m.step(n,r=>new Promise((a,s)=>{r.disposer.dispose(s),r.disposer.dispose(e.pointerUpEvent.don(()=>{a()})),r.disposer.dispose(e.pointerOutEvent.don(()=>{a()}))}))}))}_pickPlane(n,e,i,o,r){const a=this.owner.cartesian;if(!a)return;const{selfRotation:s}=this.owner,l=this.owner.getPlane(i).pick(o);if(!l)return;const u=C.Cartesian3.distance(a,l),h=r/4,c=h*3/128;if(!(u>=h-c&&u<=h+c))return;const A=C.Cartesian3.distance(e.camera.positionWC,l);n.currentD2c<=A||(n.currentPlaneType=i,n.currentD2c=A,n.currentV=l,n.startRotation=s[Ci.rotationNum[i]])}_getStartInfo(n){var h;const{czmViewer:e}=this.owner,i=(h=e.viewer)==null?void 0:h.scene;if(!this.owner.position||!this.owner.cartesian)return;const o=rr(i,this.owner.cartesian,this.owner.pixelSize);if(!o)return;const{offsetX:r,offsetY:a}=n,s=[r,a],l=n.pointerId,u={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(u,i,"heading",s,o),this._pickPlane(u,i,"pitch",s,o),this._pickPlane(u,i,"roll",s,o),u}}function N0(t,n,e){const i=C.Cartesian3.cross(n,t,new C.Cartesian3);if(i.equals(C.Cartesian3.ZERO))return 0;C.Cartesian3.normalize(i,i);const o=C.Cartesian3.dot(i,e);let r=Math.acos(C.Cartesian3.dot(t,n))*180/Math.PI;return r=o>0?r:-r,r}const La=class La extends Xn{constructor(e){super();L(this,"_hoveredPlaneType",this.disposeVar(m.react("none")));L(this,"_movingPlaneType",this.disposeVar(m.react("none")));L(this,"_circles");L(this,"_czmCameraModel");L(this,"_cartesian");L(this,"_planes",{heading:this.disposeVar(new EG(this)),pitch:this.disposeVar(new PG(this)),roll:this.disposeVar(new TG(this))});L(this,"_rotatorRunningResetting");this._czmViewer=e;const i=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new m.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new FG(this)})),this._circles={heading:this._createRotatorCircle(i,"heading"),pitch:this._createRotatorCircle(i,"pitch"),roll:this._createRotatorCircle(i,"roll")},!!i.viewer){{const r=()=>{this._cartesian=this.position&&Et(this.position)||void 0};r(),this.dispose(this.positionChanged.disposableOn(r))}this._createCameraModel(i)}}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 jt(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(m.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],i=>i*.1)),this.dispose(m.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(m.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const i=()=>{const o=ft({rotation:this.selfRotation});if(!o)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=C.Matrix4.toArray(o))};i(),this.dispose(this.selfRotationChanged.disposableOn(i))}{const i=()=>{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)};i(),this.dispose(this.enabledChanged.disposableOn(i)),this.dispose(this.showHelperChanged.disposableOn(i))}}_createRotatorCircle(e,i){const o=this.ad(new ll(e));this.dispose(m.track([o,"position"],[this,"position"])),this.dispose(m.track([o,"pixelSize"],[this,"pixelSize"])),this.dispose(m.track([o,"debug"],[this,"debug"])),this.dispose(m.track([o,"rotation"],[this,"rotation"]));{const r=()=>{o.selfRotation=La.rotationFuncs[i](this.selfRotation),o.circleRotation=this.selfRotation[La.rotationNum[i]]};r(),this.dispose(this.selfRotationChanged.disposableOn(r))}{const r=()=>{const a=this.movingPlaneType===i,s=this.hoveredPlaneType===i,u=[0,0,0,a||s?1:.8];u[La.rotationNum[i]]=1,o.color=u};r(),this.dispose(this.movingPlaneTypeChanged.disposableOn(r)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(r))}return o}};L(La,"rotationNum",{heading:0,pitch:1,roll:2}),L(La,"rotationFuncs",{heading:([e,i,o])=>[0,0,0],pitch:([e,i,o])=>[e,0,-90],roll:([e,i,o])=>[e,i+90,0]});let Ci=La;(t=>{t.createDefaultProps=()=>({...Xn.createDefaultProps(),rotation:m.reactArray([0,0,0]),selfRotation:m.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Ci||(Ci={})),m.extendClassProps(Ci.prototype,Ci.createDefaultProps);const za=class za extends m.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 o=this.ad(new rt(n,e));o.arcType="RHUMB";const r=this.ad(new ei(n,e));this.ad(m.track([o,"allowPicking"],[this,"allowPicking"])),this.ad(m.track([r,"allowPicking"],[this,"allowPicking"]));{const a=()=>{o.show=r.show=this.show};a(),this.ad(this.showChanged.don(a))}{const a=()=>{o.width=this.width/2,r.pixelSize=this.width};a(),this.ad(this.widthChanged.don(a))}{const a=()=>{o.color=r.color=this.color};a(),this.ad(this.colorChanged.don(a))}{const a=()=>{o.positions=this.positions,r.position=this.stopPosition};a(),this.dispose(this.startPositionChanged.disposableOn(a)),this.dispose(this.stopPositionChanged.disposableOn(a))}}};L(za,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let ka=za;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:m.reactPositions(t.defaults.positions),width:10,color:m.reactArray([1,0,0,1])})})(ka||(ka={})),m.extendClassProps(ka.prototype,ka.createDefaultProps);class kr extends Xn{constructor(e){super();L(this,"_lastPosition");L(this,"_opInfo",{step:this.ad(m.react(!1)),moved:this.ad(m.react(!1)),constraintMode:this.disposeVar(m.react("none")),originPosition:this.disposeVar(m.reactArray([0,0,0])),originHeading:this.disposeVar(m.react(0)),originDimensions:this.disposeVar(m.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(m.reactArray([0,0,0])),movingPosition:this.disposeVar(m.reactArray([0,0,0])),targetPosition:this.disposeVar(m.reactArray([0,0,0])),targetHeading:this.disposeVar(m.react(0))});L(this,"_scaleAxis");L(this,"_pickingXYProcessing",e=>this.disposeVar(new m.Processing((i,o,r)=>{const a=[0,0,0],s=new C.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const u=hi(m.getDomEventCurrentTargetPos(l.pointerEvent));if(!Ha(e.viewer.scene,u,this._opInfo.originPosition.value[2],s))return;Na(s,a),this._opInfo.constraintMode.value==="x"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value,a,a):this._opInfo.constraintMode.value==="y"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,a,a):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=a,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const h=[0,0,0];N.geoRhumbDestination(a,r,o,h),this._opInfo.targetPosition.value=h;let c=this.scale[0],f=this.scale[1];const A=N.geoDistance(h,this._opInfo.originPosition.value)-N.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...h];const d=this._opInfo.originDimensions.value[0]/100;A!=0&&this._opInfo.constraintMode.value==="y"&&(A>0?c+=d:c-=d),A!=0&&this._opInfo.constraintMode.value==="x"&&(A>0?f+=d:f-=d),c<=0&&(c+=d),f<=0&&(f+=d),this.scale=[c??1,f??1,this.scale[2]??1]})})));L(this,"_pickingZProcessing",e=>this.disposeVar(new m.Processing(()=>{const i=new C.Cartesian3,o=[0,0,0];return e.pointerMoveEvent.disposableOn(r=>{if(!r.pointerEvent||!e.viewer)return;const a=hi(m.getDomEventCurrentTargetPos(r.pointerEvent));if(!Hh(e.viewer.scene,Et(this._opInfo.originPosition.value),a,i))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const s=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(Qe(i,o)){this._opInfo.movingPosition.value=o;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],o[2]+s];let u=this.scale[2];const h=o[2]-this._lastPosition[2];this._lastPosition=[...o];const c=this._opInfo.originDimensions.value[0]/100;h!=0&&(h>0?u+=c:u-=c),u<=0&&(u+=c),this.scale=[this.scale[0]??1,this.scale[1]??1,u??1]}})})));const i=e.viewer;if(!i)return;const{scene:o}=i;this.ad(new Qd(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 u=()=>{if(!this._scaleAxis)return;const{zAxis:h,yAxis:c,xAxis:f}=this._scaleAxis,A=this._opInfo.constraintMode.value,d=this._opInfo.step;h.color=[0,0,1,.99],c.color=[0,1,0,.99],f.color=[1,0,0,.99],A==="x"?f.color=d?[1,1,0,.8]:[1,1,0,.99]:A==="y"?c.color=d?[1,1,0,.8]:[1,1,0,.99]:A==="z"&&(h.color=d?[1,1,0,.8]:[1,1,0,.99])};u(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(u)),this.dispose(this._opInfo.step.changed.disposableOn(u))}{const u=()=>{if(!this._scaleAxis)return;const{position:c=kr.defaults.position}=this,{zAxis:f,yAxis:A,xAxis:d}=this._scaleAxis;f.startPosition=A.startPosition=d.startPosition=c;const[p,v,y]=c;f.stopPosition=[p,v,y+this._opInfo.originDimensions.value[2]];const g=N.geoRhumbDestination(c,this._opInfo.originDimensions.value[0],90);g&&(d.stopPosition=g);const b=N.geoRhumbDestination(c,this._opInfo.originDimensions.value[1],0);b&&(A.stopPosition=b)};u();const h=this.ad(m.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(h.don(u))}{const u=()=>{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((h,c)=>h===this._opInfo.targetPosition.value[c])){this._opInfo.moved.value=!0;return}};u(),this.dispose(this._opInfo.originHeading.changed.disposableOn(u)),this.dispose(this._opInfo.originPosition.changed.disposableOn(u)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(u)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(u))}const r=this._pickingXYProcessing(e),a=this._pickingZProcessing(e),s=this.disposeVar(m.createProcessingFromAsyncFunc(async u=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",u.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await m.step(u,async h=>{const c=()=>{const d=[...this.position??kr.defaults.position];e.editingHeightOffset&&(d[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=d};h.disposer.dispose((c(),this.positionChanged.disposableOn(c)));const f={constraintMode:"none",startDragPos:[0,0,0]},A=d=>{if(!this.position)return;const p={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Td(d,o,p,this.axisSnapPixelSize,f),this._opInfo.constraintMode.value=f.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=f.startDragPos};h.disposer.dispose(e.pointerMoveEvent.disposableOn(d=>{d.pointerEvent&&A(d.pointerEvent)})),await m.step(h,d=>new Promise((p,v)=>{d.disposer.dispose(v),d.disposer.dispose(e.pointerDownEvent.don(y=>{y.pointerEvent&&A(y.pointerEvent),y.pointerEvent&&y.pointerEvent.button===0&&f.constraintMode!=="none"&&p()}))}))}),this._opInfo.step.value=!1,await m.step(u,async h=>{if(e.incrementDisabledInputStack(),h.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const c=N.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),f=N.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);r.restart(void 0,c,f),h.disposer.dispose(()=>r.cancel())}else this._opInfo.constraintMode.value==="z"&&(a.restart(),h.disposer.dispose(()=>a.cancel()));await m.step(h,c=>new Promise((f,A)=>{c.disposer.dispose(A),c.disposer.dispose(e.pointerUpEvent.don(()=>{f()})),c.disposer.dispose(e.pointerOutEvent.don(()=>{f()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?s.restart():s.isRunning&&s.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,i){const o=this.ad(new ka(e));return o.width=10,this.ad(m.track([o,"show"],[this,"enabled"])),o}}(t=>{t.createDefaultProps=()=>({...Xn.createDefaultProps(),scale:m.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(kr||(kr={})),m.extendClassProps(kr.prototype,kr.createDefaultProps);const No=class No extends xn{constructor(e){super();L(this,"_editingPoints",this.disposeVar(new m.ObservableArray));L(this,"_cancelEvent",this.disposeVar(new m.Event));L(this,"_currentProcess");L(this,"_menuPoiEnabled",this.disposeVar(m.react(!1)));L(this,"_status",this.disposeVar(m.react("None")));L(this,"_positionsChanged",this.ad(new m.Event));L(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(i=>{for(let{start:o,deleteCount:r,items:a}of i){for(const s of a)s.menuPoi.enabled=this.menuPoiEnabled??!1;for(let s=o;s<o+r;++s)this.editingPoints.get(s).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let i of this.editingPoints)i.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(i=>{this.ad(m.nextAnimateFrame(()=>{var o;((o=i.pointerEvent)==null?void 0:o.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(i=>{this._currentProcess&&(i?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const i=()=>{this.polylineShow=this.czmViewer.editingLineShow};i(),this.ad(this.czmViewer.editingLineShowChanged.don(i))}}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 i of this._editingPoints)i.position&&e.push([...i.position]);return e}resetPositions(e){if(this.enabled??No.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const i=e||[];return!(i.length===this.editingPoints.length&&i.every((o,r)=>o.every((a,s)=>{const l=this.editingPoints.get(r);return l.position&&l.position[s]===a})))}forceResetPositions(e){(this.enabled??No.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 i=this.ad(new rt(e));this.ad(m.track([i,"color"],[this,"polylineColor"])),this.ad(m.track([i,"width"],[this,"polylineWidth"])),this.ad(m.track([i,"show"],[this,"polylineShow"])),this.ad(m.track([i,"arcType"],[this,"polylineArcType"])),this.ad(m.track([i,"loop"],[this,"loop"]));{const o=()=>{const r=[];for(const a of this.getPositions())a[2]-=e.editingHeightOffset??0,r.push(a);i.positions=r};o(),this.ad(this.positionsChanged.don(o))}}_createCursorInfo(e){const i=this._cursorInfo=this.ad(new m.CursorInfo(e.container,m.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const o=this.status;if(i){if(!this.hideCursorInfo){i.show=!1;return}o==="Adding"?(i.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",i.show=!0):o==="Modifying"||o==="Modifying_Point"?(i.text="Esc键或左键双击:退出编辑状态",i.show=!0):o==="None"&&(i.text="",i.show=!1)}}))}};L(No,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),L(No,"defaults",{...xn.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:No.baseImageUrl+"point-green.png",otherControlPointImageUrl:No.baseImageUrl+"point-yellow.png"});let li=No;(t=>{t.createDefaultProps=()=>({...xn.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:m.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})})(li||(li={})),m.extendClassProps(li.prototype,li.createDefaultProps);let MG=0;class v2 extends m.Destroyable{constructor(e,i){super();L(this,"_position",this.disposeVar(m.reactArrayWithUndefined(void 0)));L(this,"_id",MG++);L(this,"_menuPoi");i&&(this.position=i),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const o=this._menuPoi=this.ad(new rs(e.czmViewer));o.enabled=!1,this.ad(m.track([o,"show"],[e,"enabled"]));{const r=()=>{if(this.position===void 0){o.position=void 0;return}const a=[...this.position];a[2]-=e.czmViewer.editingHeightOffset??0,o.position=a,e.positionsChanged.emit()};r(),this.d(this.positionChanged.don(r))}{const r=()=>{const a=e.editingPoints.indexOf(this)+1;a!==0&&(o.title=`控制点${a}`,a===1?o.imageUri=e.firstControlPointImageUrl??li.defaults.firstControlPointImageUrl:o.imageUri=e.otherControlPointImageUrl??li.defaults.otherControlPointImageUrl)};r(),this.dispose(e.editingPoints.changedEvent.disposableOn(r))}}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 w2 extends v2{constructor(n,e){super(n,e)}}class Rt extends li{constructor(e){super(e);L(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new m.Event));L(this,"placeEditing");if(!e.viewer)return;const i=this.placeEditing=this.ad(new bi(e));i.enabled=!1,this.currentProcess=this.disposeVar(m.createProcessingFromAsyncFunc(async o=>{o.disposer.dispose(()=>{(this.debug??Rt.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Rt.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await o.promise(m.step(o,async r=>{const a=r.disposer,s=a.ad(this._addingEditingProcessing());a.dispose(()=>"adding canceled!"),a.dispose(this.cancelEvent.disposableOn(()=>s.cancel())),await r.promise(new Promise(l=>{a.dispose(s.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(o=>{var r;((r=o.pointerEvent)==null?void 0:r.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const i=e?e.map(o=>new w2(this,o)):[];return this.editingPoints.splice(0,this.editingPoints.length,...i),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Rt.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},i=m.createProcessingFromAsyncFunc(async o=>{let r=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await o.promise(m.step(o,async s=>{let l;!e()&&(l=s.disposer.disposeVar(new BG(this,r)));const h=s.disposer.disposeVar(new RG(this,r));return s.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>h.do())),await s.promise(new Promise(c=>{l&&s.disposer.dispose(l.overEvent.disposableOnce(f=>{f?(r++,c(!0)):c(!1)})),s.disposer.dispose(h.overEvent.disposableOnce(f=>{f?(r--,c(!0)):c(!1)})),s.disposer.dispose(this.cancelEvent.disposableOn(()=>c(!1)))}))})))break;while(!0)});return i.start(),i}}(t=>{t.createDefaultProps=()=>({...li.createDefaultProps()})})(Rt||(Rt={})),m.extendClassProps(Rt.prototype,Rt.createDefaultProps);class BG extends m.Destroyable{constructor(e,i){super();L(this,"_overEvent",this.disposeVar(new m.Event));const{placeEditing:o}=e;let r=new w2(e,void 0);e.editingPoints.splice(i,0,r);const a=()=>{(e.debug??Rt.defaults.debug)&&console.log("delete currentPosEditor");const u=e.editingPoints.indexOf(r);if(u===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(u,1)};if(o.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(m.track([r,"position"],[o,"position"])),o.enabled=!0;let s=!1;const l=()=>{a(),this._overEvent.emit(!1)};this.dispose(()=>{o.enabled=!1,!s&&l()}),this.dispose(o.overEvent.disposableOnce(()=>{s=!0,r.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??Rt.defaults.debug)&&console.log(`PointAdding creating! index(${i})`),this.dispose(()=>{(e.debug??Rt.defaults.debug)&&console.log(`PointAdding destroying! index(${i})`)})}get overEvent(){return this._overEvent}}function DG(t,n){const e=t.editingPoints,i=n-1;return i<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(i,1),!0)}class RG extends m.Destroyable{constructor(e,i){super();L(this,"_overEvent",this.disposeVar(new m.Event));L(this,"_doEvent",this.disposeVar(new m.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(DG(e,i)))),(e.debug??Rt.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${i})`),this.dispose(()=>{(e.debug??Rt.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${i})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class _2 extends Rt{constructor(n){super(n),this.loop=!1}}class b2 extends Rt{constructor(n){super(n),this.loop=!0}}class md extends v2{constructor(n,e){super(n,e);{const{menuPoi:i}=this;i.commands=[["add","增加控制点","",st.baseImageUrl+"add.png"],["delete","删除当前控制点","",st.baseImageUrl+"delete.png"],["modify","修改当前控制点","",st.baseImageUrl+"modify.png"]],i.clickCommandName="modify",i.rightClickCommandName="delete",this.dispose(i.commandEvent.disposableOn(o=>{n.menuPoiCommand(this,o)})),this.dispose(i.dbclickEvent.disposableOn(()=>{n.menuPoiCommand(this,"dbClick")}))}if(n.middlePointShow){const i=this.ad(new Bi(n.czmViewer));{i.imageUri=n.firstControlPointImageUrl??st.defaults.firstControlPointImageUrl,i.tooltip="点击增加一个控制点",i.bgColor=[0,0,0,.6],i.fgColor=[1,1,1,1],i.size=[8,8],i.originRatioAndOffset=[.5,.5,0,0];{const o=()=>{if(!(n.enabled??st.defaults.enabled)){i.enabled=!1,i.show=!1;return}do{const a=n.editingPoints.indexOf(this);if(a===-1)break;const s=n.editingPoints.length;if(s===0){console.error("impl.positionEditors.length === 0!");break}if(!(n.loop??st.defaults.loop)&&a+1>=s)break;const u=this.position;if(!u)break;let h=(a+1)%s;const f=n.editingPoints.get(h).position;if(!f)break;const A=Md(u,f);if(!A)break;A[2]-=n.czmViewer.editingHeightOffset??0,i.position=A;const d=n.editingPoints.length<(n.maxPointsNum??st.defaults.maxPointsNum);i.enabled=d,i.show=d;return}while(!1);i.enabled=!1,i.show=!1};o(),this.dispose(n.positionsChanged.disposableOn(o)),this.dispose(n.loopChanged.disposableOn(o)),this.dispose(n.enabledChanged.disposableOn(o))}this.dispose(i.clickEvent.disposableOn(o=>{if(o.button!==0||n.editingPoints.length>=(n.maxPointsNum??st.defaults.maxPointsNum))return;const r=n.editingPoints.indexOf(this);if(r===-1)return;const a=i.position?[...i.position]:void 0;a&&(a[2]+=n.czmViewer.editingHeightOffset??0);let s=new md(n,a);n.editingPoints.splice(r+1,0,s),n.modify(s)}))}}}}class st extends li{constructor(e){super(e);L(this,"_menuPoiCommand",this.disposeVar(new m.Event));L(this,"_forceModifyPosEditorEvent",this.disposeVar(new m.Event));L(this,"_overEvent",this.disposeVar(new m.Event));L(this,"translationEditing");{const o=this.ad(m.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new m.ObjResettingWithEvent(o,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new OG(this.editingPoints.get(0),this)}))}const i=this.translationEditing=this.disposeVar(new Ir(e));i.enabled=!1,this.currentProcess=this.disposeVar(m.createProcessingFromAsyncFunc(async o=>{o.disposer.dispose(()=>{(this.debug??st.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let r=-1;do if((this.debug??st.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",r=await o.promise(m.step(o,async a=>{const s=a.disposer,l=s.ad(new UG(this));return s.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(r===-1||r>=this.editingPoints.length?0:r)),s.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),s.dispose(this._forceModifyPosEditorEvent.disposableOn(h=>l.modify(h))),await a.promise(new Promise(h=>{s.dispose(l.overEvent.disposableOnce(c=>{h(c)}))}))})),r===-1){(this.debug??st.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??st.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??st.defaults.loop;const s=this.editingPoints.get(r-1).position;if(!s)return;let l=r%this.editingPoints.length;const h=this.editingPoints.get(l).position;if(!h)return;const c=Md(s,h);if(!c)return;c&&(c[2]+=this.czmViewer.editingHeightOffset??0);let f=new md(this,c);this.editingPoints.splice(r,0,f)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,i){this._menuPoiCommand.emit(e,i)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const i=e?e.map(o=>new md(this,o)):[];return this.editingPoints.splice(0,this.editingPoints.length,...i),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),moveWithFirstPosition:!1})})(st||(st={})),m.extendClassProps(st.prototype,st.createDefaultProps);class OG extends m.Destroyable{constructor(n,e){super(),this._firstPositionEditor=n,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((i,o)=>{if(i===void 0||o===void 0)return;var r=[i[0]-o[0],i[1]-o[1],i[2]-o[2]];const a=this.multiPointsModifyEditing.editingPoints.length;for(let s=1;s<a;s++){const l=this.multiPointsModifyEditing.editingPoints.get(s),u=l.position;u!==void 0&&(l.position=[u[0]+r[0],u[1]+r[1],u[2]+r[2]])}})}}class UG extends m.Destroyable{constructor(e){super();L(this,"_overEvent",this.disposeVar(new m.Event));L(this,"_cancelEvent",this.disposeVar(new m.Event));L(this,"_forceModifyPosEditorEvent",this.disposeVar(new m.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let i;const o=()=>{i==null||i.destroy(),i=void 0,e.status="Modifying"};this.dispose(o);const r=a=>{o(),e.status="Modifying_Point",i=new LG(e,a),i.dispose(i.overEvent.disposableOn(()=>{o()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(r)),this.dispose(e._menuPoiCommand.disposableOn((a,s)=>{if(s==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(a);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(s==="modify")r(a);else if(s==="add"){const l=e.editingPoints.indexOf(a);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else s==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${s})`)})),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 LG extends m.Destroyable{constructor(e,i){super();L(this,"_overEvent",this.disposeVar(new m.Event));this._modifying=e,this._posEditor=i,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:o}=this._modifying;if(o.enabled=!0,o.heading=0,this.dispose(()=>{o.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");o.position=this._posEditor.position,this.dispose(m.track([this._posEditor,"position"],[o,"position"])),this.dispose(o.enabledChanged.disposableOnce(r=>{r||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class C2 extends st{constructor(n){super(n),this.loop=!1}}class x2 extends st{constructor(n){super(n),this.loop=!0}}class ul extends Rt{init(){const n=this.startPosition;if(!n)return;const e=this.distance,i=this.rotation,o=e*Math.cos(i[1]*Math.PI/180),r=N.geoDestination(n,o,i[0]);if(!r){this.positions=[n];return}const a=e*Math.sin(i[1]*Math.PI/180);r[2]+=a,this.positions=[n,r],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=r)}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 i=N.geoHeading(this.startPosition,this.endPosition),o=N.geoDistance(this.startPosition,this.endPosition);if(o<=0){this.rotation=[90,0,0],this.distance=1;return}const r=this.endPosition[2]-this.startPosition[2],a=Math.atan(r/o)*180/Math.PI,s=Math.sqrt(o*o+r*r);this.rotation=[i,a,0],this.distance=s};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Rt.createDefaultProps(),startPosition:m.reactArrayWithUndefined(void 0),endPosition:m.reactArrayWithUndefined(void 0),rotation:m.reactArray([90,0,0]),distance:m.react(1)})})(ul||(ul={})),m.extendClassProps(ul.prototype,ul.createDefaultProps);class Fa extends st{init(){const n=this.startPosition;if(!n)return;const e=this.distance,i=this.rotation,o=e*Math.cos(i[1]*Math.PI/180),r=N.geoDestination(n,o,i[0]);if(!r){this.positions=[n];return}const a=e*Math.sin(i[1]*Math.PI/180);r[2]+=a,this.positions=[n,r],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=r)}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","增加控制点","",st.baseImageUrl+"add.png"],["delete","删除当前控制点","",st.baseImageUrl+"delete.png"],["modify","修改当前控制点","",st.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","删除当前控制点","",st.baseImageUrl+"delete.png"],["modify","修改当前控制点","",st.baseImageUrl+"modify.png"]];const i=N.geoHeading(this.startPosition,this.endPosition),o=N.geoDistance(this.startPosition,this.endPosition);if(Math.abs(o)<=0){this.rotation=[90,0,0],this.distance=1;return}const r=this.endPosition[2]-this.startPosition[2],a=Math.atan(r/o)*180/Math.PI,s=Math.sqrt(o*o+r*r);this.rotation=[i,a,0],this.distance=s}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...st.createDefaultProps(),startPosition:m.reactArrayWithUndefined(void 0),endPosition:m.reactArrayWithUndefined(void 0),rotation:m.reactArray([0,0,0]),distance:m.react(0)})})(Fa||(Fa={})),m.extendClassProps(Fa.prototype,Fa.createDefaultProps);class S2 extends Rt{constructor(n){super(n),this.loop=!1,this.polylineShow=!1}}class E2 extends st{constructor(n){super(n),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class cl extends Rt{constructor(n){super(n),n.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const i=[...this.positions[0]];i[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(o=>(o[2]-=n.editingHeightOffset??0,[i,o]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(n){const e=this.ad(new pi(n));e.topOrBottom="bottom",this.ad(m.track([e,"color"],[this,"polylineColor"])),this.ad(m.track([e,"width"],[this,"polylineWidth"])),this.ad(m.track([e,"show"],[this,"polylineShow"])),this.ad(m.track([e,"arcType"],[this,"polylineArcType"])),this.ad(m.track([e,"loop"],[this,"loop"])),this.ad(m.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Rt.createDefaultProps(),visibilityPositions:m.reactPositionsSet(void 0)})})(cl||(cl={})),m.extendClassProps(cl.prototype,cl.createDefaultProps);class hl extends st{constructor(n){if(super(n),!!n.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const i=[...this.positions[0]];i[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(o=>(o[2]-=n.editingHeightOffset??0,[i,o]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(n){const e=this.ad(new pi(n));e.topOrBottom="bottom",this.ad(m.track([e,"color"],[this,"polylineColor"])),this.ad(m.track([e,"width"],[this,"polylineWidth"])),this.ad(m.track([e,"show"],[this,"polylineShow"])),this.ad(m.track([e,"arcType"],[this,"polylineArcType"])),this.ad(m.track([e,"loop"],[this,"loop"])),this.ad(m.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...st.createDefaultProps(),visibilityPositions:m.reactPositionsSet(void 0)})})(hl||(hl={})),m.extendClassProps(hl.prototype,hl.createDefaultProps);class P2 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 gn extends N.EngineObject{constructor(e,i,o){super(e,i,o??!0);L(this,"_supportEditing",this.disposeVar(m.react(!0)));L(this,"_currentEditing",this.disposeVar(m.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var r;if(this.currentEditing){if(this.currentEditing instanceof Rt&&((r=this.currentEditing.currentProcess)!=null&&r.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 bi&&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 Sh=class Sh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new bi(e));this.ad(e.clickEvent.don(o=>{var r;((r=o.pointerEvent)==null?void 0:r.button)==2&&(i.enabled=!0)}));do{if(Reflect.has(n,"position")){this.ad(m.bind([i,"position"],[n,"position"])),i.enabled=!i.position||N.equalsN3(i.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};L(Sh,"type",Sh.registerEditing("ESCesiumViewer",N.ESJEditingMode.Place,Sh));let V0=Sh;const Eh=class Eh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new Ci(e));i.rotation=[90,0,0],this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(n instanceof N.ES3DTileset){N.registerCreatedEventUpdate(this,n,()=>{const o=e.getEngineObject(n);o&&(this.ad(m.bind([i,"position"],[o.czm3DTiles,"position"])),this.ad(m.bind([i,"selfRotation"],[n,"rotation"])))});break}if(Reflect.has(n,"position")&&Reflect.has(n,"rotation")){this.ad(m.bind([i,"position"],[n,"position"])),this.ad(m.bind([i,"selfRotation"],[n,"rotation"]));break}this.supportEditing=!1}while(!1)}};L(Eh,"type",Eh.registerEditing("ESCesiumViewer",N.ESJEditingMode.Rotation,Eh));let H0=Eh;const Ph=class Ph extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new kr(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")&&Reflect.has(n,"scale")){this.ad(m.bind([i,"position"],[n,"position"])),this.ad(m.bind([i,"scale"],[n,"scale"]));break}this.supportEditing=!1}while(!1)}};L(Ph,"type",Ph.registerEditing("ESCesiumViewer",N.ESJEditingMode.Scale,Ph));let G0=Ph;const Th=class Th extends gn{constructor(n,e){super(Array.isArray(n)?n[0]:n,e,!0);const i=this.currentEditing=this.ad(new Ir(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(n)){const o=[];for(let r=0;r<n.length;r++){const a=n[r];Reflect.has(a,"position")?o.push(a.position):a.points&&o.push(...a.points)}i.position=N.getMinMaxCorner(o).center,this.ad(i.positionChanged.disposableOn((r,a)=>{if(!(!r||!a)){var s=En({originPosition:a},[r])[0][0];n.forEach(l=>{if(Reflect.has(l,"position")){const u=En({originPosition:a},[l.position])[0][0];l.position=Nr({originPosition:a},[[u[0]+s[0],u[1]+s[1],u[2]+s[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const u=En({originPosition:a},l.points)[0];l.points=Nr({originPosition:a},u.map(h=>[h[0]+s[0],h[1]+s[1],h[2]+s[2]]))[0]}})}}));break}if(Reflect.has(n,"position")){this.ad(m.bind([i,"position"],[n,"position"]));break}if(n instanceof N.ES3DTileset){N.registerCreatedEventUpdate(this,n,()=>{const o=e.getEngineObject(n);this.ad(m.bind([i,"position"],[o.czm3DTiles,"position"]))});break}if(Reflect.has(n,"points")){if(n.points===void 0||n.points.length===0){this.destroy();break}i.position=N.getMinMaxCorner(n.points).center,this.ad(i.positionChanged.disposableOn((o,r)=>{if(o===void 0||r===void 0||n.points===void 0||n.points.length===0){this.destroy();return}var a=En({originPosition:r},[o])[0][0];const s=En({originPosition:r},n.points)[0];n.points=Nr({originPosition:r},s.map(l=>[l[0]+a[0],l[1]+a[1],l[2]+a[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};L(Th,"type",Th.registerEditing("ESCesiumViewer",N.ESJEditingMode.Translation,Th));let gd=Th;const Ih=class Ih extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new ul(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")){this.ad(m.bind([i,"startPosition"],[n,"position"])),this.ad(Vt([i,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(m.bind([i,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(m.bind([i,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(m.bind([i,"distance"],[n,"distance"]));break}const o=Et(n.position);if(C.Cartesian3.ZERO.equals(o)||!e.viewer)return;i.distance=rr(e.viewer.scene,o,100)??1}while(!1);break}if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1);i.startPosition&&!N.equalsN3(i.startPosition,[0,0,0])&&i.init(),i.enabled=!0}};L(Ih,"type",Ih.registerEditing("ESCesiumViewer",N.ESJEditingMode.DoublePointsAppend,Ih));let W0=Ih;const kh=class kh extends gn{constructor(n,e){var r;if(super(n,e,!0),!e.viewer)return;const i=this.currentEditing=this.ad(new Fa(e));do{if(Reflect.has(n,"position")){this.ad(m.bind([i,"startPosition"],[n,"position"])),this.ad(Vt([i,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(m.bind([i,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(m.bind([i,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(m.bind([i,"distance"],[n,"distance"]));break}const a=Et(n.position);if(C.Cartesian3.ZERO.equals(a)||!e.viewer)return;i.distance=rr(e.viewer.scene,a,100)??1}while(!1);break}if(Reflect.has(n,"points")&&((r=n.points)==null?void 0:r.length)==2){i.moveWithFirstPosition=!1;const a=()=>i.positions=n.points??[];a(),this.ad(n.pointsChanged.don(()=>!i.enabled&&a())),this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1;return}while(!1);i.init(),i.enabled=!0;const o=this.ad(m.createNextAnimateFrameEvent(i.enabledChanged,i.startPositionChanged));this.ad(o.don(()=>{(!i.enabled||!i.startPosition||N.equalsN3(i.startPosition,[0,0,0]))&&this.destroy()}))}};L(kh,"type",kh.registerEditing("ESCesiumViewer",N.ESJEditingMode.DoublePointsModify,kh));let q0=kh;const Fh=class Fh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new b2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Fh,"type",Fh.registerEditing("ESCesiumViewer",N.ESJEditingMode.CircularAppend,Fh));let K0=Fh;const Mh=class Mh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new x2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Mh,"type",Mh.registerEditing("ESCesiumViewer",N.ESJEditingMode.CircularInsert,Mh));let X0=Mh;const Bh=class Bh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new _2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Bh,"type",Bh.registerEditing("ESCesiumViewer",N.ESJEditingMode.LineStringAppend,Bh));let $0=Bh;const Dh=class Dh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new C2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Dh,"type",Dh.registerEditing("ESCesiumViewer",N.ESJEditingMode.LineStringInsert,Dh));let Z0=Dh;const Rh=class Rh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new S2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Rh,"type",Rh.registerEditing("ESCesiumViewer",N.ESJEditingMode.ScatterAppend,Rh));let Y0=Rh;const Oh=class Oh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new E2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Oh,"type",Oh.registerEditing("ESCesiumViewer",N.ESJEditingMode.ScatterModify,Oh));let J0=Oh;const Uh=class Uh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new cl(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Uh,"type",Uh.registerEditing("ESCesiumViewer",N.ESJEditingMode.VisibilityAppend,Uh));let j0=Uh;const Lh=class Lh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new hl(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Lh,"type",Lh.registerEditing("ESCesiumViewer",N.ESJEditingMode.VisibilityModify,Lh));let ew=Lh;const zh=class zh extends gn{constructor(n,e){if(super(n,e,!0),!e.viewer)return;const i=this.currentEditing=this.ad(new P2(e));do{if(Reflect.has(n,"points")){const r=Reflect.has(n,"extrudedHeight"),a=Reflect.has(n,"height"),s=Reflect.has(n,"perPositionHeight")?n.perPositionHeight:!r,l=n instanceof N.ESClassification||n instanceof N.ESPolygonFence;let u=N.getMinMaxCorner(n.points).center,h=[...u],c=l?n.points[0][2]:0;s?r?h[2]=n.extrudedHeight:h[2]=n.height+c:(a&&(u[2]=n.height),r&&(h[2]=n.extrudedHeight)),i.startPosition=u,i.distance=h[2]-u[2],i.moveWithFirstPosition=!1;let f=[...u];this.ad(i.positionsChanged.don(()=>{i.positions.length===2&&(s?(n.points=n.points.map(A=>[A[0],A[1],A[2]+i.positions[0][2]-f[2]]),r?n.extrudedHeight=i.positions[1][2]:a&&(n.height=i.positions[1][2]-(l?i.positions[0][2]:0))):(a&&(n.height=i.positions[0][2]),r&&(n.extrudedHeight=i.positions[1][2])),f=[...i.positions[0]])}));break}this.supportEditing=!1;return}while(!1);i.init(),i.enabled=!0;const o=this.ad(m.createNextAnimateFrameEvent(i.enabledChanged,i.startPositionChanged));this.ad(o.don(()=>{(!i.enabled||!i.startPosition||N.equalsN3(i.startPosition,[0,0,0]))&&this.destroy()}))}};L(zh,"type",zh.registerEditing("ESCesiumViewer",N.ESJEditingMode.HeightModify,zh));let tw=zh;function T2(){const t=m.createProcessingFromAsyncFunc(async(n,e,i,o,r=!0)=>{const a=Array.isArray(o)?[...o]:[o],s=i.editingID;e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"start",add:{modes:a}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"end",add:{modes:a}}),t.isRunning&&t.cancel()};n.disposer.ad(l),n.disposer.ad(i.toDestroyEvent.don(l)),n.disposer.ad(e.keyDownEvent.don(h=>{h.code=="Escape"&&l()}));let u=0;do{const h=a[u%a.length],c=await m.step(n,async f=>{const A=f.disposer,d=N.EngineObject.contextEditing.getEngineObjConstructor(h,e.typeName);if(!d||!i.supportEditingModes().includes(h))return console.log(`未找到编辑模式或不支持当前编辑模式${h},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"changedFailed",add:{cMode:h,cIndex:u}}),e.notSupportEditingCount++,!1;const p=new d(i,e);if(A.ad(()=>{!p.isDestroyed()&&p.destroy()}),p.supportEditing)e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"changed",add:{cMode:h,cIndex:u}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${h},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"changedFailed",add:{cMode:h,cIndex:u}}),e.notSupportEditingCount++,!1;return await f.promise(new Promise(y=>{p.isDestroyed()&&y(!1),A.ad(p.toDestroyEvent.don(()=>{console.log(`编辑模式${h}结束`),y(!1)})),r&&(A.ad(e.keyDownEvent.don(g=>{g.code=="Space"&&(console.log(`编辑模式${h}结束`),y(!1))})),A.ad(e.dblclickEvent.don(()=>y(!0))))}))});if(r&&c||!r&&u==a.length-1||e.notSupportEditingCount==a.length)break;u++}while(!0)});return t}function I2(){const t=m.createProcessingFromAsyncFunc(async(n,e,i,o)=>{e.editingEvent.emit({objectIDs:i.map(s=>s.id.split("_")[0]),editingID:o,type:"start"});const r=()=>{e.editingEvent.emit({objectIDs:i.map(s=>s.id.split("_")[0]),editingID:o,type:"end"}),t.isRunning&&t.cancel()};n.disposer.ad(r),n.disposer.ad(e.keyDownEvent.don(s=>{s.code=="Escape"&&r()}));const a=new gd(i,e);n.disposer.ad(()=>{!a.isDestroyed()&&a.destroy()}),await n.promise(new Promise(s=>{a.isDestroyed()&&s(),n.disposer.ad(a.toDestroyEvent.don(()=>{console.log("移动结束"),s()})),n.disposer.ad(e.dblclickEvent.don(()=>s()))}))});return t}se.copyright=void 0;try{const t="earthsdk3-cesium",n="3.0.8-beta.6",e="2025-06-19T00:47:05.000Z",i="北京西部世界科技有限公司",o="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="468c6a33b6cf9a394b5cc013cf77153920efc031",s=((Date.now()-1750294025e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${r.slice(0,8)}.${e} (距今${s}个小时)
|
|
4691
|
+
`,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},At,t)}class FG extends m.HasOwner{constructor(n){super(n);const{czmViewer:e}=this.owner;let i;this.dispose(()=>this.owner.hoveredPlaneType="none");const o=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(r=>{const a=i=this._getStartInfo(r.pointerEvent);a&&(this.owner.hoveredPlaneType=a.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(r=>{i&&i.currentPlaneType!=="none"&&(o.restart(void 0,e,i),i=void 0)})),this.dispose(e.dblclickEvent.disposableOn(r=>{do{const a=this._getStartInfo(r.pointerEvent);if(!a||a.currentPlaneType==="none")break;const{currentPlaneType:s}=a,l=[...this.owner.selfRotation];l[Ci.rotationNum[s]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(m.createProcessingFromAsyncFunc(async(n,e,i)=>{const o=this.owner.circles[i.currentPlaneType];e.incrementDisabledInputStack(),n.disposer.dispose(()=>e.decrementDisabledInputStack()),n.disposer.dispose(e.pointerMoveEvent.don(r=>{if(i&&r.pointerEvent){const{offsetX:a,offsetY:s}=r.pointerEvent,l=[a,s],{currentPlaneType:u}=i;if(u==="none")return;const h=this.owner.getPlane(u);if(!i.currentV)return;const c=h.pick(l);if(!c||!this.owner.cartesian)return;const f=C.Cartesian3.subtract(i.currentV,this.owner.cartesian,new C.Cartesian3);C.Cartesian3.normalize(f,f);const A=C.Cartesian3.subtract(c,this.owner.cartesian,new C.Cartesian3);if(C.Cartesian3.normalize(A,A),!h.normal||!h.origin)return;const d=N0(f,A,h.normal),p=N0(h.origin,f,h.normal),v=N0(h.origin,A,h.normal);{const y=[...this.owner.selfRotation];y[Ci.rotationNum[u]]=i.startRotation+d,this.owner.selfRotation=y,o.circleStartRotation=p,o.circleEndRotation=v}}})),this.owner.movingPlaneType=i.currentPlaneType,n.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),n.disposer.dispose(()=>{o.circleStartRotation=0,o.circleEndRotation=0}),await m.step(n,r=>new Promise((a,s)=>{r.disposer.dispose(s),r.disposer.dispose(e.pointerUpEvent.don(()=>{a()})),r.disposer.dispose(e.pointerOutEvent.don(()=>{a()}))}))}))}_pickPlane(n,e,i,o,r){const a=this.owner.cartesian;if(!a)return;const{selfRotation:s}=this.owner,l=this.owner.getPlane(i).pick(o);if(!l)return;const u=C.Cartesian3.distance(a,l),h=r/4,c=h*3/128;if(!(u>=h-c&&u<=h+c))return;const A=C.Cartesian3.distance(e.camera.positionWC,l);n.currentD2c<=A||(n.currentPlaneType=i,n.currentD2c=A,n.currentV=l,n.startRotation=s[Ci.rotationNum[i]])}_getStartInfo(n){var h;const{czmViewer:e}=this.owner,i=(h=e.viewer)==null?void 0:h.scene;if(!this.owner.position||!this.owner.cartesian)return;const o=rr(i,this.owner.cartesian,this.owner.pixelSize);if(!o)return;const{offsetX:r,offsetY:a}=n,s=[r,a],l=n.pointerId,u={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(u,i,"heading",s,o),this._pickPlane(u,i,"pitch",s,o),this._pickPlane(u,i,"roll",s,o),u}}function N0(t,n,e){const i=C.Cartesian3.cross(n,t,new C.Cartesian3);if(i.equals(C.Cartesian3.ZERO))return 0;C.Cartesian3.normalize(i,i);const o=C.Cartesian3.dot(i,e);let r=Math.acos(C.Cartesian3.dot(t,n))*180/Math.PI;return r=o>0?r:-r,r}const La=class La extends Xn{constructor(e){super();L(this,"_hoveredPlaneType",this.disposeVar(m.react("none")));L(this,"_movingPlaneType",this.disposeVar(m.react("none")));L(this,"_circles");L(this,"_czmCameraModel");L(this,"_cartesian");L(this,"_planes",{heading:this.disposeVar(new EG(this)),pitch:this.disposeVar(new PG(this)),roll:this.disposeVar(new TG(this))});L(this,"_rotatorRunningResetting");this._czmViewer=e;const i=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new m.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new FG(this)})),this._circles={heading:this._createRotatorCircle(i,"heading"),pitch:this._createRotatorCircle(i,"pitch"),roll:this._createRotatorCircle(i,"roll")},!!i.viewer){{const r=()=>{this._cartesian=this.position&&Et(this.position)||void 0};r(),this.dispose(this.positionChanged.disposableOn(r))}this._createCameraModel(i)}}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 jt(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(m.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],i=>i*.1)),this.dispose(m.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(m.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const i=()=>{const o=ft({rotation:this.selfRotation});if(!o)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=C.Matrix4.toArray(o))};i(),this.dispose(this.selfRotationChanged.disposableOn(i))}{const i=()=>{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)};i(),this.dispose(this.enabledChanged.disposableOn(i)),this.dispose(this.showHelperChanged.disposableOn(i))}}_createRotatorCircle(e,i){const o=this.ad(new ll(e));this.dispose(m.track([o,"position"],[this,"position"])),this.dispose(m.track([o,"pixelSize"],[this,"pixelSize"])),this.dispose(m.track([o,"debug"],[this,"debug"])),this.dispose(m.track([o,"rotation"],[this,"rotation"]));{const r=()=>{o.selfRotation=La.rotationFuncs[i](this.selfRotation),o.circleRotation=this.selfRotation[La.rotationNum[i]]};r(),this.dispose(this.selfRotationChanged.disposableOn(r))}{const r=()=>{const a=this.movingPlaneType===i,s=this.hoveredPlaneType===i,u=[0,0,0,a||s?1:.8];u[La.rotationNum[i]]=1,o.color=u};r(),this.dispose(this.movingPlaneTypeChanged.disposableOn(r)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(r))}return o}};L(La,"rotationNum",{heading:0,pitch:1,roll:2}),L(La,"rotationFuncs",{heading:([e,i,o])=>[0,0,0],pitch:([e,i,o])=>[e,0,-90],roll:([e,i,o])=>[e,i+90,0]});let Ci=La;(t=>{t.createDefaultProps=()=>({...Xn.createDefaultProps(),rotation:m.reactArray([0,0,0]),selfRotation:m.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Ci||(Ci={})),m.extendClassProps(Ci.prototype,Ci.createDefaultProps);const za=class za extends m.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 o=this.ad(new rt(n,e));o.arcType="RHUMB";const r=this.ad(new ei(n,e));this.ad(m.track([o,"allowPicking"],[this,"allowPicking"])),this.ad(m.track([r,"allowPicking"],[this,"allowPicking"]));{const a=()=>{o.show=r.show=this.show};a(),this.ad(this.showChanged.don(a))}{const a=()=>{o.width=this.width/2,r.pixelSize=this.width};a(),this.ad(this.widthChanged.don(a))}{const a=()=>{o.color=r.color=this.color};a(),this.ad(this.colorChanged.don(a))}{const a=()=>{o.positions=this.positions,r.position=this.stopPosition};a(),this.dispose(this.startPositionChanged.disposableOn(a)),this.dispose(this.stopPositionChanged.disposableOn(a))}}};L(za,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let ka=za;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:m.reactPositions(t.defaults.positions),width:10,color:m.reactArray([1,0,0,1])})})(ka||(ka={})),m.extendClassProps(ka.prototype,ka.createDefaultProps);class kr extends Xn{constructor(e){super();L(this,"_lastPosition");L(this,"_opInfo",{step:this.ad(m.react(!1)),moved:this.ad(m.react(!1)),constraintMode:this.disposeVar(m.react("none")),originPosition:this.disposeVar(m.reactArray([0,0,0])),originHeading:this.disposeVar(m.react(0)),originDimensions:this.disposeVar(m.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(m.reactArray([0,0,0])),movingPosition:this.disposeVar(m.reactArray([0,0,0])),targetPosition:this.disposeVar(m.reactArray([0,0,0])),targetHeading:this.disposeVar(m.react(0))});L(this,"_scaleAxis");L(this,"_pickingXYProcessing",e=>this.disposeVar(new m.Processing((i,o,r)=>{const a=[0,0,0],s=new C.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const u=hi(m.getDomEventCurrentTargetPos(l.pointerEvent));if(!Ha(e.viewer.scene,u,this._opInfo.originPosition.value[2],s))return;Na(s,a),this._opInfo.constraintMode.value==="x"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value,a,a):this._opInfo.constraintMode.value==="y"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,a,a):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=a,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const h=[0,0,0];N.geoRhumbDestination(a,r,o,h),this._opInfo.targetPosition.value=h;let c=this.scale[0],f=this.scale[1];const A=N.geoDistance(h,this._opInfo.originPosition.value)-N.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...h];const d=this._opInfo.originDimensions.value[0]/100;A!=0&&this._opInfo.constraintMode.value==="y"&&(A>0?c+=d:c-=d),A!=0&&this._opInfo.constraintMode.value==="x"&&(A>0?f+=d:f-=d),c<=0&&(c+=d),f<=0&&(f+=d),this.scale=[c??1,f??1,this.scale[2]??1]})})));L(this,"_pickingZProcessing",e=>this.disposeVar(new m.Processing(()=>{const i=new C.Cartesian3,o=[0,0,0];return e.pointerMoveEvent.disposableOn(r=>{if(!r.pointerEvent||!e.viewer)return;const a=hi(m.getDomEventCurrentTargetPos(r.pointerEvent));if(!Hh(e.viewer.scene,Et(this._opInfo.originPosition.value),a,i))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const s=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(Qe(i,o)){this._opInfo.movingPosition.value=o;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],o[2]+s];let u=this.scale[2];const h=o[2]-this._lastPosition[2];this._lastPosition=[...o];const c=this._opInfo.originDimensions.value[0]/100;h!=0&&(h>0?u+=c:u-=c),u<=0&&(u+=c),this.scale=[this.scale[0]??1,this.scale[1]??1,u??1]}})})));const i=e.viewer;if(!i)return;const{scene:o}=i;this.ad(new Qd(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 u=()=>{if(!this._scaleAxis)return;const{zAxis:h,yAxis:c,xAxis:f}=this._scaleAxis,A=this._opInfo.constraintMode.value,d=this._opInfo.step;h.color=[0,0,1,.99],c.color=[0,1,0,.99],f.color=[1,0,0,.99],A==="x"?f.color=d?[1,1,0,.8]:[1,1,0,.99]:A==="y"?c.color=d?[1,1,0,.8]:[1,1,0,.99]:A==="z"&&(h.color=d?[1,1,0,.8]:[1,1,0,.99])};u(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(u)),this.dispose(this._opInfo.step.changed.disposableOn(u))}{const u=()=>{if(!this._scaleAxis)return;const{position:c=kr.defaults.position}=this,{zAxis:f,yAxis:A,xAxis:d}=this._scaleAxis;f.startPosition=A.startPosition=d.startPosition=c;const[p,v,y]=c;f.stopPosition=[p,v,y+this._opInfo.originDimensions.value[2]];const g=N.geoRhumbDestination(c,this._opInfo.originDimensions.value[0],90);g&&(d.stopPosition=g);const b=N.geoRhumbDestination(c,this._opInfo.originDimensions.value[1],0);b&&(A.stopPosition=b)};u();const h=this.ad(m.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(h.don(u))}{const u=()=>{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((h,c)=>h===this._opInfo.targetPosition.value[c])){this._opInfo.moved.value=!0;return}};u(),this.dispose(this._opInfo.originHeading.changed.disposableOn(u)),this.dispose(this._opInfo.originPosition.changed.disposableOn(u)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(u)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(u))}const r=this._pickingXYProcessing(e),a=this._pickingZProcessing(e),s=this.disposeVar(m.createProcessingFromAsyncFunc(async u=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",u.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await m.step(u,async h=>{const c=()=>{const d=[...this.position??kr.defaults.position];e.editingHeightOffset&&(d[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=d};h.disposer.dispose((c(),this.positionChanged.disposableOn(c)));const f={constraintMode:"none",startDragPos:[0,0,0]},A=d=>{if(!this.position)return;const p={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Td(d,o,p,this.axisSnapPixelSize,f),this._opInfo.constraintMode.value=f.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=f.startDragPos};h.disposer.dispose(e.pointerMoveEvent.disposableOn(d=>{d.pointerEvent&&A(d.pointerEvent)})),await m.step(h,d=>new Promise((p,v)=>{d.disposer.dispose(v),d.disposer.dispose(e.pointerDownEvent.don(y=>{y.pointerEvent&&A(y.pointerEvent),y.pointerEvent&&y.pointerEvent.button===0&&f.constraintMode!=="none"&&p()}))}))}),this._opInfo.step.value=!1,await m.step(u,async h=>{if(e.incrementDisabledInputStack(),h.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const c=N.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),f=N.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);r.restart(void 0,c,f),h.disposer.dispose(()=>r.cancel())}else this._opInfo.constraintMode.value==="z"&&(a.restart(),h.disposer.dispose(()=>a.cancel()));await m.step(h,c=>new Promise((f,A)=>{c.disposer.dispose(A),c.disposer.dispose(e.pointerUpEvent.don(()=>{f()})),c.disposer.dispose(e.pointerOutEvent.don(()=>{f()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?s.restart():s.isRunning&&s.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,i){const o=this.ad(new ka(e));return o.width=10,this.ad(m.track([o,"show"],[this,"enabled"])),o}}(t=>{t.createDefaultProps=()=>({...Xn.createDefaultProps(),scale:m.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(kr||(kr={})),m.extendClassProps(kr.prototype,kr.createDefaultProps);const No=class No extends xn{constructor(e){super();L(this,"_editingPoints",this.disposeVar(new m.ObservableArray));L(this,"_cancelEvent",this.disposeVar(new m.Event));L(this,"_currentProcess");L(this,"_menuPoiEnabled",this.disposeVar(m.react(!1)));L(this,"_status",this.disposeVar(m.react("None")));L(this,"_positionsChanged",this.ad(new m.Event));L(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(i=>{for(let{start:o,deleteCount:r,items:a}of i){for(const s of a)s.menuPoi.enabled=this.menuPoiEnabled??!1;for(let s=o;s<o+r;++s)this.editingPoints.get(s).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let i of this.editingPoints)i.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(i=>{this.ad(m.nextAnimateFrame(()=>{var o;((o=i.pointerEvent)==null?void 0:o.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(i=>{this._currentProcess&&(i?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const i=()=>{this.polylineShow=this.czmViewer.editingLineShow};i(),this.ad(this.czmViewer.editingLineShowChanged.don(i))}}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 i of this._editingPoints)i.position&&e.push([...i.position]);return e}resetPositions(e){if(this.enabled??No.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const i=e||[];return!(i.length===this.editingPoints.length&&i.every((o,r)=>o.every((a,s)=>{const l=this.editingPoints.get(r);return l.position&&l.position[s]===a})))}forceResetPositions(e){(this.enabled??No.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 i=this.ad(new rt(e));this.ad(m.track([i,"color"],[this,"polylineColor"])),this.ad(m.track([i,"width"],[this,"polylineWidth"])),this.ad(m.track([i,"show"],[this,"polylineShow"])),this.ad(m.track([i,"arcType"],[this,"polylineArcType"])),this.ad(m.track([i,"loop"],[this,"loop"]));{const o=()=>{const r=[];for(const a of this.getPositions())a[2]-=e.editingHeightOffset??0,r.push(a);i.positions=r};o(),this.ad(this.positionsChanged.don(o))}}_createCursorInfo(e){const i=this._cursorInfo=this.ad(new m.CursorInfo(e.container,m.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const o=this.status;if(i){if(!this.hideCursorInfo){i.show=!1;return}o==="Adding"?(i.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",i.show=!0):o==="Modifying"||o==="Modifying_Point"?(i.text="Esc键或左键双击:退出编辑状态",i.show=!0):o==="None"&&(i.text="",i.show=!1)}}))}};L(No,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),L(No,"defaults",{...xn.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:No.baseImageUrl+"point-green.png",otherControlPointImageUrl:No.baseImageUrl+"point-yellow.png"});let li=No;(t=>{t.createDefaultProps=()=>({...xn.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:m.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})})(li||(li={})),m.extendClassProps(li.prototype,li.createDefaultProps);let MG=0;class v2 extends m.Destroyable{constructor(e,i){super();L(this,"_position",this.disposeVar(m.reactArrayWithUndefined(void 0)));L(this,"_id",MG++);L(this,"_menuPoi");i&&(this.position=i),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const o=this._menuPoi=this.ad(new rs(e.czmViewer));o.enabled=!1,this.ad(m.track([o,"show"],[e,"enabled"]));{const r=()=>{if(this.position===void 0){o.position=void 0;return}const a=[...this.position];a[2]-=e.czmViewer.editingHeightOffset??0,o.position=a,e.positionsChanged.emit()};r(),this.d(this.positionChanged.don(r))}{const r=()=>{const a=e.editingPoints.indexOf(this)+1;a!==0&&(o.title=`控制点${a}`,a===1?o.imageUri=e.firstControlPointImageUrl??li.defaults.firstControlPointImageUrl:o.imageUri=e.otherControlPointImageUrl??li.defaults.otherControlPointImageUrl)};r(),this.dispose(e.editingPoints.changedEvent.disposableOn(r))}}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 w2 extends v2{constructor(n,e){super(n,e)}}class Rt extends li{constructor(e){super(e);L(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new m.Event));L(this,"placeEditing");if(!e.viewer)return;const i=this.placeEditing=this.ad(new bi(e));i.enabled=!1,this.currentProcess=this.disposeVar(m.createProcessingFromAsyncFunc(async o=>{o.disposer.dispose(()=>{(this.debug??Rt.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Rt.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await o.promise(m.step(o,async r=>{const a=r.disposer,s=a.ad(this._addingEditingProcessing());a.dispose(()=>"adding canceled!"),a.dispose(this.cancelEvent.disposableOn(()=>s.cancel())),await r.promise(new Promise(l=>{a.dispose(s.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(o=>{var r;((r=o.pointerEvent)==null?void 0:r.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const i=e?e.map(o=>new w2(this,o)):[];return this.editingPoints.splice(0,this.editingPoints.length,...i),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Rt.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},i=m.createProcessingFromAsyncFunc(async o=>{let r=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await o.promise(m.step(o,async s=>{let l;!e()&&(l=s.disposer.disposeVar(new BG(this,r)));const h=s.disposer.disposeVar(new RG(this,r));return s.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>h.do())),await s.promise(new Promise(c=>{l&&s.disposer.dispose(l.overEvent.disposableOnce(f=>{f?(r++,c(!0)):c(!1)})),s.disposer.dispose(h.overEvent.disposableOnce(f=>{f?(r--,c(!0)):c(!1)})),s.disposer.dispose(this.cancelEvent.disposableOn(()=>c(!1)))}))})))break;while(!0)});return i.start(),i}}(t=>{t.createDefaultProps=()=>({...li.createDefaultProps()})})(Rt||(Rt={})),m.extendClassProps(Rt.prototype,Rt.createDefaultProps);class BG extends m.Destroyable{constructor(e,i){super();L(this,"_overEvent",this.disposeVar(new m.Event));const{placeEditing:o}=e;let r=new w2(e,void 0);e.editingPoints.splice(i,0,r);const a=()=>{(e.debug??Rt.defaults.debug)&&console.log("delete currentPosEditor");const u=e.editingPoints.indexOf(r);if(u===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(u,1)};if(o.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(m.track([r,"position"],[o,"position"])),o.enabled=!0;let s=!1;const l=()=>{a(),this._overEvent.emit(!1)};this.dispose(()=>{o.enabled=!1,!s&&l()}),this.dispose(o.overEvent.disposableOnce(()=>{s=!0,r.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??Rt.defaults.debug)&&console.log(`PointAdding creating! index(${i})`),this.dispose(()=>{(e.debug??Rt.defaults.debug)&&console.log(`PointAdding destroying! index(${i})`)})}get overEvent(){return this._overEvent}}function DG(t,n){const e=t.editingPoints,i=n-1;return i<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(i,1),!0)}class RG extends m.Destroyable{constructor(e,i){super();L(this,"_overEvent",this.disposeVar(new m.Event));L(this,"_doEvent",this.disposeVar(new m.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(DG(e,i)))),(e.debug??Rt.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${i})`),this.dispose(()=>{(e.debug??Rt.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${i})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class _2 extends Rt{constructor(n){super(n),this.loop=!1}}class b2 extends Rt{constructor(n){super(n),this.loop=!0}}class md extends v2{constructor(n,e){super(n,e);{const{menuPoi:i}=this;i.commands=[["add","增加控制点","",st.baseImageUrl+"add.png"],["delete","删除当前控制点","",st.baseImageUrl+"delete.png"],["modify","修改当前控制点","",st.baseImageUrl+"modify.png"]],i.clickCommandName="modify",i.rightClickCommandName="delete",this.dispose(i.commandEvent.disposableOn(o=>{n.menuPoiCommand(this,o)})),this.dispose(i.dbclickEvent.disposableOn(()=>{n.menuPoiCommand(this,"dbClick")}))}if(n.middlePointShow){const i=this.ad(new Bi(n.czmViewer));{i.imageUri=n.firstControlPointImageUrl??st.defaults.firstControlPointImageUrl,i.tooltip="点击增加一个控制点",i.bgColor=[0,0,0,.6],i.fgColor=[1,1,1,1],i.size=[8,8],i.originRatioAndOffset=[.5,.5,0,0];{const o=()=>{if(!(n.enabled??st.defaults.enabled)){i.enabled=!1,i.show=!1;return}do{const a=n.editingPoints.indexOf(this);if(a===-1)break;const s=n.editingPoints.length;if(s===0){console.error("impl.positionEditors.length === 0!");break}if(!(n.loop??st.defaults.loop)&&a+1>=s)break;const u=this.position;if(!u)break;let h=(a+1)%s;const f=n.editingPoints.get(h).position;if(!f)break;const A=Md(u,f);if(!A)break;A[2]-=n.czmViewer.editingHeightOffset??0,i.position=A;const d=n.editingPoints.length<(n.maxPointsNum??st.defaults.maxPointsNum);i.enabled=d,i.show=d;return}while(!1);i.enabled=!1,i.show=!1};o(),this.dispose(n.positionsChanged.disposableOn(o)),this.dispose(n.loopChanged.disposableOn(o)),this.dispose(n.enabledChanged.disposableOn(o))}this.dispose(i.clickEvent.disposableOn(o=>{if(o.button!==0||n.editingPoints.length>=(n.maxPointsNum??st.defaults.maxPointsNum))return;const r=n.editingPoints.indexOf(this);if(r===-1)return;const a=i.position?[...i.position]:void 0;a&&(a[2]+=n.czmViewer.editingHeightOffset??0);let s=new md(n,a);n.editingPoints.splice(r+1,0,s),n.modify(s)}))}}}}class st extends li{constructor(e){super(e);L(this,"_menuPoiCommand",this.disposeVar(new m.Event));L(this,"_forceModifyPosEditorEvent",this.disposeVar(new m.Event));L(this,"_overEvent",this.disposeVar(new m.Event));L(this,"translationEditing");{const o=this.ad(m.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new m.ObjResettingWithEvent(o,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new OG(this.editingPoints.get(0),this)}))}const i=this.translationEditing=this.disposeVar(new Ir(e));i.enabled=!1,this.currentProcess=this.disposeVar(m.createProcessingFromAsyncFunc(async o=>{o.disposer.dispose(()=>{(this.debug??st.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let r=-1;do if((this.debug??st.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",r=await o.promise(m.step(o,async a=>{const s=a.disposer,l=s.ad(new UG(this));return s.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(r===-1||r>=this.editingPoints.length?0:r)),s.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),s.dispose(this._forceModifyPosEditorEvent.disposableOn(h=>l.modify(h))),await a.promise(new Promise(h=>{s.dispose(l.overEvent.disposableOnce(c=>{h(c)}))}))})),r===-1){(this.debug??st.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??st.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??st.defaults.loop;const s=this.editingPoints.get(r-1).position;if(!s)return;let l=r%this.editingPoints.length;const h=this.editingPoints.get(l).position;if(!h)return;const c=Md(s,h);if(!c)return;c&&(c[2]+=this.czmViewer.editingHeightOffset??0);let f=new md(this,c);this.editingPoints.splice(r,0,f)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,i){this._menuPoiCommand.emit(e,i)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const i=e?e.map(o=>new md(this,o)):[];return this.editingPoints.splice(0,this.editingPoints.length,...i),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...li.createDefaultProps(),moveWithFirstPosition:!1})})(st||(st={})),m.extendClassProps(st.prototype,st.createDefaultProps);class OG extends m.Destroyable{constructor(n,e){super(),this._firstPositionEditor=n,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((i,o)=>{if(i===void 0||o===void 0)return;var r=[i[0]-o[0],i[1]-o[1],i[2]-o[2]];const a=this.multiPointsModifyEditing.editingPoints.length;for(let s=1;s<a;s++){const l=this.multiPointsModifyEditing.editingPoints.get(s),u=l.position;u!==void 0&&(l.position=[u[0]+r[0],u[1]+r[1],u[2]+r[2]])}})}}class UG extends m.Destroyable{constructor(e){super();L(this,"_overEvent",this.disposeVar(new m.Event));L(this,"_cancelEvent",this.disposeVar(new m.Event));L(this,"_forceModifyPosEditorEvent",this.disposeVar(new m.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let i;const o=()=>{i==null||i.destroy(),i=void 0,e.status="Modifying"};this.dispose(o);const r=a=>{o(),e.status="Modifying_Point",i=new LG(e,a),i.dispose(i.overEvent.disposableOn(()=>{o()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(r)),this.dispose(e._menuPoiCommand.disposableOn((a,s)=>{if(s==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(a);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(s==="modify")r(a);else if(s==="add"){const l=e.editingPoints.indexOf(a);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else s==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${s})`)})),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 LG extends m.Destroyable{constructor(e,i){super();L(this,"_overEvent",this.disposeVar(new m.Event));this._modifying=e,this._posEditor=i,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:o}=this._modifying;if(o.enabled=!0,o.heading=0,this.dispose(()=>{o.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");o.position=this._posEditor.position,this.dispose(m.track([this._posEditor,"position"],[o,"position"])),this.dispose(o.enabledChanged.disposableOnce(r=>{r||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class C2 extends st{constructor(n){super(n),this.loop=!1}}class x2 extends st{constructor(n){super(n),this.loop=!0}}class ul extends Rt{init(){const n=this.startPosition;if(!n)return;const e=this.distance,i=this.rotation,o=e*Math.cos(i[1]*Math.PI/180),r=N.geoDestination(n,o,i[0]);if(!r){this.positions=[n];return}const a=e*Math.sin(i[1]*Math.PI/180);r[2]+=a,this.positions=[n,r],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=r)}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 i=N.geoHeading(this.startPosition,this.endPosition),o=N.geoDistance(this.startPosition,this.endPosition);if(o<=0){this.rotation=[90,0,0],this.distance=1;return}const r=this.endPosition[2]-this.startPosition[2],a=Math.atan(r/o)*180/Math.PI,s=Math.sqrt(o*o+r*r);this.rotation=[i,a,0],this.distance=s};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Rt.createDefaultProps(),startPosition:m.reactArrayWithUndefined(void 0),endPosition:m.reactArrayWithUndefined(void 0),rotation:m.reactArray([90,0,0]),distance:m.react(1)})})(ul||(ul={})),m.extendClassProps(ul.prototype,ul.createDefaultProps);class Fa extends st{init(){const n=this.startPosition;if(!n)return;const e=this.distance,i=this.rotation,o=e*Math.cos(i[1]*Math.PI/180),r=N.geoDestination(n,o,i[0]);if(!r){this.positions=[n];return}const a=e*Math.sin(i[1]*Math.PI/180);r[2]+=a,this.positions=[n,r],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=r)}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","增加控制点","",st.baseImageUrl+"add.png"],["delete","删除当前控制点","",st.baseImageUrl+"delete.png"],["modify","修改当前控制点","",st.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","删除当前控制点","",st.baseImageUrl+"delete.png"],["modify","修改当前控制点","",st.baseImageUrl+"modify.png"]];const i=N.geoHeading(this.startPosition,this.endPosition),o=N.geoDistance(this.startPosition,this.endPosition);if(Math.abs(o)<=0){this.rotation=[90,0,0],this.distance=1;return}const r=this.endPosition[2]-this.startPosition[2],a=Math.atan(r/o)*180/Math.PI,s=Math.sqrt(o*o+r*r);this.rotation=[i,a,0],this.distance=s}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...st.createDefaultProps(),startPosition:m.reactArrayWithUndefined(void 0),endPosition:m.reactArrayWithUndefined(void 0),rotation:m.reactArray([0,0,0]),distance:m.react(0)})})(Fa||(Fa={})),m.extendClassProps(Fa.prototype,Fa.createDefaultProps);class S2 extends Rt{constructor(n){super(n),this.loop=!1,this.polylineShow=!1}}class E2 extends st{constructor(n){super(n),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class cl extends Rt{constructor(n){super(n),n.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const i=[...this.positions[0]];i[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(o=>(o[2]-=n.editingHeightOffset??0,[i,o]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(n){const e=this.ad(new pi(n));e.topOrBottom="bottom",this.ad(m.track([e,"color"],[this,"polylineColor"])),this.ad(m.track([e,"width"],[this,"polylineWidth"])),this.ad(m.track([e,"show"],[this,"polylineShow"])),this.ad(m.track([e,"arcType"],[this,"polylineArcType"])),this.ad(m.track([e,"loop"],[this,"loop"])),this.ad(m.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Rt.createDefaultProps(),visibilityPositions:m.reactPositionsSet(void 0)})})(cl||(cl={})),m.extendClassProps(cl.prototype,cl.createDefaultProps);class hl extends st{constructor(n){if(super(n),!!n.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const i=[...this.positions[0]];i[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(o=>(o[2]-=n.editingHeightOffset??0,[i,o]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(n){const e=this.ad(new pi(n));e.topOrBottom="bottom",this.ad(m.track([e,"color"],[this,"polylineColor"])),this.ad(m.track([e,"width"],[this,"polylineWidth"])),this.ad(m.track([e,"show"],[this,"polylineShow"])),this.ad(m.track([e,"arcType"],[this,"polylineArcType"])),this.ad(m.track([e,"loop"],[this,"loop"])),this.ad(m.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...st.createDefaultProps(),visibilityPositions:m.reactPositionsSet(void 0)})})(hl||(hl={})),m.extendClassProps(hl.prototype,hl.createDefaultProps);class P2 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 gn extends N.EngineObject{constructor(e,i,o){super(e,i,o??!0);L(this,"_supportEditing",this.disposeVar(m.react(!0)));L(this,"_currentEditing",this.disposeVar(m.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var r;if(this.currentEditing){if(this.currentEditing instanceof Rt&&((r=this.currentEditing.currentProcess)!=null&&r.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 bi&&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 Sh=class Sh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new bi(e));this.ad(e.clickEvent.don(o=>{var r;((r=o.pointerEvent)==null?void 0:r.button)==2&&(i.enabled=!0)}));do{if(Reflect.has(n,"position")){this.ad(m.bind([i,"position"],[n,"position"])),i.enabled=!i.position||N.equalsN3(i.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};L(Sh,"type",Sh.registerEditing("ESCesiumViewer",N.ESJEditingMode.Place,Sh));let V0=Sh;const Eh=class Eh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new Ci(e));i.rotation=[90,0,0],this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(n instanceof N.ES3DTileset){N.registerCreatedEventUpdate(this,n,()=>{const o=e.getEngineObject(n);o&&(this.ad(m.bind([i,"position"],[o.czm3DTiles,"position"])),this.ad(m.bind([i,"selfRotation"],[n,"rotation"])))});break}if(Reflect.has(n,"position")&&Reflect.has(n,"rotation")){this.ad(m.bind([i,"position"],[n,"position"])),this.ad(m.bind([i,"selfRotation"],[n,"rotation"]));break}this.supportEditing=!1}while(!1)}};L(Eh,"type",Eh.registerEditing("ESCesiumViewer",N.ESJEditingMode.Rotation,Eh));let H0=Eh;const Ph=class Ph extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new kr(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")&&Reflect.has(n,"scale")){this.ad(m.bind([i,"position"],[n,"position"])),this.ad(m.bind([i,"scale"],[n,"scale"]));break}this.supportEditing=!1}while(!1)}};L(Ph,"type",Ph.registerEditing("ESCesiumViewer",N.ESJEditingMode.Scale,Ph));let G0=Ph;const Th=class Th extends gn{constructor(n,e){super(Array.isArray(n)?n[0]:n,e,!0);const i=this.currentEditing=this.ad(new Ir(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(n)){const o=[];for(let r=0;r<n.length;r++){const a=n[r];Reflect.has(a,"position")?o.push(a.position):a.points&&o.push(...a.points)}i.position=N.getMinMaxCorner(o).center,this.ad(i.positionChanged.disposableOn((r,a)=>{if(!(!r||!a)){var s=En({originPosition:a},[r])[0][0];n.forEach(l=>{if(Reflect.has(l,"position")){const u=En({originPosition:a},[l.position])[0][0];l.position=Nr({originPosition:a},[[u[0]+s[0],u[1]+s[1],u[2]+s[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const u=En({originPosition:a},l.points)[0];l.points=Nr({originPosition:a},u.map(h=>[h[0]+s[0],h[1]+s[1],h[2]+s[2]]))[0]}})}}));break}if(Reflect.has(n,"position")){this.ad(m.bind([i,"position"],[n,"position"]));break}if(n instanceof N.ES3DTileset){N.registerCreatedEventUpdate(this,n,()=>{const o=e.getEngineObject(n);this.ad(m.bind([i,"position"],[o.czm3DTiles,"position"]))});break}if(Reflect.has(n,"points")){if(n.points===void 0||n.points.length===0){this.destroy();break}i.position=N.getMinMaxCorner(n.points).center,this.ad(i.positionChanged.disposableOn((o,r)=>{if(o===void 0||r===void 0||n.points===void 0||n.points.length===0){this.destroy();return}var a=En({originPosition:r},[o])[0][0];const s=En({originPosition:r},n.points)[0];n.points=Nr({originPosition:r},s.map(l=>[l[0]+a[0],l[1]+a[1],l[2]+a[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};L(Th,"type",Th.registerEditing("ESCesiumViewer",N.ESJEditingMode.Translation,Th));let gd=Th;const Ih=class Ih extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new ul(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")){this.ad(m.bind([i,"startPosition"],[n,"position"])),this.ad(Vt([i,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(m.bind([i,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(m.bind([i,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(m.bind([i,"distance"],[n,"distance"]));break}const o=Et(n.position);if(C.Cartesian3.ZERO.equals(o)||!e.viewer)return;i.distance=rr(e.viewer.scene,o,100)??1}while(!1);break}if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1);i.startPosition&&!N.equalsN3(i.startPosition,[0,0,0])&&i.init(),i.enabled=!0}};L(Ih,"type",Ih.registerEditing("ESCesiumViewer",N.ESJEditingMode.DoublePointsAppend,Ih));let W0=Ih;const kh=class kh extends gn{constructor(n,e){var r;if(super(n,e,!0),!e.viewer)return;const i=this.currentEditing=this.ad(new Fa(e));do{if(Reflect.has(n,"position")){this.ad(m.bind([i,"startPosition"],[n,"position"])),this.ad(Vt([i,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(m.bind([i,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(m.bind([i,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(m.bind([i,"distance"],[n,"distance"]));break}const a=Et(n.position);if(C.Cartesian3.ZERO.equals(a)||!e.viewer)return;i.distance=rr(e.viewer.scene,a,100)??1}while(!1);break}if(Reflect.has(n,"points")&&((r=n.points)==null?void 0:r.length)==2){i.moveWithFirstPosition=!1;const a=()=>i.positions=n.points??[];a(),this.ad(n.pointsChanged.don(()=>!i.enabled&&a())),this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1;return}while(!1);i.init(),i.enabled=!0;const o=this.ad(m.createNextAnimateFrameEvent(i.enabledChanged,i.startPositionChanged));this.ad(o.don(()=>{(!i.enabled||!i.startPosition||N.equalsN3(i.startPosition,[0,0,0]))&&this.destroy()}))}};L(kh,"type",kh.registerEditing("ESCesiumViewer",N.ESJEditingMode.DoublePointsModify,kh));let q0=kh;const Fh=class Fh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new b2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Fh,"type",Fh.registerEditing("ESCesiumViewer",N.ESJEditingMode.CircularAppend,Fh));let K0=Fh;const Mh=class Mh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new x2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Mh,"type",Mh.registerEditing("ESCesiumViewer",N.ESJEditingMode.CircularInsert,Mh));let X0=Mh;const Bh=class Bh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new _2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Bh,"type",Bh.registerEditing("ESCesiumViewer",N.ESJEditingMode.LineStringAppend,Bh));let $0=Bh;const Dh=class Dh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new C2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Dh,"type",Dh.registerEditing("ESCesiumViewer",N.ESJEditingMode.LineStringInsert,Dh));let Z0=Dh;const Rh=class Rh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new S2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Rh,"type",Rh.registerEditing("ESCesiumViewer",N.ESJEditingMode.ScatterAppend,Rh));let Y0=Rh;const Oh=class Oh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new E2(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Oh,"type",Oh.registerEditing("ESCesiumViewer",N.ESJEditingMode.ScatterModify,Oh));let J0=Oh;const Uh=class Uh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new cl(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Uh,"type",Uh.registerEditing("ESCesiumViewer",N.ESJEditingMode.VisibilityAppend,Uh));let j0=Uh;const Lh=class Lh extends gn{constructor(n,e){super(n,e,!0);const i=this.currentEditing=this.ad(new hl(e));this.ad(i.enabledChanged.don(o=>{!o&&this.ad(m.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const o=()=>i.positions=n.points??[];o(),this.ad(n.pointsChanged.don(()=>!i.enabled&&o())),i.enabled=!0,this.ad(m.track([n,"points"],[i,"positions"]));break}this.supportEditing=!1}while(!1)}};L(Lh,"type",Lh.registerEditing("ESCesiumViewer",N.ESJEditingMode.VisibilityModify,Lh));let ew=Lh;const zh=class zh extends gn{constructor(n,e){if(super(n,e,!0),!e.viewer)return;const i=this.currentEditing=this.ad(new P2(e));do{if(Reflect.has(n,"points")){const r=Reflect.has(n,"extrudedHeight"),a=Reflect.has(n,"height"),s=Reflect.has(n,"perPositionHeight")?n.perPositionHeight:!r,l=n instanceof N.ESClassification||n instanceof N.ESPolygonFence;let u=N.getMinMaxCorner(n.points).center,h=[...u],c=l?n.points[0][2]:0;s?r?h[2]=n.extrudedHeight:h[2]=n.height+c:(a&&(u[2]=n.height),r&&(h[2]=n.extrudedHeight)),i.startPosition=u,i.distance=h[2]-u[2],i.moveWithFirstPosition=!1;let f=[...u];this.ad(i.positionsChanged.don(()=>{i.positions.length===2&&(s?(n.points=n.points.map(A=>[A[0],A[1],A[2]+i.positions[0][2]-f[2]]),r?n.extrudedHeight=i.positions[1][2]:a&&(n.height=i.positions[1][2]-(l?i.positions[0][2]:0))):(a&&(n.height=i.positions[0][2]),r&&(n.extrudedHeight=i.positions[1][2])),f=[...i.positions[0]])}));break}this.supportEditing=!1;return}while(!1);i.init(),i.enabled=!0;const o=this.ad(m.createNextAnimateFrameEvent(i.enabledChanged,i.startPositionChanged));this.ad(o.don(()=>{(!i.enabled||!i.startPosition||N.equalsN3(i.startPosition,[0,0,0]))&&this.destroy()}))}};L(zh,"type",zh.registerEditing("ESCesiumViewer",N.ESJEditingMode.HeightModify,zh));let tw=zh;function T2(){const t=m.createProcessingFromAsyncFunc(async(n,e,i,o,r=!0)=>{const a=Array.isArray(o)?[...o]:[o],s=i.editingID;e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"start",add:{modes:a}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"end",add:{modes:a}}),t.isRunning&&t.cancel()};n.disposer.ad(l),n.disposer.ad(i.toDestroyEvent.don(l)),n.disposer.ad(e.keyDownEvent.don(h=>{h.code=="Escape"&&l()}));let u=0;do{const h=a[u%a.length],c=await m.step(n,async f=>{const A=f.disposer,d=N.EngineObject.contextEditing.getEngineObjConstructor(h,e.typeName);if(!d||!i.supportEditingModes().includes(h))return console.log(`未找到编辑模式或不支持当前编辑模式${h},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"changedFailed",add:{cMode:h,cIndex:u}}),e.notSupportEditingCount++,!1;const p=new d(i,e);if(A.ad(()=>{!p.isDestroyed()&&p.destroy()}),p.supportEditing)e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"changed",add:{cMode:h,cIndex:u}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${h},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[i.id.split("_")[0]],editingID:s,type:"changedFailed",add:{cMode:h,cIndex:u}}),e.notSupportEditingCount++,!1;return await f.promise(new Promise(y=>{p.isDestroyed()&&y(!1),A.ad(p.toDestroyEvent.don(()=>{console.log(`编辑模式${h}结束`),y(!1)})),r&&(A.ad(e.keyDownEvent.don(g=>{g.code=="Space"&&(console.log(`编辑模式${h}结束`),y(!1))})),A.ad(e.dblclickEvent.don(()=>y(!0))))}))});if(r&&c||!r&&u==a.length-1||e.notSupportEditingCount==a.length)break;u++}while(!0)});return t}function I2(){const t=m.createProcessingFromAsyncFunc(async(n,e,i,o)=>{e.editingEvent.emit({objectIDs:i.map(s=>s.id.split("_")[0]),editingID:o,type:"start"});const r=()=>{e.editingEvent.emit({objectIDs:i.map(s=>s.id.split("_")[0]),editingID:o,type:"end"}),t.isRunning&&t.cancel()};n.disposer.ad(r),n.disposer.ad(e.keyDownEvent.don(s=>{s.code=="Escape"&&r()}));const a=new gd(i,e);n.disposer.ad(()=>{!a.isDestroyed()&&a.destroy()}),await n.promise(new Promise(s=>{a.isDestroyed()&&s(),n.disposer.ad(a.toDestroyEvent.don(()=>{console.log("移动结束"),s()})),n.disposer.ad(e.dblclickEvent.don(()=>s()))}))});return t}se.copyright=void 0;try{const t="earthsdk3-cesium",n="3.0.8-beta.8",e="2025-06-19T03:35:37.000Z",i="北京西部世界科技有限公司",o="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="64fcc5c9e0b8dbfb173ac9ca2a0ed94573ba85f7",s=((Date.now()-1750304137e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${r.slice(0,8)}.${e} (距今${s}个小时)
|
|
4692
4692
|
%c${o?o+`
|
|
4693
4693
|
`:""}当前网站正在使用${t},此软件版权归${i}所有
|
|
4694
|
-
`;se.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4694
|
+
`;se.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","64fcc5c9e0b8dbfb173ac9ca2a0ed94573ba85f7")},get info(){return l},get date(){return"2025-06-19T03:35:37.000Z"},get author(){return"suplyang"},get version(){return"3.0.8-beta.8"},get name(){return"earthsdk3-cesium"},get commitId(){return"64fcc5c9e0b8dbfb173ac9ca2a0ed94573ba85f7"},print(){console.info(this.info,`
|
|
4695
4695
|
font-size: 18px;
|
|
4696
4696
|
font-weight: 1000;
|
|
4697
4697
|
line-height: 1;
|
|
@@ -4708,4 +4708,4 @@ void main()
|
|
|
4708
4708
|
color: rgb(0, 120, 215);
|
|
4709
4709
|
padding-bottom: 2px;
|
|
4710
4710
|
padding-left: 35px;
|
|
4711
|
-
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[t]=se.copyright,window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&se.copyright.print()}catch{}return F2(),bi.defaultConfig={clickEnabled:!0,dblClickEnabled:!0},se.BaseEditingWrapper=gn,se.CircularAppendEditing=b2,se.CircularAppendEditingWrapper=K0,se.CircularInsertEditing=x2,se.CircularInsertEditingWrapper=X0,se.CurrentPositionsCenter=Nd,se.CurrentScale=Qd,se.CurrentSceneScalePoi=Lw,se.CursorFloatDiv=LR,se.CursorInfo=zR,se.Czm3DTiles=nt,se.CzmCameraChanged=xl,se.CzmCanvasAndDivSwitchPoi=NR,se.CzmCanvasPoi=Bp,se.CzmCircle=ca,se.CzmCircleGroundPrimitive=uo,se.CzmCircleOutlinePrimitive=co,se.CzmCirclePrimitive=lo,se.CzmClippingPlanes=Vs,se.CzmClock=He,se.CzmCustomPrimitive=At,se.CzmDivPoi=Dp,se.CzmES3DTileset=Hs,se.CzmESAlarm=Og,se.CzmESApertureEffect=Ug,se.CzmESAreaMeasurement=Lg,se.CzmESBlastParticleSystem=zg,se.CzmESBoxClipping=Qg,se.CzmESCameraView=Ng,se.CzmESCameraVisibleRange=Vg,se.CzmESCar=Hg,se.CzmESCityBasePoint=Wg,se.CzmESClassification=qg,se.CzmESClippingPlane=Rg,se.CzmESCustomPrimitive=Oy,se.CzmESCzml=Kg,se.CzmESDataMesh=Xg,se.CzmESDirectionMeasurement=$g,se.CzmESDistanceMeasurement=Zg,se.CzmESDynamicWater=Uy,se.CzmESEntityCluster=Ly,se.CzmESExcavate=Yg,se.CzmESFireParticleSystem=Jg,se.CzmESGeHistoryImagery=zy,se.CzmESGeoBezierPath=jg,se.CzmESGeoDiv=ey,se.CzmESGeoDivTextPoi=ty,se.CzmESGeoExtrudedPolygon=F0,se.CzmESGeoJson=ny,se.CzmESGeoLineString=Xs,se.CzmESGeoPolygon=qn,se.CzmESGeoPolygonImpl=qi,se.CzmESGeoRectangle=iy,se.CzmESGeoSmoothPolygon=ry,se.CzmESGeoVector=_n,se.CzmESGeoWater=Qy,se.CzmESGltfModel=oy,se.CzmESHeatMap=L0,se.CzmESHeightMeasurement=ay,se.CzmESHuman=sy,se.CzmESHumanPoi=M0,se.CzmESImageLabel=ly,se.CzmESImageryLayer=uy,se.CzmESKml=Cy,se.CzmESLabel=Pu,se.CzmESLocalCircle=xy,se.CzmESLocalLineString=Sy,se.CzmESLocalLineStringZ=Ey,se.CzmESLocalPolygon=Py,se.CzmESLocalPolygonZ=Ty,se.CzmESLocalRectangle=Iy,se.CzmESLocalSkyBox=cy,se.CzmESLocalVector=$A,se.CzmESLocationMeasurement=hy,se.CzmESMVTLayer=Ny,se.CzmESMsTileset=R0,se.CzmESNavigator=ky,se.CzmESObjectWithLocation=$e,se.CzmESParticleSystemPrimitive=fy,se.CzmESPath=Fy,se.CzmESPipeFence=Vy,se.CzmESPipeline=Hy,se.CzmESPipeserTileset=Wy,se.CzmESPit=qy,se.CzmESPoi2D=Ay,se.CzmESPoi3D=dy,se.CzmESPolygonFence=My,se.CzmESPolygonFlattenedPlane=Dg,se.CzmESPolygonWithHole=Ky,se.CzmESRectangle=By,se.CzmESRoad=Dy,se.CzmESRtsFeatureEditing=D0,se.CzmESRtsTileset=B0,se.CzmESScale=Ry,se.CzmESSignalTransmission=$y,se.CzmESSkylineAnalysis=U0,se.CzmESStaticMesh=O0,se.CzmESSubmergingAnalysis=py,se.CzmESSunshineAnalysis=b0,se.CzmESSurfaceAreaMeasurement=E0,se.CzmESTerrainLayer=my,se.CzmESTextLabel=gy,se.CzmESUEWidget=yy,se.CzmESUnrealActor=vy,se.CzmESVideoFusion=wy,se.CzmESViewShed=_y,se.CzmESViewerStatusBar=P0,se.CzmESViewerStatusBarScale=T0,se.CzmESVisibilityAnalysis=I0,se.CzmESVisualObject=Zn,se.CzmESVolumeMeasurement=k0,se.CzmESWidget=by,se.CzmFlattenedPlane=_o,se.CzmGlobeMaterial=ma,se.CzmImageModel=gr,se.CzmImagery=vo,se.CzmModelPrimitive=jt,se.CzmParticleSystemPrimitive=Ri,se.CzmPicking=Ow,se.CzmPoint=ei,se.CzmPointPrimitiveCollection=_s,se.CzmPoisContext=I_,se.CzmPolygon=is,se.CzmPolygonClipping=$s,se.CzmPolygonGroundPrimitive=ns,se.CzmPolygonGroundPrimitiveWithHeight=ws,se.CzmPolygonPrimitive=Xr,se.CzmPolygonPrimitiveWithHeight=ao,se.CzmPolygonWithHeight=so,se.CzmPolyline=rt,se.CzmPolylineGroundPrimitive=ss,se.CzmPolylinePrimitive=as,se.CzmPolylines=pi,se.CzmPolylinesGroundPrimitive=ts,se.CzmPolylinesPrimitive=Gn,se.CzmRectangle=zi,se.CzmSignalTransmission=Pr,se.CzmTexture=yt,se.CzmView=In,se.CzmViewDistanceRangeControl=Vo,se.CzmWater=ha,se.CzmWaterPrimitive=fu,se.DoublePointsAppendEditing=ul,se.DoublePointsAppendEditingWrapper=W0,se.DoublePointsModifyEditing=Fa,se.DoublePointsModifyEditingWrapper=q0,se.ESCesiumViewer=it,se.ESCustomPrimitive=Eo,se.ESGeHistoryImagery=Co,se.ESGeoBezierPath=Io,se.ESGeoSmoothPolygon=xr,se.ESKml=xo,se.ESLocalLineString=So,se.ESLocalLineStringZ=Cr,se.ESMVTLayer=bo,se.ESRoad=To,se.ESSignalTransmission=Po,se.GeoCanvasImagePoi=Bi,se.GeoCanvasMenuPoi=rs,se.GeoCanvasPoi=fr,se.GeoCanvasPointPoi=$r,se.GeoCustomDivPoi=Pt,se.GeoDivSwitchPoi=ia,se.GeoDivTextPoi=Di,se.GeoPolylinePath=Zs,se.HeightModifyEditing=P2,se.HeightModifyEditingWrapper=tw,se.ImageLabel2D=NS,se.ImageLabel3D=VS,se.ImageriesManager=a_,se.LabelManager=o_,se.LineStringAppendEditing=_2,se.LineStringAppendEditingWrapper=$0,se.LineStringInsertEditing=C2,se.LineStringInsertEditingWrapper=Z0,se.PickingManager=s_,se.PlaceEditing=bi,se.PlaceEditingWrapper=V0,se.PolylinePath=Ns,se.ResourceHandler=Ka,se.RotationEditing=Ci,se.RotationEditingWrapper=H0,se.ScaleEditing=kr,se.ScaleEditingWrapper=G0,se.ScatterAppendEditing=S2,se.ScatterAppendEditingWrapper=Y0,se.ScatterModifyEditing=E2,se.ScatterModifyEditingWrapper=J0,se.SharedTexturePool=qw,se.SmoothMoving=Uw,se.TerrainManager=r_,se.TextLabel2D=GS,se.TextLabel3D=WS,se.ToGCJ02WebMercatorTilingScheme=aS,se.ToWGS84WebMercatorTilingScheme=sS,se.TranslationEditing=Ir,se.TranslationEditingWrapper=gd,se.ViewerExtensions=l_,se.VisibilityAppendEditing=cl,se.VisibilityAppendEditingWrapper=j0,se.VisibilityModifyEditing=hl,se.VisibilityModifyEditingWrapper=ew,se.Widget2D=Zr,se.Widget3D=cA,se.WinPosFromCartesian=Gh,se.XbsjGroundPolylinePrimitive=Wi,se.angleToHumanStr=Tl,se.areaToHumanStr=zw,se.bindNorthRotation=Vt,se.capture=Hw,se.checkAndConvertImage=XT,se.computeCutPoint=m2,se.computeCzmModelMatrix=ft,se.computePickingInfoWithCoordinates=Td,se.createClippingPlaneCollection=bl,se.createClippingPolygonCollection=Nh,se.createEditingSystemProcessing=T2,se.createGeoBoudingSphereReactFromPositions=Vw,se.createHelperLine=nT,se.createInfoPoi=Zd,se.createInnerClassFromJson=qd,se.createInnerHtmlWithWhiteTextBlackBackground=Zo,se.createMaterialFromJson=dw,se.createMaterialRef=fi,se.createMoveObjectsProcessing=I2,se.createPolygonHierarchy=or,se.createTexture=Pl,se.createTextureFromImage=np,se.createTilingSchema=Ei,se.czmFlyTo=Fl,se.czmModelActiveAnimationsWithVisible=Gd,se.czmSubscribeAndEvaluate=Pi,se.defaultFlyToRotation=Yn,se.distanceToHumanStr=Il,se.extendComponentProps=$T,se.flyTo=Oe,se.flyWithPosition=Jn,se.flyWithPositions=Ue,se.flyWithPrimitive=Pn,se.fromCartesian=D2,se.fromCartesian2=nw,se.fromCartesian3=wl,se.fromCartesian4=iw,se.fromCartographic=Na,se.fromColor=O2,se.fromDistanceDisplayCondition=z2,se.fromEllipsoid=K2,se.fromHeadingPitchRoll=L2,se.fromNearFarScalar=U2,se.fromQuaternion=N2,se.fromRectangle=W2,se.generateCartesianArc=Pw,se.geoNeareastPointOnRhumbLine=Ho,se.geoNeareastPointOnRhumbLine2=iT,se.geoPolylineToBezierSpline=Yd,se.getCameraPosition=Ln,se.getCameraRotation=Va,se.getCameraTargetPos=sw,se.getCenterAndViewDistance=Jd,se.getCzmCode=GT,se.getDefaultComponentProps=ZT,se.getDefaultWinPosAndDepth=hT,se.getDirectionVectorFromRotation=yw,se.getDistancesAndTimePosRotsFromPositions=Ud,se.getElevationMatrix=lR,se.getEllipsoidGeodesicCenter=Md,se.getFinalCzm3DTilesUrlString=xN,se.getFlyToCenterAndRotation=$h,se.getFoveatedInterpolationCallback=yS,se.getFuncFromStr=Kd,se.getIncludedAngleFromPositions=Fw,se.getInverseModelMatrix=Iw,se.getMinMaxPosition=Nw,se.getModelMatrixFromPosition=Ld,se.getObjectProperties=Yo,se.getPointerEventButton=ar,se.getPolygonPointsFromHierarchy=zd,se.getQuaternion=xd,se.getQuaternionWithXForwardZUp=ow,se.getQuaternionWithYForwardZUp=Vh,se.getResource=Qn,se.getSceneScaleForScreenPixelSize=rr,se.getSharedTexturePool=Kw,se.getTilingSchemeStr=B8,se.getViewerExtensions=Hn,se.getWinPos=gw,se.getXbsjWaterMaterial=Bw,se.hackCesium3DTileset=E_,se.hackCzmModel3DTileContent=P_,se.hackModel=S_,se.hackModelSceneGraph=T_,se.imgUrlToBase64=Jo,se.localPositionToPosition=Qr,se.localPositionsToPositions=Nr,se.merge3dTilesServer=UT,se.pickHeightPosition=Hh,se.pickPosition=fw,se.pickVirtualEarth=Ha,se.pickVirtualPlane=Aw,se.positionAndRotationToQuaternion=G2,se.positionFromCartesian=Qe,se.positionToCartesian=Et,se.positionToHumanStr=Xd,se.positionToLocalPosition=kw,se.positionsToLocalPositions=En,se.positionsToUniqueCartesians=sn,se.rectangleIsGlobal=Wd,se.rpToap=Xh,se.setClippingPlaneCollection=Qh,se.setCylinderGeometry=$d,se.setModelMaterial=El,se.setRectangleGeometry=Qw,se.setViewerExtensions=Ep,se.toCartesian=hi,se.toCartesian2=tt,se.toCartesian3=Si,se.toCartesian4=Cd,se.toCartographic=R2,se.toCoefficients=Hd,se.toColor=Be,se.toDistanceDisplayCondition=_l,se.toEllipsoid=je,se.toHeadingPitchRoll=rw,se.toNearFarScalar=Rr,se.toQuaternion=Q2,se.toRectangle=bt,se.toRgbaString=Vr,se.updateEnvironmentMapManager=Vd,se.updateMaterialFromJson=Fd,se.winPosAndDepthEqual=mw,Object.defineProperty(se,Symbol.toStringTag,{value:"Module"}),se}({},Cesium,
|
|
4711
|
+
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[t]=se.copyright,window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&se.copyright.print()}catch{}return F2(),bi.defaultConfig={clickEnabled:!0,dblClickEnabled:!0},se.BaseEditingWrapper=gn,se.CircularAppendEditing=b2,se.CircularAppendEditingWrapper=K0,se.CircularInsertEditing=x2,se.CircularInsertEditingWrapper=X0,se.CurrentPositionsCenter=Nd,se.CurrentScale=Qd,se.CurrentSceneScalePoi=Lw,se.CursorFloatDiv=LR,se.CursorInfo=zR,se.Czm3DTiles=nt,se.CzmCameraChanged=xl,se.CzmCanvasAndDivSwitchPoi=NR,se.CzmCanvasPoi=Bp,se.CzmCircle=ca,se.CzmCircleGroundPrimitive=uo,se.CzmCircleOutlinePrimitive=co,se.CzmCirclePrimitive=lo,se.CzmClippingPlanes=Vs,se.CzmClock=He,se.CzmCustomPrimitive=At,se.CzmDivPoi=Dp,se.CzmES3DTileset=Hs,se.CzmESAlarm=Og,se.CzmESApertureEffect=Ug,se.CzmESAreaMeasurement=Lg,se.CzmESBlastParticleSystem=zg,se.CzmESBoxClipping=Qg,se.CzmESCameraView=Ng,se.CzmESCameraVisibleRange=Vg,se.CzmESCar=Hg,se.CzmESCityBasePoint=Wg,se.CzmESClassification=qg,se.CzmESClippingPlane=Rg,se.CzmESCustomPrimitive=Oy,se.CzmESCzml=Kg,se.CzmESDataMesh=Xg,se.CzmESDirectionMeasurement=$g,se.CzmESDistanceMeasurement=Zg,se.CzmESDynamicWater=Uy,se.CzmESEntityCluster=Ly,se.CzmESExcavate=Yg,se.CzmESFireParticleSystem=Jg,se.CzmESGeHistoryImagery=zy,se.CzmESGeoBezierPath=jg,se.CzmESGeoDiv=ey,se.CzmESGeoDivTextPoi=ty,se.CzmESGeoExtrudedPolygon=F0,se.CzmESGeoJson=ny,se.CzmESGeoLineString=Xs,se.CzmESGeoPolygon=qn,se.CzmESGeoPolygonImpl=qi,se.CzmESGeoRectangle=iy,se.CzmESGeoSmoothPolygon=ry,se.CzmESGeoVector=_n,se.CzmESGeoWater=Qy,se.CzmESGltfModel=oy,se.CzmESHeatMap=L0,se.CzmESHeightMeasurement=ay,se.CzmESHuman=sy,se.CzmESHumanPoi=M0,se.CzmESImageLabel=ly,se.CzmESImageryLayer=uy,se.CzmESKml=Cy,se.CzmESLabel=Pu,se.CzmESLocalCircle=xy,se.CzmESLocalLineString=Sy,se.CzmESLocalLineStringZ=Ey,se.CzmESLocalPolygon=Py,se.CzmESLocalPolygonZ=Ty,se.CzmESLocalRectangle=Iy,se.CzmESLocalSkyBox=cy,se.CzmESLocalVector=$A,se.CzmESLocationMeasurement=hy,se.CzmESMVTLayer=Ny,se.CzmESMsTileset=R0,se.CzmESNavigator=ky,se.CzmESObjectWithLocation=$e,se.CzmESParticleSystemPrimitive=fy,se.CzmESPath=Fy,se.CzmESPipeFence=Vy,se.CzmESPipeline=Hy,se.CzmESPipeserTileset=Wy,se.CzmESPit=qy,se.CzmESPoi2D=Ay,se.CzmESPoi3D=dy,se.CzmESPolygonFence=My,se.CzmESPolygonFlattenedPlane=Dg,se.CzmESPolygonWithHole=Ky,se.CzmESRectangle=By,se.CzmESRoad=Dy,se.CzmESRtsFeatureEditing=D0,se.CzmESRtsTileset=B0,se.CzmESScale=Ry,se.CzmESSignalTransmission=$y,se.CzmESSkylineAnalysis=U0,se.CzmESStaticMesh=O0,se.CzmESSubmergingAnalysis=py,se.CzmESSunshineAnalysis=b0,se.CzmESSurfaceAreaMeasurement=E0,se.CzmESTerrainLayer=my,se.CzmESTextLabel=gy,se.CzmESUEWidget=yy,se.CzmESUnrealActor=vy,se.CzmESVideoFusion=wy,se.CzmESViewShed=_y,se.CzmESViewerStatusBar=P0,se.CzmESViewerStatusBarScale=T0,se.CzmESVisibilityAnalysis=I0,se.CzmESVisualObject=Zn,se.CzmESVolumeMeasurement=k0,se.CzmESWidget=by,se.CzmFlattenedPlane=_o,se.CzmGlobeMaterial=ma,se.CzmImageModel=gr,se.CzmImagery=vo,se.CzmModelPrimitive=jt,se.CzmParticleSystemPrimitive=Ri,se.CzmPicking=Ow,se.CzmPoint=ei,se.CzmPointPrimitiveCollection=_s,se.CzmPoisContext=I_,se.CzmPolygon=is,se.CzmPolygonClipping=$s,se.CzmPolygonGroundPrimitive=ns,se.CzmPolygonGroundPrimitiveWithHeight=ws,se.CzmPolygonPrimitive=Xr,se.CzmPolygonPrimitiveWithHeight=ao,se.CzmPolygonWithHeight=so,se.CzmPolyline=rt,se.CzmPolylineGroundPrimitive=ss,se.CzmPolylinePrimitive=as,se.CzmPolylines=pi,se.CzmPolylinesGroundPrimitive=ts,se.CzmPolylinesPrimitive=Gn,se.CzmRectangle=zi,se.CzmSignalTransmission=Pr,se.CzmTexture=yt,se.CzmView=In,se.CzmViewDistanceRangeControl=Vo,se.CzmWater=ha,se.CzmWaterPrimitive=fu,se.DoublePointsAppendEditing=ul,se.DoublePointsAppendEditingWrapper=W0,se.DoublePointsModifyEditing=Fa,se.DoublePointsModifyEditingWrapper=q0,se.ESCesiumViewer=it,se.ESCustomPrimitive=Eo,se.ESGeHistoryImagery=Co,se.ESGeoBezierPath=Io,se.ESGeoSmoothPolygon=xr,se.ESKml=xo,se.ESLocalLineString=So,se.ESLocalLineStringZ=Cr,se.ESMVTLayer=bo,se.ESRoad=To,se.ESSignalTransmission=Po,se.GeoCanvasImagePoi=Bi,se.GeoCanvasMenuPoi=rs,se.GeoCanvasPoi=fr,se.GeoCanvasPointPoi=$r,se.GeoCustomDivPoi=Pt,se.GeoDivSwitchPoi=ia,se.GeoDivTextPoi=Di,se.GeoPolylinePath=Zs,se.HeightModifyEditing=P2,se.HeightModifyEditingWrapper=tw,se.ImageLabel2D=NS,se.ImageLabel3D=VS,se.ImageriesManager=a_,se.LabelManager=o_,se.LineStringAppendEditing=_2,se.LineStringAppendEditingWrapper=$0,se.LineStringInsertEditing=C2,se.LineStringInsertEditingWrapper=Z0,se.PickingManager=s_,se.PlaceEditing=bi,se.PlaceEditingWrapper=V0,se.PolylinePath=Ns,se.ResourceHandler=Ka,se.RotationEditing=Ci,se.RotationEditingWrapper=H0,se.ScaleEditing=kr,se.ScaleEditingWrapper=G0,se.ScatterAppendEditing=S2,se.ScatterAppendEditingWrapper=Y0,se.ScatterModifyEditing=E2,se.ScatterModifyEditingWrapper=J0,se.SharedTexturePool=qw,se.SmoothMoving=Uw,se.TerrainManager=r_,se.TextLabel2D=GS,se.TextLabel3D=WS,se.ToGCJ02WebMercatorTilingScheme=aS,se.ToWGS84WebMercatorTilingScheme=sS,se.TranslationEditing=Ir,se.TranslationEditingWrapper=gd,se.ViewerExtensions=l_,se.VisibilityAppendEditing=cl,se.VisibilityAppendEditingWrapper=j0,se.VisibilityModifyEditing=hl,se.VisibilityModifyEditingWrapper=ew,se.Widget2D=Zr,se.Widget3D=cA,se.WinPosFromCartesian=Gh,se.XbsjGroundPolylinePrimitive=Wi,se.angleToHumanStr=Tl,se.areaToHumanStr=zw,se.bindNorthRotation=Vt,se.capture=Hw,se.checkAndConvertImage=XT,se.computeCutPoint=m2,se.computeCzmModelMatrix=ft,se.computePickingInfoWithCoordinates=Td,se.createClippingPlaneCollection=bl,se.createClippingPolygonCollection=Nh,se.createEditingSystemProcessing=T2,se.createGeoBoudingSphereReactFromPositions=Vw,se.createHelperLine=nT,se.createInfoPoi=Zd,se.createInnerClassFromJson=qd,se.createInnerHtmlWithWhiteTextBlackBackground=Zo,se.createMaterialFromJson=dw,se.createMaterialRef=fi,se.createMoveObjectsProcessing=I2,se.createPolygonHierarchy=or,se.createTexture=Pl,se.createTextureFromImage=np,se.createTilingSchema=Ei,se.czmFlyTo=Fl,se.czmModelActiveAnimationsWithVisible=Gd,se.czmSubscribeAndEvaluate=Pi,se.defaultFlyToRotation=Yn,se.distanceToHumanStr=Il,se.extendComponentProps=$T,se.flyTo=Oe,se.flyWithPosition=Jn,se.flyWithPositions=Ue,se.flyWithPrimitive=Pn,se.fromCartesian=D2,se.fromCartesian2=nw,se.fromCartesian3=wl,se.fromCartesian4=iw,se.fromCartographic=Na,se.fromColor=O2,se.fromDistanceDisplayCondition=z2,se.fromEllipsoid=K2,se.fromHeadingPitchRoll=L2,se.fromNearFarScalar=U2,se.fromQuaternion=N2,se.fromRectangle=W2,se.generateCartesianArc=Pw,se.geoNeareastPointOnRhumbLine=Ho,se.geoNeareastPointOnRhumbLine2=iT,se.geoPolylineToBezierSpline=Yd,se.getCameraPosition=Ln,se.getCameraRotation=Va,se.getCameraTargetPos=sw,se.getCenterAndViewDistance=Jd,se.getCzmCode=GT,se.getDefaultComponentProps=ZT,se.getDefaultWinPosAndDepth=hT,se.getDirectionVectorFromRotation=yw,se.getDistancesAndTimePosRotsFromPositions=Ud,se.getElevationMatrix=lR,se.getEllipsoidGeodesicCenter=Md,se.getFinalCzm3DTilesUrlString=xN,se.getFlyToCenterAndRotation=$h,se.getFoveatedInterpolationCallback=yS,se.getFuncFromStr=Kd,se.getIncludedAngleFromPositions=Fw,se.getInverseModelMatrix=Iw,se.getMinMaxPosition=Nw,se.getModelMatrixFromPosition=Ld,se.getObjectProperties=Yo,se.getPointerEventButton=ar,se.getPolygonPointsFromHierarchy=zd,se.getQuaternion=xd,se.getQuaternionWithXForwardZUp=ow,se.getQuaternionWithYForwardZUp=Vh,se.getResource=Qn,se.getSceneScaleForScreenPixelSize=rr,se.getSharedTexturePool=Kw,se.getTilingSchemeStr=B8,se.getViewerExtensions=Hn,se.getWinPos=gw,se.getXbsjWaterMaterial=Bw,se.hackCesium3DTileset=E_,se.hackCzmModel3DTileContent=P_,se.hackModel=S_,se.hackModelSceneGraph=T_,se.imgUrlToBase64=Jo,se.localPositionToPosition=Qr,se.localPositionsToPositions=Nr,se.merge3dTilesServer=UT,se.pickHeightPosition=Hh,se.pickPosition=fw,se.pickVirtualEarth=Ha,se.pickVirtualPlane=Aw,se.positionAndRotationToQuaternion=G2,se.positionFromCartesian=Qe,se.positionToCartesian=Et,se.positionToHumanStr=Xd,se.positionToLocalPosition=kw,se.positionsToLocalPositions=En,se.positionsToUniqueCartesians=sn,se.rectangleIsGlobal=Wd,se.rpToap=Xh,se.setClippingPlaneCollection=Qh,se.setCylinderGeometry=$d,se.setModelMaterial=El,se.setRectangleGeometry=Qw,se.setViewerExtensions=Ep,se.toCartesian=hi,se.toCartesian2=tt,se.toCartesian3=Si,se.toCartesian4=Cd,se.toCartographic=R2,se.toCoefficients=Hd,se.toColor=Be,se.toDistanceDisplayCondition=_l,se.toEllipsoid=je,se.toHeadingPitchRoll=rw,se.toNearFarScalar=Rr,se.toQuaternion=Q2,se.toRectangle=bt,se.toRgbaString=Vr,se.updateEnvironmentMapManager=Vd,se.updateMaterialFromJson=Fd,se.winPosAndDepthEqual=mw,Object.defineProperty(se,Symbol.toStringTag,{value:"Module"}),se}({},Cesium,xbsj_base,EarthSDK3);
|
package/dist/earthsdk3-cesium.js
CHANGED
|
@@ -53799,7 +53799,7 @@ function nU() {
|
|
|
53799
53799
|
}
|
|
53800
53800
|
let ag;
|
|
53801
53801
|
try {
|
|
53802
|
-
const t = "earthsdk3-cesium", i = "3.0.8-beta.
|
|
53802
|
+
const t = "earthsdk3-cesium", i = "3.0.8-beta.8", e = "2025-06-19T03:35:37.000Z", n = "北京西部世界科技有限公司", s = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", o = "64fcc5c9e0b8dbfb173ac9ca2a0ed94573ba85f7", a = ((Date.now() - 1750304137e3) / 36e5).toFixed(1), l = `%c🌏 ${t}%c ${i}.${o.slice(0, 8)}.${e} (距今${a}个小时)
|
|
53803
53803
|
%c${s ? s + `
|
|
53804
53804
|
` : ""}当前网站正在使用${t},此软件版权归${n}所有
|
|
53805
53805
|
`;
|
|
@@ -53813,7 +53813,7 @@ try {
|
|
|
53813
53813
|
},
|
|
53814
53814
|
// @ts-ignore
|
|
53815
53815
|
get gituri() {
|
|
53816
|
-
return GITURI_ && GITURI_.replace("${commitId}", "
|
|
53816
|
+
return GITURI_ && GITURI_.replace("${commitId}", "64fcc5c9e0b8dbfb173ac9ca2a0ed94573ba85f7");
|
|
53817
53817
|
},
|
|
53818
53818
|
// @ts-ignore
|
|
53819
53819
|
get info() {
|
|
@@ -53821,7 +53821,7 @@ try {
|
|
|
53821
53821
|
},
|
|
53822
53822
|
// @ts-ignore
|
|
53823
53823
|
get date() {
|
|
53824
|
-
return "2025-06-
|
|
53824
|
+
return "2025-06-19T03:35:37.000Z";
|
|
53825
53825
|
},
|
|
53826
53826
|
// @ts-ignore
|
|
53827
53827
|
get author() {
|
|
@@ -53829,7 +53829,7 @@ try {
|
|
|
53829
53829
|
},
|
|
53830
53830
|
// @ts-ignore
|
|
53831
53831
|
get version() {
|
|
53832
|
-
return "3.0.8-beta.
|
|
53832
|
+
return "3.0.8-beta.8";
|
|
53833
53833
|
},
|
|
53834
53834
|
// @ts-ignore
|
|
53835
53835
|
get name() {
|
|
@@ -53837,7 +53837,7 @@ try {
|
|
|
53837
53837
|
},
|
|
53838
53838
|
// @ts-ignore
|
|
53839
53839
|
get commitId() {
|
|
53840
|
-
return "
|
|
53840
|
+
return "64fcc5c9e0b8dbfb173ac9ca2a0ed94573ba85f7";
|
|
53841
53841
|
},
|
|
53842
53842
|
print() {
|
|
53843
53843
|
console.info(
|