earthsdk3-cesium 3.2.0-beta.8 → 3.2.0-beta.9

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.
Files changed (23) hide show
  1. package/dist/earthsdk3-cesium.iife.js +4 -4
  2. package/dist/earthsdk3-cesium.js +212 -214
  3. package/dist/earthsdk3-cesium.umd.cjs +4 -4
  4. package/dist/types/CzmObjects/base/InnerClass/CzmPois/GeoCanvasImagePoi/impl/CanvasImagePoi.d.ts +3 -3
  5. package/dist/types/CzmObjects/base/InnerClass/CzmPois/GeoCanvasImagePoi/impl/CanvasImagePoi.d.ts.map +1 -1
  6. package/dist/types/CzmObjects/base/InnerClass/CzmPois/GeoCanvasImagePoi/index.d.ts +1 -1
  7. package/dist/types/CzmObjects/base/InnerClass/CzmPois/GeoCanvasImagePoi/index.d.ts.map +1 -1
  8. package/dist/types/CzmObjects/general/CzmESImageLabel/index.d.ts.map +1 -1
  9. package/package.json +2 -2
  10. package/dist/types/CzmObjects/base/InnerClass/XbsjGroundPolylinePrimitive/GroundPolylinePrimitive.d.ts +0 -148
  11. package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/XbsjPolylineGeometry.d.ts +0 -3
  12. package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/xbsjCreateODLinesPrimitive.d.ts +0 -29
  13. package/dist/types/CzmObjects/general/CzmESVideoFusion/XbsjCameraVideo/XbsjCameraVideo.d.ts +0 -18
  14. package/dist/types/CzmObjects/general/CzmESViewShed/XbsjViewshed/XbsjViewshed.d.ts +0 -16
  15. package/dist/types/ESCesiumViewer/BackGroundImage/BackGroundImage.d.ts +0 -5
  16. package/dist/types/ESCesiumViewer/LocalSkyBox/SkyAtmosphere.d.ts +0 -14
  17. package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatPipelineStage.d.ts +0 -12
  18. package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatTexturePipelineStage.d.ts +0 -11
  19. package/dist/types/ESCesiumViewer/initCesiumViewer/fixGoogleEarth/cesiumFixGoogleEarth.d.ts +0 -1
  20. package/dist/types/__declares/cesium.d.ts +0 -405
  21. package/dist/types/utils/czmUtils/todo/generateCartesianArc/czm/generateCartesianArc.d.ts +0 -8
  22. package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/index.d.ts +0 -37
  23. package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/lib/spline.d.ts +0 -62
@@ -532,7 +532,7 @@ void main()
532
532
  out_FragColor = imageColor * u_color;
533
533
  }
534
534
  `,mE={type:"LocalAxisedBoundingBox",data:{min:[0,-1,0],max:[1,0,0]}},vE={depthTest:{enabled:!0},cull:{enabled:!0,face:1029},depthMask:!1,blending:{enabled:!0,equationRgb:32774,equationAlpha:32774,functionSourceRgb:770,functionSourceAlpha:1,functionDestinationRgb:771,functionDestinationAlpha:771}},yE={u_image:{type:"image",uri:""},u_color:[1,1,0,1]},wE={position:{typedArray:new Float32Array([0,0,0,0,-1,0,1,-1,0,0,0,0,1,-1,0,1,0,0]),componentsPerAttribute:3},normal:{typedArray:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1]),componentsPerAttribute:3},textureCoordinates:{typedArray:new Float32Array([0,1,0,0,1,0,0,1,1,0,1,1]),componentsPerAttribute:2}},CE=new Uint16Array([0,1,2,3,4,5]),PE={position:{typedArray:new Float32Array([0,0,0,0,-1,0,1,-1,0,0,0,0,1,-1,0,1,0,0,0,0,0,0,-1,0,1,-1,0,0,0,0,1,-1,0,1,0,0]),componentsPerAttribute:3},normal:{typedArray:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1]),componentsPerAttribute:3},textureCoordinates:{typedArray:new Float32Array([0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,0,0,0,1]),componentsPerAttribute:2}},_E=new Uint16Array([0,1,2,3,4,5,8,7,6,11,10,9]);function SE(t){const i={};for(let e of Object.keys(t)){const{typedArray:n,componentsPerAttribute:r,usage:o,normalize:s}=t[e];i[e]={typedArray:{type:n.constructor.name,array:[...n.values()]},componentsPerAttribute:r,usage:o,normalize:s}}return i}function EE(t){const i={};for(let e of Object.keys(t)){const{typedArray:{type:n,array:r},componentsPerAttribute:o,usage:s,normalize:a}=t[e];i[e]={typedArray:new global[n](r),componentsPerAttribute:o,usage:s,normalize:a}}return i}function AE(t){return{type:t.constructor.name,array:[...t.values()]}}function TE(t){const{type:i,array:e}=t;return new global[i](e)}function ME(t){t.length%3===0&&console.warn("当前传入的索引不是3的倍数,可能不是三角片的索引!");const i=t.length/3|0,e=new Array(i*6);for(let n=0;n<i;++n)e[n*6+0]=t[n*3+0],e[n*6+1]=t[n*3+1],e[n*6+2]=t[n*3+2],e[n*6+3]=t[n*3+1],e[n*6+4]=t[n*3+2],e[n*6+5]=t[n*3+0];return e}class DE extends l.Destroyable{constructor(){super(...arguments);v(this,"_show",this.disposeVar(l.react(!0)))}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}}function IE(t){if(t instanceof Float32Array)return d.ComponentDatatype.FLOAT;if(t instanceof Int8Array)return d.ComponentDatatype.BYTE;if(t instanceof Uint8Array)return d.ComponentDatatype.UNSIGNED_BYTE;if(t instanceof Int16Array)return d.ComponentDatatype.SHORT;if(t instanceof Uint16Array)return d.ComponentDatatype.UNSIGNED_SHORT;if(t instanceof Int32Array)return d.ComponentDatatype.INT;if(t instanceof Uint32Array)return d.ComponentDatatype.UNSIGNED_INT;throw t instanceof Float64Array?(console.error("暂不支持Float64Array"),new Error("暂不支持Float64Array")):(console.error("不支持的TypedArray!"),new Error("不支持的TypedArray!"))}function bE(t){if(t instanceof Uint8Array)return d.IndexDatatype.UNSIGNED_BYTE;if(t instanceof Uint16Array)return d.IndexDatatype.UNSIGNED_SHORT;if(t instanceof Uint32Array)return d.IndexDatatype.UNSIGNED_INT;throw console.error("不支持的TypedArray!"),new Error("不支持的TypedArray!")}function RE(t,i){if(t===i)return!0;const e=Object.keys(t),n=Object.keys(i);return!(e.length!==n.length||e.some((r,o)=>n[o]!==r)||e.some((r,o)=>t[r]!==i[r]))}function xE(t,i){return t.componentDatatype!==i.componentDatatype||t.componentsPerAttribute!==i.componentsPerAttribute||t.index!==i.index||t.normalize!==i.normalize?!1:t.vertexBuffer===i.vertexBuffer}function kE(t,i){if(t===i)return!0;if(t.usage!==i.usage||t.componentsPerAttribute!==i.componentsPerAttribute||t.normalize!==i.normalize)return!1;if(t.typedArray===i.typedArray)return!0;if(t.typedArray.byteLength!==i.typedArray.byteLength)return!1;const e=i.typedArray;return!!t.typedArray.every((n,r)=>n===e[r])}class Ss extends DE{constructor(e,n){super();v(this,"_updateEvent",this.disposeVar(new l.Event));v(this,"_drawCommand");v(this,"_ESSceneObjectID",this.disposeVar(l.react(l.createGuid())));this._scene=e,n&&(this.ESSceneObjectID=n);const r=this._scene,{context:o}=r;let s=!1,a=!1,c=!1,h=!1,p=!1,u,f,g,m,y,_,S;this.dispose(()=>{m&&(m.destroy(),m=void 0),_&&(_.destroy(),_=void 0),y&&(y.destroy(),y=void 0),S&&(S=void 0,this._drawCommand=S)}),this.dispose(this.passChanged.disposableOn(()=>S&&(S.pass=this.pass))),this.dispose(this.attributesChanged.disposableOn(()=>s=!0)),this.dispose(this.uniformMapChanged.disposableOn(()=>S&&(S.uniformMap=this.uniformMap))),this.dispose(this.modelMatrixChanged.disposableOn(()=>S&&(S.modelMatrix=this.modelMatrix))),this.dispose(this.renderStateChanged.disposableOn(()=>{S&&(S=void 0,p=!0)})),this.dispose(this.primitiveTypeChanged.disposableOn(()=>S&&(S.primitiveType=this.primitiveType))),this.dispose(this.indexTypedArrayChanged.disposableOn(()=>a=!0)),this.dispose(this.vertexShaderSourceChanged.disposableOn(()=>h=!0)),this.dispose(this.fragmentShaderSourceChanged.disposableOn(()=>h=!0)),this.dispose(this.occludeChanged.disposableOn(()=>S&&(S.occlude=this.occlude))),this.dispose(this.countChanged.disposableOn(()=>S&&(S.count=this.count))),this.dispose(this.offsetChanged.disposableOn(()=>S&&(S.offset=this.offset))),this.dispose(this.instanceCountChanged.disposableOn(()=>S&&(S.instanceCount=this.instanceCount))),this.dispose(this.castShadowsChanged.disposableOn(()=>S&&(S.castShadows=this.castShadows))),this.dispose(this.receiveShadowsChanged.disposableOn(()=>S&&(S.receiveShadows=this.receiveShadows))),this.dispose(this.executeInClosestFrustumChanged.disposableOn(()=>S&&(S.executeInClosestFrustum=this.executeInClosestFrustum))),this.dispose(this.debugShowBoundingVolumeChanged.disposableOn(()=>S&&(S.debugShowBoundingVolume=this.debugShowBoundingVolume))),this.dispose(this.debugOverlappingFrustumsChanged.disposableOn(()=>S&&(S.debugOverlappingFrustums=this.debugOverlappingFrustums))),this.dispose(this.pickOnlyChanged.disposableOn(()=>S&&(S.pickOnly=this.pickOnly))),this.dispose(this.depthForTranslucentClassificationChanged.disposableOn(()=>S&&(S.depthForTranslucentClassification=this.depthForTranslucentClassification)));const C=()=>{S&&(S.boundingVolume?S.cull=this.cull??!0:S.cull=!1)};C(),this.dispose(this.cullChanged.disposableOn(C)),this.dispose(this.boundingVolumeChanged.disposableOn(()=>{S&&(S.boundingVolume=this.boundingVolume),C()}));const E=this.disposeVar(new l.ObjResettingWithEvent(this.allowPickingChanged,()=>o.createPickId({primitive:this})));this.dispose(this.allowPickingChanged.disposableOn(()=>{h=!0,S&&(S.pickId=this.allowPicking?"xbsjPickColor220823":void 0)}));const M=D=>{const{attributes:R,indexTypedArray:x}=this;if(s&&R){s=!1;const z={},W={},V=[];let L=0;for(let[U,P]of Object.entries(R)){const T=L++,{typedArray:k,componentsPerAttribute:N,usage:G=d.BufferUsage.STATIC_DRAW,normalize:X=!1}=P;if(!k){console.warn(`CzmCustomPrimitive attribute[${U}] typedeArray is undefined!`);continue}z[U]=T;let Y;do{if(f&&f[U]){const Z=l.getExtProp(f[U],"_originAttribute");if(Z&&kE(Z,P)){Y=f[U],delete f[U],W[U]=Y;break}else if(Z&&Z.typedArray!==P.typedArray&&Z.typedArray.byteLength===P.typedArray.byteLength&&Z.usage===P.usage){Y=f[U],Y.copyFromArrayView(P.typedArray),delete f[U],W[U]=Y,l.setExtProp(W[U],"_originAttribute",P);break}}Y=d.Buffer.createVertexBuffer({context:o,typedArray:k,usage:G}),Y.vertexArrayDestroyable=!1,W[U]=Y,l.setExtProp(W[U],"_originAttribute",P)}while(!1);V.push({index:T,vertexBuffer:Y,componentsPerAttribute:N,normalize:X,componentDatatype:IE(k)})}if(f)for(let U of Object.values(f))U.destroy();do{if(!g||g.length!==V.length){c=!0;break}if(g.some((U,P)=>!xE(U,V[P]))){c=!0;break}}while(!1);f=W,g=V,z&&(!u||!RE(z,u))&&(u=z,h=!0,c=!0)}if(a&&(a=!1,m&&(m.destroy(),m=void 0),m=x?d.Buffer.createIndexBuffer({context:o,typedArray:x,usage:d.BufferUsage.STATIC_DRAW,indexDatatype:bE(x)}):void 0,m&&(m.vertexArrayDestroyable=!1),c=!0),c&&(c=!1,y&&(y.destroy(),y=void 0),g&&u&&(y=new d.VertexArray({context:o,attributes:g,attributeLocations:u,bufferUsage:d.BufferUsage.STATIC_DRAW,indexBuffer:m}),S?S.vertexArray=y:p=!0)),h){h=!1;const z=E.obj;let W;if(z){const{red:V,green:L,blue:U,alpha:P}=z.color;W=`const vec4 xbsjPickColor220823 = ${`vec4(${V.toFixed(6)}, ${L.toFixed(6)}, ${U.toFixed(6)}, ${P.toFixed(6)})`};
535
- `}else W="";u&&(_=d.ShaderProgram.fromCache({context:o,vertexShaderSource:new d.ShaderSource({sources:[this.vertexShaderSource]}),fragmentShaderSource:new d.ShaderSource({sources:[W,this.fragmentShaderSource]}),attributeLocations:u}),S?S.shaderProgram=_:p=!0)}p&&(p=!1,S||y&&_&&(S=new d.DrawCommand({vertexArray:y,primitiveType:this.primitiveType,renderState:d.RenderState.fromCache(this.renderState),shaderProgram:_,owner:this,uniformMap:this.uniformMap,pass:this.pass,modelMatrix:this.modelMatrix,boundingVolume:this.boundingVolume,cull:this.cull,occlude:this.occlude,count:this.count,offset:this.offset,instanceCount:this.instanceCount,castShadows:this.castShadows,receiveShadows:this.receiveShadows,pickId:this.allowPicking?"xbsjPickColor220823":void 0,pickOnly:this.pickOnly,debugShowBoundingVolume:this.debugShowBoundingVolume,depthForTranslucentClassification:this.depthForTranslucentClassification}),this._drawCommand=S,S.debugOverlappingFrustums=this.debugOverlappingFrustums,S.executeInClosestFrustum=this.executeInClosestFrustum)),S&&D.commandList.push(S)};this.dispose(this._updateEvent.disposableOn(M))}get drawCommand(){return this._drawCommand}get ESSceneObjectID(){return this._ESSceneObjectID.value}set ESSceneObjectID(e){this._ESSceneObjectID.value=e}get ESSceneObjectIDChanged(){return this._ESSceneObjectID.changed}update(e){this.show&&this._updateEvent.emit(e)}}(t=>{t.createDefaultProps=()=>({modelMatrix:l.react(new d.Matrix4,d.Matrix4.equals,d.Matrix4.clone),boundingVolume:void 0,pass:d.Pass.OPAQUE,attributes:{},cull:!0,occlude:!0,count:void 0,offset:0,indexTypedArray:void 0,instanceCount:0,vertexShaderSource:"",fragmentShaderSource:"",castShadows:!1,receiveShadows:!1,uniformMap:{},renderState:{},primitiveType:d.PrimitiveType.TRIANGLES,executeInClosestFrustum:!1,owner:void 0,debugShowBoundingVolume:!1,debugOverlappingFrustums:0,allowPicking:void 0,pickOnly:!1,depthForTranslucentClassification:!1})})(Ss||(Ss={})),l.extendClassProps(Ss.prototype,Ss.createDefaultProps);function FE(t){let i,e;if(t instanceof d.BoundingSphere)e=ce(t.center),i=t.radius*5;else if(t instanceof d.BoundingRectangle){const{x:n,y:r,width:o,height:s}=t,a=d.Rectangle.fromRadians(n,r,n+o,r+s),c=d.BoundingSphere.fromRectangle2D(a);e=ce(c.center),i=c.radius*5}else if(t instanceof d.OrientedBoundingBox){e=ce(t.center);const n=t.halfAxes,r=l.Vector.magnitude([n[0],n[1],n[2]]),o=l.Vector.magnitude([n[3],n[4],n[5]]),s=l.Vector.magnitude([n[6],n[7],n[8]]);i=Math.max(r,o,s)*5}if(!(!e||i===void 0))return[e,i]}const qe=class qe extends l.Destroyable{constructor(e,n){super();v(this,"_attributes",this.disposeVar(l.react(void 0)));v(this,"_indexTypedArray",this.disposeVar(l.react(void 0)));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_sceneScaleEvent",this.disposeVar(new l.Event));v(this,"_nativePrimitive");v(this,"_lastCzmPickResult");v(this,"_czmViewVisibleDistanceRangeControl");v(this,"_id",this.disposeVar(l.react(l.createGuid())));this._czmViewer=e,n&&(this.id=n),this._czmViewVisibleDistanceRangeControl=this.disposeVar(new io(this.czmViewer,[this,"viewDistanceRange"],[this,"position"]));const r=e.viewer;if(!r)return;this.dispose(l.track([this._czmViewVisibleDistanceRangeControl,"debug"],[this,"viewDistanceDebug"]));const{scene:o}=r,{context:s}=o,a=r.scene.primitives.add(new Ss(r.scene,n));this._nativePrimitive=a,this.dispose(()=>r.scene.primitives.remove(a));{const p=this.disposeVar(l.createNextAnimateFrameEvent(this.allowPickingDepthChanged));this.disposeVar(new l.ObjResettingWithEvent(p,()=>{if(!this.allowPickingDepth)return this.allowPickingDepth?void 0:new De.ObjectsToExcludeWrapper(this.czmViewer,[a])}))}const c=l.react(void 0);{const p=()=>{let u;do{if(!this.position||!this.pixelSize)break;const f=d.Cartesian3.fromDegrees(...this.position);if(!f||(u=Li(r.scene,f,this.pixelSize),u===void 0))break;this.maximumScale!==void 0&&u>this.maximumScale&&(u=this.maximumScale),this.minimumScale!==void 0&&u<this.minimumScale&&(u=this.minimumScale)}while(!1);c.value=u};p(),this.dispose(r.scene.preUpdate.addEventListener(p))}{const p=()=>{this.sceneScaleEvent.emit(c.value,this.czmViewer)};p(),this.dispose(c.changed.disposableOn(p))}this.disposeVar(new Fm(e,[this,"showSceneScale"],[this,"position"],c));{const p=()=>{a.show=(this.show??!0)&&this.visibleAlpha>0};p(),this.dispose(this.showChanged.disposableOn(p)),this.dispose(this.visibleAlphaChanged.disposableOn(p))}const h=this.disposeVar(l.react(void 0));{const p=()=>{const f=ke({localScale:this.localScale,initialRotation:"yForwardzUp",localRotation:this.localRotation,localPosition:this.localPosition,localModelMatrix:this.localModelMatrix,sceneScaleFromPixelSize:c.value,scale:this.scale,rotation:this.rotation,position:this.position,modelMatrix:this.modelMatrix});if(!f){console.warn("computeCzmModelMatrix error!");return}h.value=f,a.modelMatrix=f};p();let u=!0;this.dispose(this.showChanged.disposableOn(()=>u=!0)),this.dispose(this.localPositionChanged.disposableOn(()=>u=!0)),this.dispose(this.localRotationChanged.disposableOn(()=>u=!0)),this.dispose(this.localScaleChanged.disposableOn(()=>u=!0)),this.dispose(this.localModelMatrixChanged.disposableOn(()=>u=!0)),this.dispose(this.positionChanged.disposableOn(()=>u=!0)),this.dispose(this.rotationChanged.disposableOn(()=>u=!0)),this.dispose(this.scaleChanged.disposableOn(()=>u=!0)),this.dispose(this.modelMatrixChanged.disposableOn(()=>u=!0)),this.dispose(c.changed.disposableOn(()=>u=!0)),this.dispose(r.scene.preUpdate.addEventListener(()=>{u&&(u&&(u=!1),p())}))}{const p=()=>{const{boundingVolume:g=qe.defaultBoundingVolume}=this;if(!g){a.boundingVolume=void 0;return}if(g.type==="BoundingRectangle"){a.boundingVolume=d.BoundingRectangle.fromRectangle(d.Rectangle.fromDegrees(...g.data));return}if(g.type==="BoundingSphere"){a.boundingVolume=new d.BoundingSphere(d.Cartesian3.fromDegrees(...g.data.center),g.data.radius);return}},u=()=>{const{boundingVolume:g=qe.defaultBoundingVolume}=this;if(!g){a.boundingVolume=void 0;return}if(g.type==="LocalBoundingSphere"){const m=h.value??d.Matrix4.IDENTITY,y=d.Matrix4.multiplyByPoint(m,d.Cartesian3.fromArray(g.data.center),new d.Cartesian3);a.boundingVolume=new d.BoundingSphere(y,g.data.radius);return}if(g.type==="LocalAxisedBoundingBox"){const m=h.value??d.Matrix4.IDENTITY,{min:y,max:_}=g.data,S=new d.Cartesian3(.5*(y[0]+_[0]),.5*(y[1]+_[1]),.5*(y[2]+_[2])),C=d.Matrix4.multiplyByPoint(m,S,S),E=new d.Cartesian3(.5*(_[0]-y[0]),.5*(_[1]-y[1]),.5*(_[2]-y[2]));E.x=E.x===0?1:E.x,E.y=E.y===0?1:E.y,E.z=E.z===0?1:E.z;const M=new d.Matrix3(E.x,0,0,0,E.y,0,0,0,E.z),D=d.Matrix4.getMatrix3(m,new d.Matrix3),R=d.Matrix3.multiply(D,M,D);a.boundingVolume=new d.OrientedBoundingBox(C,R);return}},f=()=>{p(),u()};f(),this.dispose(this.boundingVolumeChanged.disposableOn(f)),this.dispose(h.changed.disposableOn(u))}this.dispose(l.track([a,"allowPicking"],[this,"allowPicking"]));{const p=()=>{a.indexTypedArray=this.indexTypedArray??qe.defaultIndexTypedArray};p(),this.dispose(this.indexTypedArrayChanged.disposableOn(p))}{const p=()=>{a.attributes=this.attributes??qe.defaultAttribute};p(),this.dispose(this.attributesChanged.disposableOn(p))}{const p=()=>{a.renderState=this.renderState??qe.defaultRenderState};p(),this.dispose(this.renderStateChanged.disposableOn(p))}{const p=()=>{a.vertexShaderSource=this.vertexShaderSource??qe.defaultVertexShaderSource};p(),this.dispose(this.vertexShaderSourceChanged.disposableOn(p))}{const p=()=>{a.fragmentShaderSource=this.fragmentShaderSource??qe.defaultFragmentShaderSource};p(),this.dispose(this.fragmentShaderSourceChanged.disposableOn(p))}{const p=()=>a.cull=this.cull??!0;p(),this.dispose(this.cullChanged.disposableOn(p))}{const p=()=>a.pass=d.Pass[this.pass??"TRANSLUCENT"];p(),this.dispose(this.passChanged.disposableOn(p))}{const p=()=>a.primitiveType=d.PrimitiveType[this.primitiveType??"TRIANGLES"];p(),this.dispose(this.primitiveTypeChanged.disposableOn(p))}{const p=()=>a.occlude=this.occlude??!0,u=()=>a.count=this.count,f=()=>a.offset=this.offset??0,g=()=>a.instanceCount=this.instanceCount??0,m=()=>a.castShadows=this.castShadows??!1,y=()=>a.receiveShadows=this.receiveShadows??!1;p(),u(),f(),g(),m(),y(),this.dispose(this.occludeChanged.disposableOn(p)),this.dispose(this.countChanged.disposableOn(u)),this.dispose(this.offsetChanged.disposableOn(f)),this.dispose(this.instanceCountChanged.disposableOn(g)),this.dispose(this.castShadowsChanged.disposableOn(m)),this.dispose(this.receiveShadowsChanged.disposableOn(y))}{const p=()=>a.executeInClosestFrustum=this.executeInClosestFrustum??!1,u=()=>a.debugShowBoundingVolume=this.debugShowBoundingVolume??!1,f=()=>a.debugOverlappingFrustums=this.debugOverlappingFrustums??0,g=()=>a.pickOnly=this.pickOnly??!1,m=()=>a.depthForTranslucentClassification=this.depthForTranslucentClassification??!1;p(),u(),f(),g(),m(),this.dispose(this.executeInClosestFrustumChanged.disposableOn(p)),this.dispose(this.debugShowBoundingVolumeChanged.disposableOn(u)),this.dispose(this.debugOverlappingFrustumsChanged.disposableOn(f)),this.dispose(this.pickOnlyChanged.disposableOn(g)),this.dispose(this.depthForTranslucentClassificationChanged.disposableOn(m))}{const p=new Map;this.dispose(()=>{for(let y of p.values())y&&y.destroy();p.clear()});const u=new Map;this.dispose(()=>{for(let y of u.values())y.destroy();u.clear()});let f;const g=()=>{if(f){for(let y of Object.values(f))y.destroy();f=void 0}};this.dispose(g);const m=()=>{const y={},_=this.uniformMap??qe.defaultUniformMap;g(),f={};let S=[];for(let C of Object.keys(_)){const E=_[C];if(E==null){console.error(`updateUniformMap [${C}] error: !uniformValue`);continue}if(Array.isArray(E)){const M=E.length,R=(M===2?d.Cartesian2:M===3?d.Cartesian3:d.Cartesian4).fromArray(E);y[C]=()=>R}else if(typeof E=="number")y[C]=()=>E;else if("type"in E&&E.type==="image"){const M=new Ne(e);M.enabled=!0,M.uri=E.uri,M.uriType="img",f[C]=M,y[C]=()=>{do{if(!M.texture)break;return M.texture}while(!1);return s.defaultTexture}}else"type"in E&&E.type==="texture"&&(E.id||console.warn(`uniform变量设置错误:${C} 的配置中id未设置或者无效!id为${E.id}`),y[C]=()=>{do{const M=window.czmTexture[E.id];if(!M)break;return M.texture}while(!1);return s.defaultTexture})}y.u_xe2VisibleAlpha=()=>this.visibleAlpha,a.uniformMap=y;for(let C of p.keys())if(!S.includes(C)){const E=p.get(C);E==null||E.destroy(),p.delete(C)}for(let C of u.keys())if(!S.includes(C)){const E=u.get(C);E==null||E.destroy(),u.delete(C)}};m(),this.dispose(this.uniformMapChanged.disposableOn(m))}this.dispose(this.flyToEvent.disposableOn(p=>{if(!a.boundingVolume){console.warn("CzmCustomPrimitive没有设置boundingVolume属性,无法飞入(flyTo)!");return}const u=FE(a.boundingVolume);if(!u){console.warn("无法计算viewDistance!");return}const[f,g]=u;re(r,f,g,void 0,p)}))}get attributesJson(){return this.attributes&&SE(this.attributes)}set attributesJson(e){const n=JSON.stringify(this.attributesJson),r=JSON.stringify(e);n!==r&&(this.attributes=e&&EE(e))}get attributesJsonChanged(){return this.attributesChanged}get indexTypedArrayJson(){return this.indexTypedArray&&AE(this.indexTypedArray)}set indexTypedArrayJson(e){const n=JSON.stringify(this.indexTypedArrayJson),r=JSON.stringify(e);n!==r&&(this.indexTypedArray=e&&TE(e))}get indexTypedArrayJsonChanged(){return this.indexTypedArrayChanged}get attributes(){return this._attributes.value}set attributes(e){this._attributes.value=e}get attributesChanged(){return this._attributes.changed}get indexTypedArray(){return this._indexTypedArray.value}set indexTypedArray(e){this._indexTypedArray.value=e}get indexTypedArrayChanged(){return this._indexTypedArray.changed}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get sceneScaleEvent(){return this._sceneScaleEvent}get czmViewer(){return this._czmViewer}get nativePrimitive(){return this._nativePrimitive}get czmViewerVisibleDistanceRangeControl(){return this._czmViewVisibleDistanceRangeControl}get visibleAlpha(){return this._czmViewVisibleDistanceRangeControl.visibleAlpha}get visibleAlphaChanged(){return this._czmViewVisibleDistanceRangeControl.visibleAlphaChanged}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}setUniformMap(e){if(Object.entries(e).some(([r,o])=>(console.warn(`setUniformMap error: key: ${r} value: ${o}`),o===null)))return;const n={...this.uniformMap??{},...e};this.uniformMap=n}setLocalBoundingSphere(e,n=[0,0,0]){if(!Number.isFinite(e)||e<=0){console.warn(`!Number.isFinite(radius) || radius <= 0 radius: ${e}`);return}this.boundingVolume={type:"LocalBoundingSphere",data:{center:n,radius:e}}}setLocalAxisedBoundingBox(e,n){if(e.some(r=>!Number.isFinite(r))||n.some(r=>!Number.isFinite(r))){console.warn(`setLocalAxisedBoundingBox error, min: ${e.toString()}, max: ${n.toString()}`);return}this.boundingVolume={type:"LocalAxisedBoundingBox",data:{min:e,max:n}}}computeLocalAxisedBoundingBoxFromAttribute(e="a_position"){if(!this.attributes||!this.attributes[e]){console.warn(`attributes[${e}]不存在!无法获取!`);return}const n=this.attributes[e];if(!("typedArray"in n)||!(n.typedArray instanceof Float32Array)){console.warn(`!('typedArray' in posAttribute) || !(posAttribute.typedArray instanceof Float32Array) attributeName: ${e}`);return}if(!("componentsPerAttribute"in n)||n.componentsPerAttribute!==3){console.warn(`!('componentsPerAttribute' in posAttribute) || posAttribute.componentsPerAttribute !== 3 attributeName: ${e}`);return}const{min:r,max:o}=qe.getMinMaxPosition(n.typedArray);if(!r.some(s=>!Number.isFinite(s)||o.some(a=>!Number.isFinite(a))))return{min:r,max:o}}};v(qe,"defaultRenderState",vE),v(qe,"defaultVertexShaderSource",fE),v(qe,"defaultFragmentShaderSource",gE),v(qe,"defaultUniformMap",yE),v(qe,"defaultBoundingVolume",mE),v(qe,"defaultAttribute",wE),v(qe,"defaultIndexTypedArray",CE),v(qe,"defaultDsAttribute",PE),v(qe,"defaultDsIndexTypedArray",_E),v(qe,"triangleIndicesToLine",ME),v(qe,"defaults",{position:[116.39,39.9,0],rotation:[0,0,0],scale:[1,1,1],modelMatrix:[-.8957893500750183,-.4444788412198901,0,0,.28511078894078473,-.5746037485691958,.7671651518152995,0,-.3409886777031455,.68721837274483,.6414496315691579,0,-2.1778739967047274e6,4389222053178148e-9,4.0694736755001387e6,1],viewDistanceRange:[1e3,1e4,3e4,6e4]}),v(qe,"getMinMaxPosition",l.getMinMaxPosition);let Fe=qe;(t=>{t.createDefaultProps=()=>({show:void 0,allowPicking:!1,allowPickingDepth:!0,position:l.reactArrayWithUndefined(void 0),rotation:l.reactArrayWithUndefined(void 0),scale:l.reactArrayWithUndefined(void 0),maximumScale:void 0,minimumScale:void 0,pixelSize:void 0,showSceneScale:void 0,modelMatrix:l.reactArrayWithUndefined(void 0),cull:l.react(void 0),boundingVolume:l.reactJson(void 0),renderState:l.reactJson(void 0),primitiveType:void 0,pass:void 0,vertexShaderSource:void 0,fragmentShaderSource:void 0,uniformMap:l.reactJson(void 0),localPosition:l.reactArrayWithUndefined(void 0),localRotation:l.reactArrayWithUndefined(void 0),localScale:l.reactArrayWithUndefined(void 0),localModelMatrix:l.reactArrayWithUndefined(void 0),occlude:void 0,count:void 0,offset:void 0,instanceCount:void 0,castShadows:void 0,receiveShadows:void 0,executeInClosestFrustum:void 0,debugShowBoundingVolume:void 0,debugOverlappingFrustums:void 0,pickOnly:void 0,depthForTranslucentClassification:void 0,viewDistanceRange:l.reactArrayWithUndefined(void 0),viewDistanceDebug:!1})})(Fe||(Fe={})),l.extendClassProps(Fe.prototype,Fe.createDefaultProps);class zE extends l.PosFloatDiv{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class LE extends l.Destroyable{constructor(e,n){super();v(this,"_cursorDiv");v(this,"_pointerOut",this.disposeVar(l.react(!0)));v(this,"_show",this.disposeVar(l.react(!0)));this._cursorDiv=new l.DivPoi(n,e),this.dispose(()=>this._cursorDiv.destroy());const r=a=>{const[c,h]=l.getDomEventCurrentTargetPos(a);this._cursorDiv.floatDiv.winPos=[c,h],this._pointerOut.value=!1};e.addEventListener("pointermove",r),this.dispose(()=>e.removeEventListener("pointermove",r));const o=a=>{this._pointerOut.value=!0};e.addEventListener("pointerout",o),this.dispose(()=>e.removeEventListener("pointerout",o)),e.addEventListener("pointerleave",o),this.dispose(()=>e.removeEventListener("pointerleave",o)),e.addEventListener("pointercancel",o),this.dispose(()=>e.removeEventListener("pointercancel",o));const s=()=>{this._cursorDiv.show=this.show&&!this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(e){this._show.value=e}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!0}get cursorDiv(){return this._cursorDiv}set text(e){this._cursorDiv.floatDiv.contentDiv.innerText=e}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}class NE extends l.Destroyable{constructor(e,n){super();v(this,"_show",this.disposeVar(l.react(!0)));v(this,"_winPosFromCartesian");v(this,"_near",this.disposeVar(l.react(0)));v(this,"_far",this.disposeVar(l.react(Number.POSITIVE_INFINITY)));v(this,"_actualShow",this.disposeVar(l.react(!1)));this._czmPoisContext=e;const{viewer:r,cameraChanged:o}=this._czmPoisContext;this._winPosFromCartesian=n||this.disposeVar(new nc(r,!0,o));let s=0,a=Number.POSITIVE_INFINITY;this.dispose(this._near.changed.disposableOn(h=>s=h*h)),this.dispose(this._far.changed.disposableOn(h=>a=h*h));const c=this.disposeVar(l.createNextMicroTaskEvent(this._near.changed,this._far.changed,this._show.changed,this._winPosFromCartesian.changed,o.changed));this.dispose(c.disposableOn(()=>{if(!this.show){this._actualShow.value=!1;return}const h=d.Cartesian3.distanceSquared(r.camera.positionWC,this._winPosFromCartesian.cartesian),p=h>=s&&h<=a;this._actualShow.value=p&&this._winPosFromCartesian.winPosValid&&!this._czmPoisContext.isPointOccludedByEarth(this._winPosFromCartesian.cartesian)}))}get actualShowChanged(){return this._actualShow.changed}get actualShow(){return this._actualShow.value}set cartesian(e){this._winPosFromCartesian.cartesian=e}get cartesian(){return this._winPosFromCartesian.cartesian}get winPosFromCartesian(){return this._winPosFromCartesian}set show(e){this._show.value=e}get show(){return this._show.value}set near(e){this._near.value=e}get near(){return this._near.value}set far(e){this._far.value=e}get far(){return this._far.value}}class Md extends NE{constructor(e,n,r){super(n,r);v(this,"_canvasPoi");v(this,"_zOrderChanged");v(this,"_zOrder");v(this,"depth",0);const{canvasPrimitivesContext:o}=this._czmPoisContext;this._canvasPoi=this.disposeVar(new e(o));const s=()=>{if(this.actualShow&&this.winPosFromCartesian.winPosValid){const{left:a,top:c,depth:h}=this.winPosFromCartesian.winPos;this._canvasPoi.winPos=[a,c],this.depth=h,this._canvasPoi.depth=this.zOrder??h,this._canvasPoi.show=!0}else this._canvasPoi.show=!1};this.d(this.zOrderChanged.don(()=>{s()})),this.dispose(this.winPosFromCartesian.changed.disposableOn(()=>{s()})),this.dispose(this.actualShowChanged.disposableOn(a=>{this._canvasPoi.show=a,s()}))}get canvasPoi(){return this._canvasPoi}set zOrder(e){this._zOrder!==e&&(this._zOrder=e,this.zOrderChanged.emit())}get zOrder(){return this._zOrder}get zOrderChanged(){return this._zOrderChanged||(this._zOrderChanged=new l.Event),this._zOrderChanged}}class Dd extends l.Destroyable{constructor(e,n,r){super();v(this,"_divPoi");v(this,"_show",!0);v(this,"_occludedByEarth",!0);v(this,"_winPosFromCartesian");v(this,"_zOrderChanged");v(this,"_zOrder");v(this,"depth",0);this._czmPoisContext=n;const{viewer:o,divContainer:s,cameraChanged:a}=this._czmPoisContext;this._winPosFromCartesian=r||this.disposeVar(new nc(o,!0,a)),this._divPoi=new l.DivPoi(e,s),this.dispose(()=>this._divPoi.destroy()),this.dispose(this._winPosFromCartesian.changed.disposableOn((c,h)=>{this._occludedByEarth=!c||this._czmPoisContext.isPointOccludedByEarth(this._winPosFromCartesian.cartesian);const{left:p,top:u,depth:f}=h,{floatDiv:g}=this._divPoi;g.winPos=[p,u],this.depth=Math.round((1-f)*1e11),g.element.style.zIndex=`${this.zOrder||this.depth}`,this._updateShow()})),this.d(this.zOrderChanged.don(()=>{const{floatDiv:c}=this._divPoi;c.element.style.zIndex=`${this.zOrder||this.depth}`,this._updateShow()}))}get divPoi(){return this._divPoi}_updateShow(){this._divPoi.show=this._show&&!this._occludedByEarth&&this._winPosFromCartesian.winPosValid}set cartesian(e){this._winPosFromCartesian.cartesian=e}get cartesian(){return this._winPosFromCartesian.cartesian}get winPosFromCartesian(){return this._winPosFromCartesian}set show(e){this._show!==e&&(this._show=e,this._updateShow())}get show(){return this._show}set zOrder(e){this._zOrder!==e&&(this._zOrder=e,this.zOrderChanged.emit())}get zOrder(){return this._zOrder}get zOrderChanged(){return this._zOrderChanged||(this._zOrderChanged=new l.Event),this._zOrderChanged}}class OE extends l.Destroyable{constructor(e,n,r,o){super();v(this,"_czmCanvasPoi");v(this,"_czmDivPoi");v(this,"_show",!0);v(this,"_winPosFromCartesian");v(this,"_switchTransition");v(this,"_status","Canvas");v(this,"_statusChanged");this._czmPoisContext=r;const{viewer:s,cameraChanged:a}=this._czmPoisContext;this._winPosFromCartesian=o||this.disposeVar(new nc(s,!0,a)),this._czmCanvasPoi=new Md(e,this._czmPoisContext,this._winPosFromCartesian),this.dispose(()=>this._czmCanvasPoi.destroy()),this._czmDivPoi=new Dd(n,this._czmPoisContext,this._winPosFromCartesian),this.dispose(()=>this._czmDivPoi.destroy()),this._switchTransition=new l.Transition(300),this.dispose(this._switchTransition.currentChanged.disposableOn((c,h)=>{this._updateShow(),this._czmCanvasPoi.canvasPoi.opacity=1-h,this._czmDivPoi.divPoi.floatDiv.opacity=h})),this._updateShow()}_updateShow(){this._czmCanvasPoi.show=this._show&&this._switchTransition.current<1,this._czmDivPoi.show=this._show&&this._switchTransition.current>0}set show(e){this._show!==e&&(this._show=e,this._updateShow())}get show(){return this._show}set cartesian(e){this._winPosFromCartesian.cartesian=e}get cartesian(){return this._winPosFromCartesian.cartesian}get winPosFromCartesian(){return this._winPosFromCartesian}set status(e){this._status!==e&&(this._status=e,this._switchTransition.target=this._status==="Canvas"?0:1,this._statusChanged&&this._statusChanged.emit(this._status))}get status(){return this._status}get statusChanged(){return this._statusChanged||(this._statusChanged=new l.Event),this._statusChanged}get czmCanvasPoi(){return this._czmCanvasPoi}get czmDivPoi(){return this._czmDivPoi}}class wv extends l.Destroyable{constructor(e,n=!0){super();v(this,"_divContainer");v(this,"_canvasPrimitivesContext");v(this,"_isPointOccludedByEarth");v(this,"_poiClickedEvent");v(this,"_clickEvent",this.disposeVar(new l.Event));v(this,"_dbclickEvent",this.disposeVar(new l.Event));v(this,"_downEvent",this.disposeVar(new l.Event));v(this,"_upEvent",this.disposeVar(new l.Event));v(this,"_moveEvent",this.disposeVar(new l.Event));v(this,"_outEvent",this.disposeVar(new l.Event));v(this,"_cameraChanged");this._viewer=e,this._useInnerInteraction=n,this._cameraChanged=new ps(this._viewer.scene);const r=this._viewer.canvas.parentElement;this._divContainer=r;const o=document.createElement("div");o.style.position="absolute",o.style.left="0px",o.style.top="0px",o.style.width="100%",o.style.height="100%",o.style.pointerEvents="none",r.appendChild(o),this.dispose(()=>{r.removeChild(o)});const s=new l.CanvasPrimitivesContext;this._canvasPrimitivesContext=s,this.dispose(()=>{this._canvasPrimitivesContext.destroy()}),o.appendChild(s.element);{const u=new d.EllipsoidalOccluder(d.Ellipsoid.WGS84,new d.Cartesian3),f=new ps(this._viewer.scene);this.dispose(()=>f.destroy());const g=()=>u.cameraPosition=this._viewer.camera.positionWC;this.dispose(f.changed.disposableOn(g)),g();const m=y=>!u.isPointVisible(y);this._isPointOccludedByEarth=m}this.dispose(this._clickEvent.disposableOn((u,f,g)=>{const m=s.pick(u,f,1,1);if(m.length>0){this._poiClickedEvent&&this._poiClickedEvent.emit(!0);const{poi:y,tag:_}=m[0];for(let S of s.pois)S===y?S.hasClickEvent()&&S.clickEvent.emit(u,f,_,S,g):S.hasClickOutEvent()&&S.clickOutEvent.emit(u,f,"",S,g)}else{this._poiClickedEvent&&this._poiClickedEvent.emit(!1);for(let y of s.pois)y.hasClickOutEvent()&&y.clickOutEvent.emit(u,f,"",y,g)}})),this.dispose(this._dbclickEvent.disposableOn((u,f,g)=>{const m=s.pick(u,f,1,1);if(m.length>0){this._poiClickedEvent&&this._poiClickedEvent.emit(!0);const{poi:y,tag:_}=m[0];for(let S of s.pois)S===y?S.hasDbclickEvent()&&S.dbclickEvent.emit(u,f,_,S,g):S.hasDbclickOutEvent()&&S.dbclickOutEvent.emit(u,f,"",S,g)}else{this._poiClickedEvent&&this._poiClickedEvent.emit(!1);for(let y of s.pois)y.hasDbclickOutEvent()&&y.dbclickOutEvent.emit(u,f,"",y,g)}}));let a;this.dispose(this._downEvent.disposableOn((u,f)=>{a&&(a.actived=!1);const g=s.pick(u,f,1,1);if(g.length>0){const{poi:m,tag:y}=g[0];m instanceof l.CanvasPoi&&(m.actived=!0,a=m)}})),this.dispose(this._upEvent.disposableOn(()=>{a&&(a.actived=!1,a=void 0)}));let c;function h(u){c!==u&&(c&&(c.hovered=!1),c=u,c&&(c.hovered=!0))}const p=this._moveEvent.disposableOn((u,f)=>{let g;const m=s.pick(u,f,1,1);if(m.length>0){const y=m[0].poi;y instanceof l.CanvasPrimitive&&(g=y)}h(g)});if(this.dispose(p),this.dispose(this._outEvent.disposableOn((u,f,g)=>{h(void 0)})),this._useInnerInteraction){const u=this._viewer.canvas.parentElement,f=this.disposeVar(l.DomElementEvent.create(u,"pointerdown")),g=this.disposeVar(l.DomElementEvent.create(u,"pointermove")),m=this.disposeVar(l.DomElementEvent.create(u,"pointerup")),y=this.disposeVar(l.DomElementEvent.create(u,"pointerout")),_=this.disposeVar(new l.PointerClick),S=this.disposeVar(new l.PointerHover);this.dispose(f.disposableOn(C=>_.pointerDown(C))),this.dispose(g.disposableOn(C=>_.pointerMove(C))),this.dispose(m.disposableOn(C=>_.pointerUp(C))),this.dispose(y.disposableOn(C=>_.pointerOut(C))),this.dispose(f.disposableOn(C=>S.pointerDown(C))),this.dispose(g.disposableOn(C=>S.pointerMove(C))),this.dispose(m.disposableOn(C=>S.pointerUp(C))),this.dispose(y.disposableOn(C=>S.pointerOut(C))),this.dispose(_.clickEvent.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0?this._clickEvent.emit(E,M,C):C.button===2&&this._clickEvent.emit(E,M,C)})),this.dispose(_.dbclickEvent.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0&&this._dbclickEvent.emit(E,M,C)})),this.dispose(f.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0&&this._downEvent.emit(E,M,C)})),this.dispose(m.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0&&this._upEvent.emit(E,M,C)})),this.dispose(g.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);this._moveEvent.emit(E,M,C)})),this.dispose(y.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);this._outEvent.emit(E,M,C)}))}}get useInnerInteraction(){return this._useInnerInteraction}get divContainer(){return this._divContainer}get canvasPrimitivesContext(){return this._canvasPrimitivesContext}get viewer(){return this._viewer}get cameraChanged(){return this._cameraChanged}isPointOccludedByEarth(e){return this._isPointOccludedByEarth(e)}get poiClickedEvent(){return this._poiClickedEvent||(this._poiClickedEvent=new l.Event),this._poiClickedEvent}pointerClick(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._clickEvent.emit(...e)}pointerDbclick(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._dbclickEvent.emit(...e)}pointerDown(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._downEvent.emit(...e)}pointerUp(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._upEvent.emit(...e)}pointerMove(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._moveEvent.emit(...e)}}class Gi extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_clickEvent",this.disposeVar(new l.Event));v(this,"_clickOutEvent",this.disposeVar(new l.Event));v(this,"_dblclickEvent",this.disposeVar(new l.Event));v(this,"_dblclickOutEvent",this.disposeVar(new l.Event));v(this,"_canvasPoiClassAndCreateFunc",l.react(void 0));v(this,"_czmViewVisibleDistanceRangeControl");v(this,"_canvasObj");v(this,"_id",this.disposeVar(l.react(l.createGuid())));n&&(this.id=n),this._czmViewVisibleDistanceRangeControl=this.disposeVar(new io(e,[this,"viewDistanceRange"],[this,"position"])),this.dispose(l.track([this._czmViewVisibleDistanceRangeControl,"debug"],[this,"viewDistanceDebug"]));const r=e.viewer;if(!r)return;const o=Vt(r);if(!o)return;const{poiContext:s,labelManager:a}=o;a.add(this),this.d(()=>{a.delete(this)}),s&&(this._canvasObj=this.disposeVar(new l.ObjResettingWithEvent(this.canvasPoiClassAndCreateFuncChanged,()=>{if(!this.canvasPoiClassAndCreateFunc)return;const[c,h]=this.canvasPoiClassAndCreateFunc;return new VE(this,c,s,r,h)})))}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get clickEvent(){return this._clickEvent}get clickOutEvent(){return this._clickOutEvent}get dblclickEvent(){return this._dblclickEvent}get dblclickOutEvent(){return this._dblclickOutEvent}get canvasPoiClassAndCreateFunc(){return this._canvasPoiClassAndCreateFunc.value}set canvasPoiClassAndCreateFunc(e){this._canvasPoiClassAndCreateFunc.value=e}get canvasPoiClassAndCreateFuncChanged(){return this._canvasPoiClassAndCreateFunc.changed}get czmViewerVisibleDistanceRangeControl(){return this._czmViewVisibleDistanceRangeControl}get visibleAlpha(){return this._czmViewVisibleDistanceRangeControl.visibleAlpha}get visibleAlphaChanged(){return this._czmViewVisibleDistanceRangeControl.visibleAlphaChanged}get canvasObj(){var e;return(e=this._canvasObj)==null?void 0:e.obj}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}}v(Gi,"defaults",{viewDistanceRange:[1e3,1e4,3e4,6e4]}),(t=>{t.createDefaultProps=()=>({show:!0,enabled:!0,position:l.reactArrayWithUndefined(void 0),positionEditing:!1,viewDistanceRange:l.reactArrayWithUndefined(void 0),viewDistanceDebug:!1,zOrder:0})})(Gi||(Gi={})),l.extendClassProps(Gi.prototype,Gi.createDefaultProps);class VE extends l.Destroyable{constructor(e,n,r,o,s){super();v(this,"czmCanvasPoi");const a=this.czmCanvasPoi=this.disposeVar(new Md(n,r));this.disposeVar(s(a.canvasPoi,e.visibleAlphaChanged));{const c=()=>{e.position&&(a.cartesian=$e(e.position))};c(),this.dispose(e.positionChanged.disposableOn(c))}{const c=()=>{a.show=(e.show??!0)&&!!e.position&&e.visibleAlpha>0};c();const h=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.positionChanged,e.visibleAlphaChanged));this.dispose(h.disposableOn(c))}this.dispose(e.flyToEvent.disposableOn(()=>{if(!e.position){console.warn("GeoPoint当前没有位置信息,无法飞入!");return}let c=1e3;if(e.viewDistanceRange){const[h,p,u,f]=e.viewDistanceRange;c=(p+u)*.5}re(o,e.position,c,void 0,1e3)}))}}class UE extends l.Destroyable{constructor(i,e){super();const n=this.disposeVar(l.createNextAnimateFrameEvent(i.showChanged,i.positionChanged,i.fgColorChanged,i.bgColorChanged,i.tooltipChanged,i.tooltipShowChanged,i.titleChanged,i.sizeChanged,i.originRatioAndOffsetChanged,i.opacityChanged,i.scaleChanged)),r=()=>{e.fgColor=i.fgColor??[1,1,1,1],e.bgColor=i.bgColor??[.3,.3,.3,.8],e.tooltip=i.tooltip??"",e.tooltipShow=i.tooltipShow??!0,e.title=i.title??"",e.size=i.size??[32,32],e.originRatioAndOffset=i.originRatioAndOffset??[.5,1,0,0],e.hovered=i.hovered??!1,e.opacity=i.opacity??1,e._scale=i.scale??1};r(),this.dispose(n.disposableOn(r));const o=this.disposeVar(w.ESSceneObject.context.createEnvStrReact([i,"imageUri"],"${earthsdk3-assets-script-dir}/assets/img/location.png")),s=this.disposeVar(l.createProcessingFromAsyncFunc(async(h,p)=>{const u=await h.promise(l.fetchImage(p));e.image=u})),a=()=>{if(!o.value)return;const h=o.value.trim();h!==""&&s.restart(void 0,h)};a(),this.dispose(o.changed.disposableOn(a));const c=this.disposeVar(new l.Event);this.dispose(e.clickEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&c.emit(g)})),this.dispose(c.don(h=>{i.clickEvent.emit(h)})),this.dispose(e.clickOutEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&i.clickOutEvent.emit(g)})),this.dispose(e.dbclickEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&i.dbclickEvent.emit(g)})),this.dispose(e.dbclickOutEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&i.dbclickOutEvent.emit(g)})),this.dispose(l.bind([i,"hovered"],[e,"hovered"])),this.ad(l.bind([e,"isHoverZoom"],[i,"isHoverZoom"]))}}function mc(t,i,e,n){const[r,o]=t,[s,a,c,h]=n,p=i[0]*e[0],u=i[1]*e[1],f=r-(p*s+c),g=o-(u*a+h);return{left:f,top:g,right:f+p,bottom:g+u}}function WE(t,i,e,n,r,o){t.beginPath(),t.moveTo(i+o,e),t.lineTo(i+n-o,e),t.arcTo(i+n,e,i+n,e+o,o),t.lineTo(i+n,e+r-o),t.arcTo(i+n,e+r,i+n-o,e+r,o),t.lineTo(i+o,e+r),t.arcTo(i,e+r,i,e+r-o,o),t.lineTo(i,e+o),t.arcTo(i,e,i+o,e,o)}function GE(t){const{width:i,height:e}=t,n=i instanceof SVGAnimatedLength?i.baseVal.SVG_LENGTHTYPE_PX:i,r=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,o=document.createElement("canvas");o.width=n,o.height=r;const s=o.getContext("2d");if(!s)throw new Error("!cavnasCtx");return s.drawImage(t,0,0,n,r),o}function HE(t,i){const{width:e,height:n}=t,r=t.getContext("2d");if(!r)throw new Error("!cavnasCtx");const[o,s,a]=i.map(u=>u*255|0),c=r.getImageData(0,0,e,n),h=c.data;for(var p=0;p<h.length;p+=4)h[p]=o,h[p+1]=s,h[p+2]=a;r.putImageData(c,0,0)}function Cv(t,i,e,n=[.5,1,0,0],r,o="12px Arial",s=2,a="#FFF",c="#000A"){t.font=o;const h=t.measureText(r),p=h.actualBoundingBoxLeft+h.actualBoundingBoxRight,u=h.fontBoundingBoxAscent+h.fontBoundingBoxDescent,f=i,g=e,m=p+s*2,y=u+s*2,{left:_,top:S,bottom:C}=mc([f,g],[m,y],[1,1],n);t.fillStyle=c,WE(t,_,S,m,y,s),t.fill(),t.fillStyle=a,t.fillText(r,_+s,C-s-h.fontBoundingBoxDescent)}function vc(t){return("00"+t.toString(16).toUpperCase()).substr(-2)}function yc(t){const[i,e,n,r]=t.map(o=>o*255|0);return`#${vc(i)}${vc(e)}${vc(n)}${vc(r)}`}function qE(t,i){const[e,n,r]=i,o=`${e}-${n}-${r}`;let s=l.getExtProp(t,o);return s||(s=GE(t),HE(s,i),l.setExtProp(t,o,s)),s}class $E extends l.CanvasPoi{constructor(e,n,r=[32,32],o=[.5,1,0,0],s="#F00F"){super(e);v(this,"_tooltip","");v(this,"_title","");v(this,"__scale",[1,1]);v(this,"_tooltipAlpha",0);v(this,"_bgColor",[.3,.3,.3,.8]);v(this,"_bgColorHexStr",yc(this._bgColor));v(this,"_fgColor",[1,1,1,1]);v(this,"_fgColorHexStr",yc(this._fgColor));v(this,"_tooltipShow",this.disposeVar(l.react(!0)));v(this,"_isHoverZoom",this.disposeVar(l.react(void 0)));this._image=n,this._size=r,this._originRatioAndOffset=o,this._defaultColorStr=s;const a=new l.Transition(100),c=new l.Transition(100);this.dispose(()=>{a.destroy(),c.destroy()});const h=()=>{this._clickEvent&&!this._clickEvent.empty&&((this.isHoverZoom??!0)&&(this.hovered?(this._scale[0]*=1.5,this._scale[1]*=1.5):(this._scale[0]/=1.5,this._scale[1]/=1.5)),this._tooltipAlpha=a.current)};this.dispose(this.activedChanged.disposableOn(u=>{c.target=u?1:0,this.needRedraw()}));const p=()=>{const u=this.tooltipShow&&this.hovered;a.target=u?1:0,h(),this.needRedraw()};this.dispose(this.hoveredChanged.disposableOn(p)),this.dispose(this.tooltipShowChanged.disposableOn(p)),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()}))}get tooltipShow(){return this._tooltipShow.value}set tooltipShow(e){this._tooltipShow.value=e}get tooltipShowChanged(){return this._tooltipShow.changed}get isHoverZoom(){return this._isHoverZoom.value}set isHoverZoom(e){this._isHoverZoom.value=e}get isHoverZoomChanged(){return this._isHoverZoom.changed}set size(e){const[n,r]=e,[o,s]=this._size;(o!==n||s!==r)&&(this._size[0]=n,this._size[1]=r,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(e){const[n,r]=e,[o,s]=this.__scale;(o!==n||s!==r)&&(this.__scale[0]=n,this.__scale[1]=r,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(e){if(!this._fgColor.every((n,r)=>e[r]===n)){const[n,r,o,s]=e;this._fgColor.splice(0,4,n,r,o,s),this._fgColorHexStr=yc(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(e){if(!this._bgColor.every((n,r)=>e[r]===n)){const[n,r,o,s]=e;this._bgColor.splice(0,4,n,r,o,s),this._bgColorHexStr=yc(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(e){const[n,r,o,s]=this._originRatioAndOffset,[a,c,h,p]=e;(n!==a||r!==c||o!==h||s!==p)&&(this._originRatioAndOffset.splice(0,4,a,c,h,p),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(e){this._image!==e&&(this._image=e,this.needRedraw())}get image(){return this._image}set defaultColorStr(e){this._defaultColorStr!==e&&(this._defaultColorStr=e,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,this.needRedraw())}get tooltip(){return this._tooltip}set title(e){this._title!==e&&(this._title=e,this.needRedraw())}get title(){return this._title}draw(e){if(!this._show)return;const[n,r]=this._winPos,o=this._size[0]*this.__scale[0],s=this._size[1]*this.__scale[1],{left:a,top:c,right:h}=mc([n,r],this._size,this.__scale,this._originRatioAndOffset),p=e.globalAlpha;if(e.globalAlpha=this.opacity,this._image){if(this.selected){const u=qE(this._image,[1,0,0]),{left:f,top:g}=mc([n,r],[o+6,s+6],[1,1],this._originRatioAndOffset);e.drawImage(u,f,g,o+6,s+6)}e.drawImage(this._image,a,c,o,s)}else e.fillStyle=this._fgColorHexStr,e.fillRect(a,c,o,s);if(this._title!==""&&Cv(e,n+20,r-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=p,this._hovered&&this._tooltip!==""){const u=e.globalAlpha;e.globalAlpha=this._tooltipAlpha,Cv(e,(a+h)*.5,c-5,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=u}}drawForPick(e,n){if(!this._show)return;const[r,o]=this._winPos,s=n("default"),a=this._size[0]*this.__scale[0],c=this._size[1]*this.__scale[1],{left:h,top:p}=mc([r,o],this._size,this.__scale,this._originRatioAndOffset);e.fillStyle=s,e.fillRect(h,p,a,c)}}class gi extends l.Destroyable{constructor(e){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_clickEvent",this.disposeVar(new l.Event));v(this,"_clickOutEvent",this.disposeVar(new l.Event));v(this,"_dbclickEvent",this.disposeVar(new l.Event));v(this,"_dbclickOutEvent",this.disposeVar(new l.Event));v(this,"_clickFunc",this.disposeVar(l.react(void 0)));v(this,"_clickFuncInit",(()=>{this.dispose(this.clickEvent.disposableOn(e=>this.clickFunc&&this.clickFunc(e)))})());v(this,"_geoCanvasPoi");if(this._geoCanvasPoi=this.disposeVar(new Gi(e)),!e.viewer)return;const{geoCanvasPoi:r}=this;r.canvasPoiClassAndCreateFunc=[$E,o=>new UE(this,o)],this.dispose(l.bind([r,"show"],[this,"show"])),this.dispose(l.bind([r,"enabled"],[this,"enabled"])),this.dispose(l.bind([r,"position"],[this,"position"])),this.dispose(l.bind([r,"positionEditing"],[this,"positionEditing"])),this.dispose(l.track([r,"viewDistanceRange"],[this,"viewDistanceRange"])),this.dispose(l.track([r,"viewDistanceDebug"],[this,"viewDistanceDebug"])),this.dispose(l.track([r,"zOrder"],[this,"zOrder"])),this.dispose(this.flyToEvent.disposableOn(o=>{r.flyTo(o)})),this.dispose(this._clickEvent.disposableOn(o=>{this.pickOnClick&&this.pickedEvent.emit(new w.ESJPickedResult({type:"viewerPicking",pointerEvent:o}))}));{const o=()=>{const s=ad(this.clickFuncStr,["event"]);s&&(this.clickFunc=s)};o(),this.dispose(this.clickFuncStrChanged.disposableOn(o))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get clickEvent(){return this._clickEvent}get clickOutEvent(){return this._clickOutEvent}get dbclickEvent(){return this._dbclickEvent}get dbclickOutEvent(){return this._dbclickOutEvent}get clickFunc(){return this._clickFunc.value}set clickFunc(e){this._clickFunc.value=e}get clickFuncChanged(){return this._clickFunc.changed}get geoCanvasPoi(){return this._geoCanvasPoi}}v(gi,"defaults",{viewDistanceRange:[1e3,1e4,3e4,6e4],scale:[1,1]}),(t=>{t.createDefaultProps=()=>({show:!0,enabled:!0,position:l.reactArrayWithUndefined(void 0),positionEditing:!1,fgColor:l.reactArray([1,1,1,1]),bgColor:l.reactArray([0,0,0,0]),tooltip:"",tooltipShow:!0,title:"",size:l.reactArray([32,32]),scale:l.reactArray([1,1]),originRatioAndOffset:l.reactArray([.5,1,0,0]),hovered:!1,imageUri:"${earthsdk3-assets-script-dir}/assets/img/location.png",opacity:1,viewDistanceRange:l.reactArrayWithUndefined(void 0),viewDistanceDebug:!1,pickOnClick:!1,clickFuncStr:"",zOrder:0,isHoverZoom:void 0})})(gi||(gi={})),l.extendClassProps(gi.prototype,gi.createDefaultProps);class ar extends l.Destroyable{constructor(e){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_commandEvent",this.disposeVar(new l.Event));v(this,"_dbclickEvent",this.disposeVar(new l.Event));const n=this;let r=Number.POSITIVE_INFINITY;this.dispose(this.enabledChanged.disposableOn(m=>{r=m??!1?Date.now():Number.POSITIVE_INFINITY}));const o=this.disposeVar(new l.Transition(100));o.reset(0);const s=this.disposeVar(l.createTimeoutWithStartValues(()=>o.target=0,1e3)),a=this.disposeVar(l.createTimeoutWithStartValues(()=>o.target=1,1e3)),c=this.disposeVar(new gi(e));c.originRatioAndOffset=[.5,.5,0,0],this.dispose(l.track([c,"tooltip"],[n,"title"]));{const m=()=>{c.size=this.mainPoiSize??[12,12]};m(),this.dispose(this.mainPoiSizeChanged.disposableOn(m))}{const m=()=>{c.fgColor=this.mainPoiFgColor??[1,1,1,1]};m(),this.dispose(this.mainPoiFgColorChanged.disposableOn(m))}{const m=()=>{c.bgColor=this.mainPoiBgColor??[0,0,0,.6]};m(),this.dispose(this.mainPoiBgColorChanged.disposableOn(m))}const h=this.disposeVar(l.createNextAnimateFrameEvent(n.showChanged,n.positionChanged,n.descriptionChanged,n.titleChanged,n.imageUriChanged)),p=()=>{c.show=n.show??!0,c.imageUri=n.imageUri??"${earthsdk3-assets-script-dir}/assets/img/point-yellow.png",c.position=n.position};p(),this.dispose(h.disposableOn(p)),this.dispose(l.bind([c,"position"],[this,"position"])),this.dispose(l.bind([c,"positionEditing"],[this,"positionEditing"])),this.dispose(this._flyToEvent.disposableOn(m=>c.flyTo(m)));const u=[],f=()=>{u.forEach(m=>{m.destroy()}),u.length=0};this.dispose(f);const g=()=>{f();const{commands:m}=n;if(!m)return;const y=m.length,_=50,S=0,C=-(y*_*Math.PI/180)*.5;for(let E=0;E<y;++E){const[M,D,R,x]=m[E],z=C+_*(E+.5)*Math.PI/180,W=Math.sin(z)*S,V=Math.cos(z)*S,L=new gi(e);L.imageUri=x,L.tooltip=D,L.bgColor=[0,0,0,.6],L.fgColor=[1,1,1,1],L.size=[24,24],L.dispose(l.track([L,"position"],[n,"position"])),L.originRatioAndOffset=[.5,.5,-W,V],L.show=!1,L.opacity=0,L.dispose(L.opacityChanged.disposableOn(U=>L.show=(U??1)>0)),L.dispose(L.clickEvent.disposableOn(U=>n.commandEvent.emit(M,U))),L.dispose(L.hoveredChanged.disposableOn(U=>U?s.cancel():s.restart())),L.dispose(o.currentChanged.disposableOn(U=>L.enabled=U===1)),u.push(L)}};g(),this.dispose(n.commandsChanged.disposableOn(g)),this.dispose(c.hoveredChanged.disposableOn(m=>m?s.cancel():s.restart())),this.dispose(c.hoveredChanged.disposableOn(m=>m?n.enabled&&a.restart():a.cancel())),this.dispose(o.currentChanged.disposableOn(m=>{const y=u.length,_=50,S=m*35,C=-(y*_*Math.PI/180)*.5;for(let E=0;E<y;++E){const M=C+_*(E+.5)*Math.PI/180,D=Math.sin(M)*S,R=Math.cos(M)*S;u[E].originRatioAndOffset=[.5,.5,-D,R],u[E].opacity=m}})),this.dispose(c.clickEvent.disposableOn(m=>{if(!n.enabled)return;const y=m.__xbsj_listenerTime__;if(!(y!==void 0&&r>y))if(m.button===0)if(n.clickCommandName)n.commandEvent.emit(n.clickCommandName,m);else{if(o.current>0&&o.current<1)return;o.target=o.target===1?0:1}else m.button===2&&n.rightClickCommandName&&n.commandEvent.emit(n.rightClickCommandName,m)})),this.dispose(c.clickOutEvent.disposableOn(()=>{n.enabled&&(o.target=0)})),this.dispose(n.commandEvent.disposableOn(()=>o.target=0)),this.dispose(c.dbclickEvent.disposableOn(m=>{if(!n.enabled)return;const y=m.__xbsj_listenerTime__;y!==void 0&&r>y||(n.dbclickEvent.emit(m),a.isRunning&&s.cancel(),o.target=0)})),this.dispose(o.targetChanged.disposableOn(m=>m===1?s.restart():s.cancel())),this.dispose(o.targetChanged.disposableOn(m=>m===1&&a.cancel())),this.dispose(o.targetChanged.disposableOn(m=>c.tooltipShow=m===0))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get commandEvent(){return this._commandEvent}get dbclickEvent(){return this._dbclickEvent}}(t=>{t.createDefaultProps=()=>({show:!0,enabled:!0,position:l.reactArrayWithUndefined(void 0),positionEditing:!1,title:"",description:"",imageUri:"${earthsdk3-assets-script-dir}/assets/img/point-yellow.png",commands:l.reactDeepArrayWithUndefined(void 0,(i,e)=>i.every((n,r)=>n===e[r]),i=>[...i]),clickCommandName:"",rightClickCommandName:"",mainPoiSize:l.reactArrayWithUndefined(void 0),mainPoiBgColor:l.reactArrayWithUndefined(void 0),mainPoiFgColor:l.reactArrayWithUndefined(void 0)})})(ar||(ar={})),l.extendClassProps(ar.prototype,ar.createDefaultProps);const Id=`class MyDiv {
535
+ `}else W="";u&&(_=d.ShaderProgram.fromCache({context:o,vertexShaderSource:new d.ShaderSource({sources:[this.vertexShaderSource]}),fragmentShaderSource:new d.ShaderSource({sources:[W,this.fragmentShaderSource]}),attributeLocations:u}),S?S.shaderProgram=_:p=!0)}p&&(p=!1,S||y&&_&&(S=new d.DrawCommand({vertexArray:y,primitiveType:this.primitiveType,renderState:d.RenderState.fromCache(this.renderState),shaderProgram:_,owner:this,uniformMap:this.uniformMap,pass:this.pass,modelMatrix:this.modelMatrix,boundingVolume:this.boundingVolume,cull:this.cull,occlude:this.occlude,count:this.count,offset:this.offset,instanceCount:this.instanceCount,castShadows:this.castShadows,receiveShadows:this.receiveShadows,pickId:this.allowPicking?"xbsjPickColor220823":void 0,pickOnly:this.pickOnly,debugShowBoundingVolume:this.debugShowBoundingVolume,depthForTranslucentClassification:this.depthForTranslucentClassification}),this._drawCommand=S,S.debugOverlappingFrustums=this.debugOverlappingFrustums,S.executeInClosestFrustum=this.executeInClosestFrustum)),S&&D.commandList.push(S)};this.dispose(this._updateEvent.disposableOn(M))}get drawCommand(){return this._drawCommand}get ESSceneObjectID(){return this._ESSceneObjectID.value}set ESSceneObjectID(e){this._ESSceneObjectID.value=e}get ESSceneObjectIDChanged(){return this._ESSceneObjectID.changed}update(e){this.show&&this._updateEvent.emit(e)}}(t=>{t.createDefaultProps=()=>({modelMatrix:l.react(new d.Matrix4,d.Matrix4.equals,d.Matrix4.clone),boundingVolume:void 0,pass:d.Pass.OPAQUE,attributes:{},cull:!0,occlude:!0,count:void 0,offset:0,indexTypedArray:void 0,instanceCount:0,vertexShaderSource:"",fragmentShaderSource:"",castShadows:!1,receiveShadows:!1,uniformMap:{},renderState:{},primitiveType:d.PrimitiveType.TRIANGLES,executeInClosestFrustum:!1,owner:void 0,debugShowBoundingVolume:!1,debugOverlappingFrustums:0,allowPicking:void 0,pickOnly:!1,depthForTranslucentClassification:!1})})(Ss||(Ss={})),l.extendClassProps(Ss.prototype,Ss.createDefaultProps);function FE(t){let i,e;if(t instanceof d.BoundingSphere)e=ce(t.center),i=t.radius*5;else if(t instanceof d.BoundingRectangle){const{x:n,y:r,width:o,height:s}=t,a=d.Rectangle.fromRadians(n,r,n+o,r+s),c=d.BoundingSphere.fromRectangle2D(a);e=ce(c.center),i=c.radius*5}else if(t instanceof d.OrientedBoundingBox){e=ce(t.center);const n=t.halfAxes,r=l.Vector.magnitude([n[0],n[1],n[2]]),o=l.Vector.magnitude([n[3],n[4],n[5]]),s=l.Vector.magnitude([n[6],n[7],n[8]]);i=Math.max(r,o,s)*5}if(!(!e||i===void 0))return[e,i]}const qe=class qe extends l.Destroyable{constructor(e,n){super();v(this,"_attributes",this.disposeVar(l.react(void 0)));v(this,"_indexTypedArray",this.disposeVar(l.react(void 0)));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_sceneScaleEvent",this.disposeVar(new l.Event));v(this,"_nativePrimitive");v(this,"_lastCzmPickResult");v(this,"_czmViewVisibleDistanceRangeControl");v(this,"_id",this.disposeVar(l.react(l.createGuid())));this._czmViewer=e,n&&(this.id=n),this._czmViewVisibleDistanceRangeControl=this.disposeVar(new io(this.czmViewer,[this,"viewDistanceRange"],[this,"position"]));const r=e.viewer;if(!r)return;this.dispose(l.track([this._czmViewVisibleDistanceRangeControl,"debug"],[this,"viewDistanceDebug"]));const{scene:o}=r,{context:s}=o,a=r.scene.primitives.add(new Ss(r.scene,n));this._nativePrimitive=a,this.dispose(()=>r.scene.primitives.remove(a));{const p=this.disposeVar(l.createNextAnimateFrameEvent(this.allowPickingDepthChanged));this.disposeVar(new l.ObjResettingWithEvent(p,()=>{if(!this.allowPickingDepth)return this.allowPickingDepth?void 0:new De.ObjectsToExcludeWrapper(this.czmViewer,[a])}))}const c=l.react(void 0);{const p=()=>{let u;do{if(!this.position||!this.pixelSize)break;const f=d.Cartesian3.fromDegrees(...this.position);if(!f||(u=Li(r.scene,f,this.pixelSize),u===void 0))break;this.maximumScale!==void 0&&u>this.maximumScale&&(u=this.maximumScale),this.minimumScale!==void 0&&u<this.minimumScale&&(u=this.minimumScale)}while(!1);c.value=u};p(),this.dispose(r.scene.preUpdate.addEventListener(p))}{const p=()=>{this.sceneScaleEvent.emit(c.value,this.czmViewer)};p(),this.dispose(c.changed.disposableOn(p))}this.disposeVar(new Fm(e,[this,"showSceneScale"],[this,"position"],c));{const p=()=>{a.show=(this.show??!0)&&this.visibleAlpha>0};p(),this.dispose(this.showChanged.disposableOn(p)),this.dispose(this.visibleAlphaChanged.disposableOn(p))}const h=this.disposeVar(l.react(void 0));{const p=()=>{const f=ke({localScale:this.localScale,initialRotation:"yForwardzUp",localRotation:this.localRotation,localPosition:this.localPosition,localModelMatrix:this.localModelMatrix,sceneScaleFromPixelSize:c.value,scale:this.scale,rotation:this.rotation,position:this.position,modelMatrix:this.modelMatrix});if(!f){console.warn("computeCzmModelMatrix error!");return}h.value=f,a.modelMatrix=f};p();let u=!0;this.dispose(this.showChanged.disposableOn(()=>u=!0)),this.dispose(this.localPositionChanged.disposableOn(()=>u=!0)),this.dispose(this.localRotationChanged.disposableOn(()=>u=!0)),this.dispose(this.localScaleChanged.disposableOn(()=>u=!0)),this.dispose(this.localModelMatrixChanged.disposableOn(()=>u=!0)),this.dispose(this.positionChanged.disposableOn(()=>u=!0)),this.dispose(this.rotationChanged.disposableOn(()=>u=!0)),this.dispose(this.scaleChanged.disposableOn(()=>u=!0)),this.dispose(this.modelMatrixChanged.disposableOn(()=>u=!0)),this.dispose(c.changed.disposableOn(()=>u=!0)),this.dispose(r.scene.preUpdate.addEventListener(()=>{u&&(u&&(u=!1),p())}))}{const p=()=>{const{boundingVolume:g=qe.defaultBoundingVolume}=this;if(!g){a.boundingVolume=void 0;return}if(g.type==="BoundingRectangle"){a.boundingVolume=d.BoundingRectangle.fromRectangle(d.Rectangle.fromDegrees(...g.data));return}if(g.type==="BoundingSphere"){a.boundingVolume=new d.BoundingSphere(d.Cartesian3.fromDegrees(...g.data.center),g.data.radius);return}},u=()=>{const{boundingVolume:g=qe.defaultBoundingVolume}=this;if(!g){a.boundingVolume=void 0;return}if(g.type==="LocalBoundingSphere"){const m=h.value??d.Matrix4.IDENTITY,y=d.Matrix4.multiplyByPoint(m,d.Cartesian3.fromArray(g.data.center),new d.Cartesian3);a.boundingVolume=new d.BoundingSphere(y,g.data.radius);return}if(g.type==="LocalAxisedBoundingBox"){const m=h.value??d.Matrix4.IDENTITY,{min:y,max:_}=g.data,S=new d.Cartesian3(.5*(y[0]+_[0]),.5*(y[1]+_[1]),.5*(y[2]+_[2])),C=d.Matrix4.multiplyByPoint(m,S,S),E=new d.Cartesian3(.5*(_[0]-y[0]),.5*(_[1]-y[1]),.5*(_[2]-y[2]));E.x=E.x===0?1:E.x,E.y=E.y===0?1:E.y,E.z=E.z===0?1:E.z;const M=new d.Matrix3(E.x,0,0,0,E.y,0,0,0,E.z),D=d.Matrix4.getMatrix3(m,new d.Matrix3),R=d.Matrix3.multiply(D,M,D);a.boundingVolume=new d.OrientedBoundingBox(C,R);return}},f=()=>{p(),u()};f(),this.dispose(this.boundingVolumeChanged.disposableOn(f)),this.dispose(h.changed.disposableOn(u))}this.dispose(l.track([a,"allowPicking"],[this,"allowPicking"]));{const p=()=>{a.indexTypedArray=this.indexTypedArray??qe.defaultIndexTypedArray};p(),this.dispose(this.indexTypedArrayChanged.disposableOn(p))}{const p=()=>{a.attributes=this.attributes??qe.defaultAttribute};p(),this.dispose(this.attributesChanged.disposableOn(p))}{const p=()=>{a.renderState=this.renderState??qe.defaultRenderState};p(),this.dispose(this.renderStateChanged.disposableOn(p))}{const p=()=>{a.vertexShaderSource=this.vertexShaderSource??qe.defaultVertexShaderSource};p(),this.dispose(this.vertexShaderSourceChanged.disposableOn(p))}{const p=()=>{a.fragmentShaderSource=this.fragmentShaderSource??qe.defaultFragmentShaderSource};p(),this.dispose(this.fragmentShaderSourceChanged.disposableOn(p))}{const p=()=>a.cull=this.cull??!0;p(),this.dispose(this.cullChanged.disposableOn(p))}{const p=()=>a.pass=d.Pass[this.pass??"TRANSLUCENT"];p(),this.dispose(this.passChanged.disposableOn(p))}{const p=()=>a.primitiveType=d.PrimitiveType[this.primitiveType??"TRIANGLES"];p(),this.dispose(this.primitiveTypeChanged.disposableOn(p))}{const p=()=>a.occlude=this.occlude??!0,u=()=>a.count=this.count,f=()=>a.offset=this.offset??0,g=()=>a.instanceCount=this.instanceCount??0,m=()=>a.castShadows=this.castShadows??!1,y=()=>a.receiveShadows=this.receiveShadows??!1;p(),u(),f(),g(),m(),y(),this.dispose(this.occludeChanged.disposableOn(p)),this.dispose(this.countChanged.disposableOn(u)),this.dispose(this.offsetChanged.disposableOn(f)),this.dispose(this.instanceCountChanged.disposableOn(g)),this.dispose(this.castShadowsChanged.disposableOn(m)),this.dispose(this.receiveShadowsChanged.disposableOn(y))}{const p=()=>a.executeInClosestFrustum=this.executeInClosestFrustum??!1,u=()=>a.debugShowBoundingVolume=this.debugShowBoundingVolume??!1,f=()=>a.debugOverlappingFrustums=this.debugOverlappingFrustums??0,g=()=>a.pickOnly=this.pickOnly??!1,m=()=>a.depthForTranslucentClassification=this.depthForTranslucentClassification??!1;p(),u(),f(),g(),m(),this.dispose(this.executeInClosestFrustumChanged.disposableOn(p)),this.dispose(this.debugShowBoundingVolumeChanged.disposableOn(u)),this.dispose(this.debugOverlappingFrustumsChanged.disposableOn(f)),this.dispose(this.pickOnlyChanged.disposableOn(g)),this.dispose(this.depthForTranslucentClassificationChanged.disposableOn(m))}{const p=new Map;this.dispose(()=>{for(let y of p.values())y&&y.destroy();p.clear()});const u=new Map;this.dispose(()=>{for(let y of u.values())y.destroy();u.clear()});let f;const g=()=>{if(f){for(let y of Object.values(f))y.destroy();f=void 0}};this.dispose(g);const m=()=>{const y={},_=this.uniformMap??qe.defaultUniformMap;g(),f={};let S=[];for(let C of Object.keys(_)){const E=_[C];if(E==null){console.error(`updateUniformMap [${C}] error: !uniformValue`);continue}if(Array.isArray(E)){const M=E.length,R=(M===2?d.Cartesian2:M===3?d.Cartesian3:d.Cartesian4).fromArray(E);y[C]=()=>R}else if(typeof E=="number")y[C]=()=>E;else if("type"in E&&E.type==="image"){const M=new Ne(e);M.enabled=!0,M.uri=E.uri,M.uriType="img",f[C]=M,y[C]=()=>{do{if(!M.texture)break;return M.texture}while(!1);return s.defaultTexture}}else"type"in E&&E.type==="texture"&&(E.id||console.warn(`uniform变量设置错误:${C} 的配置中id未设置或者无效!id为${E.id}`),y[C]=()=>{do{const M=window.czmTexture[E.id];if(!M)break;return M.texture}while(!1);return s.defaultTexture})}y.u_xe2VisibleAlpha=()=>this.visibleAlpha,a.uniformMap=y;for(let C of p.keys())if(!S.includes(C)){const E=p.get(C);E==null||E.destroy(),p.delete(C)}for(let C of u.keys())if(!S.includes(C)){const E=u.get(C);E==null||E.destroy(),u.delete(C)}};m(),this.dispose(this.uniformMapChanged.disposableOn(m))}this.dispose(this.flyToEvent.disposableOn(p=>{if(!a.boundingVolume){console.warn("CzmCustomPrimitive没有设置boundingVolume属性,无法飞入(flyTo)!");return}const u=FE(a.boundingVolume);if(!u){console.warn("无法计算viewDistance!");return}const[f,g]=u;re(r,f,g,void 0,p)}))}get attributesJson(){return this.attributes&&SE(this.attributes)}set attributesJson(e){const n=JSON.stringify(this.attributesJson),r=JSON.stringify(e);n!==r&&(this.attributes=e&&EE(e))}get attributesJsonChanged(){return this.attributesChanged}get indexTypedArrayJson(){return this.indexTypedArray&&AE(this.indexTypedArray)}set indexTypedArrayJson(e){const n=JSON.stringify(this.indexTypedArrayJson),r=JSON.stringify(e);n!==r&&(this.indexTypedArray=e&&TE(e))}get indexTypedArrayJsonChanged(){return this.indexTypedArrayChanged}get attributes(){return this._attributes.value}set attributes(e){this._attributes.value=e}get attributesChanged(){return this._attributes.changed}get indexTypedArray(){return this._indexTypedArray.value}set indexTypedArray(e){this._indexTypedArray.value=e}get indexTypedArrayChanged(){return this._indexTypedArray.changed}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get sceneScaleEvent(){return this._sceneScaleEvent}get czmViewer(){return this._czmViewer}get nativePrimitive(){return this._nativePrimitive}get czmViewerVisibleDistanceRangeControl(){return this._czmViewVisibleDistanceRangeControl}get visibleAlpha(){return this._czmViewVisibleDistanceRangeControl.visibleAlpha}get visibleAlphaChanged(){return this._czmViewVisibleDistanceRangeControl.visibleAlphaChanged}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}setUniformMap(e){if(Object.entries(e).some(([r,o])=>(console.warn(`setUniformMap error: key: ${r} value: ${o}`),o===null)))return;const n={...this.uniformMap??{},...e};this.uniformMap=n}setLocalBoundingSphere(e,n=[0,0,0]){if(!Number.isFinite(e)||e<=0){console.warn(`!Number.isFinite(radius) || radius <= 0 radius: ${e}`);return}this.boundingVolume={type:"LocalBoundingSphere",data:{center:n,radius:e}}}setLocalAxisedBoundingBox(e,n){if(e.some(r=>!Number.isFinite(r))||n.some(r=>!Number.isFinite(r))){console.warn(`setLocalAxisedBoundingBox error, min: ${e.toString()}, max: ${n.toString()}`);return}this.boundingVolume={type:"LocalAxisedBoundingBox",data:{min:e,max:n}}}computeLocalAxisedBoundingBoxFromAttribute(e="a_position"){if(!this.attributes||!this.attributes[e]){console.warn(`attributes[${e}]不存在!无法获取!`);return}const n=this.attributes[e];if(!("typedArray"in n)||!(n.typedArray instanceof Float32Array)){console.warn(`!('typedArray' in posAttribute) || !(posAttribute.typedArray instanceof Float32Array) attributeName: ${e}`);return}if(!("componentsPerAttribute"in n)||n.componentsPerAttribute!==3){console.warn(`!('componentsPerAttribute' in posAttribute) || posAttribute.componentsPerAttribute !== 3 attributeName: ${e}`);return}const{min:r,max:o}=qe.getMinMaxPosition(n.typedArray);if(!r.some(s=>!Number.isFinite(s)||o.some(a=>!Number.isFinite(a))))return{min:r,max:o}}};v(qe,"defaultRenderState",vE),v(qe,"defaultVertexShaderSource",fE),v(qe,"defaultFragmentShaderSource",gE),v(qe,"defaultUniformMap",yE),v(qe,"defaultBoundingVolume",mE),v(qe,"defaultAttribute",wE),v(qe,"defaultIndexTypedArray",CE),v(qe,"defaultDsAttribute",PE),v(qe,"defaultDsIndexTypedArray",_E),v(qe,"triangleIndicesToLine",ME),v(qe,"defaults",{position:[116.39,39.9,0],rotation:[0,0,0],scale:[1,1,1],modelMatrix:[-.8957893500750183,-.4444788412198901,0,0,.28511078894078473,-.5746037485691958,.7671651518152995,0,-.3409886777031455,.68721837274483,.6414496315691579,0,-2.1778739967047274e6,4389222053178148e-9,4.0694736755001387e6,1],viewDistanceRange:[1e3,1e4,3e4,6e4]}),v(qe,"getMinMaxPosition",l.getMinMaxPosition);let Fe=qe;(t=>{t.createDefaultProps=()=>({show:void 0,allowPicking:!1,allowPickingDepth:!0,position:l.reactArrayWithUndefined(void 0),rotation:l.reactArrayWithUndefined(void 0),scale:l.reactArrayWithUndefined(void 0),maximumScale:void 0,minimumScale:void 0,pixelSize:void 0,showSceneScale:void 0,modelMatrix:l.reactArrayWithUndefined(void 0),cull:l.react(void 0),boundingVolume:l.reactJson(void 0),renderState:l.reactJson(void 0),primitiveType:void 0,pass:void 0,vertexShaderSource:void 0,fragmentShaderSource:void 0,uniformMap:l.reactJson(void 0),localPosition:l.reactArrayWithUndefined(void 0),localRotation:l.reactArrayWithUndefined(void 0),localScale:l.reactArrayWithUndefined(void 0),localModelMatrix:l.reactArrayWithUndefined(void 0),occlude:void 0,count:void 0,offset:void 0,instanceCount:void 0,castShadows:void 0,receiveShadows:void 0,executeInClosestFrustum:void 0,debugShowBoundingVolume:void 0,debugOverlappingFrustums:void 0,pickOnly:void 0,depthForTranslucentClassification:void 0,viewDistanceRange:l.reactArrayWithUndefined(void 0),viewDistanceDebug:!1})})(Fe||(Fe={})),l.extendClassProps(Fe.prototype,Fe.createDefaultProps);class zE extends l.PosFloatDiv{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class LE extends l.Destroyable{constructor(e,n){super();v(this,"_cursorDiv");v(this,"_pointerOut",this.disposeVar(l.react(!0)));v(this,"_show",this.disposeVar(l.react(!0)));this._cursorDiv=new l.DivPoi(n,e),this.dispose(()=>this._cursorDiv.destroy());const r=a=>{const[c,h]=l.getDomEventCurrentTargetPos(a);this._cursorDiv.floatDiv.winPos=[c,h],this._pointerOut.value=!1};e.addEventListener("pointermove",r),this.dispose(()=>e.removeEventListener("pointermove",r));const o=a=>{this._pointerOut.value=!0};e.addEventListener("pointerout",o),this.dispose(()=>e.removeEventListener("pointerout",o)),e.addEventListener("pointerleave",o),this.dispose(()=>e.removeEventListener("pointerleave",o)),e.addEventListener("pointercancel",o),this.dispose(()=>e.removeEventListener("pointercancel",o));const s=()=>{this._cursorDiv.show=this.show&&!this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(e){this._show.value=e}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!0}get cursorDiv(){return this._cursorDiv}set text(e){this._cursorDiv.floatDiv.contentDiv.innerText=e}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}class NE extends l.Destroyable{constructor(e,n){super();v(this,"_show",this.disposeVar(l.react(!0)));v(this,"_winPosFromCartesian");v(this,"_near",this.disposeVar(l.react(0)));v(this,"_far",this.disposeVar(l.react(Number.POSITIVE_INFINITY)));v(this,"_actualShow",this.disposeVar(l.react(!1)));this._czmPoisContext=e;const{viewer:r,cameraChanged:o}=this._czmPoisContext;this._winPosFromCartesian=n||this.disposeVar(new nc(r,!0,o));let s=0,a=Number.POSITIVE_INFINITY;this.dispose(this._near.changed.disposableOn(h=>s=h*h)),this.dispose(this._far.changed.disposableOn(h=>a=h*h));const c=this.disposeVar(l.createNextMicroTaskEvent(this._near.changed,this._far.changed,this._show.changed,this._winPosFromCartesian.changed,o.changed));this.dispose(c.disposableOn(()=>{if(!this.show){this._actualShow.value=!1;return}const h=d.Cartesian3.distanceSquared(r.camera.positionWC,this._winPosFromCartesian.cartesian),p=h>=s&&h<=a;this._actualShow.value=p&&this._winPosFromCartesian.winPosValid&&!this._czmPoisContext.isPointOccludedByEarth(this._winPosFromCartesian.cartesian)}))}get actualShowChanged(){return this._actualShow.changed}get actualShow(){return this._actualShow.value}set cartesian(e){this._winPosFromCartesian.cartesian=e}get cartesian(){return this._winPosFromCartesian.cartesian}get winPosFromCartesian(){return this._winPosFromCartesian}set show(e){this._show.value=e}get show(){return this._show.value}set near(e){this._near.value=e}get near(){return this._near.value}set far(e){this._far.value=e}get far(){return this._far.value}}class Md extends NE{constructor(e,n,r){super(n,r);v(this,"_canvasPoi");v(this,"_zOrderChanged");v(this,"_zOrder");v(this,"depth",0);const{canvasPrimitivesContext:o}=this._czmPoisContext;this._canvasPoi=this.disposeVar(new e(o));const s=()=>{if(this.actualShow&&this.winPosFromCartesian.winPosValid){const{left:a,top:c,depth:h}=this.winPosFromCartesian.winPos;this._canvasPoi.winPos=[a,c],this.depth=h,this._canvasPoi.depth=this.zOrder??h,this._canvasPoi.show=!0}else this._canvasPoi.show=!1};this.d(this.zOrderChanged.don(()=>{s()})),this.dispose(this.winPosFromCartesian.changed.disposableOn(()=>{s()})),this.dispose(this.actualShowChanged.disposableOn(a=>{this._canvasPoi.show=a,s()}))}get canvasPoi(){return this._canvasPoi}set zOrder(e){this._zOrder!==e&&(this._zOrder=e,this.zOrderChanged.emit())}get zOrder(){return this._zOrder}get zOrderChanged(){return this._zOrderChanged||(this._zOrderChanged=new l.Event),this._zOrderChanged}}class Dd extends l.Destroyable{constructor(e,n,r){super();v(this,"_divPoi");v(this,"_show",!0);v(this,"_occludedByEarth",!0);v(this,"_winPosFromCartesian");v(this,"_zOrderChanged");v(this,"_zOrder");v(this,"depth",0);this._czmPoisContext=n;const{viewer:o,divContainer:s,cameraChanged:a}=this._czmPoisContext;this._winPosFromCartesian=r||this.disposeVar(new nc(o,!0,a)),this._divPoi=new l.DivPoi(e,s),this.dispose(()=>this._divPoi.destroy()),this.dispose(this._winPosFromCartesian.changed.disposableOn((c,h)=>{this._occludedByEarth=!c||this._czmPoisContext.isPointOccludedByEarth(this._winPosFromCartesian.cartesian);const{left:p,top:u,depth:f}=h,{floatDiv:g}=this._divPoi;g.winPos=[p,u],this.depth=Math.round((1-f)*1e11),g.element.style.zIndex=`${this.zOrder||this.depth}`,this._updateShow()})),this.d(this.zOrderChanged.don(()=>{const{floatDiv:c}=this._divPoi;c.element.style.zIndex=`${this.zOrder||this.depth}`,this._updateShow()}))}get divPoi(){return this._divPoi}_updateShow(){this._divPoi.show=this._show&&!this._occludedByEarth&&this._winPosFromCartesian.winPosValid}set cartesian(e){this._winPosFromCartesian.cartesian=e}get cartesian(){return this._winPosFromCartesian.cartesian}get winPosFromCartesian(){return this._winPosFromCartesian}set show(e){this._show!==e&&(this._show=e,this._updateShow())}get show(){return this._show}set zOrder(e){this._zOrder!==e&&(this._zOrder=e,this.zOrderChanged.emit())}get zOrder(){return this._zOrder}get zOrderChanged(){return this._zOrderChanged||(this._zOrderChanged=new l.Event),this._zOrderChanged}}class OE extends l.Destroyable{constructor(e,n,r,o){super();v(this,"_czmCanvasPoi");v(this,"_czmDivPoi");v(this,"_show",!0);v(this,"_winPosFromCartesian");v(this,"_switchTransition");v(this,"_status","Canvas");v(this,"_statusChanged");this._czmPoisContext=r;const{viewer:s,cameraChanged:a}=this._czmPoisContext;this._winPosFromCartesian=o||this.disposeVar(new nc(s,!0,a)),this._czmCanvasPoi=new Md(e,this._czmPoisContext,this._winPosFromCartesian),this.dispose(()=>this._czmCanvasPoi.destroy()),this._czmDivPoi=new Dd(n,this._czmPoisContext,this._winPosFromCartesian),this.dispose(()=>this._czmDivPoi.destroy()),this._switchTransition=new l.Transition(300),this.dispose(this._switchTransition.currentChanged.disposableOn((c,h)=>{this._updateShow(),this._czmCanvasPoi.canvasPoi.opacity=1-h,this._czmDivPoi.divPoi.floatDiv.opacity=h})),this._updateShow()}_updateShow(){this._czmCanvasPoi.show=this._show&&this._switchTransition.current<1,this._czmDivPoi.show=this._show&&this._switchTransition.current>0}set show(e){this._show!==e&&(this._show=e,this._updateShow())}get show(){return this._show}set cartesian(e){this._winPosFromCartesian.cartesian=e}get cartesian(){return this._winPosFromCartesian.cartesian}get winPosFromCartesian(){return this._winPosFromCartesian}set status(e){this._status!==e&&(this._status=e,this._switchTransition.target=this._status==="Canvas"?0:1,this._statusChanged&&this._statusChanged.emit(this._status))}get status(){return this._status}get statusChanged(){return this._statusChanged||(this._statusChanged=new l.Event),this._statusChanged}get czmCanvasPoi(){return this._czmCanvasPoi}get czmDivPoi(){return this._czmDivPoi}}class wv extends l.Destroyable{constructor(e,n=!0){super();v(this,"_divContainer");v(this,"_canvasPrimitivesContext");v(this,"_isPointOccludedByEarth");v(this,"_poiClickedEvent");v(this,"_clickEvent",this.disposeVar(new l.Event));v(this,"_dbclickEvent",this.disposeVar(new l.Event));v(this,"_downEvent",this.disposeVar(new l.Event));v(this,"_upEvent",this.disposeVar(new l.Event));v(this,"_moveEvent",this.disposeVar(new l.Event));v(this,"_outEvent",this.disposeVar(new l.Event));v(this,"_cameraChanged");this._viewer=e,this._useInnerInteraction=n,this._cameraChanged=new ps(this._viewer.scene);const r=this._viewer.canvas.parentElement;this._divContainer=r;const o=document.createElement("div");o.style.position="absolute",o.style.left="0px",o.style.top="0px",o.style.width="100%",o.style.height="100%",o.style.pointerEvents="none",r.appendChild(o),this.dispose(()=>{r.removeChild(o)});const s=new l.CanvasPrimitivesContext;this._canvasPrimitivesContext=s,this.dispose(()=>{this._canvasPrimitivesContext.destroy()}),o.appendChild(s.element);{const u=new d.EllipsoidalOccluder(d.Ellipsoid.WGS84,new d.Cartesian3),f=new ps(this._viewer.scene);this.dispose(()=>f.destroy());const g=()=>u.cameraPosition=this._viewer.camera.positionWC;this.dispose(f.changed.disposableOn(g)),g();const m=y=>!u.isPointVisible(y);this._isPointOccludedByEarth=m}this.dispose(this._clickEvent.disposableOn((u,f,g)=>{const m=s.pick(u,f,1,1);if(m.length>0){this._poiClickedEvent&&this._poiClickedEvent.emit(!0);const{poi:y,tag:_}=m[0];for(let S of s.pois)S===y?S.hasClickEvent()&&S.clickEvent.emit(u,f,_,S,g):S.hasClickOutEvent()&&S.clickOutEvent.emit(u,f,"",S,g)}else{this._poiClickedEvent&&this._poiClickedEvent.emit(!1);for(let y of s.pois)y.hasClickOutEvent()&&y.clickOutEvent.emit(u,f,"",y,g)}})),this.dispose(this._dbclickEvent.disposableOn((u,f,g)=>{const m=s.pick(u,f,1,1);if(m.length>0){this._poiClickedEvent&&this._poiClickedEvent.emit(!0);const{poi:y,tag:_}=m[0];for(let S of s.pois)S===y?S.hasDbclickEvent()&&S.dbclickEvent.emit(u,f,_,S,g):S.hasDbclickOutEvent()&&S.dbclickOutEvent.emit(u,f,"",S,g)}else{this._poiClickedEvent&&this._poiClickedEvent.emit(!1);for(let y of s.pois)y.hasDbclickOutEvent()&&y.dbclickOutEvent.emit(u,f,"",y,g)}}));let a;this.dispose(this._downEvent.disposableOn((u,f)=>{a&&(a.actived=!1);const g=s.pick(u,f,1,1);if(g.length>0){const{poi:m,tag:y}=g[0];m instanceof l.CanvasPoi&&(m.actived=!0,a=m)}})),this.dispose(this._upEvent.disposableOn(()=>{a&&(a.actived=!1,a=void 0)}));let c;function h(u){c!==u&&(c&&(c.hovered=!1),c=u,c&&(c.hovered=!0))}const p=this._moveEvent.disposableOn((u,f)=>{let g;const m=s.pick(u,f,1,1);if(m.length>0){const y=m[0].poi;y instanceof l.CanvasPrimitive&&(g=y)}h(g)});if(this.dispose(p),this.dispose(this._outEvent.disposableOn((u,f,g)=>{h(void 0)})),this._useInnerInteraction){const u=this._viewer.canvas.parentElement,f=this.disposeVar(l.DomElementEvent.create(u,"pointerdown")),g=this.disposeVar(l.DomElementEvent.create(u,"pointermove")),m=this.disposeVar(l.DomElementEvent.create(u,"pointerup")),y=this.disposeVar(l.DomElementEvent.create(u,"pointerout")),_=this.disposeVar(new l.PointerClick),S=this.disposeVar(new l.PointerHover);this.dispose(f.disposableOn(C=>_.pointerDown(C))),this.dispose(g.disposableOn(C=>_.pointerMove(C))),this.dispose(m.disposableOn(C=>_.pointerUp(C))),this.dispose(y.disposableOn(C=>_.pointerOut(C))),this.dispose(f.disposableOn(C=>S.pointerDown(C))),this.dispose(g.disposableOn(C=>S.pointerMove(C))),this.dispose(m.disposableOn(C=>S.pointerUp(C))),this.dispose(y.disposableOn(C=>S.pointerOut(C))),this.dispose(_.clickEvent.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0?this._clickEvent.emit(E,M,C):C.button===2&&this._clickEvent.emit(E,M,C)})),this.dispose(_.dbclickEvent.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0&&this._dbclickEvent.emit(E,M,C)})),this.dispose(f.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0&&this._downEvent.emit(E,M,C)})),this.dispose(m.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);C.button===0&&this._upEvent.emit(E,M,C)})),this.dispose(g.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);this._moveEvent.emit(E,M,C)})),this.dispose(y.disposableOn(C=>{const[E,M]=l.getDomEventCurrentTargetPos(C);this._outEvent.emit(E,M,C)}))}}get useInnerInteraction(){return this._useInnerInteraction}get divContainer(){return this._divContainer}get canvasPrimitivesContext(){return this._canvasPrimitivesContext}get viewer(){return this._viewer}get cameraChanged(){return this._cameraChanged}isPointOccludedByEarth(e){return this._isPointOccludedByEarth(e)}get poiClickedEvent(){return this._poiClickedEvent||(this._poiClickedEvent=new l.Event),this._poiClickedEvent}pointerClick(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._clickEvent.emit(...e)}pointerDbclick(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._dbclickEvent.emit(...e)}pointerDown(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._downEvent.emit(...e)}pointerUp(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._upEvent.emit(...e)}pointerMove(...e){this._useInnerInteraction?console.warn("当前使用内置交互(useInnerInteraction为true),此函数无效!"):this._moveEvent.emit(...e)}}class Gi extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_clickEvent",this.disposeVar(new l.Event));v(this,"_clickOutEvent",this.disposeVar(new l.Event));v(this,"_dblclickEvent",this.disposeVar(new l.Event));v(this,"_dblclickOutEvent",this.disposeVar(new l.Event));v(this,"_canvasPoiClassAndCreateFunc",l.react(void 0));v(this,"_czmViewVisibleDistanceRangeControl");v(this,"_canvasObj");v(this,"_id",this.disposeVar(l.react(l.createGuid())));n&&(this.id=n),this._czmViewVisibleDistanceRangeControl=this.disposeVar(new io(e,[this,"viewDistanceRange"],[this,"position"])),this.dispose(l.track([this._czmViewVisibleDistanceRangeControl,"debug"],[this,"viewDistanceDebug"]));const r=e.viewer;if(!r)return;const o=Vt(r);if(!o)return;const{poiContext:s,labelManager:a}=o;a.add(this),this.d(()=>{a.delete(this)}),s&&(this._canvasObj=this.disposeVar(new l.ObjResettingWithEvent(this.canvasPoiClassAndCreateFuncChanged,()=>{if(!this.canvasPoiClassAndCreateFunc)return;const[c,h]=this.canvasPoiClassAndCreateFunc;return new VE(this,c,s,r,h)})))}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get clickEvent(){return this._clickEvent}get clickOutEvent(){return this._clickOutEvent}get dblclickEvent(){return this._dblclickEvent}get dblclickOutEvent(){return this._dblclickOutEvent}get canvasPoiClassAndCreateFunc(){return this._canvasPoiClassAndCreateFunc.value}set canvasPoiClassAndCreateFunc(e){this._canvasPoiClassAndCreateFunc.value=e}get canvasPoiClassAndCreateFuncChanged(){return this._canvasPoiClassAndCreateFunc.changed}get czmViewerVisibleDistanceRangeControl(){return this._czmViewVisibleDistanceRangeControl}get visibleAlpha(){return this._czmViewVisibleDistanceRangeControl.visibleAlpha}get visibleAlphaChanged(){return this._czmViewVisibleDistanceRangeControl.visibleAlphaChanged}get canvasObj(){var e;return(e=this._canvasObj)==null?void 0:e.obj}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}}v(Gi,"defaults",{viewDistanceRange:[1e3,1e4,3e4,6e4]}),(t=>{t.createDefaultProps=()=>({show:!0,enabled:!0,position:l.reactArrayWithUndefined(void 0),positionEditing:!1,viewDistanceRange:l.reactArrayWithUndefined(void 0),viewDistanceDebug:!1,zOrder:0})})(Gi||(Gi={})),l.extendClassProps(Gi.prototype,Gi.createDefaultProps);class VE extends l.Destroyable{constructor(e,n,r,o,s){super();v(this,"czmCanvasPoi");const a=this.czmCanvasPoi=this.disposeVar(new Md(n,r));this.disposeVar(s(a.canvasPoi,e.visibleAlphaChanged));{const c=()=>{e.position&&(a.cartesian=$e(e.position))};c(),this.dispose(e.positionChanged.disposableOn(c))}{const c=()=>{a.show=(e.show??!0)&&!!e.position&&e.visibleAlpha>0};c();const h=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.positionChanged,e.visibleAlphaChanged));this.dispose(h.disposableOn(c))}this.dispose(e.flyToEvent.disposableOn(()=>{if(!e.position){console.warn("GeoPoint当前没有位置信息,无法飞入!");return}let c=1e3;if(e.viewDistanceRange){const[h,p,u,f]=e.viewDistanceRange;c=(p+u)*.5}re(o,e.position,c,void 0,1e3)}))}}class UE extends l.Destroyable{constructor(i,e){super();const n=this.disposeVar(l.createNextAnimateFrameEvent(i.showChanged,i.positionChanged,i.fgColorChanged,i.bgColorChanged,i.tooltipChanged,i.tooltipShowChanged,i.titleChanged,i.sizeChanged,i.originRatioAndOffsetChanged,i.opacityChanged,i.scaleChanged)),r=()=>{e.fgColor=i.fgColor??[1,1,1,1],e.bgColor=i.bgColor??[.3,.3,.3,.8],e.tooltip=i.tooltip??"",e.tooltipShow=i.tooltipShow??!0,e.title=i.title??"",e.size=i.size??[32,32],e.originRatioAndOffset=i.originRatioAndOffset??[.5,1,0,0],e.hovered=i.hovered??!1,e.opacity=i.opacity??1,e._scale=i.scale??1};r(),this.dispose(n.disposableOn(r));const o=this.disposeVar(w.ESSceneObject.context.createEnvStrReact([i,"imageUri"],"${earthsdk3-assets-script-dir}/assets/img/location.png")),s=this.disposeVar(l.createProcessingFromAsyncFunc(async(h,p)=>{const u=await h.promise(l.fetchImage(p));e.image=u})),a=()=>{if(!o.value)return;const h=o.value.trim();h!==""&&s.restart(void 0,h)};a(),this.dispose(o.changed.disposableOn(a));const c=this.disposeVar(new l.Event);this.dispose(e.clickEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&c.emit(g)})),this.dispose(c.don(h=>{i.clickEvent.emit(h)})),this.dispose(e.clickOutEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&i.clickOutEvent.emit(g)})),this.dispose(e.dbclickEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&i.dbclickEvent.emit(g)})),this.dispose(e.dbclickOutEvent.disposableOn((h,p,u,f,g)=>{(i.enabled??!0)&&i.dbclickOutEvent.emit(g)})),this.dispose(l.bind([i,"hovered"],[e,"hovered"])),this.ad(l.bind([e,"isHoverZoom"],[i,"isHoverZoom"]))}}function mc(t,i,e,n){const[r,o]=t,[s,a,c,h]=n,p=i[0]*e[0],u=i[1]*e[1],f=r-(p*s+c),g=o-(u*a+h);return{left:f,top:g,right:f+p,bottom:g+u}}function WE(t,i,e,n,r,o){t.beginPath(),t.moveTo(i+o,e),t.lineTo(i+n-o,e),t.arcTo(i+n,e,i+n,e+o,o),t.lineTo(i+n,e+r-o),t.arcTo(i+n,e+r,i+n-o,e+r,o),t.lineTo(i+o,e+r),t.arcTo(i,e+r,i,e+r-o,o),t.lineTo(i,e+o),t.arcTo(i,e,i+o,e,o)}function GE(t){const{width:i,height:e}=t,n=i instanceof SVGAnimatedLength?i.baseVal.SVG_LENGTHTYPE_PX:i,r=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,o=document.createElement("canvas");o.width=n,o.height=r;const s=o.getContext("2d");if(!s)throw new Error("!cavnasCtx");return s.drawImage(t,0,0,n,r),o}function HE(t,i){const{width:e,height:n}=t,r=t.getContext("2d");if(!r)throw new Error("!cavnasCtx");const[o,s,a]=i.map(u=>u*255|0),c=r.getImageData(0,0,e,n),h=c.data;for(var p=0;p<h.length;p+=4)h[p]=o,h[p+1]=s,h[p+2]=a;r.putImageData(c,0,0)}function Cv(t,i,e,n=[.5,1,0,0],r,o="12px Arial",s=2,a="#FFF",c="#000A"){t.font=o;const h=t.measureText(r),p=h.actualBoundingBoxLeft+h.actualBoundingBoxRight,u=h.fontBoundingBoxAscent+h.fontBoundingBoxDescent,f=i,g=e,m=p+s*2,y=u+s*2,{left:_,top:S,bottom:C}=mc([f,g],[m,y],[1,1],n);t.fillStyle=c,WE(t,_,S,m,y,s),t.fill(),t.fillStyle=a,t.fillText(r,_+s,C-s-h.fontBoundingBoxDescent)}function vc(t){return("00"+t.toString(16).toUpperCase()).substr(-2)}function yc(t){const[i,e,n,r]=t.map(o=>o*255|0);return`#${vc(i)}${vc(e)}${vc(n)}${vc(r)}`}function qE(t,i){const[e,n,r]=i,o=`${e}-${n}-${r}`;let s=l.getExtProp(t,o);return s||(s=GE(t),HE(s,i),l.setExtProp(t,o,s)),s}class $E extends l.CanvasPoi{constructor(e,n,r=[32,32],o=[.5,1,0,0],s="#F00F"){super(e);v(this,"_tooltip","");v(this,"_title","");v(this,"__scale",[1,1]);v(this,"_tooltipAlpha",0);v(this,"_bgColor",[.3,.3,.3,.8]);v(this,"_bgColorHexStr",yc(this._bgColor));v(this,"_fgColor",[1,1,1,1]);v(this,"_fgColorHexStr",yc(this._fgColor));v(this,"_tooltipShow",this.disposeVar(l.react(!0)));v(this,"_isHoverZoom",this.disposeVar(l.react(!1)));this._image=n,this._size=r,this._originRatioAndOffset=o,this._defaultColorStr=s;const a=new l.Transition(100),c=new l.Transition(100);this.dispose(()=>{a.destroy(),c.destroy()});const h=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.isHoverZoom&&(this.hovered?(this._scale[0]*=1.5,this._scale[1]*=1.5):(this._scale[0]/=1.5,this._scale[1]/=1.5)),this._tooltipAlpha=a.current)};this.dispose(this.activedChanged.disposableOn(u=>{c.target=u?1:0,this.needRedraw()}));const p=()=>{const u=this.tooltipShow&&this.hovered;a.target=u?1:0,h(),this.needRedraw()};this.dispose(this.hoveredChanged.disposableOn(p)),this.dispose(this.tooltipShowChanged.disposableOn(p)),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()}))}get tooltipShow(){return this._tooltipShow.value}set tooltipShow(e){this._tooltipShow.value=e}get tooltipShowChanged(){return this._tooltipShow.changed}get isHoverZoom(){return this._isHoverZoom.value}set isHoverZoom(e){this._isHoverZoom.value=e}get isHoverZoomChanged(){return this._isHoverZoom.changed}set size(e){const[n,r]=e,[o,s]=this._size;(o!==n||s!==r)&&(this._size[0]=n,this._size[1]=r,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(e){const[n,r]=e,[o,s]=this.__scale;(o!==n||s!==r)&&(this.__scale[0]=n,this.__scale[1]=r,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(e){if(!this._fgColor.every((n,r)=>e[r]===n)){const[n,r,o,s]=e;this._fgColor.splice(0,4,n,r,o,s),this._fgColorHexStr=yc(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(e){if(!this._bgColor.every((n,r)=>e[r]===n)){const[n,r,o,s]=e;this._bgColor.splice(0,4,n,r,o,s),this._bgColorHexStr=yc(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(e){const[n,r,o,s]=this._originRatioAndOffset,[a,c,h,p]=e;(n!==a||r!==c||o!==h||s!==p)&&(this._originRatioAndOffset.splice(0,4,a,c,h,p),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(e){this._image!==e&&(this._image=e,this.needRedraw())}get image(){return this._image}set defaultColorStr(e){this._defaultColorStr!==e&&(this._defaultColorStr=e,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,this.needRedraw())}get tooltip(){return this._tooltip}set title(e){this._title!==e&&(this._title=e,this.needRedraw())}get title(){return this._title}draw(e){if(!this._show)return;const[n,r]=this._winPos,o=this._size[0]*this.__scale[0],s=this._size[1]*this.__scale[1],{left:a,top:c,right:h}=mc([n,r],this._size,this.__scale,this._originRatioAndOffset),p=e.globalAlpha;if(e.globalAlpha=this.opacity,this._image){if(this.selected){const u=qE(this._image,[1,0,0]),{left:f,top:g}=mc([n,r],[o+6,s+6],[1,1],this._originRatioAndOffset);e.drawImage(u,f,g,o+6,s+6)}e.drawImage(this._image,a,c,o,s)}else e.fillStyle=this._fgColorHexStr,e.fillRect(a,c,o,s);if(this._title!==""&&Cv(e,n+20,r-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=p,this._hovered&&this._tooltip!==""){const u=e.globalAlpha;e.globalAlpha=this._tooltipAlpha,Cv(e,(a+h)*.5,c-5,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=u}}drawForPick(e,n){if(!this._show)return;const[r,o]=this._winPos,s=n("default"),a=this._size[0]*this.__scale[0],c=this._size[1]*this.__scale[1],{left:h,top:p}=mc([r,o],this._size,this.__scale,this._originRatioAndOffset);e.fillStyle=s,e.fillRect(h,p,a,c)}}class gi extends l.Destroyable{constructor(e){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_clickEvent",this.disposeVar(new l.Event));v(this,"_clickOutEvent",this.disposeVar(new l.Event));v(this,"_dbclickEvent",this.disposeVar(new l.Event));v(this,"_dbclickOutEvent",this.disposeVar(new l.Event));v(this,"_clickFunc",this.disposeVar(l.react(void 0)));v(this,"_clickFuncInit",(()=>{this.dispose(this.clickEvent.disposableOn(e=>this.clickFunc&&this.clickFunc(e)))})());v(this,"_geoCanvasPoi");if(this._geoCanvasPoi=this.disposeVar(new Gi(e)),!e.viewer)return;const{geoCanvasPoi:r}=this;r.canvasPoiClassAndCreateFunc=[$E,o=>new UE(this,o)],this.dispose(l.bind([r,"show"],[this,"show"])),this.dispose(l.bind([r,"enabled"],[this,"enabled"])),this.dispose(l.bind([r,"position"],[this,"position"])),this.dispose(l.bind([r,"positionEditing"],[this,"positionEditing"])),this.dispose(l.track([r,"viewDistanceRange"],[this,"viewDistanceRange"])),this.dispose(l.track([r,"viewDistanceDebug"],[this,"viewDistanceDebug"])),this.dispose(l.track([r,"zOrder"],[this,"zOrder"])),this.dispose(this.flyToEvent.disposableOn(o=>{r.flyTo(o)})),this.dispose(this._clickEvent.disposableOn(o=>{this.pickOnClick&&this.pickedEvent.emit(new w.ESJPickedResult({type:"viewerPicking",pointerEvent:o}))}));{const o=()=>{const s=ad(this.clickFuncStr,["event"]);s&&(this.clickFunc=s)};o(),this.dispose(this.clickFuncStrChanged.disposableOn(o))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get clickEvent(){return this._clickEvent}get clickOutEvent(){return this._clickOutEvent}get dbclickEvent(){return this._dbclickEvent}get dbclickOutEvent(){return this._dbclickOutEvent}get clickFunc(){return this._clickFunc.value}set clickFunc(e){this._clickFunc.value=e}get clickFuncChanged(){return this._clickFunc.changed}get geoCanvasPoi(){return this._geoCanvasPoi}}v(gi,"defaults",{viewDistanceRange:[1e3,1e4,3e4,6e4],scale:[1,1]}),(t=>{t.createDefaultProps=()=>({show:!0,enabled:!0,position:l.reactArrayWithUndefined(void 0),positionEditing:!1,fgColor:l.reactArray([1,1,1,1]),bgColor:l.reactArray([0,0,0,0]),tooltip:"",tooltipShow:!0,title:"",size:l.reactArray([32,32]),scale:l.reactArray([1,1]),originRatioAndOffset:l.reactArray([.5,1,0,0]),hovered:!1,imageUri:"${earthsdk3-assets-script-dir}/assets/img/location.png",opacity:1,viewDistanceRange:l.reactArrayWithUndefined(void 0),viewDistanceDebug:!1,pickOnClick:!1,clickFuncStr:"",zOrder:0,isHoverZoom:!1})})(gi||(gi={})),l.extendClassProps(gi.prototype,gi.createDefaultProps);class ar extends l.Destroyable{constructor(e){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_commandEvent",this.disposeVar(new l.Event));v(this,"_dbclickEvent",this.disposeVar(new l.Event));const n=this;let r=Number.POSITIVE_INFINITY;this.dispose(this.enabledChanged.disposableOn(m=>{r=m??!1?Date.now():Number.POSITIVE_INFINITY}));const o=this.disposeVar(new l.Transition(100));o.reset(0);const s=this.disposeVar(l.createTimeoutWithStartValues(()=>o.target=0,1e3)),a=this.disposeVar(l.createTimeoutWithStartValues(()=>o.target=1,1e3)),c=this.disposeVar(new gi(e));c.originRatioAndOffset=[.5,.5,0,0],this.dispose(l.track([c,"tooltip"],[n,"title"]));{const m=()=>{c.size=this.mainPoiSize??[12,12]};m(),this.dispose(this.mainPoiSizeChanged.disposableOn(m))}{const m=()=>{c.fgColor=this.mainPoiFgColor??[1,1,1,1]};m(),this.dispose(this.mainPoiFgColorChanged.disposableOn(m))}{const m=()=>{c.bgColor=this.mainPoiBgColor??[0,0,0,.6]};m(),this.dispose(this.mainPoiBgColorChanged.disposableOn(m))}const h=this.disposeVar(l.createNextAnimateFrameEvent(n.showChanged,n.positionChanged,n.descriptionChanged,n.titleChanged,n.imageUriChanged)),p=()=>{c.show=n.show??!0,c.imageUri=n.imageUri??"${earthsdk3-assets-script-dir}/assets/img/point-yellow.png",c.position=n.position};p(),this.dispose(h.disposableOn(p)),this.dispose(l.bind([c,"position"],[this,"position"])),this.dispose(l.bind([c,"positionEditing"],[this,"positionEditing"])),this.dispose(this._flyToEvent.disposableOn(m=>c.flyTo(m)));const u=[],f=()=>{u.forEach(m=>{m.destroy()}),u.length=0};this.dispose(f);const g=()=>{f();const{commands:m}=n;if(!m)return;const y=m.length,_=50,S=0,C=-(y*_*Math.PI/180)*.5;for(let E=0;E<y;++E){const[M,D,R,x]=m[E],z=C+_*(E+.5)*Math.PI/180,W=Math.sin(z)*S,V=Math.cos(z)*S,L=new gi(e);L.imageUri=x,L.tooltip=D,L.bgColor=[0,0,0,.6],L.fgColor=[1,1,1,1],L.size=[24,24],L.dispose(l.track([L,"position"],[n,"position"])),L.originRatioAndOffset=[.5,.5,-W,V],L.show=!1,L.opacity=0,L.dispose(L.opacityChanged.disposableOn(U=>L.show=(U??1)>0)),L.dispose(L.clickEvent.disposableOn(U=>n.commandEvent.emit(M,U))),L.dispose(L.hoveredChanged.disposableOn(U=>U?s.cancel():s.restart())),L.dispose(o.currentChanged.disposableOn(U=>L.enabled=U===1)),u.push(L)}};g(),this.dispose(n.commandsChanged.disposableOn(g)),this.dispose(c.hoveredChanged.disposableOn(m=>m?s.cancel():s.restart())),this.dispose(c.hoveredChanged.disposableOn(m=>m?n.enabled&&a.restart():a.cancel())),this.dispose(o.currentChanged.disposableOn(m=>{const y=u.length,_=50,S=m*35,C=-(y*_*Math.PI/180)*.5;for(let E=0;E<y;++E){const M=C+_*(E+.5)*Math.PI/180,D=Math.sin(M)*S,R=Math.cos(M)*S;u[E].originRatioAndOffset=[.5,.5,-D,R],u[E].opacity=m}})),this.dispose(c.clickEvent.disposableOn(m=>{if(!n.enabled)return;const y=m.__xbsj_listenerTime__;if(!(y!==void 0&&r>y))if(m.button===0)if(n.clickCommandName)n.commandEvent.emit(n.clickCommandName,m);else{if(o.current>0&&o.current<1)return;o.target=o.target===1?0:1}else m.button===2&&n.rightClickCommandName&&n.commandEvent.emit(n.rightClickCommandName,m)})),this.dispose(c.clickOutEvent.disposableOn(()=>{n.enabled&&(o.target=0)})),this.dispose(n.commandEvent.disposableOn(()=>o.target=0)),this.dispose(c.dbclickEvent.disposableOn(m=>{if(!n.enabled)return;const y=m.__xbsj_listenerTime__;y!==void 0&&r>y||(n.dbclickEvent.emit(m),a.isRunning&&s.cancel(),o.target=0)})),this.dispose(o.targetChanged.disposableOn(m=>m===1?s.restart():s.cancel())),this.dispose(o.targetChanged.disposableOn(m=>m===1&&a.cancel())),this.dispose(o.targetChanged.disposableOn(m=>c.tooltipShow=m===0))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get commandEvent(){return this._commandEvent}get dbclickEvent(){return this._dbclickEvent}}(t=>{t.createDefaultProps=()=>({show:!0,enabled:!0,position:l.reactArrayWithUndefined(void 0),positionEditing:!1,title:"",description:"",imageUri:"${earthsdk3-assets-script-dir}/assets/img/point-yellow.png",commands:l.reactDeepArrayWithUndefined(void 0,(i,e)=>i.every((n,r)=>n===e[r]),i=>[...i]),clickCommandName:"",rightClickCommandName:"",mainPoiSize:l.reactArrayWithUndefined(void 0),mainPoiBgColor:l.reactArrayWithUndefined(void 0),mainPoiFgColor:l.reactArrayWithUndefined(void 0)})})(ar||(ar={})),l.extendClassProps(ar.prototype,ar.createDefaultProps);const Id=`class MyDiv {
536
536
  // container是Poi的div
537
537
  // geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
538
538
  // viewer指定当前的视口
@@ -1637,7 +1637,7 @@ export type IndexJsonType = {
1637
1637
  \`\`\`
1638
1638
  ${A0}
1639
1639
  \`\`\`
1640
- `,Qe=class Qe extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_dataSource",this.disposeVar(l.react(void 0)));v(this,"_data");v(this,"_defaultHeight",{});v(this,"_defaultBoundingSphere",new d.BoundingSphere);const r=e.viewer;if(!r){console.warn("viewer is undefined!");return}let o=()=>{this.dataSource&&r.dataSources.remove(this.dataSource,!0),this.dataSource=void 0,this._data=void 0};this.dispose(()=>{o()});{const s=this.dv(l.createProcessingFromAsyncFunc(async h=>{if(this.dataSource&&o(),!!this.url){do{if(typeof this.url=="object"){this._data=this.url;break}if(this._isJSONString(this.url)){this._data=JSON.parse(this.url);break}await fetch(w.ESSceneObject.context.getStrFromEnv(this.url)).then(p=>p.json()).then(p=>{this._data=p}).catch(p=>{console.warn("ESGeoJson数据加载失败",p)})}while(!1);this.dataSource=await d.GeoJsonDataSource.load(this._data),r.dataSources.add(this.dataSource).then(p=>{var f,g;const u=[];for(const m of p.entities.values)if(d.Entity.prototype&&(m.ESSceneObjectID=n),this._isEntityShow(m,e),m.polygon&&u.push(...(f=m.polygon.hierarchy)==null?void 0:f.getValue(d.JulianDate.now()).positions),m.polyline&&u.push(...(g=m.polyline.positions)==null?void 0:g.getValue(d.JulianDate.now())),m.position){const y=m.position.getValue(d.JulianDate.now());y&&u.push(y)}this._defaultBoundingSphere=d.BoundingSphere.fromPoints(u)})}})),a=()=>{s.isRunning&&s.cancel(),s.restart()};a();const c=this.dv(l.createNextAnimateFrameEvent(this.loadFunChanged,this.urlChanged));this.dispose(c.don(a))}{const s=()=>{var c,h;if(this.dataSource)if(this.dataSource.show=this.show,this.loadFun)try{this.loadFun(this.dataSource)}catch(p){console.error(p)}else{const p=this.dataSource.entities.values;for(let u=0;u<p.length;u++){const f=p[u];if(f.polygon){this._defaultHeight[f.id]||(this._defaultHeight[f.id]=(c=f.polygon.height)==null?void 0:c.getValue(d.JulianDate.now())),f.polygon.height=this.fillGround?void 0:new d.ConstantProperty(this._defaultHeight[f.id]),f.polygon.perPositionHeight=new d.ConstantProperty(!this.fillGround),f.polygon.heightReference=new d.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?d.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?d.HeightReference.CLAMP_TO_GROUND:d.HeightReference.RELATIVE_TO_GROUND),f.polygon.show=new d.ConstantProperty(this.filled??Qe.defaults.filled),f.polygon.material=new d.ColorMaterialProperty(new d.Color(...this.fillColor??Qe.defaults.fillColor)),f.polygon.outline=new d.ConstantProperty(!1),f.polyline=new d.PolylineGraphics;const g=JSON.parse(JSON.stringify((h=f.polygon.hierarchy)==null?void 0:h.getValue(d.JulianDate.now()).positions));d.Cartesian3.equals(g[0],g[g.length-1])||g.push(g[0]),f.polyline.positions=g}if(f.polyline&&(f.polyline.show=new d.ConstantProperty(this.stroked??Qe.defaults.stroked),f.polyline.width=new d.ConstantProperty(this.strokeWidth??Qe.defaults.strokeWidth),f.polyline.material=new d.ColorMaterialProperty(new d.Color(...this.strokeColor??Qe.defaults.strokeColor)),f.polyline.clampToGround=new d.ConstantProperty(this.strokeGround)),f.billboard){f.billboard.show=new d.ConstantProperty(this.imageShow??Qe.defaults.imageShow),f.billboard.width=new d.ConstantProperty(this.imageSize?this.imageSize[0]:Qe.defaults.imageSize[0]),f.billboard.height=new d.ConstantProperty(this.imageSize?this.imageSize[1]:Qe.defaults.imageSize[1]);const g=this.imageUrl?typeof this.imageUrl=="string"?this.imageUrl:this.imageUrl.url:Qe.defaults.imageUrl;f.billboard.image=new d.ConstantProperty(w.ESSceneObject.context.getStrFromEnv(g)),f.billboard.horizontalOrigin=new d.ConstantProperty(d.HorizontalOrigin.LEFT),f.billboard.verticalOrigin=new d.ConstantProperty(d.VerticalOrigin.TOP),f.billboard.heightReference=new d.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?d.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?d.HeightReference.CLAMP_TO_GROUND:d.HeightReference.RELATIVE_TO_GROUND);const m=this.imageAnchor??Qe.defaults.imageAnchor,y=this.imageOffset??Qe.defaults.imageOffset;if(f.billboard.pixelOffset=new d.ConstantProperty(d.Cartesian2.fromArray([-m[0]*f.billboard.width.getValue(d.JulianDate.now())+y[0],-m[1]*f.billboard.height.getValue(d.JulianDate.now())+y[1]])),f.label=new d.LabelGraphics,!f.label)return;f.label.show=new d.ConstantProperty(this.textShow??Qe.defaults.textShow),f.label.heightReference=new d.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?d.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?d.HeightReference.CLAMP_TO_GROUND:d.HeightReference.RELATIVE_TO_GROUND),f.label.text=new d.ConstantProperty(this.textProperty&&this.textProperty!==""&&f.properties&&f.properties[this.textProperty]?f.properties[this.textProperty].getValue():this.textDefaultText??Qe.defaults.textDefaultText),f.label.fillColor=new d.ConstantProperty(new d.Color(...this.textColor??Qe.defaults.textColor)),f.label.showBackground=new d.ConstantProperty(this.textBackgroundColor!=null);const _=this.textFontSize&&this.textFontSize!=0?this.textFontSize:Qe.defaults.textFontSize,S=this.textOffset??Qe.defaults.textOffset;f.label.backgroundColor=new d.ConstantProperty(new d.Color(...this.textBackgroundColor??Qe.defaults.textBackgroundColor)),f.label.font=new d.ConstantProperty(`${this.textFontStyle} ${this.textFontWeight} ${_}px ${this.textFontFamily??Qe.defaults.textFontFamily}`),f.label.horizontalOrigin=new d.ConstantProperty(d.HorizontalOrigin.LEFT),f.label.verticalOrigin=new d.ConstantProperty(d.VerticalOrigin.TOP),f.label.eyeOffset=new d.ConstantProperty(d.Cartesian3.fromArray([0,0,-1]));const C=this.textAnchor??Qe.defaults.textAnchor;f.label.pixelOffset=new d.ConstantProperty(d.Cartesian2.fromArray([-C[0]*((this.textBackgroundColor?-14:-_*2)+this._countBytes(f.label.text.getValue(d.JulianDate.now()))/2*_)+S[0],-C[1]*((this.textBackgroundColor?10:0)+_)+S[1]]))}}}};s();const a=this.dv(l.createNextAnimateFrameEvent(this._dataSource.changed,this.showChanged,this.strokedChanged,this.strokeWidthChanged,this.strokeWidthTypeChanged,this.strokeColorChanged,this.strokeMaterialChanged,this.strokeMaterialParamsChanged,this.strokeGroundChanged,this.filledChanged,this.fillColorChanged,this.fillMaterialChanged,this.fillMaterialParamsChanged,this.fillGroundChanged,this.imageShowChanged,this.imageUrlChanged,this.imageSizeChanged,this.imageAnchorChanged,this.imageOffsetChanged,this.textShowChanged,this.textPropertyChanged,this.textDefaultTextChanged,this.textColorChanged,this.textBackgroundColorChanged,this.textFontFamilyChanged,this.textFontSizeChanged,this.textFontStyleChanged,this.textFontWeightChanged,this.textAnchorChanged,this.textOffsetChanged,this.heightReferenceChanged));this.dispose(a.don(s))}{const s=()=>{if(!this.dataSource)return;const c=this.dataSource.entities.values;for(let h=0;h<c.length;h++){const p=c[h];this._isEntityShow(p,e)}};s();const a=this.ad(l.createNextAnimateFrameEvent(this.minFeatureVisibleDistanceChanged,this.maxFeatureVisibleDistanceChanged,e.cameraChanged,this.showChanged));this.ad(a.don(s))}{const s=()=>{if(this.loadFuncStr)try{const a=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=a}catch(a){console.error(a),this.loadFun=void 0}else this.loadFun=void 0};s(),this.dispose(this.loadFuncStrChanged.disposableOn(s))}this.dispose(this.flyToEvent.disposableOn(s=>{e.actived&&this.dataSource&&(s!==void 0?r.flyTo(this.dataSource,{duration:s/1e3}).then(a=>{a||r.camera.flyToBoundingSphere(this._defaultBoundingSphere,{duration:s/1e3})}):r.flyTo(this.dataSource).then(a=>{a||r.camera.flyToBoundingSphere(this._defaultBoundingSphere)}))}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}_isJSONString(e){try{return JSON.parse(e),!0}catch{return!1}}_countBytes(e){let n=0;for(let r=0;r<e.length;r++){const o=e.charCodeAt(r);o<=127?n+=1:o<=2047?n+=2:o<=65535?n+=3:n+=4}return n}_isEntityShow(e,n){var r;if(this.minFeatureVisibleDistance==0&&this.maxFeatureVisibleDistance==0){e.show=this.show;return}if((r=n.viewer)!=null&&r.camera&&this.show){let o;do{if(e.polygon&&e.polygon.hierarchy){o=w.getMinMaxCorner(e.polygon.hierarchy.getValue(d.JulianDate.now()).positions.map(c=>ce(c))).center;break}if(e.polyline&&e.polyline.positions&&(o=w.getMinMaxCorner(e.polyline.positions.getValue(d.JulianDate.now()).map(c=>ce(c))).center),e.position){const c=e.position.getValue(d.JulianDate.now());c&&(o=ce(c))}}while(!1);if(!o||isNaN(o[0]))return;const s=w.getDistancesFromPositions([o,Lt(n.viewer.camera)],"NONE")[0];let a=!1;this.minFeatureVisibleDistance<this.maxFeatureVisibleDistance?a=this.minFeatureVisibleDistance<s&&s<this.maxFeatureVisibleDistance:this.maxFeatureVisibleDistance==0?a=s>this.minFeatureVisibleDistance:this.minFeatureVisibleDistance==0&&(a=s<this.maxFeatureVisibleDistance),e.show=this.show&&a}}};v(Qe,"defaults",{show:!0,allowPicking:!0,url:T0,defaultLoadFuncStr:A0,defaultLoadFuncDocStr:jI,data:JI,dataMd:BI,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/misc/location.png",imageSize:[64,64],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:[.79,.91,.06,1],textFontFamily:"Arial",textFontSize:16,textFontWeight:"normal",textFontStyle:"normal",textAnchor:[.5,1],textOffset:[0,0],strokeWidthTypes:[["screen","screen"],["world","world"]],minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let bo=Qe;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:void 0,loadFuncStr:void 0,url:void 0,stroked:void 0,strokeWidth:void 0,strokeWidthType:"world",strokeColor:l.reactArrayWithUndefined(void 0),strokeMaterial:void 0,strokeMaterialParams:l.reactJsonWithUndefined(void 0),strokeGround:void 0,filled:void 0,fillColor:l.reactArrayWithUndefined(void 0),fillMaterial:void 0,fillMaterialParams:l.reactJsonWithUndefined(void 0),fillGround:void 0,imageShow:void 0,imageUrl:void 0,imageSize:l.reactArrayWithUndefined(void 0),imageAnchor:l.reactArrayWithUndefined(void 0),imageOffset:l.reactArrayWithUndefined(void 0),textShow:void 0,textProperty:void 0,textDefaultText:void 0,textColor:l.reactArrayWithUndefined(void 0),textBackgroundColor:l.reactArrayWithUndefined(void 0),textFontFamily:void 0,textFontSize:void 0,textFontStyle:void 0,textFontWeight:void 0,textAnchor:l.reactArrayWithUndefined(void 0),textOffset:l.reactArrayWithUndefined(void 0),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})})(bo||(bo={})),l.extendClassProps(bo.prototype,bo.createDefaultProps);const Fa=class Fa extends $t{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const r=this.disposeVar(new bo(e,i.id));this.dispose(l.track([r,"show"],[i,"show"])),this.dispose(l.track([r,"allowPicking"],[i,"allowPicking"])),this.dispose(l.track([r,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.track([r,"url"],[i,"features"])),this.dispose(l.track([r,"stroked"],[i,"stroked"])),this.dispose(l.track([r,"strokeWidth"],[i,"strokeWidth"])),this.dispose(l.track([r,"strokeWidthType"],[i,"strokeWidthType"])),this.dispose(l.track([r,"strokeColor"],[i,"strokeColor"])),this.dispose(l.track([r,"strokeMaterial"],[i,"strokeMaterial"])),this.dispose(l.track([r,"strokeMaterialParams"],[i,"strokeMaterialParams"])),this.dispose(l.track([r,"strokeGround"],[i,"strokeGround"])),this.dispose(l.track([r,"filled"],[i,"filled"])),this.dispose(l.track([r,"fillColor"],[i,"fillColor"])),this.dispose(l.track([r,"fillMaterial"],[i,"fillMaterial"])),this.dispose(l.track([r,"fillMaterialParams"],[i,"fillMaterialParams"])),this.dispose(l.track([r,"fillGround"],[i,"fillGround"])),this.dispose(l.track([r,"imageShow"],[i,"imageShow"])),this.dispose(l.track([r,"imageUrl"],[i,"imageUrl"])),this.dispose(l.track([r,"imageSize"],[i,"imageSize"])),this.dispose(l.track([r,"imageAnchor"],[i,"imageAnchor"])),this.dispose(l.track([r,"imageOffset"],[i,"imageOffset"])),this.dispose(l.track([r,"textShow"],[i,"textShow"])),this.dispose(l.track([r,"textProperty"],[i,"textProperty"])),this.dispose(l.track([r,"textDefaultText"],[i,"textDefaultText"])),this.dispose(l.track([r,"textColor"],[i,"textColor"])),this.dispose(l.track([r,"textBackgroundColor"],[i,"textBackgroundColor"])),this.dispose(l.track([r,"textFontFamily"],[i,"textFontFamily"])),this.dispose(l.track([r,"textFontSize"],[i,"textFontSize"])),this.dispose(l.track([r,"textFontStyle"],[i,"textFontStyle"])),this.dispose(l.track([r,"textFontWeight"],[i,"textFontWeight"])),this.dispose(l.track([r,"textAnchor"],[i,"textAnchor"])),this.dispose(l.track([r,"textOffset"],[i,"textOffset"])),this.dispose(l.track([r,"minFeatureVisibleDistance"],[i,"minFeatureVisibleDistance"])),this.dispose(l.track([r,"maxFeatureVisibleDistance"],[i,"maxFeatureVisibleDistance"])),this.dispose(l.track([r,"heightReference"],[i,"heightReference"])),this.dispose(i.flyToEvent.disposableOn(o=>{if(e.actived){if(i.flyInParam){const{position:s,rotation:a,flyDuration:c}=i.flyInParam;return re(e.viewer,s,void 0,a,c),!0}r.flyTo(o&&o*1e3)}}));{const o=(s,a,c)=>{if(!e.actived)return;const h=JSON.parse(JSON.stringify(this._getFeatureByIndexOrProperties(s,a)));if(!(!h||!(h!=null&&h.positions)))if(h.type=="Point"||h.type=="MultiPoint")Zt(e,i,this.id,this._calculateFeatureHeight(h.type=="MultiPoint"?h.positions.flat():h.positions,i.heightReference,e),1e3,c);else{const p=h.type=="Polygon"||h.type=="MultiPolygon"||h.type=="MultiLineString";let u=[];p?u=h.positions.flat(h.type=="MultiPolygon"?2:1).map(y=>this._calculateFeatureHeight(y,i.fillGround?"CLAMP_TO_GROUND":"NONE",e)):u=h.positions.map(y=>this._calculateFeatureHeight(y,i.strokeGround?"CLAMP_TO_GROUND":"NONE",e));const{minPos:f,maxPos:g,center:m}=w.getMinMaxCorner(u);Zt(e,i,this.id,m,w.getDistancesFromPositions([f,g],"NONE")[0],c)}};this.d(i.flyToFeatureEvent.don((s,a,c)=>o(s,a,c))),this.d(i.flyToFeatureIndexEvent.don((s,a)=>o(s,void 0,a)))}}_getFeatureByIndexOrProperties(i,e){var s,a,c,h,p,u,f,g;const{sceneObject:n}=this,r=n.features;if(!r)return;const o=Reflect.get(r,"features")||Reflect.get(r,"geometries");if(o){if(e){let m=o.find(y=>(y==null?void 0:y.properties[i])==e);return{type:m!=null&&m.coordinates?m.type:(s=m==null?void 0:m.geometry)==null?void 0:s.type,positions:(m==null?void 0:m.coordinates)||((a=m==null?void 0:m.geometry)==null?void 0:a.coordinates)}}else if(typeof i=="number")return{type:(c=o[i])!=null&&c.coordinates?o[i].type:(p=(h=o[i])==null?void 0:h.geometry)==null?void 0:p.type,positions:((u=o[i])==null?void 0:u.coordinates)||((g=(f=o[i])==null?void 0:f.geometry)==null?void 0:g.coordinates)}}}_calculateFeatureHeight(i,e,n){const{sceneObject:r}=this,o=[...i];do{if(e=="NONE"){o[2]=o[2]??0;break}if(e=="CLAMP_TO_GROUND"||!o[2]){o[2]=n.getTerrainHeight(o)??0;break}o[2]+=n.getTerrainHeight(o)??0}while(!1);return o}};v(Fa,"type",Fa.register("ESCesiumViewer",w.ESGeoJson.type,Fa));let Ju=Fa;const za=class za extends Pt{constructor(e,n){super(e,n);v(this,"_czmGeoESRectangle");v(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new Ie(n,e.id)),this._czmGeoESRectangle=this.disposeVar(new yi(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoESRectangle,s=this._geoPolyline;s.arcType="RHUMB",this.dispose(l.track([s,"color"],[e,"strokeColor"])),this.dispose(l.track([s,"width"],[e,"strokeWidth"])),this.dispose(l.track([s,"ground"],[e,"strokeGround"])),this.dispose(l.track([o,"ground"],[e,"fillGround"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"]));{const a=()=>{s.show=e.show&&e.stroked,o.show=e.show&&e.filled};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{e.filled?o.material={type:"Color",color:e.fillColor}:o.material=void 0};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{const c=e.points;if(c&&c.length>=2){const{minPos:h,maxPos:p}=w.getMinMaxCorner(c);o.rectangle=[h[0],h[1],p[0],p[1]],o.height=c[0][2],o.extrudedHeight=c[0][2];const u=c.map(y=>(c&&(y[2]=c[0][2]),y)),f=u[0],g=u[1],m=[f,[f[0],g[1],f[2]],g,[g[0],f[1],g[2]]];s.positions=[...m,f]}else o.rectangle=void 0,s.positions=void 0,o.height=0,o.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}}get czmGeoESRectangle(){return this._czmGeoESRectangle}flyTo(e,n){const{sceneObject:r,czmViewer:o}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):r.points?(se(o,r,n,r.points,e),!0):!1:!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,czmGeoESRectangle:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):r.points?(se(o,r,n,r.points,e),!0):!1:!1}};v(za,"type",za.register("ESCesiumViewer",w.ESGeoRectangle.type,za));let Bu=za;class qs extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_geoPolygon");this._geoPolygon=this.disposeVar(new _n(e,n));const{geoPolygon:r}=this;this.dispose(l.bind([r,"allowPicking"],[this,"allowPicking"])),this.dispose(this.flyToEvent.disposableOn(s=>{r.flyTo(s)})),this.dispose(l.bind([r,"show"],[this,"show"])),this.dispose(l.bind([r,"fill"],[this,"filled"])),this.dispose(l.bind([r,"strokeGround"],[this,"strokeGround"])),this.dispose(l.bind([r,"ground"],[this,"ground"])),this.dispose(l.bind([r,"outline"],[this,"outline"])),this.dispose(l.bind([r,"outlineColor"],[this,"outlineColor"])),this.dispose(l.bind([r,"outlineWidth"],[this,"outlineWidth"])),this.dispose(l.bind([r,"color"],[this,"color"])),this.dispose(l.bind([r,"depth"],[this,"depth"]));const o=()=>{if(this.positions&&this.positions.length>=2){const s=dd([...this.positions,this.positions[0]]);r.positions=s}else r.positions=void 0};o(),this.dispose(this.positionsChanged.disposableOn(o))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygon(){return this._geoPolygon}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,strokeGround:!1,ground:!1,outline:!1,filled:!0,outlineColor:l.reactArray([1,1,1,1]),outlineWidth:1,color:l.reactArrayWithUndefined([1,1,1,.5]),positions:l.reactPositions(void 0),depth:0})})(qs||(qs={})),l.extendClassProps(qs.prototype,qs.createDefaultProps);const La=class La extends Pt{constructor(e,n){super(e,n);v(this,"_geoSmoothPolygon");if(this._geoSmoothPolygon=this.disposeVar(new qs(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this._geoSmoothPolygon;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"positions"],[e,"points"])),this.dispose(l.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([o,"outline"],[e,"stroked"])),this.dispose(l.track([o,"outlineColor"],[e,"strokeColor"])),this.dispose(l.track([o,"outlineWidth"],[e,"strokeWidth"])),this.dispose(l.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([o,"filled"],[e,"filled"])),this.dispose(l.track([o,"color"],[e,"fillColor"])),this.dispose(l.track([o,"ground"],[e,"ground"]));{const s=()=>{o.ground=e.ground||e.fillGround};s();const a=this.dv(l.createNextAnimateFrameEvent(e.groundChanged,e.fillGroundChanged));this.d(a.don(s))}{const s=()=>{o.color=e.filled?e.fillColor:Ki.defaults.fillStyle.color};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(s))}this.dispose(l.track([o,"depth"],[e,"depth"]))}get geoSmoothPolygon(){return this._geoSmoothPolygon}flyTo(e,n){const{sceneObject:r,czmViewer:o,geoSmoothPolygon:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,geoSmoothPolygon:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}};v(La,"type",La.register("ESCesiumViewer",Ki.type,La));let ju=La;const Na=class Na extends ye{constructor(e,n){super(e,n);v(this,"_czmModel");const r=n.viewer;if(!r){console.warn("viewer is undefined!");return}this._czmModel=this.dv(new ct(n,e.id));const o=this._czmModel;this.d(o.readyEvent.don(a=>{o.gltf.animations&&(o.activeAnimationsJson=o.gltf.animations.map((c,h)=>({index:h,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"})),o.activeAnimationsAnimateWhilePaused=!0),e.czmModelReadyEvent.emit(a)})),this.ad(new od(r,this._czmModel)),this.d(l.track([o,"show"],[e,"show"])),this.d(l.track([o,"color"],[e,"czmColor"])),this.d(l.track([o,"nativeMaximumScale"],[e,"czmMaximumScale"])),this.d(l.track([o,"nativeMinimumPixelSize"],[e,"czmMinimumPixelSize"])),this.d(l.bind([o,"position"],[e,"position"])),this.d(l.track([o,"nativeScale"],[e,"czmNativeScale"])),this.d(l.track([o,"scale"],[e,"scale"])),this.ad(l.track([o,"imageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(l.track([o,"environmentMapManager"],[e,"czmEnvironmentMapManager"]));{const a=c=>{e.czmEnvironmentMapManager=e.czmEnvironmentMapManager?{...e.czmEnvironmentMapManager,atmosphereScatteringIntensity:c}:{atmosphereScatteringIntensity:c}};a(e.czmAtmosphereScatteringIntensity),this.ad(e.czmAtmosphereScatteringIntensityChanged.don(c=>a(c)))}{const a=()=>{var c,h;(c=e.czmEnvironmentMapManager)!=null&&c.atmosphereScatteringIntensity&&(e.czmAtmosphereScatteringIntensity=(h=e.czmEnvironmentMapManager)==null?void 0:h.atmosphereScatteringIntensity)};a(),this.ad(e.czmEnvironmentMapManagerChanged.don(a))}{const a=()=>{const c=[...e.rotation??[0,0,0]];c[0]+=e.instances?0:90,o.rotation=c};a(),this.d(e.rotationChanged.don(a));{const c=()=>{if(a(),!e.instances){o.instances=e.instances;return}o.instances=e.instances.map(h=>{const p=JSON.parse(JSON.stringify(h));return!p.rotation&&(p.rotation=[0,0,0]),p.rotation[0]+=90,p})};c(),this.ad(e.instancesChanged.don(c))}}this.ad(e.setMaterialEvent.don(a=>{o.setMaterial(a)}));{const a=()=>{const c=[...o.rotation];c[0]-=e.instances?0:90,e.rotation=c};a(),this.d(o.rotationChanged.don(a))}{const a=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),c=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};c(),this.d(a.don(c))}const s=()=>{o.url=w.ESSceneObject.context.getStrFromEnv(ac(typeof e.url=="string"?e.url:e.url.url))};s(),this.d(e.urlChanged.don(s)),this.d(e.setNodePositionEvent.don((a,c)=>{o.setNodeTranslation(a,c)})),this.d(e.setNodeRotationEvent.don((a,c)=>{o.setNodeRotation(a,c)})),this.d(e.setNodeScaleEvent.don((a,c)=>{o.setNodeScale(a,c)})),this.d(e.printDebugInfoEvent.don(()=>{o.printDebugInfo()}))}get model(){return this._czmModel}flyTo(e,n){const{sceneObject:r,czmViewer:o,model:s}=this;return o.actived?r.flyToParam||r.flyInParam?(super.flyTo(e,n),!0):(s&&Dt(o,r,n,e,s,!0),!!s):!1}};v(Na,"type",Na.register("ESCesiumViewer",w.ESGltfModel.type,Na));let ep=Na;function M0(t,i){const e=t[0]-i[0],n=t[1]-i[1],r=t[2]-i[2];return Math.sqrt(e*e+n*n+r*r)}class $s extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_distance",this.disposeVar(l.react(0)));v(this,"_surfaceDistance",this.disposeVar(l.react(0)));v(this,"_height",this.disposeVar(l.react(0)));v(this,"_middlePosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));v(this,"_heightPosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));const r=()=>{if(this.positions)if(this.positions.length>=2)if(this._middlePosition.value=[this.positions[0][0],this.positions[0][1],this.positions[1][2]],this._heightPosition.value=[this.positions[0][0],this.positions[0][1],.5*(this.positions[1][2]+this.positions[0][2])],this.arcType===void 0||this.arcType==="GEODESIC"){const s=this._surfaceDistance.value=w.geoDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="RHUMB"){const s=this._surfaceDistance.value=w.geoRhumbDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="NONE"){const s=w.lbhToXyz(this.positions[0]),a=w.lbhToXyz(this.positions[1]);this._distance.value=M0(s,a),this._surfaceDistance.value=M0(w.lbhToXyz(this._middlePosition.value),a),this._height.value=this.positions[1][2]-this.positions[0][2]}else console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`);else this._heightPosition.value=void 0,this._distance.value=0,this._surfaceDistance.value=0,this._height.value=0};r();const o=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged));this.dispose(o.disposableOn(r));{const s=this.disposeVar(new Ie(e,n));s.ground=!1,s.loop=!1,this.dispose(l.track([s,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([s,"arcType"],[this,"arcType"])),this.dispose(l.bind([s,"color"],[this,"color"])),this.dispose(l.bind([s,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([s,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([s,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([s,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([s,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([s,"show"],[this,"show"])),this.dispose(l.bind([s,"width"],[this,"width"])),this.dispose(l.bind([s,"depthTest"],[this,"depthTest"]));{s.loop=!0;const c=()=>{if(this.positions&&this.positions.length===2){const[h,p]=this.positions;s.positions=[h,p,[h[0],h[1],p[2]]]}else s.positions=void 0};c(),this.dispose(this.positionsChanged.disposableOn(c))}this.dispose(this.flyToEvent.disposableOn(c=>{e.actived&&s.flyTo(c)}));const a=this.disposeVar(new Xe(e,n));this.dispose(l.track([a,"shadowDom"],[this,"shadowDom"])),this.dispose(l.track([a,"cssAllInitial"],[this,"cssAllInitial"])),this.dispose(l.track([a,"show"],[this,"show"]));{const c=()=>{a.position=this.heightPosition};c(),this.dispose(this.heightPositionChanged.disposableOn(c))}{const c=()=>{a.innerHTML=ho(`高度: ${lc(this.height)}`,0)};c(),this.dispose(this.heightChanged.disposableOn(c))}this.ad(a.pickedEvent.don(c=>{Oi(c)===0&&this.pickedEvent.emit(c)}))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}get surfaceDistance(){return this._surfaceDistance.value}get surfaceDistanceChanged(){return this._surfaceDistance.changed}get height(){return this._height.value}get heightChanged(){return this._height.changed}get middlePosition(){return this._middlePosition.value}get middlePositionChanged(){return this._middlePosition.changed}get heightPosition(){return this._heightPosition.value}get heightPositionChanged(){return this._heightPosition.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArrayWithUndefined([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1})})($s||($s={})),l.extendClassProps($s.prototype,$s.createDefaultProps);const Oa=class Oa extends Pt{constructor(e,n){super(e,n);v(this,"_geoHeightMeasurement");if(this._geoHeightMeasurement=this.disposeVar(new $s(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmHeightMeasurement:o}=this;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([o,"positions"],[e,"points"]));{const s=()=>{if(e.stroked)o.width=e.strokeWidth;else{o.width=0;return}o.width=e.strokeWidth,o.color=e.strokeColor;const h=e.strokeMaterial??"normal";h==="hasDash"?(o.hasDash=!0,o.hasArrow=!1):h==="hasArrow"?(o.hasDash=!1,o.hasArrow=!0):(o.hasDash=!1,o.hasArrow=!1);const p=e.strokeStyle;if(p.material==="hasDash"&&p.materialParams)try{const u=p.materialParams;Reflect.has(u,"gapColor")&&(o.gapColor=u.gapColor??[0,0,0,0]),Reflect.has(u,"dashLength")&&(o.dashLength=u.dashLength),Reflect.has(u,"dashPattern")&&(o.dashPattern=u.dashPattern)}catch(u){console.error(u)}else o.gapColor=[0,0,0,0],o.dashLength=0,o.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(o.pickedEvent.disposableOn(s=>{Oi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmHeightMeasurement(){return this._geoHeightMeasurement}flyTo(e,n){const{sceneObject:r,czmViewer:o,czmHeightMeasurement:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,czmHeightMeasurement:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}};v(Oa,"type",Oa.register("ESCesiumViewer",w.ESHeightMeasurement.type,Oa));let tp=Oa;const Va=class Va extends ye{constructor(e,n){super(e,n);v(this,"_czmModelPrimitive");const r=n.viewer;if(!r){console.warn("viewer is undefined!");return}this._czmModelPrimitive=this.disposeVar(new ct(n,this.sceneObject.id));const o=this._czmModelPrimitive;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.dispose(it([o,"rotation"],[e,"rotation"])),this.dispose(l.bind([o,"scale"],[e,"scale"]));{const y=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),_=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};_(),this.d(y.don(_))}const s=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/worker.glb"),a=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/police.glb"),c=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/pedestrian.glb"),h=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/Stranger.glb"),p=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsMan.glb"),u=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsWoman.glb"),f=()=>{switch(e.mode){case"worker":o.url=s;break;case"police":o.url=a;break;case"pedestrian":o.url=c;break;case"stranger":o.url=h;break;case"suitMan":o.url=p;break;case"suitWoman":o.url=u;break;default:o.url=s;break}};this.dispose(e.modeChanged.disposableOn(()=>{f()})),f();const g=()=>{const y=e.animation??w.ESHuman.defaults.animation;if(!e.show){o.activeAnimationsJson=void 0;return}y==="walking"?o.activeAnimationsJson=w.ESHuman.defaults.czmAnimationsWalk:y==="standing"?o.activeAnimationsJson=w.ESHuman.defaults.czmAnimationsStand:y==="running"&&(o.activeAnimationsJson=w.ESHuman.defaults.czmAnimationsRun)};g();const m=this.ad(l.createNextAnimateFrameEvent(e.showChanged,e.animationChanged));this.dispose(m.disposableOn(()=>g())),this.ad(new od(r,o))}get czmModelPrimitive(){return this._czmModelPrimitive}flyTo(e,n){const{sceneObject:r,czmViewer:o,czmModelPrimitive:s}=this;return!o.actived||!o.viewer?!1:r.flyToParam||r.flyInParam?(super.flyTo(e,n),!0):(s&&Dt(o,r,n,e,s,!0),!!s)}};v(Va,"type",Va.register("ESCesiumViewer",w.ESHuman.type,Va));let ip=Va;class D0 extends l.Destroyable{constructor(e,n){super();v(this,"_czmGeoCanvasImagePoi");v(this,"flyTo",(e,n)=>{if(this.czmGeoCanvasImagePoi.position){re(this.czmViewer.viewer,this.czmGeoCanvasImagePoi.position,1e3,Yt,e);return}this.czmGeoCanvasImagePoi.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoCanvasImagePoi=this.disposeVar(new gi(n));const r=this._czmGeoCanvasImagePoi;r.pickOnClick=!0,this.d(r.pickedEvent.don(o=>{(e.allowPicking??!1)&&e.pickedEvent.emit(o)}));{const o=p=>{let u=p;return p.includes("inner://")&&(u="${earthsdk3-assets-script-dir}/assets/img/points/"+p.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(ac(u))},s=()=>{const p=o(typeof e.url=="string"?e.url:e.url.url);if(r.imageUri=p,e.sizeByContent){const f=new Image;f.src=p,f.onload=()=>{r.size=[f.width,f.height]}}else{const f=e.size;r.size=[...f]}},a=this.disposeVar(l.createNextAnimateFrameEvent(e.urlChanged,e.sizeByContentChanged,e.sizeChanged));this.dispose(a.disposableOn(()=>s())),s(),this.d(l.track([r,"zOrder"],[e,"zOrder"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.ad(l.bind([r,"isHoverZoom"],[e,"isHoverZoom"]));{const p=()=>{r.scale=[e.scale[1],e.scale[2]]};p(),this.dispose(e.scaleChanged.don(p))}const c=()=>{const p=e.anchor,u=e.offset;p?r.originRatioAndOffset=[...p,-u[0],-u[1]]:r.originRatioAndOffset=[0,0,0,0]},h=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(h.disposableOn(()=>c())),c(),this.dispose(r.clickEvent.disposableOn(p=>{const{offsetX:u,offsetY:f}=p,m={type:p.button===0?"leftClick":p.button===2?"rightClick":void 0,add:{mousePos:[u,f]}};e.widgetEvent.emit(m)})),this.dispose(r.hoveredChanged.disposableOn(p=>{if(p===void 0)return;const u={type:p?"mouseEnter":"mouseLeave"};e.widgetEvent.emit(u)}))}}get czmGeoCanvasImagePoi(){return this._czmGeoCanvasImagePoi}}class I0 extends l.Destroyable{constructor(e,n,r){super();v(this,"_czmGeoImageModel");v(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});v(this,"_isPointEvent",!1);v(this,"flyTo",(e,n)=>{if(this.czmGeoImageModel.position)return Zt(this.czmViewer,this.sceneObject,n,this.sceneObject.position,Math.max(...this.czmGeoImageModel.size),e,!0);this.czmGeoImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoImageModel=this.disposeVar(new Hi(n,e.id));const o=this._czmGeoImageModel;this.ad(n.clickEvent.don(f=>{const g=f==null?void 0:f.pointerEvent;g&&(this._isPointEvent=!0,this._eventInfo={type:g.button==0?"leftClick":g.button==2?"rightClick":"leftClick",add:{mousePos:[g.offsetX,g.offsetY]}})})),this.d(e.pickedEvent.don(f=>{var g,m,y;f.screenPosition&&this._isPointEvent&&f.attachedInfo!="innerHoverEvent"&&((g=this._eventInfo.add)!=null&&g.mousePos)&&Math.abs(f.screenPosition[0]-((m=this._eventInfo.add)==null?void 0:m.mousePos[0]))<1&&Math.abs(f.screenPosition[1]-((y=this._eventInfo.add)==null?void 0:y.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),w.registerCreatedEventUpdate(this,e,()=>{const f=n.getEngineObject(e);this.ad(f.lastHoverResultChanged.don((g,m)=>{(g==null?void 0:g.sceneObject)==(m==null?void 0:m.sceneObject)||(g==null?void 0:g.sceneObject)!=e&&(m==null?void 0:m.sceneObject)!=e||(g!=null&&g.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:g==null?void 0:g.screenPosition}},g.sceneObject.widgetEvent.emit(this._eventInfo)),m!=null&&m.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:g==null?void 0:g.screenPosition}},m.sceneObject.widgetEvent.emit(this._eventInfo)))}))});const s=e.sizeByContent,c=(f=>{let g=f;return f.includes("inner://")&&(g="${earthsdk3-assets-script-dir}/assets/img/points/"+f.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(ac(g))})(typeof r.sceneObject.url=="string"?r.sceneObject.url:r.sceneObject.url.url),h=new Image;h.src=c,h.onload=()=>{if(s)o.size=[h.width/100,h.height/100];else{const f=e.size;o.size=[f[0]/100,f[1]/100]}},o.uri=c,this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"])),o.pixelSize=void 0,o.useAxis="XZ";{const f=()=>{o.scale=[e.scale[1],e.scale[2]]};f(),this.d(e.scaleChanged.don(f))}{const f=()=>{e.rotationType===0&&(o.rotationMode="WithProp",this.d(it([o,"rotation"],[e,"rotation"]))),e.rotationType===1&&(o.rotationMode="WithCamera"),e.rotationType===2&&(o.rotationMode="WithCameraOnlyZ")};f(),this.dispose(e.rotationTypeChanged.disposableOn(f))}const p=()=>{const f=e.anchor,g=e.offset;f?o.originRatioAndOffset=[...f,-g[0]/100,-g[1]/100]:o.originRatioAndOffset=[0,0,0,0]},u=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(u.disposableOn(()=>p())),p()}get czmGeoImageModel(){return this._czmGeoImageModel}}const Ua=class Ua extends Ws{constructor(e,n){super(e,n);v(this,"_resetting");if(!n.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(l.createNextAnimateFrameEvent(this.sceneObject.urlChanged,this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged));this._resetting=this.disposeVar(new l.ObjResettingWithEvent(o,()=>this.sceneObject.screenRender?new D0(this.sceneObject,this.czmViewer):new I0(this.sceneObject,this.czmViewer,this)))}get resetting(){return this._resetting}flyTo(e,n){const{sceneObject:r,czmViewer:o,resetting:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):(s&&s.obj&&s.obj.flyTo(e,n),r.flyOverEvent.emit(n,"over",o),!0):!1}};v(Ua,"type",Ua.register("ESCesiumViewer",w.ESImageLabel.type,Ua));let np=Ua;function e2(t){switch(t){case"wms":return"WebMapServiceImageryProvider";case"tms":return"TileMapServiceImageryProvider";case"wmts":return"WebMapTileServiceImageryProvider";case"xyz":return"UrlTemplateImageryProvider";case"ion":return"IonImageryProvider"}}const Wa=class Wa extends $t{constructor(e,n){super(e,n);v(this,"_czmImagery");if(this._czmImagery=this.dv(new kn(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this._czmImagery;{const s=this.ad(l.reactJson(""));{const h=()=>{if(typeof e.url=="string")s.value=w.ESSceneObject.context.getStrFromEnv(e.url);else{const p=e.url;p.url=w.ESSceneObject.context.getStrFromEnv(p.url),s.value=p}};h(),this.ad(e.urlChanged.don(h))}const a=()=>{var m;if(!s.value)return;const h=(((m=e.options)==null?void 0:m.type)??"auto").toLowerCase(),p=e.options??{};let u={type:"UrlTemplateImageryProvider",url:s.value,rectangle:e.rectangle,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,...p},f=s.value,g=typeof f=="string"?f:f.url;if(h==="auto"){const y=g.toLowerCase();if(y.startsWith("ion://")){const S=+y.substring(6);u={...p,assetId:S,type:"IonImageryProvider"}}else if(y.includes("{x}")||y.includes("{y}")||y.includes("{z}"))u.type="UrlTemplateImageryProvider";else if(y.includes("wmts"))u.type="WebMapTileServiceImageryProvider";else if(y.includes("wms"))u.type="WebMapServiceImageryProvider";else{if(g.includes("/tilemapresource.xml")){const _=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=_:f.url=_,u.url=f}u.type="TileMapServiceImageryProvider"}}else{if(h==="tms"&&g.includes("/tilemapresource.xml")){const y=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=y:f.url=y,u.url=f}else if(h==="ion"&&g.startsWith("ion://")){const _=+g.substring(6);u={...p,assetId:_,type:"IonImageryProvider"}}u.type=e2(h)}console.log("imageryProvider",u),o.imageryProvider=u};a();const c=this.dv(l.createNextAnimateFrameEvent(s.changed,e.maximumLevelChanged,e.minimumLevelChanged,e.optionsChanged,e.rectangleChanged));this.d(c.don(a))}this.d(l.track([o,"show"],[e,"show"])),this.d(l.bind([o,"alpha"],[e,"opacity"])),this.d(l.bind([o,"alpha"],[e,"czmAlpha"])),this.d(l.track([o,"splitDirection"],[e,"splitDirection"])),this.d(l.track([o,"brightness"],[e,"czmBrightness"])),this.d(l.track([o,"contrast"],[e,"czmContrast"])),this.d(l.track([o,"hue"],[e,"czmHue"])),this.d(l.track([o,"saturation"],[e,"czmSaturation"])),this.d(l.track([o,"gamma"],[e,"czmGamma"])),this.d(l.track([o,"rectangle"],[e,"rectangle"])),this.d(l.track([o,"zIndex"],[e,"zIndex"]))}get czmImagery(){return this._czmImagery}flyTo(e,n){const{sceneObject:r,czmViewer:o,czmImagery:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):(s.flyTo(e&&e),r.flyOverEvent.emit(n,"over",o),!0):!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,czmImagery:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):(s.flyTo(e&&e),r.flyOverEvent.emit(n,"over",o),!0):!1}};v(Wa,"type",Wa.register("ESCesiumViewer",w.ESImageryLayer.type,Wa));let op=Wa;class t2 extends l.Destroyable{constructor(e,n,r,o){super();v(this,"_show");v(this,"_czmESCustomPrimitive");v(this,"_czmTexture");this._sceneObject=e,this._show=this.disposeVar(l.react(this._sceneObject.show)),this._czmESCustomPrimitive=this.dv(new Fe(n,this._sceneObject.id)),this._czmTexture=this.dv(new Ne(n));const s=e,a=this._czmESCustomPrimitive,c=this._czmTexture;this.dispose(l.track([a,"show"],[this,"show"])),this.dispose(l.track([a,"show"],[s,"show"])),this.dispose(l.track([a,"allowPicking"],[s,"allowPicking"])),this.dispose(l.track([a,"rotation"],[s,"rotation"])),this.dispose(l.track([a,"position"],[s,"position"])),this.dispose(l.track([a,"scale"],[s,"scale"])),this.ad(s.allowPickingChanged.don(()=>{a.allowPicking=s.allowPicking,a.pass=s.allowPicking?"TRANSLUCENT":"OVERLAY"}));{const h=()=>{const u=s.size/2,f=o[0].map(L=>L*u),g=o[1].map(L=>L*u),m=o[2].map(L=>L*u),y=o[3].map(L=>L*u),_=[...f,...g,...m,...y];let S=[0,3,2,0,2,1];(r=="north"||r=="west"||r=="bottom")&&(S=S.reverse());const C=[0,0],E=[1,0],M=[1,1],D=[0,1];let R=[];r=="east"||r=="south"?R=[...E,...C,...D,...M]:r=="west"?R=[...E,...M,...D,...C]:r=="top"?R=[...D,...M,...E,...C]:R=[...C,...E,...M,...D],a.indexTypedArray=new Uint16Array(S),a.attributes={position:{typedArray:new Float32Array(_),componentsPerAttribute:3},st:{typedArray:new Float32Array(R),componentsPerAttribute:2}},c.uri=w.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/${r}.${s.mode!="blueSky"?"png":"jpg"}`);const x=n.getCameraInfo();if(x!=null){const U=w.getDistancesFromPositions([s.position,x.position],"NONE")[0]/(s.size/2*s.autoOpacityFactor);this.changeOpacity(s.autoFollow?1:U)}const z=a.computeLocalAxisedBoundingBoxFromAttribute("position");if(!z)return;const{min:W,max:V}=z;a.setLocalAxisedBoundingBox(W,V)};h();const p=this.disposeVar(l.createNextAnimateFrameEvent(s.sizeChanged,s.modeChanged));this.dispose(p.disposableOn(h))}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}get czmESCustomPrimitive(){return this._czmESCustomPrimitive}get czmTexture(){return this._czmTexture}changeOpacity(e){this._czmESCustomPrimitive.uniformMap={u_image:{type:"texture",id:this._czmTexture.id},u_color:[1,1,1,1-e>=0?1-e:0]}}}class i2 extends l.Destroyable{constructor(i,e,n){if(super(),!e.viewer)return;let r=!0,o;this.dispose(e.viewer.scene.preUpdate.addEventListener(()=>{s()}));function s(){var c;if(!((c=e.viewer)!=null&&c.camera))return;const a=e.getCameraInfo();if(a!=null&&(o==null||o.position[0]!=a.position[0]||o.position[1]!=a.position[1]||o.position[2]!=a.position[2]||o.rotation[0]!=a.rotation[0]||o.rotation[1]!=a.rotation[1]||o.rotation[2]!=a.rotation[2])){o=a;const p=w.getDistancesFromPositions([i.position,o.position],"NONE")[0]/(i.size/2*i.autoOpacityFactor);i.autoFollow?(i.position=o.position,r&&(r=!1,n.forEach(u=>{u.changeOpacity(1)}))):n.forEach(u=>{u.changeOpacity(p)})}}s()}}const Be=class Be extends ye{constructor(e,n){super(e,n);v(this,"_czmSkyBoxComponents",[]);if(!n.viewer){console.warn("viewer is undefined!");return}!Be._defaultLocalBox&&Be._firstLoad&&(Be._firstLoad=!1,Be._defaultLocalBox=n.xbsjLocalBoxSources),Be._eSLocalSkyBoxArr.push(e),this.d(()=>{Be._eSLocalSkyBoxArr.includes(e)&&Be._eSLocalSkyBoxArr.splice(Be._eSLocalSkyBoxArr.indexOf(e),1),this.ChangeAutoFollow()});const o={bottom:[[-1,-1,-1],[1,-1,-1],[1,1,-1],[-1,1,-1]],top:[[-1,-1,1],[1,-1,1],[1,1,1],[-1,1,1]],south:[[-1,-1,-1],[1,-1,-1],[1,-1,1],[-1,-1,1]],north:[[-1,1,-1],[1,1,-1],[1,1,1],[-1,1,1]],east:[[1,-1,-1],[1,1,-1],[1,1,1],[1,-1,1]],west:[[-1,1,-1],[-1,1,1],[-1,-1,1],[-1,-1,-1]]};for(const s in o)if(Object.prototype.hasOwnProperty.call(o,s)){const a=o[s];this._czmSkyBoxComponents.push(this.dv(new t2(e,n,s,a)))}{const s=this.disposeVar(l.createNextAnimateFrameEvent(e.autoFollowChanged,e.autoOpacityFactorChanged));this.disposeVar(new l.ObjResettingWithEvent(s,()=>(this.ChangeAutoFollow(),new i2(e,n,this._czmSkyBoxComponents))))}{const s=()=>{this.ChangeAutoFollow()},a=this.disposeVar(l.createNextAnimateFrameEvent(e.sizeChanged,e.modeChanged,e.showChanged));this.dispose(a.disposableOn(s))}}ChangeAutoFollow(){const{czmViewer:e}=this;for(let n=Be._eSLocalSkyBoxArr.length-1;n>=0;n--){const r=Be._eSLocalSkyBoxArr[n];if(r.autoFollow&&r.show){e.xbsjLocalBoxSources={positiveX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/east.${r.mode!="blueSky"?"png":"jpg"}`,negativeX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/west.${r.mode!="blueSky"?"png":"jpg"}`,positiveY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/bottom.${r.mode!="blueSky"?"png":"jpg"}`,negativeY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/top.${r.mode!="blueSky"?"png":"jpg"}`,positiveZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/north.${r.mode!="blueSky"?"png":"jpg"}`,negativeZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/south.${r.mode!="blueSky"?"png":"jpg"}`};break}n==0&&(e.xbsjLocalBoxSources=Be._defaultLocalBox)}Be._eSLocalSkyBoxArr.length==0&&(e.xbsjLocalBoxSources=Be._defaultLocalBox)}flyTo(e,n){const{sceneObject:r,czmViewer:o}=this;if(!o.actived)return!1;if(r.flyToParam||r.flyInParam)return super.flyTo(e,n);{const s=r.size??w.ESLocalSkyBox.defaults.size;return r.position?(Zt(o,r,n,r.position,s,e,!0),!0):!1}}};v(Be,"type",Be.register("ESCesiumViewer",w.ESLocalSkyBox.type,Be)),v(Be,"_defaultLocalBox"),v(Be,"_firstLoad",!0),v(Be,"_eSLocalSkyBoxArr",[]);let rp=Be;const ti=class ti extends ye{constructor(e,n){super(e,n);v(this,"_geoCustomDivPoi");v(this,"_textFunc",this.disposeVar(l.react(void 0)));if(this._geoCustomDivPoi=this.disposeVar(new Xe(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this.geoCustomDivPoi;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"]));{this.dispose(o.pickedEvent.disposableOn(s=>{(e.allowPicking??w.ESLocationMeasurement.defaults.allowPicking)&&e.pickedEvent.emit(s)})),this.dispose(o.innerHtmlMounted.disposableOn(s=>{const a=s.firstElementChild;a&&(a.style.pointerEvents="auto",a.style.cursor="default",a.onclick=c=>o.pickFromDiv(a,{type:"viewerPicking",pointerEvent:c}))}));{const s=()=>{if(!e.position)return;const c=(this.textFunc??ti.defaultTextFunc_度格式)(e.position);o.innerHTML=ho(c)};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.positionChanged,this.textFuncChanged));this.dispose(a.disposableOn(s))}{const s=()=>{n.lonLatFormat??(n.lonLatFormat="DECIMAL_DEGREE"),this.textFunc=n.lonLatFormat=="DECIMAL_DEGREE"?ti.defaultTextFunc_度格式:n.lonLatFormat=="DEGREES_DECIMAL_MINUTES"?ti.defaultTextFunc_度分格式:ti.defaultTextFunc_度分秒格式};s(),this.d(n.lonLatFormatChanged.don(()=>{s()}))}}}get geoCustomDivPoi(){return this._geoCustomDivPoi}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}flyTo(e,n){const{sceneObject:r,czmViewer:o,geoCustomDivPoi:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):(s.flyTo(e),r.flyOverEvent.emit(n,"over",o),!0):!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,geoCustomDivPoi:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):(s.flyTo(e),r.flyOverEvent.emit(n,"over",o),!0):!1}};v(ti,"type",ti.register("ESCesiumViewer",w.ESLocationMeasurement.type,ti)),v(ti,"defaultTextFunc_度格式",e=>{if(!e)return"";const[n=0,r=0,o=0]=e;return`经度: ${n.toFixed(5)}°
1640
+ `,Qe=class Qe extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_dataSource",this.disposeVar(l.react(void 0)));v(this,"_data");v(this,"_defaultHeight",{});v(this,"_defaultBoundingSphere",new d.BoundingSphere);const r=e.viewer;if(!r){console.warn("viewer is undefined!");return}let o=()=>{this.dataSource&&r.dataSources.remove(this.dataSource,!0),this.dataSource=void 0,this._data=void 0};this.dispose(()=>{o()});{const s=this.dv(l.createProcessingFromAsyncFunc(async h=>{if(this.dataSource&&o(),!!this.url){do{if(typeof this.url=="object"){this._data=this.url;break}if(this._isJSONString(this.url)){this._data=JSON.parse(this.url);break}await fetch(w.ESSceneObject.context.getStrFromEnv(this.url)).then(p=>p.json()).then(p=>{this._data=p}).catch(p=>{console.warn("ESGeoJson数据加载失败",p)})}while(!1);this.dataSource=await d.GeoJsonDataSource.load(this._data),r.dataSources.add(this.dataSource).then(p=>{var f,g;const u=[];for(const m of p.entities.values)if(d.Entity.prototype&&(m.ESSceneObjectID=n),this._isEntityShow(m,e),m.polygon&&u.push(...(f=m.polygon.hierarchy)==null?void 0:f.getValue(d.JulianDate.now()).positions),m.polyline&&u.push(...(g=m.polyline.positions)==null?void 0:g.getValue(d.JulianDate.now())),m.position){const y=m.position.getValue(d.JulianDate.now());y&&u.push(y)}this._defaultBoundingSphere=d.BoundingSphere.fromPoints(u)})}})),a=()=>{s.isRunning&&s.cancel(),s.restart()};a();const c=this.dv(l.createNextAnimateFrameEvent(this.loadFunChanged,this.urlChanged));this.dispose(c.don(a))}{const s=()=>{var c,h;if(this.dataSource)if(this.dataSource.show=this.show,this.loadFun)try{this.loadFun(this.dataSource)}catch(p){console.error(p)}else{const p=this.dataSource.entities.values;for(let u=0;u<p.length;u++){const f=p[u];if(f.polygon){this._defaultHeight[f.id]||(this._defaultHeight[f.id]=(c=f.polygon.height)==null?void 0:c.getValue(d.JulianDate.now())),f.polygon.height=this.fillGround?void 0:new d.ConstantProperty(this._defaultHeight[f.id]),f.polygon.perPositionHeight=new d.ConstantProperty(!this.fillGround),f.polygon.heightReference=new d.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?d.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?d.HeightReference.CLAMP_TO_GROUND:d.HeightReference.RELATIVE_TO_GROUND),f.polygon.show=new d.ConstantProperty(this.filled??Qe.defaults.filled),f.polygon.material=new d.ColorMaterialProperty(new d.Color(...this.fillColor??Qe.defaults.fillColor)),f.polygon.outline=new d.ConstantProperty(!1),f.polyline=new d.PolylineGraphics;const g=JSON.parse(JSON.stringify((h=f.polygon.hierarchy)==null?void 0:h.getValue(d.JulianDate.now()).positions));d.Cartesian3.equals(g[0],g[g.length-1])||g.push(g[0]),f.polyline.positions=g}if(f.polyline&&(f.polyline.show=new d.ConstantProperty(this.stroked??Qe.defaults.stroked),f.polyline.width=new d.ConstantProperty(this.strokeWidth??Qe.defaults.strokeWidth),f.polyline.material=new d.ColorMaterialProperty(new d.Color(...this.strokeColor??Qe.defaults.strokeColor)),f.polyline.clampToGround=new d.ConstantProperty(this.strokeGround)),f.billboard){f.billboard.show=new d.ConstantProperty(this.imageShow??Qe.defaults.imageShow),f.billboard.width=new d.ConstantProperty(this.imageSize?this.imageSize[0]:Qe.defaults.imageSize[0]),f.billboard.height=new d.ConstantProperty(this.imageSize?this.imageSize[1]:Qe.defaults.imageSize[1]);const g=this.imageUrl?typeof this.imageUrl=="string"?this.imageUrl:this.imageUrl.url:Qe.defaults.imageUrl;f.billboard.image=new d.ConstantProperty(w.ESSceneObject.context.getStrFromEnv(g)),f.billboard.horizontalOrigin=new d.ConstantProperty(d.HorizontalOrigin.LEFT),f.billboard.verticalOrigin=new d.ConstantProperty(d.VerticalOrigin.TOP),f.billboard.heightReference=new d.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?d.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?d.HeightReference.CLAMP_TO_GROUND:d.HeightReference.RELATIVE_TO_GROUND);const m=this.imageAnchor??Qe.defaults.imageAnchor,y=this.imageOffset??Qe.defaults.imageOffset;if(f.billboard.pixelOffset=new d.ConstantProperty(d.Cartesian2.fromArray([-m[0]*f.billboard.width.getValue(d.JulianDate.now())+y[0],-m[1]*f.billboard.height.getValue(d.JulianDate.now())+y[1]])),f.label=new d.LabelGraphics,!f.label)return;f.label.show=new d.ConstantProperty(this.textShow??Qe.defaults.textShow),f.label.heightReference=new d.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?d.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?d.HeightReference.CLAMP_TO_GROUND:d.HeightReference.RELATIVE_TO_GROUND),f.label.text=new d.ConstantProperty(this.textProperty&&this.textProperty!==""&&f.properties&&f.properties[this.textProperty]?f.properties[this.textProperty].getValue():this.textDefaultText??Qe.defaults.textDefaultText),f.label.fillColor=new d.ConstantProperty(new d.Color(...this.textColor??Qe.defaults.textColor)),f.label.showBackground=new d.ConstantProperty(this.textBackgroundColor!=null);const _=this.textFontSize&&this.textFontSize!=0?this.textFontSize:Qe.defaults.textFontSize,S=this.textOffset??Qe.defaults.textOffset;f.label.backgroundColor=new d.ConstantProperty(new d.Color(...this.textBackgroundColor??Qe.defaults.textBackgroundColor)),f.label.font=new d.ConstantProperty(`${this.textFontStyle} ${this.textFontWeight} ${_}px ${this.textFontFamily??Qe.defaults.textFontFamily}`),f.label.horizontalOrigin=new d.ConstantProperty(d.HorizontalOrigin.LEFT),f.label.verticalOrigin=new d.ConstantProperty(d.VerticalOrigin.TOP),f.label.eyeOffset=new d.ConstantProperty(d.Cartesian3.fromArray([0,0,-1]));const C=this.textAnchor??Qe.defaults.textAnchor;f.label.pixelOffset=new d.ConstantProperty(d.Cartesian2.fromArray([-C[0]*((this.textBackgroundColor?-14:-_*2)+this._countBytes(f.label.text.getValue(d.JulianDate.now()))/2*_)+S[0],-C[1]*((this.textBackgroundColor?10:0)+_)+S[1]]))}}}};s();const a=this.dv(l.createNextAnimateFrameEvent(this._dataSource.changed,this.showChanged,this.strokedChanged,this.strokeWidthChanged,this.strokeWidthTypeChanged,this.strokeColorChanged,this.strokeMaterialChanged,this.strokeMaterialParamsChanged,this.strokeGroundChanged,this.filledChanged,this.fillColorChanged,this.fillMaterialChanged,this.fillMaterialParamsChanged,this.fillGroundChanged,this.imageShowChanged,this.imageUrlChanged,this.imageSizeChanged,this.imageAnchorChanged,this.imageOffsetChanged,this.textShowChanged,this.textPropertyChanged,this.textDefaultTextChanged,this.textColorChanged,this.textBackgroundColorChanged,this.textFontFamilyChanged,this.textFontSizeChanged,this.textFontStyleChanged,this.textFontWeightChanged,this.textAnchorChanged,this.textOffsetChanged,this.heightReferenceChanged));this.dispose(a.don(s))}{const s=()=>{if(!this.dataSource)return;const c=this.dataSource.entities.values;for(let h=0;h<c.length;h++){const p=c[h];this._isEntityShow(p,e)}};s();const a=this.ad(l.createNextAnimateFrameEvent(this.minFeatureVisibleDistanceChanged,this.maxFeatureVisibleDistanceChanged,e.cameraChanged,this.showChanged));this.ad(a.don(s))}{const s=()=>{if(this.loadFuncStr)try{const a=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=a}catch(a){console.error(a),this.loadFun=void 0}else this.loadFun=void 0};s(),this.dispose(this.loadFuncStrChanged.disposableOn(s))}this.dispose(this.flyToEvent.disposableOn(s=>{e.actived&&this.dataSource&&(s!==void 0?r.flyTo(this.dataSource,{duration:s/1e3}).then(a=>{a||r.camera.flyToBoundingSphere(this._defaultBoundingSphere,{duration:s/1e3})}):r.flyTo(this.dataSource).then(a=>{a||r.camera.flyToBoundingSphere(this._defaultBoundingSphere)}))}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}_isJSONString(e){try{return JSON.parse(e),!0}catch{return!1}}_countBytes(e){let n=0;for(let r=0;r<e.length;r++){const o=e.charCodeAt(r);o<=127?n+=1:o<=2047?n+=2:o<=65535?n+=3:n+=4}return n}_isEntityShow(e,n){var r;if(this.minFeatureVisibleDistance==0&&this.maxFeatureVisibleDistance==0){e.show=this.show;return}if((r=n.viewer)!=null&&r.camera&&this.show){let o;do{if(e.polygon&&e.polygon.hierarchy){o=w.getMinMaxCorner(e.polygon.hierarchy.getValue(d.JulianDate.now()).positions.map(c=>ce(c))).center;break}if(e.polyline&&e.polyline.positions&&(o=w.getMinMaxCorner(e.polyline.positions.getValue(d.JulianDate.now()).map(c=>ce(c))).center),e.position){const c=e.position.getValue(d.JulianDate.now());c&&(o=ce(c))}}while(!1);if(!o||isNaN(o[0]))return;const s=w.getDistancesFromPositions([o,Lt(n.viewer.camera)],"NONE")[0];let a=!1;this.minFeatureVisibleDistance<this.maxFeatureVisibleDistance?a=this.minFeatureVisibleDistance<s&&s<this.maxFeatureVisibleDistance:this.maxFeatureVisibleDistance==0?a=s>this.minFeatureVisibleDistance:this.minFeatureVisibleDistance==0&&(a=s<this.maxFeatureVisibleDistance),e.show=this.show&&a}}};v(Qe,"defaults",{show:!0,allowPicking:!0,url:T0,defaultLoadFuncStr:A0,defaultLoadFuncDocStr:jI,data:JI,dataMd:BI,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/misc/location.png",imageSize:[64,64],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:[.79,.91,.06,1],textFontFamily:"Arial",textFontSize:16,textFontWeight:"normal",textFontStyle:"normal",textAnchor:[.5,1],textOffset:[0,0],strokeWidthTypes:[["screen","screen"],["world","world"]],minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let bo=Qe;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:void 0,loadFuncStr:void 0,url:void 0,stroked:void 0,strokeWidth:void 0,strokeWidthType:"world",strokeColor:l.reactArrayWithUndefined(void 0),strokeMaterial:void 0,strokeMaterialParams:l.reactJsonWithUndefined(void 0),strokeGround:void 0,filled:void 0,fillColor:l.reactArrayWithUndefined(void 0),fillMaterial:void 0,fillMaterialParams:l.reactJsonWithUndefined(void 0),fillGround:void 0,imageShow:void 0,imageUrl:void 0,imageSize:l.reactArrayWithUndefined(void 0),imageAnchor:l.reactArrayWithUndefined(void 0),imageOffset:l.reactArrayWithUndefined(void 0),textShow:void 0,textProperty:void 0,textDefaultText:void 0,textColor:l.reactArrayWithUndefined(void 0),textBackgroundColor:l.reactArrayWithUndefined(void 0),textFontFamily:void 0,textFontSize:void 0,textFontStyle:void 0,textFontWeight:void 0,textAnchor:l.reactArrayWithUndefined(void 0),textOffset:l.reactArrayWithUndefined(void 0),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})})(bo||(bo={})),l.extendClassProps(bo.prototype,bo.createDefaultProps);const Fa=class Fa extends $t{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const r=this.disposeVar(new bo(e,i.id));this.dispose(l.track([r,"show"],[i,"show"])),this.dispose(l.track([r,"allowPicking"],[i,"allowPicking"])),this.dispose(l.track([r,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.track([r,"url"],[i,"features"])),this.dispose(l.track([r,"stroked"],[i,"stroked"])),this.dispose(l.track([r,"strokeWidth"],[i,"strokeWidth"])),this.dispose(l.track([r,"strokeWidthType"],[i,"strokeWidthType"])),this.dispose(l.track([r,"strokeColor"],[i,"strokeColor"])),this.dispose(l.track([r,"strokeMaterial"],[i,"strokeMaterial"])),this.dispose(l.track([r,"strokeMaterialParams"],[i,"strokeMaterialParams"])),this.dispose(l.track([r,"strokeGround"],[i,"strokeGround"])),this.dispose(l.track([r,"filled"],[i,"filled"])),this.dispose(l.track([r,"fillColor"],[i,"fillColor"])),this.dispose(l.track([r,"fillMaterial"],[i,"fillMaterial"])),this.dispose(l.track([r,"fillMaterialParams"],[i,"fillMaterialParams"])),this.dispose(l.track([r,"fillGround"],[i,"fillGround"])),this.dispose(l.track([r,"imageShow"],[i,"imageShow"])),this.dispose(l.track([r,"imageUrl"],[i,"imageUrl"])),this.dispose(l.track([r,"imageSize"],[i,"imageSize"])),this.dispose(l.track([r,"imageAnchor"],[i,"imageAnchor"])),this.dispose(l.track([r,"imageOffset"],[i,"imageOffset"])),this.dispose(l.track([r,"textShow"],[i,"textShow"])),this.dispose(l.track([r,"textProperty"],[i,"textProperty"])),this.dispose(l.track([r,"textDefaultText"],[i,"textDefaultText"])),this.dispose(l.track([r,"textColor"],[i,"textColor"])),this.dispose(l.track([r,"textBackgroundColor"],[i,"textBackgroundColor"])),this.dispose(l.track([r,"textFontFamily"],[i,"textFontFamily"])),this.dispose(l.track([r,"textFontSize"],[i,"textFontSize"])),this.dispose(l.track([r,"textFontStyle"],[i,"textFontStyle"])),this.dispose(l.track([r,"textFontWeight"],[i,"textFontWeight"])),this.dispose(l.track([r,"textAnchor"],[i,"textAnchor"])),this.dispose(l.track([r,"textOffset"],[i,"textOffset"])),this.dispose(l.track([r,"minFeatureVisibleDistance"],[i,"minFeatureVisibleDistance"])),this.dispose(l.track([r,"maxFeatureVisibleDistance"],[i,"maxFeatureVisibleDistance"])),this.dispose(l.track([r,"heightReference"],[i,"heightReference"])),this.dispose(i.flyToEvent.disposableOn(o=>{if(e.actived){if(i.flyInParam){const{position:s,rotation:a,flyDuration:c}=i.flyInParam;return re(e.viewer,s,void 0,a,c),!0}r.flyTo(o&&o*1e3)}}));{const o=(s,a,c)=>{if(!e.actived)return;const h=JSON.parse(JSON.stringify(this._getFeatureByIndexOrProperties(s,a)));if(!(!h||!(h!=null&&h.positions)))if(h.type=="Point"||h.type=="MultiPoint")Zt(e,i,this.id,this._calculateFeatureHeight(h.type=="MultiPoint"?h.positions.flat():h.positions,i.heightReference,e),1e3,c);else{const p=h.type=="Polygon"||h.type=="MultiPolygon"||h.type=="MultiLineString";let u=[];p?u=h.positions.flat(h.type=="MultiPolygon"?2:1).map(y=>this._calculateFeatureHeight(y,i.fillGround?"CLAMP_TO_GROUND":"NONE",e)):u=h.positions.map(y=>this._calculateFeatureHeight(y,i.strokeGround?"CLAMP_TO_GROUND":"NONE",e));const{minPos:f,maxPos:g,center:m}=w.getMinMaxCorner(u);Zt(e,i,this.id,m,w.getDistancesFromPositions([f,g],"NONE")[0],c)}};this.d(i.flyToFeatureEvent.don((s,a,c)=>o(s,a,c))),this.d(i.flyToFeatureIndexEvent.don((s,a)=>o(s,void 0,a)))}}_getFeatureByIndexOrProperties(i,e){var s,a,c,h,p,u,f,g;const{sceneObject:n}=this,r=n.features;if(!r)return;const o=Reflect.get(r,"features")||Reflect.get(r,"geometries");if(o){if(e){let m=o.find(y=>(y==null?void 0:y.properties[i])==e);return{type:m!=null&&m.coordinates?m.type:(s=m==null?void 0:m.geometry)==null?void 0:s.type,positions:(m==null?void 0:m.coordinates)||((a=m==null?void 0:m.geometry)==null?void 0:a.coordinates)}}else if(typeof i=="number")return{type:(c=o[i])!=null&&c.coordinates?o[i].type:(p=(h=o[i])==null?void 0:h.geometry)==null?void 0:p.type,positions:((u=o[i])==null?void 0:u.coordinates)||((g=(f=o[i])==null?void 0:f.geometry)==null?void 0:g.coordinates)}}}_calculateFeatureHeight(i,e,n){const{sceneObject:r}=this,o=[...i];do{if(e=="NONE"){o[2]=o[2]??0;break}if(e=="CLAMP_TO_GROUND"||!o[2]){o[2]=n.getTerrainHeight(o)??0;break}o[2]+=n.getTerrainHeight(o)??0}while(!1);return o}};v(Fa,"type",Fa.register("ESCesiumViewer",w.ESGeoJson.type,Fa));let Ju=Fa;const za=class za extends Pt{constructor(e,n){super(e,n);v(this,"_czmGeoESRectangle");v(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new Ie(n,e.id)),this._czmGeoESRectangle=this.disposeVar(new yi(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoESRectangle,s=this._geoPolyline;s.arcType="RHUMB",this.dispose(l.track([s,"color"],[e,"strokeColor"])),this.dispose(l.track([s,"width"],[e,"strokeWidth"])),this.dispose(l.track([s,"ground"],[e,"strokeGround"])),this.dispose(l.track([o,"ground"],[e,"fillGround"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"]));{const a=()=>{s.show=e.show&&e.stroked,o.show=e.show&&e.filled};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{e.filled?o.material={type:"Color",color:e.fillColor}:o.material=void 0};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{const c=e.points;if(c&&c.length>=2){const{minPos:h,maxPos:p}=w.getMinMaxCorner(c);o.rectangle=[h[0],h[1],p[0],p[1]],o.height=c[0][2],o.extrudedHeight=c[0][2];const u=c.map(y=>(c&&(y[2]=c[0][2]),y)),f=u[0],g=u[1],m=[f,[f[0],g[1],f[2]],g,[g[0],f[1],g[2]]];s.positions=[...m,f]}else o.rectangle=void 0,s.positions=void 0,o.height=0,o.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}}get czmGeoESRectangle(){return this._czmGeoESRectangle}flyTo(e,n){const{sceneObject:r,czmViewer:o}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):r.points?(se(o,r,n,r.points,e),!0):!1:!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,czmGeoESRectangle:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):r.points?(se(o,r,n,r.points,e),!0):!1:!1}};v(za,"type",za.register("ESCesiumViewer",w.ESGeoRectangle.type,za));let Bu=za;class qs extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_geoPolygon");this._geoPolygon=this.disposeVar(new _n(e,n));const{geoPolygon:r}=this;this.dispose(l.bind([r,"allowPicking"],[this,"allowPicking"])),this.dispose(this.flyToEvent.disposableOn(s=>{r.flyTo(s)})),this.dispose(l.bind([r,"show"],[this,"show"])),this.dispose(l.bind([r,"fill"],[this,"filled"])),this.dispose(l.bind([r,"strokeGround"],[this,"strokeGround"])),this.dispose(l.bind([r,"ground"],[this,"ground"])),this.dispose(l.bind([r,"outline"],[this,"outline"])),this.dispose(l.bind([r,"outlineColor"],[this,"outlineColor"])),this.dispose(l.bind([r,"outlineWidth"],[this,"outlineWidth"])),this.dispose(l.bind([r,"color"],[this,"color"])),this.dispose(l.bind([r,"depth"],[this,"depth"]));const o=()=>{if(this.positions&&this.positions.length>=2){const s=dd([...this.positions,this.positions[0]]);r.positions=s}else r.positions=void 0};o(),this.dispose(this.positionsChanged.disposableOn(o))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygon(){return this._geoPolygon}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,strokeGround:!1,ground:!1,outline:!1,filled:!0,outlineColor:l.reactArray([1,1,1,1]),outlineWidth:1,color:l.reactArrayWithUndefined([1,1,1,.5]),positions:l.reactPositions(void 0),depth:0})})(qs||(qs={})),l.extendClassProps(qs.prototype,qs.createDefaultProps);const La=class La extends Pt{constructor(e,n){super(e,n);v(this,"_geoSmoothPolygon");if(this._geoSmoothPolygon=this.disposeVar(new qs(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this._geoSmoothPolygon;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"positions"],[e,"points"])),this.dispose(l.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([o,"outline"],[e,"stroked"])),this.dispose(l.track([o,"outlineColor"],[e,"strokeColor"])),this.dispose(l.track([o,"outlineWidth"],[e,"strokeWidth"])),this.dispose(l.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([o,"filled"],[e,"filled"])),this.dispose(l.track([o,"color"],[e,"fillColor"])),this.dispose(l.track([o,"ground"],[e,"ground"]));{const s=()=>{o.ground=e.ground||e.fillGround};s();const a=this.dv(l.createNextAnimateFrameEvent(e.groundChanged,e.fillGroundChanged));this.d(a.don(s))}{const s=()=>{o.color=e.filled?e.fillColor:Ki.defaults.fillStyle.color};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(s))}this.dispose(l.track([o,"depth"],[e,"depth"]))}get geoSmoothPolygon(){return this._geoSmoothPolygon}flyTo(e,n){const{sceneObject:r,czmViewer:o,geoSmoothPolygon:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,geoSmoothPolygon:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}};v(La,"type",La.register("ESCesiumViewer",Ki.type,La));let ju=La;const Na=class Na extends ye{constructor(e,n){super(e,n);v(this,"_czmModel");const r=n.viewer;if(!r){console.warn("viewer is undefined!");return}this._czmModel=this.dv(new ct(n,e.id));const o=this._czmModel;this.d(o.readyEvent.don(a=>{o.gltf.animations&&(o.activeAnimationsJson=o.gltf.animations.map((c,h)=>({index:h,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"})),o.activeAnimationsAnimateWhilePaused=!0),e.czmModelReadyEvent.emit(a)})),this.ad(new od(r,this._czmModel)),this.d(l.track([o,"show"],[e,"show"])),this.d(l.track([o,"color"],[e,"czmColor"])),this.d(l.track([o,"nativeMaximumScale"],[e,"czmMaximumScale"])),this.d(l.track([o,"nativeMinimumPixelSize"],[e,"czmMinimumPixelSize"])),this.d(l.bind([o,"position"],[e,"position"])),this.d(l.track([o,"nativeScale"],[e,"czmNativeScale"])),this.d(l.track([o,"scale"],[e,"scale"])),this.ad(l.track([o,"imageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(l.track([o,"environmentMapManager"],[e,"czmEnvironmentMapManager"]));{const a=c=>{e.czmEnvironmentMapManager=e.czmEnvironmentMapManager?{...e.czmEnvironmentMapManager,atmosphereScatteringIntensity:c}:{atmosphereScatteringIntensity:c}};a(e.czmAtmosphereScatteringIntensity),this.ad(e.czmAtmosphereScatteringIntensityChanged.don(c=>a(c)))}{const a=()=>{var c,h;(c=e.czmEnvironmentMapManager)!=null&&c.atmosphereScatteringIntensity&&(e.czmAtmosphereScatteringIntensity=(h=e.czmEnvironmentMapManager)==null?void 0:h.atmosphereScatteringIntensity)};a(),this.ad(e.czmEnvironmentMapManagerChanged.don(a))}{const a=()=>{const c=[...e.rotation??[0,0,0]];c[0]+=e.instances?0:90,o.rotation=c};a(),this.d(e.rotationChanged.don(a));{const c=()=>{if(a(),!e.instances){o.instances=e.instances;return}o.instances=e.instances.map(h=>{const p=JSON.parse(JSON.stringify(h));return!p.rotation&&(p.rotation=[0,0,0]),p.rotation[0]+=90,p})};c(),this.ad(e.instancesChanged.don(c))}}this.ad(e.setMaterialEvent.don(a=>{o.setMaterial(a)}));{const a=()=>{const c=[...o.rotation];c[0]-=e.instances?0:90,e.rotation=c};a(),this.d(o.rotationChanged.don(a))}{const a=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),c=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};c(),this.d(a.don(c))}const s=()=>{o.url=w.ESSceneObject.context.getStrFromEnv(ac(typeof e.url=="string"?e.url:e.url.url))};s(),this.d(e.urlChanged.don(s)),this.d(e.setNodePositionEvent.don((a,c)=>{o.setNodeTranslation(a,c)})),this.d(e.setNodeRotationEvent.don((a,c)=>{o.setNodeRotation(a,c)})),this.d(e.setNodeScaleEvent.don((a,c)=>{o.setNodeScale(a,c)})),this.d(e.printDebugInfoEvent.don(()=>{o.printDebugInfo()}))}get model(){return this._czmModel}flyTo(e,n){const{sceneObject:r,czmViewer:o,model:s}=this;return o.actived?r.flyToParam||r.flyInParam?(super.flyTo(e,n),!0):(s&&Dt(o,r,n,e,s,!0),!!s):!1}};v(Na,"type",Na.register("ESCesiumViewer",w.ESGltfModel.type,Na));let ep=Na;function M0(t,i){const e=t[0]-i[0],n=t[1]-i[1],r=t[2]-i[2];return Math.sqrt(e*e+n*n+r*r)}class $s extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_distance",this.disposeVar(l.react(0)));v(this,"_surfaceDistance",this.disposeVar(l.react(0)));v(this,"_height",this.disposeVar(l.react(0)));v(this,"_middlePosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));v(this,"_heightPosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));const r=()=>{if(this.positions)if(this.positions.length>=2)if(this._middlePosition.value=[this.positions[0][0],this.positions[0][1],this.positions[1][2]],this._heightPosition.value=[this.positions[0][0],this.positions[0][1],.5*(this.positions[1][2]+this.positions[0][2])],this.arcType===void 0||this.arcType==="GEODESIC"){const s=this._surfaceDistance.value=w.geoDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="RHUMB"){const s=this._surfaceDistance.value=w.geoRhumbDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="NONE"){const s=w.lbhToXyz(this.positions[0]),a=w.lbhToXyz(this.positions[1]);this._distance.value=M0(s,a),this._surfaceDistance.value=M0(w.lbhToXyz(this._middlePosition.value),a),this._height.value=this.positions[1][2]-this.positions[0][2]}else console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`);else this._heightPosition.value=void 0,this._distance.value=0,this._surfaceDistance.value=0,this._height.value=0};r();const o=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged));this.dispose(o.disposableOn(r));{const s=this.disposeVar(new Ie(e,n));s.ground=!1,s.loop=!1,this.dispose(l.track([s,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([s,"arcType"],[this,"arcType"])),this.dispose(l.bind([s,"color"],[this,"color"])),this.dispose(l.bind([s,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([s,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([s,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([s,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([s,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([s,"show"],[this,"show"])),this.dispose(l.bind([s,"width"],[this,"width"])),this.dispose(l.bind([s,"depthTest"],[this,"depthTest"]));{s.loop=!0;const c=()=>{if(this.positions&&this.positions.length===2){const[h,p]=this.positions;s.positions=[h,p,[h[0],h[1],p[2]]]}else s.positions=void 0};c(),this.dispose(this.positionsChanged.disposableOn(c))}this.dispose(this.flyToEvent.disposableOn(c=>{e.actived&&s.flyTo(c)}));const a=this.disposeVar(new Xe(e,n));this.dispose(l.track([a,"shadowDom"],[this,"shadowDom"])),this.dispose(l.track([a,"cssAllInitial"],[this,"cssAllInitial"])),this.dispose(l.track([a,"show"],[this,"show"]));{const c=()=>{a.position=this.heightPosition};c(),this.dispose(this.heightPositionChanged.disposableOn(c))}{const c=()=>{a.innerHTML=ho(`高度: ${lc(this.height)}`,0)};c(),this.dispose(this.heightChanged.disposableOn(c))}this.ad(a.pickedEvent.don(c=>{Oi(c)===0&&this.pickedEvent.emit(c)}))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}get surfaceDistance(){return this._surfaceDistance.value}get surfaceDistanceChanged(){return this._surfaceDistance.changed}get height(){return this._height.value}get heightChanged(){return this._height.changed}get middlePosition(){return this._middlePosition.value}get middlePositionChanged(){return this._middlePosition.changed}get heightPosition(){return this._heightPosition.value}get heightPositionChanged(){return this._heightPosition.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArrayWithUndefined([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1})})($s||($s={})),l.extendClassProps($s.prototype,$s.createDefaultProps);const Oa=class Oa extends Pt{constructor(e,n){super(e,n);v(this,"_geoHeightMeasurement");if(this._geoHeightMeasurement=this.disposeVar(new $s(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmHeightMeasurement:o}=this;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([o,"positions"],[e,"points"]));{const s=()=>{if(e.stroked)o.width=e.strokeWidth;else{o.width=0;return}o.width=e.strokeWidth,o.color=e.strokeColor;const h=e.strokeMaterial??"normal";h==="hasDash"?(o.hasDash=!0,o.hasArrow=!1):h==="hasArrow"?(o.hasDash=!1,o.hasArrow=!0):(o.hasDash=!1,o.hasArrow=!1);const p=e.strokeStyle;if(p.material==="hasDash"&&p.materialParams)try{const u=p.materialParams;Reflect.has(u,"gapColor")&&(o.gapColor=u.gapColor??[0,0,0,0]),Reflect.has(u,"dashLength")&&(o.dashLength=u.dashLength),Reflect.has(u,"dashPattern")&&(o.dashPattern=u.dashPattern)}catch(u){console.error(u)}else o.gapColor=[0,0,0,0],o.dashLength=0,o.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(o.pickedEvent.disposableOn(s=>{Oi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmHeightMeasurement(){return this._geoHeightMeasurement}flyTo(e,n){const{sceneObject:r,czmViewer:o,czmHeightMeasurement:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,czmHeightMeasurement:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):s.positions?(se(o,r,n,s.positions,e),!0):!1:!1}};v(Oa,"type",Oa.register("ESCesiumViewer",w.ESHeightMeasurement.type,Oa));let tp=Oa;const Va=class Va extends ye{constructor(e,n){super(e,n);v(this,"_czmModelPrimitive");const r=n.viewer;if(!r){console.warn("viewer is undefined!");return}this._czmModelPrimitive=this.disposeVar(new ct(n,this.sceneObject.id));const o=this._czmModelPrimitive;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.dispose(it([o,"rotation"],[e,"rotation"])),this.dispose(l.bind([o,"scale"],[e,"scale"]));{const y=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),_=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};_(),this.d(y.don(_))}const s=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/worker.glb"),a=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/police.glb"),c=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/pedestrian.glb"),h=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/Stranger.glb"),p=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsMan.glb"),u=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsWoman.glb"),f=()=>{switch(e.mode){case"worker":o.url=s;break;case"police":o.url=a;break;case"pedestrian":o.url=c;break;case"stranger":o.url=h;break;case"suitMan":o.url=p;break;case"suitWoman":o.url=u;break;default:o.url=s;break}};this.dispose(e.modeChanged.disposableOn(()=>{f()})),f();const g=()=>{const y=e.animation??w.ESHuman.defaults.animation;if(!e.show){o.activeAnimationsJson=void 0;return}y==="walking"?o.activeAnimationsJson=w.ESHuman.defaults.czmAnimationsWalk:y==="standing"?o.activeAnimationsJson=w.ESHuman.defaults.czmAnimationsStand:y==="running"&&(o.activeAnimationsJson=w.ESHuman.defaults.czmAnimationsRun)};g();const m=this.ad(l.createNextAnimateFrameEvent(e.showChanged,e.animationChanged));this.dispose(m.disposableOn(()=>g())),this.ad(new od(r,o))}get czmModelPrimitive(){return this._czmModelPrimitive}flyTo(e,n){const{sceneObject:r,czmViewer:o,czmModelPrimitive:s}=this;return!o.actived||!o.viewer?!1:r.flyToParam||r.flyInParam?(super.flyTo(e,n),!0):(s&&Dt(o,r,n,e,s,!0),!!s)}};v(Va,"type",Va.register("ESCesiumViewer",w.ESHuman.type,Va));let ip=Va;class D0 extends l.Destroyable{constructor(e,n){super();v(this,"_czmGeoCanvasImagePoi");v(this,"flyTo",(e,n)=>{if(this.czmGeoCanvasImagePoi.position){re(this.czmViewer.viewer,this.czmGeoCanvasImagePoi.position,1e3,Yt,e);return}this.czmGeoCanvasImagePoi.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoCanvasImagePoi=this.disposeVar(new gi(n));const r=this._czmGeoCanvasImagePoi;r.pickOnClick=!0,this.d(r.pickedEvent.don(o=>{(e.allowPicking??!1)&&e.pickedEvent.emit(o)}));{const o=p=>{let u=p;return p.includes("inner://")&&(u="${earthsdk3-assets-script-dir}/assets/img/points/"+p.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(ac(u))},s=()=>{const p=o(typeof e.url=="string"?e.url:e.url.url);if(r.imageUri=p,e.sizeByContent){const f=new Image;f.src=p,f.onload=()=>{r.size=[f.width,f.height]}}else{const f=e.size;r.size=[...f]}},a=this.disposeVar(l.createNextAnimateFrameEvent(e.urlChanged,e.sizeByContentChanged,e.sizeChanged));this.dispose(a.disposableOn(()=>s())),s(),this.d(l.track([r,"zOrder"],[e,"zOrder"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.ad(l.bind([r,"isHoverZoom"],[e,"isHoverZoom"]));{const p=()=>{r.scale=[e.scale[1],e.scale[2]]};p(),this.dispose(e.scaleChanged.don(p))}const c=()=>{const p=e.anchor,u=e.offset;p?r.originRatioAndOffset=[...p,-u[0],-u[1]]:r.originRatioAndOffset=[0,0,0,0]},h=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(h.disposableOn(()=>c())),c(),this.dispose(r.clickEvent.disposableOn(p=>{const{offsetX:u,offsetY:f}=p,m={type:p.button===0?"leftClick":p.button===2?"rightClick":void 0,add:{mousePos:[u,f]}};e.widgetEvent.emit(m)})),this.dispose(r.hoveredChanged.disposableOn(p=>{if(p===void 0)return;const u={type:p?"mouseEnter":"mouseLeave"};e.widgetEvent.emit(u)}))}}get czmGeoCanvasImagePoi(){return this._czmGeoCanvasImagePoi}}class I0 extends l.Destroyable{constructor(e,n,r){super();v(this,"_czmGeoImageModel");v(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});v(this,"_isPointEvent",!1);v(this,"flyTo",(e,n)=>{if(this.czmGeoImageModel.position)return Zt(this.czmViewer,this.sceneObject,n,this.sceneObject.position,Math.max(...this.czmGeoImageModel.size),e,!0);this.czmGeoImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoImageModel=this.disposeVar(new Hi(n,e.id));const o=this._czmGeoImageModel;this.ad(n.clickEvent.don(f=>{const g=f==null?void 0:f.pointerEvent;g&&(this._isPointEvent=!0,this._eventInfo={type:g.button==0?"leftClick":g.button==2?"rightClick":"leftClick",add:{mousePos:[g.offsetX,g.offsetY]}})})),this.d(e.pickedEvent.don(f=>{var g,m,y;f.screenPosition&&this._isPointEvent&&f.attachedInfo!="innerHoverEvent"&&((g=this._eventInfo.add)!=null&&g.mousePos)&&Math.abs(f.screenPosition[0]-((m=this._eventInfo.add)==null?void 0:m.mousePos[0]))<1&&Math.abs(f.screenPosition[1]-((y=this._eventInfo.add)==null?void 0:y.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),w.registerCreatedEventUpdate(this,e,()=>{const f=n.getEngineObject(e);this.ad(f.lastHoverResultChanged.don((g,m)=>{(g==null?void 0:g.sceneObject)==(m==null?void 0:m.sceneObject)||(g==null?void 0:g.sceneObject)!=e&&(m==null?void 0:m.sceneObject)!=e||(g!=null&&g.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:g==null?void 0:g.screenPosition}},g.sceneObject.widgetEvent.emit(this._eventInfo),e.isHoverZoom&&g.sceneObject.id==e.id&&(o.scale=[o.scale[0]*1.5,o.scale[1]*1.5])),m!=null&&m.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:g==null?void 0:g.screenPosition}},m.sceneObject.widgetEvent.emit(this._eventInfo),e.isHoverZoom&&m.sceneObject.id==e.id&&(o.scale=[o.scale[0]/1.5,o.scale[1]/1.5])))}))});const s=e.sizeByContent,c=(f=>{let g=f;return f.includes("inner://")&&(g="${earthsdk3-assets-script-dir}/assets/img/points/"+f.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(ac(g))})(typeof r.sceneObject.url=="string"?r.sceneObject.url:r.sceneObject.url.url),h=new Image;h.src=c,h.onload=()=>{if(s)o.size=[h.width/100,h.height/100];else{const f=e.size;o.size=[f[0]/100,f[1]/100]}},o.uri=c,this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"])),o.pixelSize=void 0,o.useAxis="XZ";{const f=()=>{o.scale=[e.scale[1],e.scale[2]]};f(),this.d(e.scaleChanged.don(f))}{const f=()=>{e.rotationType===0&&(o.rotationMode="WithProp",this.d(it([o,"rotation"],[e,"rotation"]))),e.rotationType===1&&(o.rotationMode="WithCamera"),e.rotationType===2&&(o.rotationMode="WithCameraOnlyZ")};f(),this.dispose(e.rotationTypeChanged.disposableOn(f))}const p=()=>{const f=e.anchor,g=e.offset;f?o.originRatioAndOffset=[...f,-g[0]/100,-g[1]/100]:o.originRatioAndOffset=[0,0,0,0]},u=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(u.disposableOn(()=>p())),p()}get czmGeoImageModel(){return this._czmGeoImageModel}}const Ua=class Ua extends Ws{constructor(e,n){super(e,n);v(this,"_resetting");if(!n.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(l.createNextAnimateFrameEvent(this.sceneObject.urlChanged,this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged));this._resetting=this.disposeVar(new l.ObjResettingWithEvent(o,()=>this.sceneObject.screenRender?new D0(this.sceneObject,this.czmViewer):new I0(this.sceneObject,this.czmViewer,this)))}get resetting(){return this._resetting}flyTo(e,n){const{sceneObject:r,czmViewer:o,resetting:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):(s&&s.obj&&s.obj.flyTo(e,n),r.flyOverEvent.emit(n,"over",o),!0):!1}};v(Ua,"type",Ua.register("ESCesiumViewer",w.ESImageLabel.type,Ua));let np=Ua;function e2(t){switch(t){case"wms":return"WebMapServiceImageryProvider";case"tms":return"TileMapServiceImageryProvider";case"wmts":return"WebMapTileServiceImageryProvider";case"xyz":return"UrlTemplateImageryProvider";case"ion":return"IonImageryProvider"}}const Wa=class Wa extends $t{constructor(e,n){super(e,n);v(this,"_czmImagery");if(this._czmImagery=this.dv(new kn(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this._czmImagery;{const s=this.ad(l.reactJson(""));{const h=()=>{if(typeof e.url=="string")s.value=w.ESSceneObject.context.getStrFromEnv(e.url);else{const p=e.url;p.url=w.ESSceneObject.context.getStrFromEnv(p.url),s.value=p}};h(),this.ad(e.urlChanged.don(h))}const a=()=>{var m;if(!s.value)return;const h=(((m=e.options)==null?void 0:m.type)??"auto").toLowerCase(),p=e.options??{};let u={type:"UrlTemplateImageryProvider",url:s.value,rectangle:e.rectangle,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,...p},f=s.value,g=typeof f=="string"?f:f.url;if(h==="auto"){const y=g.toLowerCase();if(y.startsWith("ion://")){const S=+y.substring(6);u={...p,assetId:S,type:"IonImageryProvider"}}else if(y.includes("{x}")||y.includes("{y}")||y.includes("{z}"))u.type="UrlTemplateImageryProvider";else if(y.includes("wmts"))u.type="WebMapTileServiceImageryProvider";else if(y.includes("wms"))u.type="WebMapServiceImageryProvider";else{if(g.includes("/tilemapresource.xml")){const _=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=_:f.url=_,u.url=f}u.type="TileMapServiceImageryProvider"}}else{if(h==="tms"&&g.includes("/tilemapresource.xml")){const y=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=y:f.url=y,u.url=f}else if(h==="ion"&&g.startsWith("ion://")){const _=+g.substring(6);u={...p,assetId:_,type:"IonImageryProvider"}}u.type=e2(h)}console.log("imageryProvider",u),o.imageryProvider=u};a();const c=this.dv(l.createNextAnimateFrameEvent(s.changed,e.maximumLevelChanged,e.minimumLevelChanged,e.optionsChanged,e.rectangleChanged));this.d(c.don(a))}this.d(l.track([o,"show"],[e,"show"])),this.d(l.bind([o,"alpha"],[e,"opacity"])),this.d(l.bind([o,"alpha"],[e,"czmAlpha"])),this.d(l.track([o,"splitDirection"],[e,"splitDirection"])),this.d(l.track([o,"brightness"],[e,"czmBrightness"])),this.d(l.track([o,"contrast"],[e,"czmContrast"])),this.d(l.track([o,"hue"],[e,"czmHue"])),this.d(l.track([o,"saturation"],[e,"czmSaturation"])),this.d(l.track([o,"gamma"],[e,"czmGamma"])),this.d(l.track([o,"rectangle"],[e,"rectangle"])),this.d(l.track([o,"zIndex"],[e,"zIndex"]))}get czmImagery(){return this._czmImagery}flyTo(e,n){const{sceneObject:r,czmViewer:o,czmImagery:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):(s.flyTo(e&&e),r.flyOverEvent.emit(n,"over",o),!0):!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,czmImagery:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):(s.flyTo(e&&e),r.flyOverEvent.emit(n,"over",o),!0):!1}};v(Wa,"type",Wa.register("ESCesiumViewer",w.ESImageryLayer.type,Wa));let op=Wa;class t2 extends l.Destroyable{constructor(e,n,r,o){super();v(this,"_show");v(this,"_czmESCustomPrimitive");v(this,"_czmTexture");this._sceneObject=e,this._show=this.disposeVar(l.react(this._sceneObject.show)),this._czmESCustomPrimitive=this.dv(new Fe(n,this._sceneObject.id)),this._czmTexture=this.dv(new Ne(n));const s=e,a=this._czmESCustomPrimitive,c=this._czmTexture;this.dispose(l.track([a,"show"],[this,"show"])),this.dispose(l.track([a,"show"],[s,"show"])),this.dispose(l.track([a,"allowPicking"],[s,"allowPicking"])),this.dispose(l.track([a,"rotation"],[s,"rotation"])),this.dispose(l.track([a,"position"],[s,"position"])),this.dispose(l.track([a,"scale"],[s,"scale"])),this.ad(s.allowPickingChanged.don(()=>{a.allowPicking=s.allowPicking,a.pass=s.allowPicking?"TRANSLUCENT":"OVERLAY"}));{const h=()=>{const u=s.size/2,f=o[0].map(L=>L*u),g=o[1].map(L=>L*u),m=o[2].map(L=>L*u),y=o[3].map(L=>L*u),_=[...f,...g,...m,...y];let S=[0,3,2,0,2,1];(r=="north"||r=="west"||r=="bottom")&&(S=S.reverse());const C=[0,0],E=[1,0],M=[1,1],D=[0,1];let R=[];r=="east"||r=="south"?R=[...E,...C,...D,...M]:r=="west"?R=[...E,...M,...D,...C]:r=="top"?R=[...D,...M,...E,...C]:R=[...C,...E,...M,...D],a.indexTypedArray=new Uint16Array(S),a.attributes={position:{typedArray:new Float32Array(_),componentsPerAttribute:3},st:{typedArray:new Float32Array(R),componentsPerAttribute:2}},c.uri=w.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/${r}.${s.mode!="blueSky"?"png":"jpg"}`);const x=n.getCameraInfo();if(x!=null){const U=w.getDistancesFromPositions([s.position,x.position],"NONE")[0]/(s.size/2*s.autoOpacityFactor);this.changeOpacity(s.autoFollow?1:U)}const z=a.computeLocalAxisedBoundingBoxFromAttribute("position");if(!z)return;const{min:W,max:V}=z;a.setLocalAxisedBoundingBox(W,V)};h();const p=this.disposeVar(l.createNextAnimateFrameEvent(s.sizeChanged,s.modeChanged));this.dispose(p.disposableOn(h))}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}get czmESCustomPrimitive(){return this._czmESCustomPrimitive}get czmTexture(){return this._czmTexture}changeOpacity(e){this._czmESCustomPrimitive.uniformMap={u_image:{type:"texture",id:this._czmTexture.id},u_color:[1,1,1,1-e>=0?1-e:0]}}}class i2 extends l.Destroyable{constructor(i,e,n){if(super(),!e.viewer)return;let r=!0,o;this.dispose(e.viewer.scene.preUpdate.addEventListener(()=>{s()}));function s(){var c;if(!((c=e.viewer)!=null&&c.camera))return;const a=e.getCameraInfo();if(a!=null&&(o==null||o.position[0]!=a.position[0]||o.position[1]!=a.position[1]||o.position[2]!=a.position[2]||o.rotation[0]!=a.rotation[0]||o.rotation[1]!=a.rotation[1]||o.rotation[2]!=a.rotation[2])){o=a;const p=w.getDistancesFromPositions([i.position,o.position],"NONE")[0]/(i.size/2*i.autoOpacityFactor);i.autoFollow?(i.position=o.position,r&&(r=!1,n.forEach(u=>{u.changeOpacity(1)}))):n.forEach(u=>{u.changeOpacity(p)})}}s()}}const Be=class Be extends ye{constructor(e,n){super(e,n);v(this,"_czmSkyBoxComponents",[]);if(!n.viewer){console.warn("viewer is undefined!");return}!Be._defaultLocalBox&&Be._firstLoad&&(Be._firstLoad=!1,Be._defaultLocalBox=n.xbsjLocalBoxSources),Be._eSLocalSkyBoxArr.push(e),this.d(()=>{Be._eSLocalSkyBoxArr.includes(e)&&Be._eSLocalSkyBoxArr.splice(Be._eSLocalSkyBoxArr.indexOf(e),1),this.ChangeAutoFollow()});const o={bottom:[[-1,-1,-1],[1,-1,-1],[1,1,-1],[-1,1,-1]],top:[[-1,-1,1],[1,-1,1],[1,1,1],[-1,1,1]],south:[[-1,-1,-1],[1,-1,-1],[1,-1,1],[-1,-1,1]],north:[[-1,1,-1],[1,1,-1],[1,1,1],[-1,1,1]],east:[[1,-1,-1],[1,1,-1],[1,1,1],[1,-1,1]],west:[[-1,1,-1],[-1,1,1],[-1,-1,1],[-1,-1,-1]]};for(const s in o)if(Object.prototype.hasOwnProperty.call(o,s)){const a=o[s];this._czmSkyBoxComponents.push(this.dv(new t2(e,n,s,a)))}{const s=this.disposeVar(l.createNextAnimateFrameEvent(e.autoFollowChanged,e.autoOpacityFactorChanged));this.disposeVar(new l.ObjResettingWithEvent(s,()=>(this.ChangeAutoFollow(),new i2(e,n,this._czmSkyBoxComponents))))}{const s=()=>{this.ChangeAutoFollow()},a=this.disposeVar(l.createNextAnimateFrameEvent(e.sizeChanged,e.modeChanged,e.showChanged));this.dispose(a.disposableOn(s))}}ChangeAutoFollow(){const{czmViewer:e}=this;for(let n=Be._eSLocalSkyBoxArr.length-1;n>=0;n--){const r=Be._eSLocalSkyBoxArr[n];if(r.autoFollow&&r.show){e.xbsjLocalBoxSources={positiveX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/east.${r.mode!="blueSky"?"png":"jpg"}`,negativeX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/west.${r.mode!="blueSky"?"png":"jpg"}`,positiveY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/bottom.${r.mode!="blueSky"?"png":"jpg"}`,negativeY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/top.${r.mode!="blueSky"?"png":"jpg"}`,positiveZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/north.${r.mode!="blueSky"?"png":"jpg"}`,negativeZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${r.mode}/south.${r.mode!="blueSky"?"png":"jpg"}`};break}n==0&&(e.xbsjLocalBoxSources=Be._defaultLocalBox)}Be._eSLocalSkyBoxArr.length==0&&(e.xbsjLocalBoxSources=Be._defaultLocalBox)}flyTo(e,n){const{sceneObject:r,czmViewer:o}=this;if(!o.actived)return!1;if(r.flyToParam||r.flyInParam)return super.flyTo(e,n);{const s=r.size??w.ESLocalSkyBox.defaults.size;return r.position?(Zt(o,r,n,r.position,s,e,!0),!0):!1}}};v(Be,"type",Be.register("ESCesiumViewer",w.ESLocalSkyBox.type,Be)),v(Be,"_defaultLocalBox"),v(Be,"_firstLoad",!0),v(Be,"_eSLocalSkyBoxArr",[]);let rp=Be;const ti=class ti extends ye{constructor(e,n){super(e,n);v(this,"_geoCustomDivPoi");v(this,"_textFunc",this.disposeVar(l.react(void 0)));if(this._geoCustomDivPoi=this.disposeVar(new Xe(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const o=this.geoCustomDivPoi;this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.dispose(l.track([o,"allowPicking"],[e,"allowPicking"]));{this.dispose(o.pickedEvent.disposableOn(s=>{(e.allowPicking??w.ESLocationMeasurement.defaults.allowPicking)&&e.pickedEvent.emit(s)})),this.dispose(o.innerHtmlMounted.disposableOn(s=>{const a=s.firstElementChild;a&&(a.style.pointerEvents="auto",a.style.cursor="default",a.onclick=c=>o.pickFromDiv(a,{type:"viewerPicking",pointerEvent:c}))}));{const s=()=>{if(!e.position)return;const c=(this.textFunc??ti.defaultTextFunc_度格式)(e.position);o.innerHTML=ho(c)};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.positionChanged,this.textFuncChanged));this.dispose(a.disposableOn(s))}{const s=()=>{n.lonLatFormat??(n.lonLatFormat="DECIMAL_DEGREE"),this.textFunc=n.lonLatFormat=="DECIMAL_DEGREE"?ti.defaultTextFunc_度格式:n.lonLatFormat=="DEGREES_DECIMAL_MINUTES"?ti.defaultTextFunc_度分格式:ti.defaultTextFunc_度分秒格式};s(),this.d(n.lonLatFormatChanged.don(()=>{s()}))}}}get geoCustomDivPoi(){return this._geoCustomDivPoi}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}flyTo(e,n){const{sceneObject:r,czmViewer:o,geoCustomDivPoi:s}=this;return o.actived?r.flyToParam||r.flyInParam?super.flyTo(e,n):(s.flyTo(e),r.flyOverEvent.emit(n,"over",o),!0):!1}flyIn(e,n){const{sceneObject:r,czmViewer:o,geoCustomDivPoi:s}=this;return o.actived?r.flyInParam?super.flyIn(e,n):(s.flyTo(e),r.flyOverEvent.emit(n,"over",o),!0):!1}};v(ti,"type",ti.register("ESCesiumViewer",w.ESLocationMeasurement.type,ti)),v(ti,"defaultTextFunc_度格式",e=>{if(!e)return"";const[n=0,r=0,o=0]=e;return`经度: ${n.toFixed(5)}°
1641
1641
  纬度: ${r.toFixed(5)}°
1642
1642
  高度: ${o.toFixed(2)}m`}),v(ti,"defaultTextFunc_度分格式",e=>{if(!e)return"";const[n,r,o]=ld(e,!0);return`经度: ${n}
1643
1643
  纬度: ${r}
@@ -2291,10 +2291,10 @@ void main()
2291
2291
  {
2292
2292
  out_FragColor = u_color;
2293
2293
  }
2294
- `,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},Fe,t)}class Hx extends l.HasOwner{constructor(i){super(i);const{czmViewer:e}=this.owner;let n;this.dispose(()=>this.owner.hoveredPlaneType="none");const r=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const s=n=this._getStartInfo(o.pointerEvent);s&&(this.owner.hoveredPlaneType=s.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{n&&n.currentPlaneType!=="none"&&(r.restart(void 0,e,n),n=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const s=this._getStartInfo(o.pointerEvent);if(!s||s.currentPlaneType==="none")break;const{currentPlaneType:a}=s,c=[...this.owner.selfRotation];c[di.rotationNum[a]]=0,this.owner.selfRotation=c;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(l.createProcessingFromAsyncFunc(async(i,e,n)=>{const r=this.owner.circles[n.currentPlaneType];e.incrementDisabledInputStack(),i.disposer.dispose(()=>e.decrementDisabledInputStack()),i.disposer.dispose(e.pointerMoveEvent.don(o=>{if(n&&o.pointerEvent){const{offsetX:s,offsetY:a}=o.pointerEvent,c=[s,a],{currentPlaneType:h}=n;if(h==="none")return;const p=this.owner.getPlane(h);if(!n.currentV)return;const u=p.pick(c);if(!u||!this.owner.cartesian)return;const f=d.Cartesian3.subtract(n.currentV,this.owner.cartesian,new d.Cartesian3);d.Cartesian3.normalize(f,f);const g=d.Cartesian3.subtract(u,this.owner.cartesian,new d.Cartesian3);if(d.Cartesian3.normalize(g,g),!p.normal||!p.origin)return;const m=zg(f,g,p.normal),y=zg(p.origin,f,p.normal),_=zg(p.origin,g,p.normal);{const S=[...this.owner.selfRotation];S[di.rotationNum[h]]=n.startRotation+m,this.owner.selfRotation=S,r.circleStartRotation=y,r.circleEndRotation=_}}})),this.owner.movingPlaneType=n.currentPlaneType,i.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),i.disposer.dispose(()=>{r.circleStartRotation=0,r.circleEndRotation=0}),await l.step(i,o=>new Promise((s,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{s()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{s()}))}))}))}_pickPlane(i,e,n,r,o){const s=this.owner.cartesian;if(!s)return;const{selfRotation:a}=this.owner,c=this.owner.getPlane(n).pick(r);if(!c)return;const h=d.Cartesian3.distance(s,c),p=o/4,u=p*3/128;if(!(h>=p-u&&h<=p+u))return;const g=d.Cartesian3.distance(e.camera.positionWC,c);i.currentD2c<=g||(i.currentPlaneType=n,i.currentD2c=g,i.currentV=c,i.startRotation=a[di.rotationNum[n]])}_getStartInfo(i){var p;const{czmViewer:e}=this.owner,n=(p=e.viewer)==null?void 0:p.scene;if(!this.owner.position||!this.owner.cartesian)return;const r=Li(n,this.owner.cartesian,this.owner.pixelSize);if(!r)return;const{offsetX:o,offsetY:s}=i,a=[o,s],c=i.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:c};return this._pickPlane(h,n,"heading",a,r),this._pickPlane(h,n,"pitch",a,r),this._pickPlane(h,n,"roll",a,r),h}}function zg(t,i,e){const n=d.Cartesian3.cross(i,t,new d.Cartesian3);if(n.equals(d.Cartesian3.ZERO))return 0;d.Cartesian3.normalize(n,n);const r=d.Cartesian3.dot(n,e);let o=Math.acos(d.Cartesian3.dot(t,i))*180/Math.PI;return o=r>0?o:-o,o}const $o=class $o extends Ht{constructor(e){super();v(this,"_hoveredPlaneType",this.disposeVar(l.react("none")));v(this,"_movingPlaneType",this.disposeVar(l.react("none")));v(this,"_circles");v(this,"_czmCameraModel");v(this,"_cartesian");v(this,"_planes",{heading:this.disposeVar(new Ox(this)),pitch:this.disposeVar(new Vx(this)),roll:this.disposeVar(new Ux(this))});v(this,"_rotatorRunningResetting");this._czmViewer=e;const n=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new l.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new Hx(this)})),this._circles={heading:this._createRotatorCircle(n,"heading"),pitch:this._createRotatorCircle(n,"pitch"),roll:this._createRotatorCircle(n,"roll")},!!n.viewer){{const o=()=>{this._cartesian=this.position&&$e(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(n)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new ct(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(l.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],n=>n*.1)),this.dispose(l.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(l.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const n=()=>{const r=ke({rotation:this.selfRotation});if(!r)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=d.Matrix4.toArray(r))};n(),this.dispose(this.selfRotationChanged.disposableOn(n))}{const n=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};n(),this.dispose(this.enabledChanged.disposableOn(n)),this.dispose(this.showHelperChanged.disposableOn(n))}}_createRotatorCircle(e,n){const r=this.ad(new Jr(e));this.dispose(l.track([r,"position"],[this,"position"])),this.dispose(l.track([r,"pixelSize"],[this,"pixelSize"])),this.dispose(l.track([r,"debug"],[this,"debug"])),this.dispose(l.track([r,"rotation"],[this,"rotation"]));{const o=()=>{r.selfRotation=$o.rotationFuncs[n](this.selfRotation),r.circleRotation=this.selfRotation[$o.rotationNum[n]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const s=this.movingPlaneType===n,a=this.hoveredPlaneType===n,h=[0,0,0,s||a?1:.8];h[$o.rotationNum[n]]=1,r.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return r}};v($o,"rotationNum",{heading:0,pitch:1,roll:2}),v($o,"rotationFuncs",{heading:([e,n,r])=>[0,0,0],pitch:([e,n,r])=>[e,0,-90],roll:([e,n,r])=>[e,n+90,0]});let di=$o;(t=>{t.createDefaultProps=()=>({...Ht.createDefaultProps(),rotation:l.reactArray([0,0,0]),selfRotation:l.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(di||(di={})),l.extendClassProps(di.prototype,di.createDefaultProps);const Xo=class Xo extends l.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(i){this.positions=[i??Xo.defaults.positions[0],this.stopPosition??Xo.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(i){this.positions=[this.startPosition??Xo.defaults.positions[0],i??Xo.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(i,e){if(super(),!i.viewer)return;const r=this.ad(new Ie(i,e));r.arcType="RHUMB";const o=this.ad(new Kt(i,e));this.ad(l.track([r,"allowPicking"],[this,"allowPicking"])),this.ad(l.track([o,"allowPicking"],[this,"allowPicking"]));{const s=()=>{r.show=o.show=this.show};s(),this.ad(this.showChanged.don(s))}{const s=()=>{r.width=this.width/2,o.pixelSize=this.width};s(),this.ad(this.widthChanged.don(s))}{const s=()=>{r.color=o.color=this.color};s(),this.ad(this.colorChanged.don(s))}{const s=()=>{r.positions=this.positions,o.position=this.stopPosition};s(),this.dispose(this.startPositionChanged.disposableOn(s)),this.dispose(this.stopPositionChanged.disposableOn(s))}}};v(Xo,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let No=Xo;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(t.defaults.positions),width:10,color:l.reactArray([1,0,0,1])})})(No||(No={})),l.extendClassProps(No.prototype,No.createDefaultProps);class nn extends Ht{constructor(e){super();v(this,"_lastPosition");v(this,"_opInfo",{step:this.ad(l.react(!1)),moved:this.ad(l.react(!1)),constraintMode:this.disposeVar(l.react("none")),originPosition:this.disposeVar(l.reactArray([0,0,0])),originHeading:this.disposeVar(l.react(0)),originDimensions:this.disposeVar(l.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(l.reactArray([0,0,0])),movingPosition:this.disposeVar(l.reactArray([0,0,0])),targetPosition:this.disposeVar(l.reactArray([0,0,0])),targetHeading:this.disposeVar(l.react(0))});v(this,"_scaleAxis");v(this,"_pickingXYProcessing",e=>this.disposeVar(new l.Processing((n,r,o)=>{const s=[0,0,0],a=new d.Cartographic;return e.pointerMoveEvent.disposableOn(c=>{if(!c.pointerEvent||!e.viewer)return;const h=ni(l.getDomEventCurrentTargetPos(c.pointerEvent));if(!Ko(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Zo(a,s),this._opInfo.constraintMode.value==="x"?no(this._opInfo.originPosition.value,this._opInfo.originHeading.value,s,s):this._opInfo.constraintMode.value==="y"?no(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,s,s):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=s,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const p=[0,0,0];w.geoRhumbDestination(s,o,r,p),this._opInfo.targetPosition.value=p;let u=this.scale[0],f=this.scale[1];const g=w.geoDistance(p,this._opInfo.originPosition.value)-w.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...p];const m=this._opInfo.originDimensions.value[0]/100;g!=0&&this._opInfo.constraintMode.value==="y"&&(g>0?u+=m:u-=m),g!=0&&this._opInfo.constraintMode.value==="x"&&(g>0?f+=m:f-=m),u<=0&&(u+=m),f<=0&&(f+=m),this.scale=[u??1,f??1,this.scale[2]??1]})})));v(this,"_pickingZProcessing",e=>this.disposeVar(new l.Processing(()=>{const n=new d.Cartesian3,r=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const s=ni(l.getDomEventCurrentTargetPos(o.pointerEvent));if(!ic(e.viewer.scene,$e(this._opInfo.originPosition.value),s,n))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(ce(n,r)){this._opInfo.movingPosition.value=r;const c=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[c[0],c[1],r[2]+a];let h=this.scale[2];const p=r[2]-this._lastPosition[2];this._lastPosition=[...r];const u=this._opInfo.originDimensions.value[0]/100;p!=0&&(p>0?h+=u:h-=u),h<=0&&(h+=u),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const n=e.viewer;if(!n)return;const{scene:r}=n;this.ad(new ed(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:p,yAxis:u,xAxis:f}=this._scaleAxis,g=this._opInfo.constraintMode.value,m=this._opInfo.step;p.color=[0,0,1,.99],u.color=[0,1,0,.99],f.color=[1,0,0,.99],g==="x"?f.color=m?[1,1,0,.8]:[1,1,0,.99]:g==="y"?u.color=m?[1,1,0,.8]:[1,1,0,.99]:g==="z"&&(p.color=m?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:u=nn.defaults.position}=this,{zAxis:f,yAxis:g,xAxis:m}=this._scaleAxis;f.startPosition=g.startPosition=m.startPosition=u;const[y,_,S]=u;f.stopPosition=[y,_,S+this._opInfo.originDimensions.value[2]];const C=w.geoRhumbDestination(u,this._opInfo.originDimensions.value[0],90);C&&(m.stopPosition=C);const E=w.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);E&&(g.stopPosition=E)};h();const p=this.ad(l.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(p.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((p,u)=>p===this._opInfo.targetPosition.value[u])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),s=this._pickingZProcessing(e),a=this.disposeVar(l.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await l.step(h,async p=>{const u=()=>{const m=[...this.position??nn.defaults.position];e.editingHeightOffset&&(m[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=m};p.disposer.dispose((u(),this.positionChanged.disposableOn(u)));const f={constraintMode:"none",startDragPos:[0,0,0]},g=m=>{if(!this.position)return;const y={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Gh(m,r,y,this.axisSnapPixelSize,f),this._opInfo.constraintMode.value=f.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=f.startDragPos};p.disposer.dispose(e.pointerMoveEvent.disposableOn(m=>{m.pointerEvent&&g(m.pointerEvent)})),await l.step(p,m=>new Promise((y,_)=>{m.disposer.dispose(_),m.disposer.dispose(e.pointerDownEvent.don(S=>{S.pointerEvent&&g(S.pointerEvent),S.pointerEvent&&S.pointerEvent.button===0&&f.constraintMode!=="none"&&y()}))}))}),this._opInfo.step.value=!1,await l.step(h,async p=>{if(e.incrementDisabledInputStack(),p.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const u=w.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),f=w.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,f),p.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(s.restart(),p.disposer.dispose(()=>s.cancel()));await l.step(p,u=>new Promise((f,g)=>{u.disposer.dispose(g),u.disposer.dispose(e.pointerUpEvent.don(()=>{f()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{f()}))})),this._lastPosition=void 0});while(!0)})),c=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};c(),this.dispose(this.enabledChanged.disposableOn(c))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,n){const r=this.ad(new No(e));return r.width=10,this.ad(l.track([r,"show"],[this,"enabled"])),r}}(t=>{t.createDefaultProps=()=>({...Ht.createDefaultProps(),scale:l.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(nn||(nn={})),l.extendClassProps(nn.prototype,nn.createDefaultProps);const to=class to extends At{constructor(e){super();v(this,"_editingPoints",this.disposeVar(new l.ObservableArray));v(this,"_cancelEvent",this.disposeVar(new l.Event));v(this,"_currentProcess");v(this,"_menuPoiEnabled",this.disposeVar(l.react(!1)));v(this,"_status",this.disposeVar(l.react("None")));v(this,"_positionsChanged",this.ad(new l.Event));v(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(n=>{for(let{start:r,deleteCount:o,items:s}of n){for(const a of s)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=r;a<r+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let n of this.editingPoints)n.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(n=>{this.ad(l.nextAnimateFrame(()=>{var r;((r=n.pointerEvent)==null?void 0:r.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(n=>{this._currentProcess&&(n?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const n=()=>{this.polylineShow=this.czmViewer.editingLineShow};n(),this.ad(this.czmViewer.editingLineShowChanged.don(n))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let n of this._editingPoints)n.position&&e.push([...n.position]);return e}resetPositions(e){if(this.enabled??to.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const n=e||[];return!(n.length===this.editingPoints.length&&n.every((r,o)=>r.every((s,a)=>{const c=this.editingPoints.get(o);return c.position&&c.position[a]===s})))}forceResetPositions(e){(this.enabled??to.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const n=this.ad(new Ie(e));this.ad(l.track([n,"color"],[this,"polylineColor"])),this.ad(l.track([n,"width"],[this,"polylineWidth"])),this.ad(l.track([n,"show"],[this,"polylineShow"])),this.ad(l.track([n,"arcType"],[this,"polylineArcType"])),this.ad(l.track([n,"loop"],[this,"loop"]));{const r=()=>{const o=[];for(const s of this.getPositions())s[2]-=e.editingHeightOffset??0,o.push(s);n.positions=o};r(),this.ad(this.positionsChanged.don(r))}}_createCursorInfo(e){const n=this._cursorInfo=this.ad(new l.CursorInfo(e.container,l.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const r=this.status;if(n){if(!this.hideCursorInfo){n.show=!1;return}r==="Adding"?(n.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",n.show=!0):r==="Modifying"||r==="Modifying_Point"?(n.text="Esc键或左键双击:退出编辑状态",n.show=!0):r==="None"&&(n.text="",n.show=!1)}}))}};v(to,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),v(to,"defaults",{...At.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:to.baseImageUrl+"point-green.png",otherControlPointImageUrl:to.baseImageUrl+"point-yellow.png"});let ei=to;(t=>{t.createDefaultProps=()=>({...At.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:l.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})})(ei||(ei={})),l.extendClassProps(ei.prototype,ei.createDefaultProps);let qx=0;class o1 extends l.Destroyable{constructor(e,n){super();v(this,"_position",this.disposeVar(l.reactArrayWithUndefined(void 0)));v(this,"_id",qx++);v(this,"_menuPoi");n&&(this.position=n),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const r=this._menuPoi=this.ad(new ar(e.czmViewer));r.enabled=!1,this.ad(l.track([r,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){r.position=void 0;return}const s=[...this.position];s[2]-=e.czmViewer.editingHeightOffset??0,r.position=s,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const s=e.editingPoints.indexOf(this)+1;s!==0&&(r.title=`控制点${s}`,s===1?r.imageUri=e.firstControlPointImageUrl??ei.defaults.firstControlPointImageUrl:r.imageUri=e.otherControlPointImageUrl??ei.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class r1 extends o1{constructor(i,e){super(i,e)}}class Je extends ei{constructor(e){super(e);v(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new l.Event));v(this,"placeEditing");if(!e.viewer)return;const n=this.placeEditing=this.ad(new hi(e));n.enabled=!1,this.currentProcess=this.disposeVar(l.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??Je.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Je.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await r.promise(l.step(r,async o=>{const s=o.disposer,a=s.ad(this._addingEditingProcessing());s.dispose(()=>"adding canceled!"),s.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(c=>{s.dispose(a.completeEvent.disposableOnce(c))}))}))})),this.dispose(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new r1(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Je.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},n=l.createProcessingFromAsyncFunc(async r=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await r.promise(l.step(r,async a=>{let c;!e()&&(c=a.disposer.disposeVar(new $x(this,o)));const p=a.disposer.disposeVar(new Yx(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>p.do())),await a.promise(new Promise(u=>{c&&a.disposer.dispose(c.overEvent.disposableOnce(f=>{f?(o++,u(!0)):u(!1)})),a.disposer.dispose(p.overEvent.disposableOnce(f=>{f?(o--,u(!0)):u(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>u(!1)))}))})))break;while(!0)});return n.start(),n}}(t=>{t.createDefaultProps=()=>({...ei.createDefaultProps()})})(Je||(Je={})),l.extendClassProps(Je.prototype,Je.createDefaultProps);class $x extends l.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new l.Event));const{placeEditing:r}=e;let o=new r1(e,void 0);e.editingPoints.splice(n,0,o);const s=()=>{(e.debug??Je.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(r.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(l.track([o,"position"],[r,"position"])),r.enabled=!0;let a=!1;const c=()=>{s(),this._overEvent.emit(!1)};this.dispose(()=>{r.enabled=!1,!a&&c()}),this.dispose(r.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?c():this._overEvent.emit(!0)})),(e.debug??Je.defaults.debug)&&console.log(`PointAdding creating! index(${n})`),this.dispose(()=>{(e.debug??Je.defaults.debug)&&console.log(`PointAdding destroying! index(${n})`)})}get overEvent(){return this._overEvent}}function Xx(t,i){const e=t.editingPoints,n=i-1;return n<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(n,1),!0)}class Yx extends l.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new l.Event));v(this,"_doEvent",this.disposeVar(new l.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(Xx(e,n)))),(e.debug??Je.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${n})`),this.dispose(()=>{(e.debug??Je.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${n})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class s1 extends Je{constructor(i){super(i),this.loop=!1}}class a1 extends Je{constructor(i){super(i),this.loop=!0}}class Eh extends o1{constructor(i,e){super(i,e);{const{menuPoi:n}=this;n.commands=[["add","增加控制点","",Re.baseImageUrl+"add.png"],["delete","删除当前控制点","",Re.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Re.baseImageUrl+"modify.png"]],n.clickCommandName="modify",n.rightClickCommandName="delete",this.dispose(n.commandEvent.disposableOn(r=>{i.menuPoiCommand(this,r)})),this.dispose(n.dbclickEvent.disposableOn(()=>{i.menuPoiCommand(this,"dbClick")}))}if(i.middlePointShow){const n=this.ad(new gi(i.czmViewer));{n.imageUri=i.firstControlPointImageUrl??Re.defaults.firstControlPointImageUrl,n.tooltip="点击增加一个控制点",n.bgColor=[0,0,0,.6],n.fgColor=[1,1,1,1],n.size=[8,8],n.originRatioAndOffset=[.5,.5,0,0];{const r=()=>{if(!(i.enabled??Re.defaults.enabled)){n.enabled=!1,n.show=!1;return}do{const s=i.editingPoints.indexOf(this);if(s===-1)break;const a=i.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(i.loop??Re.defaults.loop)&&s+1>=a)break;const h=this.position;if(!h)break;let p=(s+1)%a;const f=i.editingPoints.get(p).position;if(!f)break;const g=Xh(h,f);if(!g)break;g[2]-=i.czmViewer.editingHeightOffset??0,n.position=g;const m=i.editingPoints.length<(i.maxPointsNum??Re.defaults.maxPointsNum);n.enabled=m,n.show=m;return}while(!1);n.enabled=!1,n.show=!1};r(),this.dispose(i.positionsChanged.disposableOn(r)),this.dispose(i.loopChanged.disposableOn(r)),this.dispose(i.enabledChanged.disposableOn(r))}this.dispose(n.clickEvent.disposableOn(r=>{if(r.button!==0||i.editingPoints.length>=(i.maxPointsNum??Re.defaults.maxPointsNum))return;const o=i.editingPoints.indexOf(this);if(o===-1)return;const s=n.position?[...n.position]:void 0;s&&(s[2]+=i.czmViewer.editingHeightOffset??0);let a=new Eh(i,s);i.editingPoints.splice(o+1,0,a),i.modify(a)}))}}}}class Re extends ei{constructor(e){super(e);v(this,"_menuPoiCommand",this.disposeVar(new l.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new l.Event));v(this,"_overEvent",this.disposeVar(new l.Event));v(this,"translationEditing");{const r=this.ad(l.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new l.ObjResettingWithEvent(r,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new Zx(this.editingPoints.get(0),this)}))}const n=this.translationEditing=this.disposeVar(new tn(e));n.enabled=!1,this.currentProcess=this.disposeVar(l.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??Re.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??Re.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await r.promise(l.step(r,async s=>{const a=s.disposer,c=a.ad(new Qx(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&c.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>c.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(p=>c.modify(p))),await s.promise(new Promise(p=>{a.dispose(c.overEvent.disposableOnce(u=>{p(u)}))}))})),o===-1){(this.debug??Re.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??Re.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??Re.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let c=o%this.editingPoints.length;const p=this.editingPoints.get(c).position;if(!p)return;const u=Xh(a,p);if(!u)return;u&&(u[2]+=this.czmViewer.editingHeightOffset??0);let f=new Eh(this,u);this.editingPoints.splice(o,0,f)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,n){this._menuPoiCommand.emit(e,n)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new Eh(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...ei.createDefaultProps(),moveWithFirstPosition:!1})})(Re||(Re={})),l.extendClassProps(Re.prototype,Re.createDefaultProps);class Zx extends l.Destroyable{constructor(i,e){super(),this._firstPositionEditor=i,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((n,r)=>{if(n===void 0||r===void 0)return;var o=[n[0]-r[0],n[1]-r[1],n[2]-r[2]];const s=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<s;a++){const c=this.multiPointsModifyEditing.editingPoints.get(a),h=c.position;h!==void 0&&(c.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class Qx extends l.Destroyable{constructor(e){super();v(this,"_overEvent",this.disposeVar(new l.Event));v(this,"_cancelEvent",this.disposeVar(new l.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new l.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let n;const r=()=>{n==null||n.destroy(),n=void 0,e.status="Modifying"};this.dispose(r);const o=s=>{r(),e.status="Modifying_Point",n=new Kx(e,s),n.dispose(n.overEvent.disposableOn(()=>{r()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((s,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const c=e.editingPoints.indexOf(s);if(c===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(c,1)}else if(a==="modify")o(s);else if(a==="add"){const c=e.editingPoints.indexOf(s);if(c===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(c+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class Kx extends l.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new l.Event));this._modifying=e,this._posEditor=n,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:r}=this._modifying;if(r.enabled=!0,r.heading=0,this.dispose(()=>{r.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");r.position=this._posEditor.position,this.dispose(l.track([this._posEditor,"position"],[r,"position"])),this.dispose(r.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class l1 extends Re{constructor(i){super(i),this.loop=!1}}class c1 extends Re{constructor(i){super(i),this.loop=!0}}class Br extends Je{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(r<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Je.createDefaultProps(),startPosition:l.reactArrayWithUndefined(void 0),endPosition:l.reactArrayWithUndefined(void 0),rotation:l.reactArray([90,0,0]),distance:l.react(1)})})(Br||(Br={})),l.extendClassProps(Br.prototype,Br.createDefaultProps);class Oo extends Re{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",Re.baseImageUrl+"add.png"],["delete","删除当前控制点","",Re.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Re.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let c of this.editingPoints)c.menuPoi.commands=[["delete","删除当前控制点","",Re.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Re.baseImageUrl+"modify.png"]];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(Math.abs(r)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Re.createDefaultProps(),startPosition:l.reactArrayWithUndefined(void 0),endPosition:l.reactArrayWithUndefined(void 0),rotation:l.reactArray([0,0,0]),distance:l.react(0)})})(Oo||(Oo={})),l.extendClassProps(Oo.prototype,Oo.createDefaultProps);class h1 extends Je{constructor(i){super(i),this.loop=!1,this.polylineShow=!1}}class d1 extends Re{constructor(i){super(i),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class jr extends Je{constructor(i){super(i),i.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(i){const e=this.ad(new ri(i));e.topOrBottom="bottom",this.ad(l.track([e,"color"],[this,"polylineColor"])),this.ad(l.track([e,"width"],[this,"polylineWidth"])),this.ad(l.track([e,"show"],[this,"polylineShow"])),this.ad(l.track([e,"arcType"],[this,"polylineArcType"])),this.ad(l.track([e,"loop"],[this,"loop"])),this.ad(l.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Je.createDefaultProps(),visibilityPositions:l.reactPositionsSet(void 0)})})(jr||(jr={})),l.extendClassProps(jr.prototype,jr.createDefaultProps);class es extends Re{constructor(i){if(super(i),!!i.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(i){const e=this.ad(new ri(i));e.topOrBottom="bottom",this.ad(l.track([e,"color"],[this,"polylineColor"])),this.ad(l.track([e,"width"],[this,"polylineWidth"])),this.ad(l.track([e,"show"],[this,"polylineShow"])),this.ad(l.track([e,"arcType"],[this,"polylineArcType"])),this.ad(l.track([e,"loop"],[this,"loop"])),this.ad(l.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Re.createDefaultProps(),visibilityPositions:l.reactPositionsSet(void 0)})})(es||(es={})),l.extendClassProps(es.prototype,es.createDefaultProps);class u1 extends Oo{constructor(i){super(i),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class Ct extends w.EngineObject{constructor(e,n,r){super(e,n,r??!0);v(this,"_supportEditing",this.disposeVar(l.react(!0)));v(this,"_currentEditing",this.disposeVar(l.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof Je&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof hi&&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 Nl=class Nl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new hi(e));this.ad(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)==2&&(n.enabled=!0)}));do{if(Reflect.has(i,"position")){this.ad(l.bind([n,"position"],[i,"position"])),n.enabled=!n.position||w.equalsN3(n.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};v(Nl,"type",Nl.registerEditing("ESCesiumViewer",w.ESJEditingMode.Place,Nl));let Lg=Nl;const Ol=class Ol extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new di(e));n.rotation=[90,0,0],this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);r&&(this.ad(l.bind([n,"position"],[r.czm3DTiles,"position"])),this.ad(l.bind([n,"selfRotation"],[i,"rotation"])))});break}if(Reflect.has(i,"position")&&Reflect.has(i,"rotation")){this.ad(l.bind([n,"position"],[i,"position"])),this.ad(l.bind([n,"selfRotation"],[i,"rotation"]));break}this.supportEditing=!1}while(!1)}};v(Ol,"type",Ol.registerEditing("ESCesiumViewer",w.ESJEditingMode.Rotation,Ol));let Ng=Ol;const Vl=class Vl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new nn(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")&&Reflect.has(i,"scale")){this.ad(l.bind([n,"position"],[i,"position"])),this.ad(l.bind([n,"scale"],[i,"scale"]));break}this.supportEditing=!1}while(!1)}};v(Vl,"type",Vl.registerEditing("ESCesiumViewer",w.ESJEditingMode.Scale,Vl));let Og=Vl;const Ul=class Ul extends Ct{constructor(i,e){super(Array.isArray(i)?i[0]:i,e,!0);const n=this.currentEditing=this.ad(new tn(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(i)){const r=[];for(let o=0;o<i.length;o++){const s=i[o];Reflect.has(s,"position")?r.push(s.position):s.points&&r.push(...s.points)}n.position=w.getMinMaxCorner(r).center,this.ad(n.positionChanged.disposableOn((o,s)=>{if(!(!o||!s)){var a=Mt({originPosition:s},[o])[0][0];i.forEach(c=>{if(Reflect.has(c,"position")){const h=Mt({originPosition:s},[c.position])[0][0];c.position=fn({originPosition:s},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(c,"points")&&c.points){const h=Mt({originPosition:s},c.points)[0];c.points=fn({originPosition:s},h.map(p=>[p[0]+a[0],p[1]+a[1],p[2]+a[2]]))[0]}})}}));break}if(Reflect.has(i,"position")){this.ad(l.bind([n,"position"],[i,"position"]));break}if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);this.ad(l.bind([n,"position"],[r.czm3DTiles,"position"]))});break}if(Reflect.has(i,"points")){if(i.points===void 0||i.points.length===0){this.destroy();break}n.position=w.getMinMaxCorner(i.points).center,this.ad(n.positionChanged.disposableOn((r,o)=>{if(r===void 0||o===void 0||i.points===void 0||i.points.length===0){this.destroy();return}var s=Mt({originPosition:o},[r])[0][0];const a=Mt({originPosition:o},i.points)[0];i.points=fn({originPosition:o},a.map(c=>[c[0]+s[0],c[1]+s[1],c[2]+s[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};v(Ul,"type",Ul.registerEditing("ESCesiumViewer",w.ESJEditingMode.Translation,Ul));let Ah=Ul;const Wl=class Wl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new Br(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")){this.ad(l.bind([n,"startPosition"],[i,"position"])),this.ad(it([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(l.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(l.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(l.bind([n,"distance"],[i,"distance"]));break}const r=$e(i.position);if(d.Cartesian3.ZERO.equals(r)||!e.viewer)return;n.distance=Li(e.viewer.scene,r,100)??1}while(!1);break}if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1);n.startPosition&&!w.equalsN3(n.startPosition,[0,0,0])&&n.init(),n.enabled=!0}};v(Wl,"type",Wl.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsAppend,Wl));let Vg=Wl;const Gl=class Gl extends Ct{constructor(i,e){var o;if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new Oo(e));do{if(Reflect.has(i,"position")){this.ad(l.bind([n,"startPosition"],[i,"position"])),this.ad(it([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(l.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(l.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(l.bind([n,"distance"],[i,"distance"]));break}const s=$e(i.position);if(d.Cartesian3.ZERO.equals(s)||!e.viewer)return;n.distance=Li(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(i,"points")&&((o=i.points)==null?void 0:o.length)==2){n.moveWithFirstPosition=!1;const s=()=>n.positions=i.points??[];s(),this.ad(i.pointsChanged.don(()=>!n.enabled&&s())),this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(l.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Gl,"type",Gl.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsModify,Gl));let Ug=Gl;const Hl=class Hl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new a1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Hl,"type",Hl.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularAppend,Hl));let Wg=Hl;const ql=class ql extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new c1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(ql,"type",ql.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularInsert,ql));let Gg=ql;const $l=class $l extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new s1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v($l,"type",$l.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringAppend,$l));let Hg=$l;const Xl=class Xl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new l1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Xl,"type",Xl.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringInsert,Xl));let qg=Xl;const Yl=class Yl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new h1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Yl,"type",Yl.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterAppend,Yl));let $g=Yl;const Zl=class Zl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new d1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Zl,"type",Zl.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterModify,Zl));let Xg=Zl;const Ql=class Ql extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new jr(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Ql,"type",Ql.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityAppend,Ql));let Yg=Ql;const Kl=class Kl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new es(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Kl,"type",Kl.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityModify,Kl));let Zg=Kl;const Jl=class Jl extends Ct{constructor(i,e){if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new u1(e));do{if(Reflect.has(i,"points")){const o=Reflect.has(i,"extrudedHeight"),s=Reflect.has(i,"height"),a=Reflect.has(i,"perPositionHeight")?i.perPositionHeight:!o,c=i instanceof w.ESClassification||i instanceof w.ESPolygonFence;let h=w.getMinMaxCorner(i.points).center,p=[...h],u=c?i.points[0][2]:0;a?o?p[2]=i.extrudedHeight:p[2]=i.height+u:(s&&(h[2]=i.height),o&&(p[2]=i.extrudedHeight)),n.startPosition=h,n.distance=p[2]-h[2],n.moveWithFirstPosition=!1;let f=[...h];this.ad(n.positionsChanged.don(()=>{n.positions.length===2&&(a?(i.points=i.points.map(g=>[g[0],g[1],g[2]+n.positions[0][2]-f[2]]),o?i.extrudedHeight=n.positions[1][2]:s&&(i.height=n.positions[1][2]-(c?n.positions[0][2]:0))):(s&&(i.height=n.positions[0][2]),o&&(i.extrudedHeight=n.positions[1][2])),f=[...n.positions[0]])}));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(l.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Jl,"type",Jl.registerEditing("ESCesiumViewer",w.ESJEditingMode.HeightModify,Jl));let Qg=Jl;function p1(){const t=l.createProcessingFromAsyncFunc(async(i,e,n,r,o=!0)=>{const s=Array.isArray(r)?[...r]:[r],a=n.editingID;e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"start",add:{modes:s}});const c=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"end",add:{modes:s}}),t.isRunning&&t.cancel()};i.disposer.ad(c),i.disposer.ad(n.toDestroyEvent.don(c));const h=u=>{u.code=="Escape"&&c()};document.body.addEventListener("keydown",h),i.disposer.ad(()=>document.body.removeEventListener("keydown",h));let p=0;do{const u=s[p%s.length],f=await l.step(i,async g=>{const m=g.disposer,y=w.EngineObject.contextEditing.getEngineObjConstructor(u,e.typeName);if(!y||!n.supportEditingModes().includes(u))return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:p}}),e.notSupportEditingCount++,!1;const _=new y(n,e);if(m.ad(()=>{!_.isDestroyed()&&_.destroy()}),_.supportEditing)e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"changed",add:{cMode:u,cIndex:p}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:p}}),e.notSupportEditingCount++,!1;return await g.promise(new Promise(C=>{if(_.isDestroyed()&&C(!1),m.ad(_.toDestroyEvent.don(()=>{console.log(`编辑模式${u}结束`),C(!1)})),o){const E=M=>{M.code=="Space"&&(console.log(`编辑模式${u}结束`),C(!1))};document.body.addEventListener("keydown",E),m.ad(()=>document.body.removeEventListener("keydown",E)),m.ad(e.dblclickEvent.don(()=>C(!0)))}}))});if(o&&f||!o&&p==s.length-1||e.notSupportEditingCount==s.length)break;p++}while(!0)});return t}function f1(){const t=l.createProcessingFromAsyncFunc(async(i,e,n,r)=>{e.editingEvent.emit({objectIDs:n.map(c=>c.parentID??c.id),editingID:r,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:n.map(c=>c.parentID??c.id),editingID:r,type:"end"}),t.isRunning&&t.cancel()};i.disposer.ad(o);const s=c=>{c.code=="Escape"&&o()};document.body.addEventListener("keydown",s),i.disposer.ad(()=>document.body.removeEventListener("keydown",s));const a=new Ah(n,e);i.disposer.ad(()=>{!a.isDestroyed()&&a.destroy()}),await i.promise(new Promise(c=>{a.isDestroyed()&&c(),i.disposer.ad(a.toDestroyEvent.don(()=>{console.log("移动结束"),c()})),i.disposer.ad(e.dblclickEvent.don(()=>c()))}))});return t}b.copyright=void 0;try{const t="earthsdk3-cesium",i="3.2.0-beta.8",e="2025-07-08T09:18:44.000Z",n="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="798c9f9e364c0e89c5611fb7689e92715ba748df",a=((Date.now()-1751966324e3)/36e5).toFixed(1),c=`%c🌏 ${t}%c ${i}.${o.slice(0,8)}.${e} (距今${a}个小时)
2294
+ `,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},Fe,t)}class Hx extends l.HasOwner{constructor(i){super(i);const{czmViewer:e}=this.owner;let n;this.dispose(()=>this.owner.hoveredPlaneType="none");const r=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const s=n=this._getStartInfo(o.pointerEvent);s&&(this.owner.hoveredPlaneType=s.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{n&&n.currentPlaneType!=="none"&&(r.restart(void 0,e,n),n=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const s=this._getStartInfo(o.pointerEvent);if(!s||s.currentPlaneType==="none")break;const{currentPlaneType:a}=s,c=[...this.owner.selfRotation];c[di.rotationNum[a]]=0,this.owner.selfRotation=c;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(l.createProcessingFromAsyncFunc(async(i,e,n)=>{const r=this.owner.circles[n.currentPlaneType];e.incrementDisabledInputStack(),i.disposer.dispose(()=>e.decrementDisabledInputStack()),i.disposer.dispose(e.pointerMoveEvent.don(o=>{if(n&&o.pointerEvent){const{offsetX:s,offsetY:a}=o.pointerEvent,c=[s,a],{currentPlaneType:h}=n;if(h==="none")return;const p=this.owner.getPlane(h);if(!n.currentV)return;const u=p.pick(c);if(!u||!this.owner.cartesian)return;const f=d.Cartesian3.subtract(n.currentV,this.owner.cartesian,new d.Cartesian3);d.Cartesian3.normalize(f,f);const g=d.Cartesian3.subtract(u,this.owner.cartesian,new d.Cartesian3);if(d.Cartesian3.normalize(g,g),!p.normal||!p.origin)return;const m=zg(f,g,p.normal),y=zg(p.origin,f,p.normal),_=zg(p.origin,g,p.normal);{const S=[...this.owner.selfRotation];S[di.rotationNum[h]]=n.startRotation+m,this.owner.selfRotation=S,r.circleStartRotation=y,r.circleEndRotation=_}}})),this.owner.movingPlaneType=n.currentPlaneType,i.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),i.disposer.dispose(()=>{r.circleStartRotation=0,r.circleEndRotation=0}),await l.step(i,o=>new Promise((s,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{s()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{s()}))}))}))}_pickPlane(i,e,n,r,o){const s=this.owner.cartesian;if(!s)return;const{selfRotation:a}=this.owner,c=this.owner.getPlane(n).pick(r);if(!c)return;const h=d.Cartesian3.distance(s,c),p=o/4,u=p*3/128;if(!(h>=p-u&&h<=p+u))return;const g=d.Cartesian3.distance(e.camera.positionWC,c);i.currentD2c<=g||(i.currentPlaneType=n,i.currentD2c=g,i.currentV=c,i.startRotation=a[di.rotationNum[n]])}_getStartInfo(i){var p;const{czmViewer:e}=this.owner,n=(p=e.viewer)==null?void 0:p.scene;if(!this.owner.position||!this.owner.cartesian)return;const r=Li(n,this.owner.cartesian,this.owner.pixelSize);if(!r)return;const{offsetX:o,offsetY:s}=i,a=[o,s],c=i.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:c};return this._pickPlane(h,n,"heading",a,r),this._pickPlane(h,n,"pitch",a,r),this._pickPlane(h,n,"roll",a,r),h}}function zg(t,i,e){const n=d.Cartesian3.cross(i,t,new d.Cartesian3);if(n.equals(d.Cartesian3.ZERO))return 0;d.Cartesian3.normalize(n,n);const r=d.Cartesian3.dot(n,e);let o=Math.acos(d.Cartesian3.dot(t,i))*180/Math.PI;return o=r>0?o:-o,o}const $o=class $o extends Ht{constructor(e){super();v(this,"_hoveredPlaneType",this.disposeVar(l.react("none")));v(this,"_movingPlaneType",this.disposeVar(l.react("none")));v(this,"_circles");v(this,"_czmCameraModel");v(this,"_cartesian");v(this,"_planes",{heading:this.disposeVar(new Ox(this)),pitch:this.disposeVar(new Vx(this)),roll:this.disposeVar(new Ux(this))});v(this,"_rotatorRunningResetting");this._czmViewer=e;const n=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new l.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new Hx(this)})),this._circles={heading:this._createRotatorCircle(n,"heading"),pitch:this._createRotatorCircle(n,"pitch"),roll:this._createRotatorCircle(n,"roll")},!!n.viewer){{const o=()=>{this._cartesian=this.position&&$e(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(n)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new ct(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(l.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],n=>n*.1)),this.dispose(l.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(l.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const n=()=>{const r=ke({rotation:this.selfRotation});if(!r)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=d.Matrix4.toArray(r))};n(),this.dispose(this.selfRotationChanged.disposableOn(n))}{const n=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};n(),this.dispose(this.enabledChanged.disposableOn(n)),this.dispose(this.showHelperChanged.disposableOn(n))}}_createRotatorCircle(e,n){const r=this.ad(new Jr(e));this.dispose(l.track([r,"position"],[this,"position"])),this.dispose(l.track([r,"pixelSize"],[this,"pixelSize"])),this.dispose(l.track([r,"debug"],[this,"debug"])),this.dispose(l.track([r,"rotation"],[this,"rotation"]));{const o=()=>{r.selfRotation=$o.rotationFuncs[n](this.selfRotation),r.circleRotation=this.selfRotation[$o.rotationNum[n]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const s=this.movingPlaneType===n,a=this.hoveredPlaneType===n,h=[0,0,0,s||a?1:.8];h[$o.rotationNum[n]]=1,r.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return r}};v($o,"rotationNum",{heading:0,pitch:1,roll:2}),v($o,"rotationFuncs",{heading:([e,n,r])=>[0,0,0],pitch:([e,n,r])=>[e,0,-90],roll:([e,n,r])=>[e,n+90,0]});let di=$o;(t=>{t.createDefaultProps=()=>({...Ht.createDefaultProps(),rotation:l.reactArray([0,0,0]),selfRotation:l.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(di||(di={})),l.extendClassProps(di.prototype,di.createDefaultProps);const Xo=class Xo extends l.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(i){this.positions=[i??Xo.defaults.positions[0],this.stopPosition??Xo.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(i){this.positions=[this.startPosition??Xo.defaults.positions[0],i??Xo.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(i,e){if(super(),!i.viewer)return;const r=this.ad(new Ie(i,e));r.arcType="RHUMB";const o=this.ad(new Kt(i,e));this.ad(l.track([r,"allowPicking"],[this,"allowPicking"])),this.ad(l.track([o,"allowPicking"],[this,"allowPicking"]));{const s=()=>{r.show=o.show=this.show};s(),this.ad(this.showChanged.don(s))}{const s=()=>{r.width=this.width/2,o.pixelSize=this.width};s(),this.ad(this.widthChanged.don(s))}{const s=()=>{r.color=o.color=this.color};s(),this.ad(this.colorChanged.don(s))}{const s=()=>{r.positions=this.positions,o.position=this.stopPosition};s(),this.dispose(this.startPositionChanged.disposableOn(s)),this.dispose(this.stopPositionChanged.disposableOn(s))}}};v(Xo,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let No=Xo;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(t.defaults.positions),width:10,color:l.reactArray([1,0,0,1])})})(No||(No={})),l.extendClassProps(No.prototype,No.createDefaultProps);class nn extends Ht{constructor(e){super();v(this,"_lastPosition");v(this,"_opInfo",{step:this.ad(l.react(!1)),moved:this.ad(l.react(!1)),constraintMode:this.disposeVar(l.react("none")),originPosition:this.disposeVar(l.reactArray([0,0,0])),originHeading:this.disposeVar(l.react(0)),originDimensions:this.disposeVar(l.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(l.reactArray([0,0,0])),movingPosition:this.disposeVar(l.reactArray([0,0,0])),targetPosition:this.disposeVar(l.reactArray([0,0,0])),targetHeading:this.disposeVar(l.react(0))});v(this,"_scaleAxis");v(this,"_pickingXYProcessing",e=>this.disposeVar(new l.Processing((n,r,o)=>{const s=[0,0,0],a=new d.Cartographic;return e.pointerMoveEvent.disposableOn(c=>{if(!c.pointerEvent||!e.viewer)return;const h=ni(l.getDomEventCurrentTargetPos(c.pointerEvent));if(!Ko(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Zo(a,s),this._opInfo.constraintMode.value==="x"?no(this._opInfo.originPosition.value,this._opInfo.originHeading.value,s,s):this._opInfo.constraintMode.value==="y"?no(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,s,s):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=s,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const p=[0,0,0];w.geoRhumbDestination(s,o,r,p),this._opInfo.targetPosition.value=p;let u=this.scale[0],f=this.scale[1];const g=w.geoDistance(p,this._opInfo.originPosition.value)-w.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...p];const m=this._opInfo.originDimensions.value[0]/100;g!=0&&this._opInfo.constraintMode.value==="y"&&(g>0?u+=m:u-=m),g!=0&&this._opInfo.constraintMode.value==="x"&&(g>0?f+=m:f-=m),u<=0&&(u+=m),f<=0&&(f+=m),this.scale=[u??1,f??1,this.scale[2]??1]})})));v(this,"_pickingZProcessing",e=>this.disposeVar(new l.Processing(()=>{const n=new d.Cartesian3,r=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const s=ni(l.getDomEventCurrentTargetPos(o.pointerEvent));if(!ic(e.viewer.scene,$e(this._opInfo.originPosition.value),s,n))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(ce(n,r)){this._opInfo.movingPosition.value=r;const c=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[c[0],c[1],r[2]+a];let h=this.scale[2];const p=r[2]-this._lastPosition[2];this._lastPosition=[...r];const u=this._opInfo.originDimensions.value[0]/100;p!=0&&(p>0?h+=u:h-=u),h<=0&&(h+=u),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const n=e.viewer;if(!n)return;const{scene:r}=n;this.ad(new ed(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:p,yAxis:u,xAxis:f}=this._scaleAxis,g=this._opInfo.constraintMode.value,m=this._opInfo.step;p.color=[0,0,1,.99],u.color=[0,1,0,.99],f.color=[1,0,0,.99],g==="x"?f.color=m?[1,1,0,.8]:[1,1,0,.99]:g==="y"?u.color=m?[1,1,0,.8]:[1,1,0,.99]:g==="z"&&(p.color=m?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:u=nn.defaults.position}=this,{zAxis:f,yAxis:g,xAxis:m}=this._scaleAxis;f.startPosition=g.startPosition=m.startPosition=u;const[y,_,S]=u;f.stopPosition=[y,_,S+this._opInfo.originDimensions.value[2]];const C=w.geoRhumbDestination(u,this._opInfo.originDimensions.value[0],90);C&&(m.stopPosition=C);const E=w.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);E&&(g.stopPosition=E)};h();const p=this.ad(l.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(p.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((p,u)=>p===this._opInfo.targetPosition.value[u])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),s=this._pickingZProcessing(e),a=this.disposeVar(l.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await l.step(h,async p=>{const u=()=>{const m=[...this.position??nn.defaults.position];e.editingHeightOffset&&(m[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=m};p.disposer.dispose((u(),this.positionChanged.disposableOn(u)));const f={constraintMode:"none",startDragPos:[0,0,0]},g=m=>{if(!this.position)return;const y={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Gh(m,r,y,this.axisSnapPixelSize,f),this._opInfo.constraintMode.value=f.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=f.startDragPos};p.disposer.dispose(e.pointerMoveEvent.disposableOn(m=>{m.pointerEvent&&g(m.pointerEvent)})),await l.step(p,m=>new Promise((y,_)=>{m.disposer.dispose(_),m.disposer.dispose(e.pointerDownEvent.don(S=>{S.pointerEvent&&g(S.pointerEvent),S.pointerEvent&&S.pointerEvent.button===0&&f.constraintMode!=="none"&&y()}))}))}),this._opInfo.step.value=!1,await l.step(h,async p=>{if(e.incrementDisabledInputStack(),p.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const u=w.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),f=w.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,f),p.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(s.restart(),p.disposer.dispose(()=>s.cancel()));await l.step(p,u=>new Promise((f,g)=>{u.disposer.dispose(g),u.disposer.dispose(e.pointerUpEvent.don(()=>{f()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{f()}))})),this._lastPosition=void 0});while(!0)})),c=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};c(),this.dispose(this.enabledChanged.disposableOn(c))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,n){const r=this.ad(new No(e));return r.width=10,this.ad(l.track([r,"show"],[this,"enabled"])),r}}(t=>{t.createDefaultProps=()=>({...Ht.createDefaultProps(),scale:l.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(nn||(nn={})),l.extendClassProps(nn.prototype,nn.createDefaultProps);const to=class to extends At{constructor(e){super();v(this,"_editingPoints",this.disposeVar(new l.ObservableArray));v(this,"_cancelEvent",this.disposeVar(new l.Event));v(this,"_currentProcess");v(this,"_menuPoiEnabled",this.disposeVar(l.react(!1)));v(this,"_status",this.disposeVar(l.react("None")));v(this,"_positionsChanged",this.ad(new l.Event));v(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(n=>{for(let{start:r,deleteCount:o,items:s}of n){for(const a of s)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=r;a<r+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let n of this.editingPoints)n.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(n=>{this.ad(l.nextAnimateFrame(()=>{var r;((r=n.pointerEvent)==null?void 0:r.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(n=>{this._currentProcess&&(n?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const n=()=>{this.polylineShow=this.czmViewer.editingLineShow};n(),this.ad(this.czmViewer.editingLineShowChanged.don(n))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let n of this._editingPoints)n.position&&e.push([...n.position]);return e}resetPositions(e){if(this.enabled??to.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const n=e||[];return!(n.length===this.editingPoints.length&&n.every((r,o)=>r.every((s,a)=>{const c=this.editingPoints.get(o);return c.position&&c.position[a]===s})))}forceResetPositions(e){(this.enabled??to.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const n=this.ad(new Ie(e));this.ad(l.track([n,"color"],[this,"polylineColor"])),this.ad(l.track([n,"width"],[this,"polylineWidth"])),this.ad(l.track([n,"show"],[this,"polylineShow"])),this.ad(l.track([n,"arcType"],[this,"polylineArcType"])),this.ad(l.track([n,"loop"],[this,"loop"]));{const r=()=>{const o=[];for(const s of this.getPositions())s[2]-=e.editingHeightOffset??0,o.push(s);n.positions=o};r(),this.ad(this.positionsChanged.don(r))}}_createCursorInfo(e){const n=this._cursorInfo=this.ad(new l.CursorInfo(e.container,l.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const r=this.status;if(n){if(!this.hideCursorInfo){n.show=!1;return}r==="Adding"?(n.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",n.show=!0):r==="Modifying"||r==="Modifying_Point"?(n.text="Esc键或左键双击:退出编辑状态",n.show=!0):r==="None"&&(n.text="",n.show=!1)}}))}};v(to,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),v(to,"defaults",{...At.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:to.baseImageUrl+"point-green.png",otherControlPointImageUrl:to.baseImageUrl+"point-yellow.png"});let ei=to;(t=>{t.createDefaultProps=()=>({...At.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:l.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})})(ei||(ei={})),l.extendClassProps(ei.prototype,ei.createDefaultProps);let qx=0;class o1 extends l.Destroyable{constructor(e,n){super();v(this,"_position",this.disposeVar(l.reactArrayWithUndefined(void 0)));v(this,"_id",qx++);v(this,"_menuPoi");n&&(this.position=n),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const r=this._menuPoi=this.ad(new ar(e.czmViewer));r.enabled=!1,this.ad(l.track([r,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){r.position=void 0;return}const s=[...this.position];s[2]-=e.czmViewer.editingHeightOffset??0,r.position=s,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const s=e.editingPoints.indexOf(this)+1;s!==0&&(r.title=`控制点${s}`,s===1?r.imageUri=e.firstControlPointImageUrl??ei.defaults.firstControlPointImageUrl:r.imageUri=e.otherControlPointImageUrl??ei.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class r1 extends o1{constructor(i,e){super(i,e)}}class Je extends ei{constructor(e){super(e);v(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new l.Event));v(this,"placeEditing");if(!e.viewer)return;const n=this.placeEditing=this.ad(new hi(e));n.enabled=!1,this.currentProcess=this.disposeVar(l.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??Je.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Je.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await r.promise(l.step(r,async o=>{const s=o.disposer,a=s.ad(this._addingEditingProcessing());s.dispose(()=>"adding canceled!"),s.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(c=>{s.dispose(a.completeEvent.disposableOnce(c))}))}))})),this.dispose(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new r1(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Je.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},n=l.createProcessingFromAsyncFunc(async r=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await r.promise(l.step(r,async a=>{let c;!e()&&(c=a.disposer.disposeVar(new $x(this,o)));const p=a.disposer.disposeVar(new Yx(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>p.do())),await a.promise(new Promise(u=>{c&&a.disposer.dispose(c.overEvent.disposableOnce(f=>{f?(o++,u(!0)):u(!1)})),a.disposer.dispose(p.overEvent.disposableOnce(f=>{f?(o--,u(!0)):u(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>u(!1)))}))})))break;while(!0)});return n.start(),n}}(t=>{t.createDefaultProps=()=>({...ei.createDefaultProps()})})(Je||(Je={})),l.extendClassProps(Je.prototype,Je.createDefaultProps);class $x extends l.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new l.Event));const{placeEditing:r}=e;let o=new r1(e,void 0);e.editingPoints.splice(n,0,o);const s=()=>{(e.debug??Je.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(r.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(l.track([o,"position"],[r,"position"])),r.enabled=!0;let a=!1;const c=()=>{s(),this._overEvent.emit(!1)};this.dispose(()=>{r.enabled=!1,!a&&c()}),this.dispose(r.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?c():this._overEvent.emit(!0)})),(e.debug??Je.defaults.debug)&&console.log(`PointAdding creating! index(${n})`),this.dispose(()=>{(e.debug??Je.defaults.debug)&&console.log(`PointAdding destroying! index(${n})`)})}get overEvent(){return this._overEvent}}function Xx(t,i){const e=t.editingPoints,n=i-1;return n<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(n,1),!0)}class Yx extends l.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new l.Event));v(this,"_doEvent",this.disposeVar(new l.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(Xx(e,n)))),(e.debug??Je.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${n})`),this.dispose(()=>{(e.debug??Je.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${n})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class s1 extends Je{constructor(i){super(i),this.loop=!1}}class a1 extends Je{constructor(i){super(i),this.loop=!0}}class Eh extends o1{constructor(i,e){super(i,e);{const{menuPoi:n}=this;n.commands=[["add","增加控制点","",Re.baseImageUrl+"add.png"],["delete","删除当前控制点","",Re.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Re.baseImageUrl+"modify.png"]],n.clickCommandName="modify",n.rightClickCommandName="delete",this.dispose(n.commandEvent.disposableOn(r=>{i.menuPoiCommand(this,r)})),this.dispose(n.dbclickEvent.disposableOn(()=>{i.menuPoiCommand(this,"dbClick")}))}if(i.middlePointShow){const n=this.ad(new gi(i.czmViewer));{n.imageUri=i.firstControlPointImageUrl??Re.defaults.firstControlPointImageUrl,n.tooltip="点击增加一个控制点",n.bgColor=[0,0,0,.6],n.fgColor=[1,1,1,1],n.size=[8,8],n.originRatioAndOffset=[.5,.5,0,0];{const r=()=>{if(!(i.enabled??Re.defaults.enabled)){n.enabled=!1,n.show=!1;return}do{const s=i.editingPoints.indexOf(this);if(s===-1)break;const a=i.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(i.loop??Re.defaults.loop)&&s+1>=a)break;const h=this.position;if(!h)break;let p=(s+1)%a;const f=i.editingPoints.get(p).position;if(!f)break;const g=Xh(h,f);if(!g)break;g[2]-=i.czmViewer.editingHeightOffset??0,n.position=g;const m=i.editingPoints.length<(i.maxPointsNum??Re.defaults.maxPointsNum);n.enabled=m,n.show=m;return}while(!1);n.enabled=!1,n.show=!1};r(),this.dispose(i.positionsChanged.disposableOn(r)),this.dispose(i.loopChanged.disposableOn(r)),this.dispose(i.enabledChanged.disposableOn(r))}this.dispose(n.clickEvent.disposableOn(r=>{if(r.button!==0||i.editingPoints.length>=(i.maxPointsNum??Re.defaults.maxPointsNum))return;const o=i.editingPoints.indexOf(this);if(o===-1)return;const s=n.position?[...n.position]:void 0;s&&(s[2]+=i.czmViewer.editingHeightOffset??0);let a=new Eh(i,s);i.editingPoints.splice(o+1,0,a),i.modify(a)}))}}}}class Re extends ei{constructor(e){super(e);v(this,"_menuPoiCommand",this.disposeVar(new l.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new l.Event));v(this,"_overEvent",this.disposeVar(new l.Event));v(this,"translationEditing");{const r=this.ad(l.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new l.ObjResettingWithEvent(r,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new Zx(this.editingPoints.get(0),this)}))}const n=this.translationEditing=this.disposeVar(new tn(e));n.enabled=!1,this.currentProcess=this.disposeVar(l.createProcessingFromAsyncFunc(async r=>{r.disposer.dispose(()=>{(this.debug??Re.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??Re.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await r.promise(l.step(r,async s=>{const a=s.disposer,c=a.ad(new Qx(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&c.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>c.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(p=>c.modify(p))),await s.promise(new Promise(p=>{a.dispose(c.overEvent.disposableOnce(u=>{p(u)}))}))})),o===-1){(this.debug??Re.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??Re.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??Re.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let c=o%this.editingPoints.length;const p=this.editingPoints.get(c).position;if(!p)return;const u=Xh(a,p);if(!u)return;u&&(u[2]+=this.czmViewer.editingHeightOffset??0);let f=new Eh(this,u);this.editingPoints.splice(o,0,f)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,n){this._menuPoiCommand.emit(e,n)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const n=e?e.map(r=>new Eh(this,r)):[];return this.editingPoints.splice(0,this.editingPoints.length,...n),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...ei.createDefaultProps(),moveWithFirstPosition:!1})})(Re||(Re={})),l.extendClassProps(Re.prototype,Re.createDefaultProps);class Zx extends l.Destroyable{constructor(i,e){super(),this._firstPositionEditor=i,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((n,r)=>{if(n===void 0||r===void 0)return;var o=[n[0]-r[0],n[1]-r[1],n[2]-r[2]];const s=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<s;a++){const c=this.multiPointsModifyEditing.editingPoints.get(a),h=c.position;h!==void 0&&(c.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class Qx extends l.Destroyable{constructor(e){super();v(this,"_overEvent",this.disposeVar(new l.Event));v(this,"_cancelEvent",this.disposeVar(new l.Event));v(this,"_forceModifyPosEditorEvent",this.disposeVar(new l.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let n;const r=()=>{n==null||n.destroy(),n=void 0,e.status="Modifying"};this.dispose(r);const o=s=>{r(),e.status="Modifying_Point",n=new Kx(e,s),n.dispose(n.overEvent.disposableOn(()=>{r()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((s,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const c=e.editingPoints.indexOf(s);if(c===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(c,1)}else if(a==="modify")o(s);else if(a==="add"){const c=e.editingPoints.indexOf(s);if(c===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(c+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class Kx extends l.Destroyable{constructor(e,n){super();v(this,"_overEvent",this.disposeVar(new l.Event));this._modifying=e,this._posEditor=n,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:r}=this._modifying;if(r.enabled=!0,r.heading=0,this.dispose(()=>{r.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");r.position=this._posEditor.position,this.dispose(l.track([this._posEditor,"position"],[r,"position"])),this.dispose(r.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class l1 extends Re{constructor(i){super(i),this.loop=!1}}class c1 extends Re{constructor(i){super(i),this.loop=!0}}class Br extends Je{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(r<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Je.createDefaultProps(),startPosition:l.reactArrayWithUndefined(void 0),endPosition:l.reactArrayWithUndefined(void 0),rotation:l.reactArray([90,0,0]),distance:l.react(1)})})(Br||(Br={})),l.extendClassProps(Br.prototype,Br.createDefaultProps);class Oo extends Re{init(){const i=this.startPosition;if(!i)return;const e=this.distance,n=this.rotation,r=e*Math.cos(n[1]*Math.PI/180),o=w.geoDestination(i,r,n[0]);if(!o){this.positions=[i];return}const s=e*Math.sin(n[1]*Math.PI/180);o[2]+=s,this.positions=[i,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=i,this.editingPoints.get(1).position=o)}constructor(i){super(i),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",Re.baseImageUrl+"add.png"],["delete","删除当前控制点","",Re.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Re.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let c of this.editingPoints)c.menuPoi.commands=[["delete","删除当前控制点","",Re.baseImageUrl+"delete.png"],["modify","修改当前控制点","",Re.baseImageUrl+"modify.png"]];const n=w.geoHeading(this.startPosition,this.endPosition),r=w.geoDistance(this.startPosition,this.endPosition);if(Math.abs(r)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],s=Math.atan(o/r)*180/Math.PI,a=Math.sqrt(r*r+o*o);this.rotation=[n,s,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Re.createDefaultProps(),startPosition:l.reactArrayWithUndefined(void 0),endPosition:l.reactArrayWithUndefined(void 0),rotation:l.reactArray([0,0,0]),distance:l.react(0)})})(Oo||(Oo={})),l.extendClassProps(Oo.prototype,Oo.createDefaultProps);class h1 extends Je{constructor(i){super(i),this.loop=!1,this.polylineShow=!1}}class d1 extends Re{constructor(i){super(i),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class jr extends Je{constructor(i){super(i),i.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(i){const e=this.ad(new ri(i));e.topOrBottom="bottom",this.ad(l.track([e,"color"],[this,"polylineColor"])),this.ad(l.track([e,"width"],[this,"polylineWidth"])),this.ad(l.track([e,"show"],[this,"polylineShow"])),this.ad(l.track([e,"arcType"],[this,"polylineArcType"])),this.ad(l.track([e,"loop"],[this,"loop"])),this.ad(l.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Je.createDefaultProps(),visibilityPositions:l.reactPositionsSet(void 0)})})(jr||(jr={})),l.extendClassProps(jr.prototype,jr.createDefaultProps);class es extends Re{constructor(i){if(super(i),!!i.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const n=[...this.positions[0]];n[2]-=i.editingHeightOffset??0,this.visibilityPositions=this.positions.map(r=>(r[2]-=i.editingHeightOffset??0,[n,r]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(i){const e=this.ad(new ri(i));e.topOrBottom="bottom",this.ad(l.track([e,"color"],[this,"polylineColor"])),this.ad(l.track([e,"width"],[this,"polylineWidth"])),this.ad(l.track([e,"show"],[this,"polylineShow"])),this.ad(l.track([e,"arcType"],[this,"polylineArcType"])),this.ad(l.track([e,"loop"],[this,"loop"])),this.ad(l.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Re.createDefaultProps(),visibilityPositions:l.reactPositionsSet(void 0)})})(es||(es={})),l.extendClassProps(es.prototype,es.createDefaultProps);class u1 extends Oo{constructor(i){super(i),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class Ct extends w.EngineObject{constructor(e,n,r){super(e,n,r??!0);v(this,"_supportEditing",this.disposeVar(l.react(!0)));v(this,"_currentEditing",this.disposeVar(l.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof Je&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof hi&&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 Nl=class Nl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new hi(e));this.ad(e.clickEvent.don(r=>{var o;((o=r.pointerEvent)==null?void 0:o.button)==2&&(n.enabled=!0)}));do{if(Reflect.has(i,"position")){this.ad(l.bind([n,"position"],[i,"position"])),n.enabled=!n.position||w.equalsN3(n.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};v(Nl,"type",Nl.registerEditing("ESCesiumViewer",w.ESJEditingMode.Place,Nl));let Lg=Nl;const Ol=class Ol extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new di(e));n.rotation=[90,0,0],this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);r&&(this.ad(l.bind([n,"position"],[r.czm3DTiles,"position"])),this.ad(l.bind([n,"selfRotation"],[i,"rotation"])))});break}if(Reflect.has(i,"position")&&Reflect.has(i,"rotation")){this.ad(l.bind([n,"position"],[i,"position"])),this.ad(l.bind([n,"selfRotation"],[i,"rotation"]));break}this.supportEditing=!1}while(!1)}};v(Ol,"type",Ol.registerEditing("ESCesiumViewer",w.ESJEditingMode.Rotation,Ol));let Ng=Ol;const Vl=class Vl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new nn(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")&&Reflect.has(i,"scale")){this.ad(l.bind([n,"position"],[i,"position"])),this.ad(l.bind([n,"scale"],[i,"scale"]));break}this.supportEditing=!1}while(!1)}};v(Vl,"type",Vl.registerEditing("ESCesiumViewer",w.ESJEditingMode.Scale,Vl));let Og=Vl;const Ul=class Ul extends Ct{constructor(i,e){super(Array.isArray(i)?i[0]:i,e,!0);const n=this.currentEditing=this.ad(new tn(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(i)){const r=[];for(let o=0;o<i.length;o++){const s=i[o];Reflect.has(s,"position")?r.push(s.position):s.points&&r.push(...s.points)}n.position=w.getMinMaxCorner(r).center,this.ad(n.positionChanged.disposableOn((o,s)=>{if(!(!o||!s)){var a=Mt({originPosition:s},[o])[0][0];i.forEach(c=>{if(Reflect.has(c,"position")){const h=Mt({originPosition:s},[c.position])[0][0];c.position=fn({originPosition:s},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(c,"points")&&c.points){const h=Mt({originPosition:s},c.points)[0];c.points=fn({originPosition:s},h.map(p=>[p[0]+a[0],p[1]+a[1],p[2]+a[2]]))[0]}})}}));break}if(Reflect.has(i,"position")){this.ad(l.bind([n,"position"],[i,"position"]));break}if(i instanceof w.ES3DTileset){w.registerCreatedEventUpdate(this,i,()=>{const r=e.getEngineObject(i);this.ad(l.bind([n,"position"],[r.czm3DTiles,"position"]))});break}if(Reflect.has(i,"points")){if(i.points===void 0||i.points.length===0){this.destroy();break}n.position=w.getMinMaxCorner(i.points).center,this.ad(n.positionChanged.disposableOn((r,o)=>{if(r===void 0||o===void 0||i.points===void 0||i.points.length===0){this.destroy();return}var s=Mt({originPosition:o},[r])[0][0];const a=Mt({originPosition:o},i.points)[0];i.points=fn({originPosition:o},a.map(c=>[c[0]+s[0],c[1]+s[1],c[2]+s[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};v(Ul,"type",Ul.registerEditing("ESCesiumViewer",w.ESJEditingMode.Translation,Ul));let Ah=Ul;const Wl=class Wl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new Br(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"position")){this.ad(l.bind([n,"startPosition"],[i,"position"])),this.ad(it([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(l.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(l.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(l.bind([n,"distance"],[i,"distance"]));break}const r=$e(i.position);if(d.Cartesian3.ZERO.equals(r)||!e.viewer)return;n.distance=Li(e.viewer.scene,r,100)??1}while(!1);break}if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1);n.startPosition&&!w.equalsN3(n.startPosition,[0,0,0])&&n.init(),n.enabled=!0}};v(Wl,"type",Wl.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsAppend,Wl));let Vg=Wl;const Gl=class Gl extends Ct{constructor(i,e){var o;if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new Oo(e));do{if(Reflect.has(i,"position")){this.ad(l.bind([n,"startPosition"],[i,"position"])),this.ad(it([n,"rotation"],[i,"rotation"]));do{if(Reflect.has(i,"far")){this.ad(l.bind([n,"distance"],[i,"far"]));break}if(Reflect.has(i,"radius")){this.ad(l.bind([n,"distance"],[i,"radius"]));break}if(Reflect.has(i,"distance")){this.ad(l.bind([n,"distance"],[i,"distance"]));break}const s=$e(i.position);if(d.Cartesian3.ZERO.equals(s)||!e.viewer)return;n.distance=Li(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(i,"points")&&((o=i.points)==null?void 0:o.length)==2){n.moveWithFirstPosition=!1;const s=()=>n.positions=i.points??[];s(),this.ad(i.pointsChanged.don(()=>!n.enabled&&s())),this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(l.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Gl,"type",Gl.registerEditing("ESCesiumViewer",w.ESJEditingMode.DoublePointsModify,Gl));let Ug=Gl;const Hl=class Hl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new a1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Hl,"type",Hl.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularAppend,Hl));let Wg=Hl;const ql=class ql extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new c1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(ql,"type",ql.registerEditing("ESCesiumViewer",w.ESJEditingMode.CircularInsert,ql));let Gg=ql;const $l=class $l extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new s1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v($l,"type",$l.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringAppend,$l));let Hg=$l;const Xl=class Xl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new l1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Xl,"type",Xl.registerEditing("ESCesiumViewer",w.ESJEditingMode.LineStringInsert,Xl));let qg=Xl;const Yl=class Yl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new h1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Yl,"type",Yl.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterAppend,Yl));let $g=Yl;const Zl=class Zl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new d1(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Zl,"type",Zl.registerEditing("ESCesiumViewer",w.ESJEditingMode.ScatterModify,Zl));let Xg=Zl;const Ql=class Ql extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new jr(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Ql,"type",Ql.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityAppend,Ql));let Yg=Ql;const Kl=class Kl extends Ct{constructor(i,e){super(i,e,!0);const n=this.currentEditing=this.ad(new es(e));this.ad(n.enabledChanged.don(r=>{!r&&this.ad(l.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(i,"points")){const r=()=>n.positions=i.points??[];r(),this.ad(i.pointsChanged.don(()=>!n.enabled&&r())),n.enabled=!0,this.ad(l.track([i,"points"],[n,"positions"]));break}this.supportEditing=!1}while(!1)}};v(Kl,"type",Kl.registerEditing("ESCesiumViewer",w.ESJEditingMode.VisibilityModify,Kl));let Zg=Kl;const Jl=class Jl extends Ct{constructor(i,e){if(super(i,e,!0),!e.viewer)return;const n=this.currentEditing=this.ad(new u1(e));do{if(Reflect.has(i,"points")){const o=Reflect.has(i,"extrudedHeight"),s=Reflect.has(i,"height"),a=Reflect.has(i,"perPositionHeight")?i.perPositionHeight:!o,c=i instanceof w.ESClassification||i instanceof w.ESPolygonFence;let h=w.getMinMaxCorner(i.points).center,p=[...h],u=c?i.points[0][2]:0;a?o?p[2]=i.extrudedHeight:p[2]=i.height+u:(s&&(h[2]=i.height),o&&(p[2]=i.extrudedHeight)),n.startPosition=h,n.distance=p[2]-h[2],n.moveWithFirstPosition=!1;let f=[...h];this.ad(n.positionsChanged.don(()=>{n.positions.length===2&&(a?(i.points=i.points.map(g=>[g[0],g[1],g[2]+n.positions[0][2]-f[2]]),o?i.extrudedHeight=n.positions[1][2]:s&&(i.height=n.positions[1][2]-(c?n.positions[0][2]:0))):(s&&(i.height=n.positions[0][2]),o&&(i.extrudedHeight=n.positions[1][2])),f=[...n.positions[0]])}));break}this.supportEditing=!1;return}while(!1);n.init(),n.enabled=!0;const r=this.ad(l.createNextAnimateFrameEvent(n.enabledChanged,n.startPositionChanged));this.ad(r.don(()=>{(!n.enabled||!n.startPosition||w.equalsN3(n.startPosition,[0,0,0]))&&this.destroy()}))}};v(Jl,"type",Jl.registerEditing("ESCesiumViewer",w.ESJEditingMode.HeightModify,Jl));let Qg=Jl;function p1(){const t=l.createProcessingFromAsyncFunc(async(i,e,n,r,o=!0)=>{const s=Array.isArray(r)?[...r]:[r],a=n.editingID;e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"start",add:{modes:s}});const c=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"end",add:{modes:s}}),t.isRunning&&t.cancel()};i.disposer.ad(c),i.disposer.ad(n.toDestroyEvent.don(c));const h=u=>{u.code=="Escape"&&c()};document.body.addEventListener("keydown",h),i.disposer.ad(()=>document.body.removeEventListener("keydown",h));let p=0;do{const u=s[p%s.length],f=await l.step(i,async g=>{const m=g.disposer,y=w.EngineObject.contextEditing.getEngineObjConstructor(u,e.typeName);if(!y||!n.supportEditingModes().includes(u))return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:p}}),e.notSupportEditingCount++,!1;const _=new y(n,e);if(m.ad(()=>{!_.isDestroyed()&&_.destroy()}),_.supportEditing)e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"changed",add:{cMode:u,cIndex:p}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${u},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[n.parentID??n.id],editingID:a,type:"changedFailed",add:{cMode:u,cIndex:p}}),e.notSupportEditingCount++,!1;return await g.promise(new Promise(C=>{if(_.isDestroyed()&&C(!1),m.ad(_.toDestroyEvent.don(()=>{console.log(`编辑模式${u}结束`),C(!1)})),o){const E=M=>{M.code=="Space"&&(console.log(`编辑模式${u}结束`),C(!1))};document.body.addEventListener("keydown",E),m.ad(()=>document.body.removeEventListener("keydown",E)),m.ad(e.dblclickEvent.don(()=>C(!0)))}}))});if(o&&f||!o&&p==s.length-1||e.notSupportEditingCount==s.length)break;p++}while(!0)});return t}function f1(){const t=l.createProcessingFromAsyncFunc(async(i,e,n,r)=>{e.editingEvent.emit({objectIDs:n.map(c=>c.parentID??c.id),editingID:r,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:n.map(c=>c.parentID??c.id),editingID:r,type:"end"}),t.isRunning&&t.cancel()};i.disposer.ad(o);const s=c=>{c.code=="Escape"&&o()};document.body.addEventListener("keydown",s),i.disposer.ad(()=>document.body.removeEventListener("keydown",s));const a=new Ah(n,e);i.disposer.ad(()=>{!a.isDestroyed()&&a.destroy()}),await i.promise(new Promise(c=>{a.isDestroyed()&&c(),i.disposer.ad(a.toDestroyEvent.don(()=>{console.log("移动结束"),c()})),i.disposer.ad(e.dblclickEvent.don(()=>c()))}))});return t}b.copyright=void 0;try{const t="earthsdk3-cesium",i="3.2.0-beta.9",e="2025-07-09T00:49:51.000Z",n="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="86cd78d39a95619b7116ef4bdb191f0d2e005181",a=((Date.now()-1752022191e3)/36e5).toFixed(1),c=`%c🌏 ${t}%c ${i}.${o.slice(0,8)}.${e} (距今${a}个小时)
2295
2295
  %c${r?r+`
2296
2296
  `:""}当前网站正在使用${t},此软件版权归${n}所有
2297
- `;b.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","798c9f9e364c0e89c5611fb7689e92715ba748df")},get info(){return c},get date(){return"2025-07-08T09:18:44.000Z"},get author(){return"suplyang"},get version(){return"3.2.0-beta.8"},get name(){return"earthsdk3-cesium"},get commitId(){return"798c9f9e364c0e89c5611fb7689e92715ba748df"},print(){console.info(this.info,`
2297
+ `;b.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","86cd78d39a95619b7116ef4bdb191f0d2e005181")},get info(){return c},get date(){return"2025-07-09T00:49:51.000Z"},get author(){return"suplyang"},get version(){return"3.2.0-beta.9"},get name(){return"earthsdk3-cesium"},get commitId(){return"86cd78d39a95619b7116ef4bdb191f0d2e005181"},print(){console.info(this.info,`
2298
2298
  font-size: 18px;
2299
2299
  font-weight: 1000;
2300
2300
  line-height: 1;