earthsdk3 3.4.0-beta.8 → 3.4.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.
- package/dist/earthsdk3.iife.js +3 -3
- package/dist/earthsdk3.js +34 -5
- package/dist/earthsdk3.umd.cjs +3 -3
- package/dist/types/ESObjects/general/ESRtsTileset/index.d.ts +6 -0
- package/dist/types/ESObjects/general/ESRtsTileset/index.d.ts.map +1 -1
- package/dist/types/ESViewer/ESViewer.d.ts +8 -0
- package/dist/types/ESViewer/ESViewer.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/earthsdk3.iife.js
CHANGED
|
@@ -334,7 +334,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
334
334
|
\`\`\`
|
|
335
335
|
${Jv}
|
|
336
336
|
\`\`\`
|
|
337
|
-
`;function Bv(r){try{return JSON.parse(r),!0}catch{return!1}}const hI="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",zt=class zt extends ee{constructor(e){super(e);g(this,"_flyToFeatureEvent",this.dv(new d.Event));g(this,"_flyToFeatureIndexEvent",this.dv(new d.Event));g(this,"_features",this.disposeVar(d.reactJsonWithUndefined(void 0)));g(this,"pickedInfoType","FeatureCollection");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(e,n,i){this._flyToFeatureEvent.emit(e,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(e,n){this._flyToFeatureIndexEvent.emit(e,n)}get features(){return this._features.value}set features(e){this._features.value=e}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var e;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Bv(this.url)?this.features=JSON.parse(this.url):await fetch(ht.context.getStrFromEnv(this.url)).then(n=>n.json()).then(n=>{this.features=n}).catch(n=>{console.warn("ESEntityCluster数据加载失败",n)}),this.pickedInfoType=((e=this.features)==null?void 0:e.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new ut([this,"url"],"服务地址",zt.defaults.url),new L([this,"minFeatureVisibleDistance"],"要素最小可视距离",zt.defaults.minFeatureVisibleDistance),new L([this,"maxFeatureVisibleDistance"],"要素最大可视距离",zt.defaults.maxFeatureVisibleDistance),new bt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new gt([],"点样式集合"),new $([this,"textShow"],"是否显示",zt.defaults.textShow),new Ve([this,"textAnchor"],"锚点",zt.defaults.anchor),new _t([this,"textProperty"],"标注显示属性",zt.defaults.textStyle.textProperty),new _t([this,"textDefaultText"],"默认文本",zt.defaults.textStyle.defaultText),new Rt([this,"textColor"],"文本颜色",zt.defaults.textStyle.color),new Rt([this,"textBackgroundColor"],"文本背景颜色",zt.defaults.textStyle.backgroundColor),new _t([this,"textFontStyle"],"字体样式",zt.defaults.textStyle.fontStyle),new _t([this,"textFontWeight"],"字体粗细",zt.defaults.textStyle.fontWeight),new L([this,"textFontSize"],"字体大小",zt.defaults.textStyle.fontSize),new Ve([this,"textOffset"],"像素偏移",zt.defaults.textStyle.offset),new gt([],"点图片样式集合"),new $([this,"imageShow"],"是否显示",zt.defaults.imageShow),new Ve([this,"imageAnchor"],"锚点",zt.defaults.imageStyle.anchor),new ut([this,"imageUrl"],"图片地址",zt.defaults.imageStyle.url),new Ve([this,"imageSize"],"图片大小",zt.defaults.imageStyle.size),new Ve([this,"imageOffset"],"像素偏移",zt.defaults.imageStyle.offset),new gt([],"线样式集合"),new $([this,"stroked"],"是否显示",zt.defaults.stroked),new $([this,"strokeGround"],"贴地",zt.defaults.strokeStyle.ground),new L([this,"strokeWidth"],"线宽",zt.defaults.strokeStyle.width),new bt([this,"strokeWidthType"],zt.defaults.strokeStyle.widthTypes,"线宽类型"),new Rt([this,"strokeColor"],"线颜色",zt.defaults.strokeStyle.color),new _t([this,"strokeMaterial"],"线材质",zt.defaults.strokeStyle.material),new ut([this,"strokeMaterialParams"],"线材质参数",zt.defaults.strokeStyle.materialParams),new gt([],"面样式集合"),new $([this,"filled"],"是否显示",zt.defaults.filled),new $([this,"fillGround"],"贴地",zt.defaults.fillStyle.ground),new Rt([this,"fillColor"],"填充颜色",zt.defaults.fillStyle.color),new _t([this,"fillMaterial"],"填充材质",zt.defaults.fillStyle.material),new ut([this,"fillMaterialParams"],"填充材质参数",zt.defaults.fillStyle.materialParams)],more:[...e.more,new gt([],"标注文本样式"),new _t([this,"textFontFamily"],"字体",zt.defaults.textStyle.fontFamily),new gt([],"通用"),new _s([this,"loadFuncStr"],"loadFnStr",Jv,lI,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(e){this.textStyle={...this.textStyle,textProperty:e}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(e){this.textStyle={...this.textStyle,defaultText:e}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(e){this.textStyle={...this.textStyle,color:e}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(e){this.textStyle={...this.textStyle,backgroundColor:e}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(e){this.textStyle={...this.textStyle,fontFamily:e}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(e){this.textStyle={...this.textStyle,fontStyle:e}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(e){this.textStyle={...this.textStyle,fontWeight:e}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(e){this.textStyle={...this.textStyle,fontSize:e}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(e){this.textStyle={...this.textStyle,anchor:e}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(e){this.textStyle={...this.textStyle,offset:e}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(e){this.imageStyle={...this.imageStyle,url:e}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(e){this.imageStyle={...this.imageStyle,size:e}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(e){this.imageStyle={...this.imageStyle,anchor:e}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(e){this.imageStyle={...this.imageStyle,offset:e}}get imageOffsetChanged(){return this.imageStyleChanged}};g(zt,"createDefaultProps",()=>({...ee.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:hI,stroked:!0,strokeStyle:d.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:d.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:d.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:d.reactJson({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})),g(zt,"type",zt.register("ESGeoJson",zt,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"}));let hd=zt;const ko=class ko extends Dt{constructor(e){super(e);g(this,"editingBindMode","doublePoints");g(this,"_height",this.disposeVar(d.react(0)));{const n=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};n(),this.ad(this.pointsChanged.don(n))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}};g(ko,"createDefaultProps",()=>({...Dt.createDefaultProps(),stroked:!0,strokeStyle:d.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),g(ko,"type",ko.register("ESHeightMeasurement",ko,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),g(ko,"supportEditingModes",[...Dt.supportEditingModes,lt.DoublePointsAppend,lt.DoublePointsModify]);let cd=ko;const $a=class $a extends cs{constructor(e){super(e);g(this,"_area",this.dv(d.react(0)));g(this,"_perimeter",this.dv(d.react(0)));g(this,"editingBindMode","doublePoints");const n=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};n(),this.d(this.radiusChanged.don(n))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(e=10,n){return I0([...this.position],this.radius,e,n)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",basic:[...e.basic,new L([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new $([this,"editing"],"是否编辑"),new Jo([this,"position"],"三维坐标",[0,0,0],!0),new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};g($a,"createDefaultProps",()=>({...cs.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:d.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),g($a,"type",$a.register("ESLocalCircle",$a,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let fd=$a;const ja=class ja extends cs{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new hg([this,"points"],"坐标",[])]}}};g(ja,"createDefaultProps",()=>({...cs.createDefaultProps(),points:sc([]),filled:!0})),g(ja,"type",ja.register("ESLocalPolygon",ja,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let vl=ja;const tu=class tu extends Fa{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new rc([this,"points"],"本地位置数组")]}}};g(tu,"createDefaultProps",()=>({...Fa.createDefaultProps(),points:d.reactPositions(void 0),filled:!0})),g(tu,"type",tu.register("ESLocalPolygonZ",tu,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let dd=tu;const eu=class eu extends cs{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"width"],"宽度"),new L([this,"height"],"高度")]}}};g(eu,"createDefaultProps",()=>({...cs.createDefaultProps(),width:5e5,height:3e5,filled:!0})),g(eu,"type",eu.register("ESLocalRectangle",eu,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let gd=eu;const ds=class ds extends Dt{constructor(e){super(e);g(this,"editingBindMode","lineString");g(this,"_distance",this.dv(d.react(0)));g(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);g(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const n=()=>{if(this.points&&this.points.length>=2){const i=cl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"height"],"高度",10),new L([this,"width"],"宽度",10),new bt([this,"materialMode"],ds.materialModes,"模式","purple")],coordinate:[...e.coordinate,new L([this,"distance"],"距离",0,!1,!0)]}}};g(ds,"createDefaultProps",()=>({...Dt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:d.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),g(ds,"type",ds.register("ESPipeFence",ds,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),g(ds,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]),g(ds,"supportEditingModes",[...Dt.supportEditingModes,lt.LineStringAppend,lt.LineStringInsert]);let pd=ds;const gs=class gs extends Fn{constructor(e){super(e);g(this,"_setLayerVisibleEvent",this.dv(new d.Event));g(this,"_setLayerColorEvent",this.dv(new d.Event))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(e,n){this._setLayerVisibleEvent.emit(e,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(e,n){this._setLayerColorEvent.emit(e,n)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"ESPipeserTileset"),new pt(["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""],"setLayerVisible"),new pt(["string","string"],(n,i)=>this.setLayerColor(n,i),["",""],"setLayerColor"),new bt([this,"colorMode"],gs.colorModes,"colorMode",gs.defaults.colorMode,!0)]}}};g(gs,"createDefaultProps",()=>({...Fn.createDefaultProps(),colorMode:"default"})),g(gs,"type",gs.register("ESPipeserTileset",gs,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),g(gs,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let vd=gs;const ps=class ps extends Dt{constructor(e){super(e);g(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new L([this,"height"],"高度",10),new bt([this,"materialMode"],ps.materialModes,"模式","danger")]}}};g(ps,"createDefaultProps",()=>({...Dt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),g(ps,"type",ps.register("ESPolygonFence",ps,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),g(ps,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),g(ps,"supportEditingModes",[...Dt.supportEditingModes,lt.CircularAppend,lt.CircularInsert,lt.HeightModify]);let md=ps;const Ks=class Ks extends Dt{constructor(e){super(e);g(this,"_deprecated",["ground"]);g(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());g(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"通用","通用"),new $([this,"ground"],"是否贴地"),new $([this,"outlineTranslucent"],"轮廓线半透明"),new L([this,"height"],"高度"),new L([this,"extrudedHeight"],"拉伸高度"),new Hn([this,"rectangle"],"范围",Ks.defaults.rectangle,!0),new L([this,"stRotation"],"纹理旋转角度"),new L([this,"rotation"],"旋转角度"),new $([this,"pointEditing"],"是否单点编辑")]}}};g(Ks,"createDefaultProps",()=>({...Dt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:d.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),g(Ks,"type",Ks.register("ESRectangle",Ks,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),g(Ks,"supportEditingModes",[...Dt.supportEditingModes,lt.DoublePointsAppend,lt.DoublePointsModify]);let yd=Ks;const ru=class ru extends ie{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};g(ru,"createDefaultProps",()=>({...ie.createDefaultProps(),innerRings:d.reactPositionsSet([])})),g(ru,"type",ru.register("ESPolygonWithHole",ru,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let _d=ru;const Zs=class Zs extends ie{constructor(e){super(e);g(this,"_startEvent",this.disposeVar(new d.Event));g(this,"_stopEvent",this.dv(new d.Event));g(this,"_surfaceArea",this.disposeVar(d.react(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(e){this._surfaceArea.value=e}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"表面积测量","表面积测量"),new pt([],()=>this.start(),[],"开始计算"),new L([this,"interpolation"],"插值距离",Zs.defaults.interpolation),new L([this,"offsetHeight"],"偏移高度",Zs.defaults.offsetHeight)]}}};g(Zs,"createDefaultProps",()=>({...ie.createDefaultProps(),interpolation:.5,offsetHeight:0,units:d.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:d.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),g(Zs,"type",Zs.register("ESSurfaceAreaMeasurement",Zs,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Ed=Zs;const $s=class $s extends ct{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",$s.defaults.downloadProgress,!0,!0),new ut([this,"importOptions"],"导入参数",$s.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new ut([this,"url"],"路径")]}}};g($s,"createDefaultProps",()=>({...ct.createDefaultProps(),url:"",importOptions:d.reactJsonWithUndefined({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),g($s,"type",$s.register("ESDatasmithRuntimeModel",$s,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let wd=$s;const Sr=class Sr extends vl{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Sr.defaults.waterType),new L([this,"frequency"],"频率",Sr.defaults.frequency),new Xe([this,"amplitude"],.01,[0,1],"振幅",Sr.defaults.amplitude),new Xe([this,"flowDirection"],1,[0,360],"流向",Sr.defaults.flowDirection),new Xe([this,"waveVelocity"],.01,[0,1],"波动频率",Sr.defaults.waveVelocity),new Xe([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Sr.defaults.specularIntensity),new Xe([this,"murkiness"],.1,[0,10],"水体浑浊度",Sr.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",Sr.defaults.flowSpeed),new Rt([this,"waterColor"],"水的底色",Sr.defaults.waterColor),new ut([this,"waterImage"],"水的图片",Sr.defaults.waterImage)]}}};g(Sr,"createDefaultProps",()=>({...vl.createDefaultProps(),allowPicking:!0,waterImage:d.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),g(Sr,"type",Sr.register("ESDynamicWater",Sr,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Sd=Sr;const Cr=class Cr extends ie{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Cr.defaults.waterType),new L([this,"frequency"],"频率",Cr.defaults.frequency),new Xe([this,"amplitude"],.01,[0,1],"振幅",Cr.defaults.amplitude),new Xe([this,"flowDirection"],1,[0,360],"流向",Cr.defaults.flowDirection),new Xe([this,"waveVelocity"],.01,[0,1],"波动频率",Cr.defaults.waveVelocity),new Xe([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Cr.defaults.specularIntensity),new Xe([this,"murkiness"],.1,[0,10],"水体浑浊度",Cr.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",Cr.defaults.flowSpeed),new Rt([this,"waterColor"],"水的底色",Cr.defaults.waterColor),new ut([this,"waterImage"],"水的图片",Cr.defaults.waterImage)]}}};g(Cr,"createDefaultProps",()=>({...ie.createDefaultProps(),allowPicking:!0,waterImage:d.reactJsonWithUndefined({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),g(Cr,"type",Cr.register("ESGeoWater",Cr,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Cd=Cr;const Vo=class Vo extends ct{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",Vo.defaults.downloadProgress,!0,!0),new _t([this,"levelName"],"levelName",""),new L([this,"levelLoadDistance"],"levelLoadDistance",1e3),new lr([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new ut([this,"url"],"url","")]}}};g(Vo,"createDefaultProps",()=>({...ct.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:d.reactArray([0,0,0]),levelLoadDistance:1e3})),g(Vo,"type",Vo.register("ESLevelRuntimeModel",Vo,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Pd=Vo;const dn=class dn extends Xs{constructor(e){super(e);g(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);g(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"radius"],"半径",dn.defaults.radius),new L([this,"sides"],"圆边数",dn.defaults.sides),new L([this,"speed"],"材质速度",dn.defaults.speed),new bt([this,"materialMode"],dn.materialModes,"材质模式",dn.defaults.materialMode),new ut([this,"materialImage"],"材质图片和重复度",dn.defaults.materialImage)]}}};g(dn,"createDefaultProps",()=>({...Xs.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:d.reactJson({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:d.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),g(dn,"type",dn.register("ESPipeline",dn,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),g(dn,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let Id=dn;const Wi=class Wi extends Dt{constructor(e){super(e);g(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Rt([this,"visibleColor"],"可视区域颜色",Wi.defaults.visibleColor),new Rt([this,"invisibleColor"],"遮挡区域颜色",Wi.defaults.invisibleColor),new L([this,"heightOffset"],"视点高度偏移",Wi.defaults.heightOffset)]}}};g(Wi,"createDefaultProps",()=>({...Dt.createDefaultProps(),visibleColor:d.reactArray([0,1,0,1]),invisibleColor:d.reactArray([1,0,0,1]),heightOffset:0})),g(Wi,"type",Wi.register("ESVisibilityAnalysis",Wi,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),g(Wi,"supportEditingModes",[...Dt.supportEditingModes,lt.VisibilityAppend,lt.VisibilityModify]);let Md=Wi;const nu=class nu extends ie{constructor(e){super(e);g(this,"_startEvent",this.dv(new d.Event));g(this,"_clearEvent",this.dv(new d.Event));g(this,"_volume",this.disposeVar(d.react(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(e){this._volume.value=e}get volumeChanged(){return this._volume.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"通用","通用"),new L([this,"planeHeight"],"基准面高程",void 0,!0),new L([this,"gridWidth"],"采样间距 m"),new L([this,"cutVolume"],"挖方",0,!1,!0),new L([this,"fillVolume"],"填方",0,!1,!0),new L([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new L([this,"progress"],"计算进度",0,!1,!0),new pt([],()=>this.start(),[],"开始分析"),new pt([],()=>this.clear(),[],"清空分析结果"),new $([this,"depthTest"],"是否开启深度检测")]}}};g(nu,"createDefaultProps",()=>({...ie.createDefaultProps(),planeHeight:d.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:d.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),g(nu,"type",nu.register("ESVolumeMeasurement",nu,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Nd=nu;const iu=class iu extends Ga{constructor(e){super(e);g(this,"_human",this.dv(new Ga));g(this,"_poi",this.dv(new pl));this.mainClass=this._human,this.d(this.components.disposableAdd(this._human)),this.d(this.components.disposableAdd(this._poi));{const{_human:n,_poi:i}=this;this.d(d.track([n,"show"],[this,"show"])),this.d(d.track([i,"show"],[this,"show"])),this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([i,"allowPicking"],[this,"allowPicking"])),this.d(d.bind([n,"scale"],[this,"scale"])),this.d(d.bind([i,"scale"],[this,"scale"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.track([i,"collision"],[this,"collision"])),this.d(d.bind([n,"flyInParam"],[this,"flyInParam"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.track([n,"animation"],[this,"animation"])),this.d(d.track([n,"mode"],[this,"mode"])),this.d(d.track([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(d.track([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(d.track([i,"name"],[this,"name"])),this.d(d.track([i,"mode"],[this,"poiMode"])),this.d(d.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(d.track([i,"screenRender"],[this,"screenRender"])),this.d(d.track([i,"size"],[this,"size"])),this.d(d.track([i,"anchor"],[this,"anchor"])),this.d(d.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(d.track([i,"renderMode"],[this,"renderMode"])),this.d(d.track([i,"rotationType"],[this,"rotationType"])),this.d(d.track([i,"zOrder"],[this,"zOrder"])),this.d(d.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(d.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(d.bind([n,"position"],[this,"position"])),this.d(d.bind([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{n.flyIn(s)})),this.d(this.flyToEvent.don(s=>{n.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{n.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{n.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{n.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{n.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"poiMode"],pl.modes,"poi模式","SquareH01"),new L([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};g(iu,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:d.reactJson({}),autoAnchor:!0,screenRender:!0,size:d.reactArray([100,100]),anchor:d.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Ga.createDefaultProps()})),g(iu,"type",iu.register("ESHumanPoi",iu,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let bd=iu;const mi=class mi extends ie{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"depth"],"深度",mi.defaults.depth),new L([this,"interpolation"],"插值",mi.defaults.interpolation),new L([this,"opacity"],"透明度",mi.defaults.opacity),new ut([this,"sideImage"],"侧面图片",mi.defaults.sideImage),new ut([this,"bottomImage"],"底面图片",mi.defaults.bottomImage)]}}};g(mi,"createDefaultProps",()=>({...ie.createDefaultProps(),depth:100,sideImage:d.reactJson({url:ht.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:d.reactJson({url:ht.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),g(mi,"type",mi.register("ESPit",mi,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let ka=mi;const su=class su extends ka{constructor(e){super(e);g(this,"_excavate",this.dv(new gl));g(this,"_pit",this.dv(new ka));this.mainClass=this._pit,this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit));{const{_excavate:n,_pit:i}=this;this.d(d.track([n,"show"],[this,"show"])),this.d(d.track([i,"show"],[this,"show"])),this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([i,"allowPicking"],[this,"allowPicking"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.track([i,"collision"],[this,"collision"])),this.d(d.bind([i,"points"],[this,"points"])),this.d(d.track([n,"points"],[this,"points"])),this.d(d.track([i,"pointed"],[this,"pointed"])),this.d(d.track([n,"pointed"],[this,"pointed"])),this.d(d.track([i,"pointStyle"],[this,"pointStyle"])),this.d(d.track([n,"pointStyle"],[this,"pointStyle"])),this.d(d.track([i,"stroked"],[this,"stroked"])),this.d(d.track([n,"stroked"],[this,"stroked"])),this.d(d.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(d.track([n,"strokeStyle"],[this,"strokeStyle"])),this.d(d.track([i,"filled"],[this,"filled"])),this.d(d.track([i,"fillStyle"],[this,"fillStyle"])),this.d(d.track([n,"fillStyle"],[this,"fillStyle"])),this.d(d.track([n,"mode"],[this,"mode"])),this.d(d.track([n,"targetID"],[this,"targetID"])),this.d(d.track([i,"depth"],[this,"depth"])),this.d(d.track([i,"sideImage"],[this,"sideImage"])),this.d(d.track([i,"bottomImage"],[this,"bottomImage"])),this.d(d.track([i,"opacity"],[this,"opacity"])),this.d(d.track([i,"interpolation"],[this,"interpolation"])),this.d(d.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(d.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],gl.modes,"模式","in"),new _t([this,"targetID"],"瓦片图层","")]}}};g(su,"createDefaultProps",()=>({...ka.createDefaultProps(),mode:"in",targetID:""})),g(su,"type",su.register("ESHole",su,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Td=su;const xd={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},cI=async(r,t,e,n)=>{try{const i=window.localStorage.getItem("Authorization");let s=r+`${xd.layerconfigfind}?tileServiceName=${t}`;e&&(s+=`&earthdstoken=${encodeURIComponent(n)}`);const o={headers:{...!e&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},fI=async(r,t,e,n,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=r+xd.layerconfigsave;const a=i??{};e&&(o+=`?earthdstoken=${encodeURIComponent(n)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!e&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:t,layerConfig:JSON.stringify(a)})},h=await(await fetch(o,u)).text();return JSON.parse(h)}catch(s){console.error(s)}},dI=async(r,t,e)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},gI=async(r,t,e,n,i)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=r+xd.featureproperty;n&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!n&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),h=JSON.parse(l);if(h.status=="ok")return h.data;console.error(h.data.status);return}catch(s){console.error(s)}},ou=class ou extends Fn{constructor(e){super(e);g(this,"_es3DTileset",this.dv(new Fn));g(this,"_ids",this.dv(d.reactJson([])));g(this,"_useEarthDSToken",this.dv(d.react(!1)));g(this,"_earthdstoken",this.dv(d.react("")));g(this,"_highlightInner3DtilesetEvent",this.dv(new d.Event));g(this,"_removeHighlightInner3DtilesetEvent",this.dv(new d.Event));g(this,"_tilesetServePort",this.dv(d.react("")));this.mainClass=this._es3DTileset;{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const n=this._es3DTileset;this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.track([n,"actorTag"],[this,"actorTag"])),this.d(d.track([n,"materialMode"],[this,"materialMode"])),this.d(d.track([n,"highlight"],[this,"highlight"])),this.d(d.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(d.track([n,"highlightID"],[this,"highlightID"])),this.d(d.track([n,"highlightColor"],[this,"highlightColor"])),this.d(d.bind([n,"offset"],[this,"offset"])),this.d(d.bind([n,"rotation"],[this,"rotation"])),this.d(d.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(d.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(d.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(d.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(d.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(d.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(d.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(d.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(d.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(d.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(d.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(d.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(d.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(d.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(d.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(d.track([n,"materialParams"],[this,"materialParams"])),this.d(d.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(d.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(d.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(d.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(d.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(d.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(d.bind([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{n.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(e){this._ids.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getFeatureProperty(e){return await gI(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await cI(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!e||!Array.isArray(e)?this.layerConfig=[]:this.layerConfig=e,this.layerConfig}async saveLayerConfig(){const e=this.layerConfig;return await fI(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,e)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(e){this._highlightInner3DtilesetEvent.emit(e)}async highlightDSFeature(e){this._highlightInner3Dtileset(e)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(e){this._removeHighlightInner3DtilesetEvent.emit(e)}async removeHighlightDSFeature(e){this._removeHighlightInner3Dtileset(e)}async pickFeature(e,n){var a,u,l;const i=await e.pick(n),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(u=i==null?void 0:i.tilesetPickInfo)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(l=i==null?void 0:i.sceneObject)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}async getport(){const e=await dI(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ut([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};g(ou,"createDefaultProps",()=>({...Fn.createDefaultProps(),layerConfig:d.reactJsonWithUndefined([])})),g(ou,"type",ou.register("ESRtsTileset",ou,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Od=ou;function pI(r){return typeof r=="number"&&!isNaN(r)}const au=class au extends Fn{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation}}set json(t){this._innerSetJson(t)}async init(t,e){this.featureId=e;const n=await t.getFeatureProperty(e);this.uiShowprops=n.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:pI(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=n.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const i=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${i}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}constructor(t){super(t)}};g(au,"createDefaultProps",()=>({...Fn.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:d.reactJson({}),changeMaterial:d.reactJsonWithUndefined(void 0),uiShowprops:d.reactJson({}),props:d.reactJson({})})),g(au,"type",au.register("ESRtsFeatureEditing",au,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Ad=au;const vI=async(r,t,e)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},Il=class Il extends Fn{constructor(e){super(e);g(this,"_es3DTileset",this.dv(new Fn));g(this,"_tilesetServePort",this.dv(d.react("")));g(this,"_useEarthDSToken",this.dv(d.react(!1)));g(this,"_earthdstoken",this.dv(d.react("")));this.mainClass=this._es3DTileset;{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const n=this._es3DTileset;this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.track([n,"actorTag"],[this,"actorTag"])),this.d(d.track([n,"materialMode"],[this,"materialMode"])),this.d(d.track([n,"highlight"],[this,"highlight"])),this.d(d.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(d.track([n,"highlightID"],[this,"highlightID"])),this.d(d.track([n,"highlightColor"],[this,"highlightColor"])),this.d(d.bind([n,"offset"],[this,"offset"])),this.d(d.bind([n,"rotation"],[this,"rotation"])),this.d(d.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(d.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(d.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(d.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(d.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(d.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(d.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(d.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(d.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(d.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(d.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(d.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(d.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(d.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(d.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(d.track([n,"materialParams"],[this,"materialParams"])),this.d(d.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(d.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(d.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(d.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(d.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(d.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(d.bind([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getport(){const e=await vI(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};g(Il,"type",Il.register("ESMsTileset",Il,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Dd=Il;const Qv={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
|
|
337
|
+
`;function Bv(r){try{return JSON.parse(r),!0}catch{return!1}}const hI="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",zt=class zt extends ee{constructor(e){super(e);g(this,"_flyToFeatureEvent",this.dv(new d.Event));g(this,"_flyToFeatureIndexEvent",this.dv(new d.Event));g(this,"_features",this.disposeVar(d.reactJsonWithUndefined(void 0)));g(this,"pickedInfoType","FeatureCollection");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(e,n,i){this._flyToFeatureEvent.emit(e,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(e,n){this._flyToFeatureIndexEvent.emit(e,n)}get features(){return this._features.value}set features(e){this._features.value=e}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var e;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Bv(this.url)?this.features=JSON.parse(this.url):await fetch(ht.context.getStrFromEnv(this.url)).then(n=>n.json()).then(n=>{this.features=n}).catch(n=>{console.warn("ESEntityCluster数据加载失败",n)}),this.pickedInfoType=((e=this.features)==null?void 0:e.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new ut([this,"url"],"服务地址",zt.defaults.url),new L([this,"minFeatureVisibleDistance"],"要素最小可视距离",zt.defaults.minFeatureVisibleDistance),new L([this,"maxFeatureVisibleDistance"],"要素最大可视距离",zt.defaults.maxFeatureVisibleDistance),new bt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new gt([],"点样式集合"),new $([this,"textShow"],"是否显示",zt.defaults.textShow),new Ve([this,"textAnchor"],"锚点",zt.defaults.anchor),new _t([this,"textProperty"],"标注显示属性",zt.defaults.textStyle.textProperty),new _t([this,"textDefaultText"],"默认文本",zt.defaults.textStyle.defaultText),new Rt([this,"textColor"],"文本颜色",zt.defaults.textStyle.color),new Rt([this,"textBackgroundColor"],"文本背景颜色",zt.defaults.textStyle.backgroundColor),new _t([this,"textFontStyle"],"字体样式",zt.defaults.textStyle.fontStyle),new _t([this,"textFontWeight"],"字体粗细",zt.defaults.textStyle.fontWeight),new L([this,"textFontSize"],"字体大小",zt.defaults.textStyle.fontSize),new Ve([this,"textOffset"],"像素偏移",zt.defaults.textStyle.offset),new gt([],"点图片样式集合"),new $([this,"imageShow"],"是否显示",zt.defaults.imageShow),new Ve([this,"imageAnchor"],"锚点",zt.defaults.imageStyle.anchor),new ut([this,"imageUrl"],"图片地址",zt.defaults.imageStyle.url),new Ve([this,"imageSize"],"图片大小",zt.defaults.imageStyle.size),new Ve([this,"imageOffset"],"像素偏移",zt.defaults.imageStyle.offset),new gt([],"线样式集合"),new $([this,"stroked"],"是否显示",zt.defaults.stroked),new $([this,"strokeGround"],"贴地",zt.defaults.strokeStyle.ground),new L([this,"strokeWidth"],"线宽",zt.defaults.strokeStyle.width),new bt([this,"strokeWidthType"],zt.defaults.strokeStyle.widthTypes,"线宽类型"),new Rt([this,"strokeColor"],"线颜色",zt.defaults.strokeStyle.color),new _t([this,"strokeMaterial"],"线材质",zt.defaults.strokeStyle.material),new ut([this,"strokeMaterialParams"],"线材质参数",zt.defaults.strokeStyle.materialParams),new gt([],"面样式集合"),new $([this,"filled"],"是否显示",zt.defaults.filled),new $([this,"fillGround"],"贴地",zt.defaults.fillStyle.ground),new Rt([this,"fillColor"],"填充颜色",zt.defaults.fillStyle.color),new _t([this,"fillMaterial"],"填充材质",zt.defaults.fillStyle.material),new ut([this,"fillMaterialParams"],"填充材质参数",zt.defaults.fillStyle.materialParams)],more:[...e.more,new gt([],"标注文本样式"),new _t([this,"textFontFamily"],"字体",zt.defaults.textStyle.fontFamily),new gt([],"通用"),new _s([this,"loadFuncStr"],"loadFnStr",Jv,lI,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(e){this.textStyle={...this.textStyle,textProperty:e}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(e){this.textStyle={...this.textStyle,defaultText:e}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(e){this.textStyle={...this.textStyle,color:e}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(e){this.textStyle={...this.textStyle,backgroundColor:e}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(e){this.textStyle={...this.textStyle,fontFamily:e}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(e){this.textStyle={...this.textStyle,fontStyle:e}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(e){this.textStyle={...this.textStyle,fontWeight:e}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(e){this.textStyle={...this.textStyle,fontSize:e}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(e){this.textStyle={...this.textStyle,anchor:e}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(e){this.textStyle={...this.textStyle,offset:e}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(e){this.imageStyle={...this.imageStyle,url:e}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(e){this.imageStyle={...this.imageStyle,size:e}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(e){this.imageStyle={...this.imageStyle,anchor:e}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(e){this.imageStyle={...this.imageStyle,offset:e}}get imageOffsetChanged(){return this.imageStyleChanged}};g(zt,"createDefaultProps",()=>({...ee.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:hI,stroked:!0,strokeStyle:d.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:d.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:d.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:d.reactJson({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})),g(zt,"type",zt.register("ESGeoJson",zt,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"}));let hd=zt;const ko=class ko extends Dt{constructor(e){super(e);g(this,"editingBindMode","doublePoints");g(this,"_height",this.disposeVar(d.react(0)));{const n=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};n(),this.ad(this.pointsChanged.don(n))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}};g(ko,"createDefaultProps",()=>({...Dt.createDefaultProps(),stroked:!0,strokeStyle:d.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),g(ko,"type",ko.register("ESHeightMeasurement",ko,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),g(ko,"supportEditingModes",[...Dt.supportEditingModes,lt.DoublePointsAppend,lt.DoublePointsModify]);let cd=ko;const $a=class $a extends cs{constructor(e){super(e);g(this,"_area",this.dv(d.react(0)));g(this,"_perimeter",this.dv(d.react(0)));g(this,"editingBindMode","doublePoints");const n=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};n(),this.d(this.radiusChanged.don(n))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(e=10,n){return I0([...this.position],this.radius,e,n)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",basic:[...e.basic,new L([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new $([this,"editing"],"是否编辑"),new Jo([this,"position"],"三维坐标",[0,0,0],!0),new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)]}}};g($a,"createDefaultProps",()=>({...cs.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:d.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),g($a,"type",$a.register("ESLocalCircle",$a,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let fd=$a;const ja=class ja extends cs{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new hg([this,"points"],"坐标",[])]}}};g(ja,"createDefaultProps",()=>({...cs.createDefaultProps(),points:sc([]),filled:!0})),g(ja,"type",ja.register("ESLocalPolygon",ja,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let vl=ja;const tu=class tu extends Fa{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new rc([this,"points"],"本地位置数组")]}}};g(tu,"createDefaultProps",()=>({...Fa.createDefaultProps(),points:d.reactPositions(void 0),filled:!0})),g(tu,"type",tu.register("ESLocalPolygonZ",tu,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let dd=tu;const eu=class eu extends cs{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"width"],"宽度"),new L([this,"height"],"高度")]}}};g(eu,"createDefaultProps",()=>({...cs.createDefaultProps(),width:5e5,height:3e5,filled:!0})),g(eu,"type",eu.register("ESLocalRectangle",eu,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let gd=eu;const ds=class ds extends Dt{constructor(e){super(e);g(this,"editingBindMode","lineString");g(this,"_distance",this.dv(d.react(0)));g(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);g(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const n=()=>{if(this.points&&this.points.length>=2){const i=cl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"height"],"高度",10),new L([this,"width"],"宽度",10),new bt([this,"materialMode"],ds.materialModes,"模式","purple")],coordinate:[...e.coordinate,new L([this,"distance"],"距离",0,!1,!0)]}}};g(ds,"createDefaultProps",()=>({...Dt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:d.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),g(ds,"type",ds.register("ESPipeFence",ds,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),g(ds,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]),g(ds,"supportEditingModes",[...Dt.supportEditingModes,lt.LineStringAppend,lt.LineStringInsert]);let pd=ds;const gs=class gs extends Fn{constructor(e){super(e);g(this,"_setLayerVisibleEvent",this.dv(new d.Event));g(this,"_setLayerColorEvent",this.dv(new d.Event))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(e,n){this._setLayerVisibleEvent.emit(e,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(e,n){this._setLayerColorEvent.emit(e,n)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"ESPipeserTileset"),new pt(["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""],"setLayerVisible"),new pt(["string","string"],(n,i)=>this.setLayerColor(n,i),["",""],"setLayerColor"),new bt([this,"colorMode"],gs.colorModes,"colorMode",gs.defaults.colorMode,!0)]}}};g(gs,"createDefaultProps",()=>({...Fn.createDefaultProps(),colorMode:"default"})),g(gs,"type",gs.register("ESPipeserTileset",gs,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),g(gs,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let vd=gs;const ps=class ps extends Dt{constructor(e){super(e);g(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new L([this,"area"],"面积",0,!1,!0),new L([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new L([this,"height"],"高度",10),new bt([this,"materialMode"],ps.materialModes,"模式","danger")]}}};g(ps,"createDefaultProps",()=>({...Dt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),g(ps,"type",ps.register("ESPolygonFence",ps,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),g(ps,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),g(ps,"supportEditingModes",[...Dt.supportEditingModes,lt.CircularAppend,lt.CircularInsert,lt.HeightModify]);let md=ps;const Ks=class Ks extends Dt{constructor(e){super(e);g(this,"_deprecated",["ground"]);g(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());g(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"通用","通用"),new $([this,"ground"],"是否贴地"),new $([this,"outlineTranslucent"],"轮廓线半透明"),new L([this,"height"],"高度"),new L([this,"extrudedHeight"],"拉伸高度"),new Hn([this,"rectangle"],"范围",Ks.defaults.rectangle,!0),new L([this,"stRotation"],"纹理旋转角度"),new L([this,"rotation"],"旋转角度"),new $([this,"pointEditing"],"是否单点编辑")]}}};g(Ks,"createDefaultProps",()=>({...Dt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:d.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),g(Ks,"type",Ks.register("ESRectangle",Ks,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),g(Ks,"supportEditingModes",[...Dt.supportEditingModes,lt.DoublePointsAppend,lt.DoublePointsModify]);let yd=Ks;const ru=class ru extends ie{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};g(ru,"createDefaultProps",()=>({...ie.createDefaultProps(),innerRings:d.reactPositionsSet([])})),g(ru,"type",ru.register("ESPolygonWithHole",ru,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let _d=ru;const Zs=class Zs extends ie{constructor(e){super(e);g(this,"_startEvent",this.disposeVar(new d.Event));g(this,"_stopEvent",this.dv(new d.Event));g(this,"_surfaceArea",this.disposeVar(d.react(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(e){this._surfaceArea.value=e}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"表面积测量","表面积测量"),new pt([],()=>this.start(),[],"开始计算"),new L([this,"interpolation"],"插值距离",Zs.defaults.interpolation),new L([this,"offsetHeight"],"偏移高度",Zs.defaults.offsetHeight)]}}};g(Zs,"createDefaultProps",()=>({...ie.createDefaultProps(),interpolation:.5,offsetHeight:0,units:d.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:d.reactJson({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),g(Zs,"type",Zs.register("ESSurfaceAreaMeasurement",Zs,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Ed=Zs;const $s=class $s extends ct{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",$s.defaults.downloadProgress,!0,!0),new ut([this,"importOptions"],"导入参数",$s.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new ut([this,"url"],"路径")]}}};g($s,"createDefaultProps",()=>({...ct.createDefaultProps(),url:"",importOptions:d.reactJsonWithUndefined({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),g($s,"type",$s.register("ESDatasmithRuntimeModel",$s,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let wd=$s;const Sr=class Sr extends vl{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Sr.defaults.waterType),new L([this,"frequency"],"频率",Sr.defaults.frequency),new Xe([this,"amplitude"],.01,[0,1],"振幅",Sr.defaults.amplitude),new Xe([this,"flowDirection"],1,[0,360],"流向",Sr.defaults.flowDirection),new Xe([this,"waveVelocity"],.01,[0,1],"波动频率",Sr.defaults.waveVelocity),new Xe([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Sr.defaults.specularIntensity),new Xe([this,"murkiness"],.1,[0,10],"水体浑浊度",Sr.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",Sr.defaults.flowSpeed),new Rt([this,"waterColor"],"水的底色",Sr.defaults.waterColor),new ut([this,"waterImage"],"水的图片",Sr.defaults.waterImage)]}}};g(Sr,"createDefaultProps",()=>({...vl.createDefaultProps(),allowPicking:!0,waterImage:d.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),g(Sr,"type",Sr.register("ESDynamicWater",Sr,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Sd=Sr;const Cr=class Cr extends ie{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new bt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Cr.defaults.waterType),new L([this,"frequency"],"频率",Cr.defaults.frequency),new Xe([this,"amplitude"],.01,[0,1],"振幅",Cr.defaults.amplitude),new Xe([this,"flowDirection"],1,[0,360],"流向",Cr.defaults.flowDirection),new Xe([this,"waveVelocity"],.01,[0,1],"波动频率",Cr.defaults.waveVelocity),new Xe([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Cr.defaults.specularIntensity),new Xe([this,"murkiness"],.1,[0,10],"水体浑浊度",Cr.defaults.murkiness),new L([this,"flowSpeed"],"水流速度",Cr.defaults.flowSpeed),new Rt([this,"waterColor"],"水的底色",Cr.defaults.waterColor),new ut([this,"waterImage"],"水的图片",Cr.defaults.waterImage)]}}};g(Cr,"createDefaultProps",()=>({...ie.createDefaultProps(),allowPicking:!0,waterImage:d.reactJsonWithUndefined({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),g(Cr,"type",Cr.register("ESGeoWater",Cr,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Cd=Cr;const Vo=class Vo extends ct{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"downloadProgress"],"下载进度",Vo.defaults.downloadProgress,!0,!0),new _t([this,"levelName"],"levelName",""),new L([this,"levelLoadDistance"],"levelLoadDistance",1e3),new lr([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new ut([this,"url"],"url","")]}}};g(Vo,"createDefaultProps",()=>({...ct.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:d.reactArray([0,0,0]),levelLoadDistance:1e3})),g(Vo,"type",Vo.register("ESLevelRuntimeModel",Vo,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Pd=Vo;const dn=class dn extends Xs{constructor(e){super(e);g(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);g(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new L([this,"radius"],"半径",dn.defaults.radius),new L([this,"sides"],"圆边数",dn.defaults.sides),new L([this,"speed"],"材质速度",dn.defaults.speed),new bt([this,"materialMode"],dn.materialModes,"材质模式",dn.defaults.materialMode),new ut([this,"materialImage"],"材质图片和重复度",dn.defaults.materialImage)]}}};g(dn,"createDefaultProps",()=>({...Xs.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:d.reactJson({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:d.reactJson({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),g(dn,"type",dn.register("ESPipeline",dn,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),g(dn,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let Id=dn;const Wi=class Wi extends Dt{constructor(e){super(e);g(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Rt([this,"visibleColor"],"可视区域颜色",Wi.defaults.visibleColor),new Rt([this,"invisibleColor"],"遮挡区域颜色",Wi.defaults.invisibleColor),new L([this,"heightOffset"],"视点高度偏移",Wi.defaults.heightOffset)]}}};g(Wi,"createDefaultProps",()=>({...Dt.createDefaultProps(),visibleColor:d.reactArray([0,1,0,1]),invisibleColor:d.reactArray([1,0,0,1]),heightOffset:0})),g(Wi,"type",Wi.register("ESVisibilityAnalysis",Wi,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),g(Wi,"supportEditingModes",[...Dt.supportEditingModes,lt.VisibilityAppend,lt.VisibilityModify]);let Md=Wi;const nu=class nu extends ie{constructor(e){super(e);g(this,"_startEvent",this.dv(new d.Event));g(this,"_clearEvent",this.dv(new d.Event));g(this,"_volume",this.disposeVar(d.react(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(e){this._volume.value=e}get volumeChanged(){return this._volume.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new gt([],"通用","通用"),new L([this,"planeHeight"],"基准面高程",void 0,!0),new L([this,"gridWidth"],"采样间距 m"),new L([this,"cutVolume"],"挖方",0,!1,!0),new L([this,"fillVolume"],"填方",0,!1,!0),new L([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new L([this,"progress"],"计算进度",0,!1,!0),new pt([],()=>this.start(),[],"开始分析"),new pt([],()=>this.clear(),[],"清空分析结果"),new $([this,"depthTest"],"是否开启深度检测")]}}};g(nu,"createDefaultProps",()=>({...ie.createDefaultProps(),planeHeight:d.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:d.reactJson({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),g(nu,"type",nu.register("ESVolumeMeasurement",nu,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Nd=nu;const iu=class iu extends Ga{constructor(e){super(e);g(this,"_human",this.dv(new Ga));g(this,"_poi",this.dv(new pl));this.mainClass=this._human,this.d(this.components.disposableAdd(this._human)),this.d(this.components.disposableAdd(this._poi));{const{_human:n,_poi:i}=this;this.d(d.track([n,"show"],[this,"show"])),this.d(d.track([i,"show"],[this,"show"])),this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([i,"allowPicking"],[this,"allowPicking"])),this.d(d.bind([n,"scale"],[this,"scale"])),this.d(d.bind([i,"scale"],[this,"scale"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.track([i,"collision"],[this,"collision"])),this.d(d.bind([n,"flyInParam"],[this,"flyInParam"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.track([n,"animation"],[this,"animation"])),this.d(d.track([n,"mode"],[this,"mode"])),this.d(d.track([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(d.track([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(d.track([i,"name"],[this,"name"])),this.d(d.track([i,"mode"],[this,"poiMode"])),this.d(d.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(d.track([i,"screenRender"],[this,"screenRender"])),this.d(d.track([i,"size"],[this,"size"])),this.d(d.track([i,"anchor"],[this,"anchor"])),this.d(d.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(d.track([i,"renderMode"],[this,"renderMode"])),this.d(d.track([i,"rotationType"],[this,"rotationType"])),this.d(d.track([i,"zOrder"],[this,"zOrder"])),this.d(d.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(d.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(d.bind([n,"position"],[this,"position"])),this.d(d.bind([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{n.flyIn(s)})),this.d(this.flyToEvent.don(s=>{n.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{n.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{n.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{n.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{n.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"poiMode"],pl.modes,"poi模式","SquareH01"),new L([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};g(iu,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:d.reactJson({}),autoAnchor:!0,screenRender:!0,size:d.reactArray([100,100]),anchor:d.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Ga.createDefaultProps()})),g(iu,"type",iu.register("ESHumanPoi",iu,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let bd=iu;const mi=class mi extends ie{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new L([this,"depth"],"深度",mi.defaults.depth),new L([this,"interpolation"],"插值",mi.defaults.interpolation),new L([this,"opacity"],"透明度",mi.defaults.opacity),new ut([this,"sideImage"],"侧面图片",mi.defaults.sideImage),new ut([this,"bottomImage"],"底面图片",mi.defaults.bottomImage)]}}};g(mi,"createDefaultProps",()=>({...ie.createDefaultProps(),depth:100,sideImage:d.reactJson({url:ht.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:d.reactJson({url:ht.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),g(mi,"type",mi.register("ESPit",mi,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let ka=mi;const su=class su extends ka{constructor(e){super(e);g(this,"_excavate",this.dv(new gl));g(this,"_pit",this.dv(new ka));this.mainClass=this._pit,this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit));{const{_excavate:n,_pit:i}=this;this.d(d.track([n,"show"],[this,"show"])),this.d(d.track([i,"show"],[this,"show"])),this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([i,"allowPicking"],[this,"allowPicking"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.track([i,"collision"],[this,"collision"])),this.d(d.bind([i,"points"],[this,"points"])),this.d(d.track([n,"points"],[this,"points"])),this.d(d.track([i,"pointed"],[this,"pointed"])),this.d(d.track([n,"pointed"],[this,"pointed"])),this.d(d.track([i,"pointStyle"],[this,"pointStyle"])),this.d(d.track([n,"pointStyle"],[this,"pointStyle"])),this.d(d.track([i,"stroked"],[this,"stroked"])),this.d(d.track([n,"stroked"],[this,"stroked"])),this.d(d.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(d.track([n,"strokeStyle"],[this,"strokeStyle"])),this.d(d.track([i,"filled"],[this,"filled"])),this.d(d.track([i,"fillStyle"],[this,"fillStyle"])),this.d(d.track([n,"fillStyle"],[this,"fillStyle"])),this.d(d.track([n,"mode"],[this,"mode"])),this.d(d.track([n,"targetID"],[this,"targetID"])),this.d(d.track([i,"depth"],[this,"depth"])),this.d(d.track([i,"sideImage"],[this,"sideImage"])),this.d(d.track([i,"bottomImage"],[this,"bottomImage"])),this.d(d.track([i,"opacity"],[this,"opacity"])),this.d(d.track([i,"interpolation"],[this,"interpolation"])),this.d(d.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(d.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new bt([this,"mode"],gl.modes,"模式","in"),new _t([this,"targetID"],"瓦片图层","")]}}};g(su,"createDefaultProps",()=>({...ka.createDefaultProps(),mode:"in",targetID:""})),g(su,"type",su.register("ESHole",su,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let Td=su;const xd={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},cI=async(r,t,e,n)=>{try{const i=window.localStorage.getItem("Authorization");let s=r+`${xd.layerconfigfind}?tileServiceName=${t}`;e&&(s+=`&earthdstoken=${encodeURIComponent(n)}`);const o={headers:{...!e&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},fI=async(r,t,e,n,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=r+xd.layerconfigsave;const a=i??{};e&&(o+=`?earthdstoken=${encodeURIComponent(n)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!e&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:t,layerConfig:JSON.stringify(a)})},h=await(await fetch(o,u)).text();return JSON.parse(h)}catch(s){console.error(s)}},dI=async(r,t,e)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},gI=async(r,t,e,n,i)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=r+xd.featureproperty;n&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!n&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),h=JSON.parse(l);if(h.status=="ok")return h.data;console.error(h.data.status);return}catch(s){console.error(s)}},ou=class ou extends Fn{constructor(e){super(e);g(this,"_es3DTileset",this.dv(new Fn));g(this,"_ids",this.dv(d.reactJson([])));g(this,"_useEarthDSToken",this.dv(d.react(!1)));g(this,"_earthdstoken",this.dv(d.react("")));g(this,"_visJson",this.disposeVar(d.react({})));g(this,"_highlightInner3DtilesetEvent",this.dv(new d.Event));g(this,"_removeHighlightInner3DtilesetEvent",this.dv(new d.Event));g(this,"_tilesetServePort",this.dv(d.react("")));this.mainClass=this._es3DTileset;{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const n=this._es3DTileset;this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.track([n,"actorTag"],[this,"actorTag"])),this.d(d.track([n,"materialMode"],[this,"materialMode"])),this.d(d.track([n,"highlight"],[this,"highlight"])),this.d(d.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(d.track([n,"highlightID"],[this,"highlightID"])),this.d(d.track([n,"highlightColor"],[this,"highlightColor"])),this.d(d.bind([n,"offset"],[this,"offset"])),this.d(d.bind([n,"rotation"],[this,"rotation"])),this.d(d.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(d.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(d.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(d.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(d.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(d.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(d.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(d.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(d.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(d.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(d.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(d.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(d.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(d.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(d.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(d.track([n,"materialParams"],[this,"materialParams"])),this.d(d.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(d.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(d.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(d.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(d.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(d.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(d.bind([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{n.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(e){this._ids.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}get visJson(){return this._visJson.value}set visJson(e){this._visJson.value=e}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(e,n){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[n[0].value]=n[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(e,typeof n=="string"?JSON.parse(n):n)}async getFeatureProperty(e){return await gI(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await cI(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!e||!Array.isArray(e)?this.layerConfig=[]:this.layerConfig=e,this.layerConfig}async saveLayerConfig(){const e=this.layerConfig;return await fI(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,e)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(e){this._highlightInner3DtilesetEvent.emit(e)}async highlightDSFeature(e){this._highlightInner3Dtileset(e)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(e){this._removeHighlightInner3DtilesetEvent.emit(e)}async removeHighlightDSFeature(e){this._removeHighlightInner3Dtileset(e)}async pickFeature(e,n){var a,u,l;const i=await e.pick(n),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(u=i==null?void 0:i.tilesetPickInfo)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(l=i==null?void 0:i.sceneObject)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}async getport(){const e=await dI(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ut([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};g(ou,"createDefaultProps",()=>({...Fn.createDefaultProps(),layerConfig:d.reactJsonWithUndefined([])})),g(ou,"type",ou.register("ESRtsTileset",ou,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Od=ou;function pI(r){return typeof r=="number"&&!isNaN(r)}const au=class au extends Fn{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation}}set json(t){this._innerSetJson(t)}async init(t,e){this.featureId=e;const n=await t.getFeatureProperty(e);this.uiShowprops=n.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:pI(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=n.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const i=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${i}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}constructor(t){super(t)}};g(au,"createDefaultProps",()=>({...Fn.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:d.reactJson({}),changeMaterial:d.reactJsonWithUndefined(void 0),uiShowprops:d.reactJson({}),props:d.reactJson({})})),g(au,"type",au.register("ESRtsFeatureEditing",au,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Ad=au;const vI=async(r,t,e)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;t&&(i+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},Il=class Il extends Fn{constructor(e){super(e);g(this,"_es3DTileset",this.dv(new Fn));g(this,"_tilesetServePort",this.dv(d.react("")));g(this,"_useEarthDSToken",this.dv(d.react(!1)));g(this,"_earthdstoken",this.dv(d.react("")));this.mainClass=this._es3DTileset;{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const n=this._es3DTileset;this.d(d.track([n,"allowPicking"],[this,"allowPicking"])),this.d(d.track([n,"collision"],[this,"collision"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(d.track([n,"actorTag"],[this,"actorTag"])),this.d(d.track([n,"materialMode"],[this,"materialMode"])),this.d(d.track([n,"highlight"],[this,"highlight"])),this.d(d.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(d.track([n,"highlightID"],[this,"highlightID"])),this.d(d.track([n,"highlightColor"],[this,"highlightColor"])),this.d(d.bind([n,"offset"],[this,"offset"])),this.d(d.bind([n,"rotation"],[this,"rotation"])),this.d(d.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(d.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(d.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(d.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(d.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(d.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(d.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(d.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(d.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(d.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(d.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(d.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(d.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(d.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(d.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(d.track([n,"materialParams"],[this,"materialParams"])),this.d(d.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(d.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(d.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(d.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(d.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(d.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(d.bind([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getport(){const e=await vI(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const e=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const n=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};g(Il,"type",Il.register("ESMsTileset",Il,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Dd=Il;const Qv={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
|
|
338
338
|
## 参数类型为 ESPoiType[]
|
|
339
339
|
\`\`\`js
|
|
340
340
|
type Vector2D = [number, number]
|
|
@@ -470,10 +470,10 @@ ${tm}
|
|
|
470
470
|
`,wl=Date.now();new Date(wl).toISOString(),new Date(wl+864e5).toISOString();const _i=class _i extends ht{constructor(e){super(e);g(this,"_flyToEvent",this.disposeVar(new d.Event));g(this,"_resetClockEvent",this.disposeVar(new d.Event))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new ut([this,"data"],_i.defaults.data,PI,"数据",!0),new ut([this,"uri"],"路径",""),new $([this,"clockEnabled"],"启用",!1),new L([this,"multiplier"],"倍速",_i.defaults.multiplier),new $([this,"autoResetClock"],"自动设置时钟",!0),new ro([this,"startTime"],"开始时间",_i.defaults.startTime,!0),new ro([this,"stopTime"],"结束时间",_i.defaults.stopTime,!0),new ro([this,"currentTime"],"当前时间",_i.defaults.currentTime,!0),new bt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new bt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new $([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new $([this,"show"],"是否显示",!0),new $([this,"collision"],"开启碰撞",!1),new $([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new pt(["number"],n=>this.flyTo(n),[1e3],"飞入"),new pt([],()=>this.resetClock(),[],"重设时钟"),new _s([this,"loadFuncStr"],"loadFnStr",tm,II,!0)]}}};g(_i,"createDefaultProps",()=>({show:!0,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",allowPicking:!1,data:d.reactJsonWithUndefined(CI),autoResetClock:!0,clockEnabled:!1,startTime:wl,stopTime:wl+864e5,currentTime:wl,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...ht.createDefaultProps()})),g(_i,"type",_i.register("ESCzml",_i,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Ud=_i;const fu=class fu extends ht{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new gt([]),new $([this,"show"],"是否显示"),new L([this,"cssSize"],"尺寸"),new Ve([this,"cssPosition"],"位置"),new mu([this,"imgUrl"],"图片地址")]}}};g(fu,"createDefaultProps",()=>({...ht.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:ht.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),g(fu,"type",fu.register("ESNavigator",fu,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let zd=fu;const Hi=class Hi extends ht{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new gt([],"通用","通用"),new $([this,"show"],"是否显示",Hi.defaults.show),new L([this,"height"],"高度",Hi.defaults.height,!0),new L([this,"fontSize"],"文字大小",Hi.defaults.fontSize,!0),new Rt([this,"bgColor"],"背景颜色",Hi.defaults.bgColor,!0)]}}};g(Hi,"createDefaultProps",()=>({...ht.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:d.reactArray([.2784313725490196,.2784313725490196,.2784313725490196,.8])})),g(Hi,"type",Hi.register("ESViewerStatusBar",Hi,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let qd=Hi;const Yi=class Yi extends ht{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new gt([],"通用","通用"),new $([this,"show"],"是否显示",Yi.defaults.show),new L([this,"height"],"高度",Yi.defaults.height,!0),new L([this,"fontSize"],"文字大小",Yi.defaults.fontSize,!0),new Rt([this,"bgColor"],"背景颜色",Yi.defaults.bgColor,!0)]}}};g(Yi,"createDefaultProps",()=>({...ht.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:d.reactArray([.2784313725490196,.2784313725490196,.2784313725490196,.8])})),g(Yi,"type",Yi.register("ESViewerStatusBarScale",Yi,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Wd=Yi;const du=class du extends ct{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new _t([this,"url"],"路径","",!0),new L([this,"progress"],"进度",0,!1,!0)]}}};g(du,"createDefaultProps",()=>({...ct.createDefaultProps(),url:"",progress:0})),g(du,"type",du.register("ESGaussianSplatting",du,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let Xd=du;const qo=class qo extends ct{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new _t([this,"mesh"],"mesh地址",qo.defaults.mesh)]}}};g(qo,"createDefaultProps",()=>({...ct.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),g(qo,"type",qo.register("ESStaticMesh",qo,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Hd=qo;const gu=class gu extends Dt{constructor(e){super(e);g(this,"_startEvent",this.dv(new d.Event));g(this,"_clearEvent",this.dv(new d.Event));g(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new ml),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(d.track([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new pt([],()=>this.start(),[],"开始分析"),new pt([],()=>this.clear(),[],"清除分析"),new ut([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new ut([this,"depths"],"深度值",[],void 0,!1,!0),new L([this,"radius"],"半径",1e4,!0)]}}};g(gu,"createDefaultProps",()=>({...Dt.createDefaultProps(),windowPositions:sc([]),depths:d.reactArrayWithUndefined([]),radius:d.react(1e4)})),g(gu,"type",gu.register("ESSkylineAnalysis",gu,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Yd=gu;const vs=class vs extends ee{constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new ut([this,"data"],"数据",[],void 0,!0),new ut([this,"gradient"],"渐变",vs.defaults.gradient,void 0,!0),new L([this,"radius"],"半径",vs.defaults.radius,void 0,!0),new L([this,"blur"],"模糊",vs.defaults.blur,!0),new $([this,"is3D"],"is3D",!1,!0)]}}};g(vs,"createDefaultProps",()=>({...ee.createDefaultProps(),is3D:d.react(!1),data:d.reactPositions([]),gradient:d.reactJsonWithUndefined({".5":"green",".7":"yellow",".95":"red"}),radius:d.react(10),blur:d.react(.85)})),g(vs,"type",vs.register("ESHeatMap",vs,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Jd=vs;const Wo=class Wo extends Dt{constructor(e){super(e);g(this,"editingBindMode","scatter")}};g(Wo,"createDefaultProps",()=>({...Dt.createDefaultProps(),pointed:!0})),g(Wo,"type",Wo.register("ESGeoPoints",Wo,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),g(Wo,"supportEditingModes",[...Dt.supportEditingModes,lt.ScatterAppend,lt.ScatterModify]);let Bd=Wo;function em(r){return typeof r=="string"?document.getElementById(r):r}function Qd(r){if(!r)throw new Error("container is not defined");r.innerHTML="";const t=document.createElement("div");return t.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",r.appendChild(t),t}class rm extends d.Destroyable{constructor(e,n){super();g(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=e,this._createSceneObjectListeningFunc=n;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let u of o){const l=i.get(u);l&&(l.destroy(),i.delete(u))}if(a)for(let u of a){if(i.get(u)){console.warn(`listeningSceneObjects已存在某对象:${u.name}`,u);debugger}const h=this.createSceneObjectListeningFunc(u);h&&i.set(u,h)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class MI extends d.Destroyable{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class n extends d.Destroyable{constructor(s){super(),this._esPath=s,this.dv(new d.ObjResettingWithEvent(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends d.Destroyable{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const h=()=>{const c=e.activeViewer;c&&(this._esPath.path.currentTime=c.simulationTime)};h(),this.d(o.simulationTimeChanged.don(h))}}return new a(this._esPath)}))}}this.dv(new rm(e.sceneObjectsManager,i=>{if(i instanceof El)return new n(i)}))}{const e=this._esObjectsManager;class n extends d.Destroyable{constructor(s){super();const o=()=>{const a=e.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new rm(e.sceneObjectsManager,i=>{if(i instanceof _l)return new n(i)}))}}}class NI extends d.Destroyable{constructor(t){super(),t.forEach(e=>{this.d(e.path.currentPositionChanged.don(n=>{n&&e.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...n])})})),this.d(e.path.currentRotationChanged.don(n=>{n&&e.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...n])})}))})}}class bI extends d.Destroyable{constructor(e){super();g(this,"_player");g(this,"_channels",this.dv(d.reactArray([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new d.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const n=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=ht.getSceneObjById(s.pathId);if(!o||!(o instanceof El))continue;const u=s.sceneObjectIds.map(l=>ht.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&n.push({path:o,sceneObjects:u})}if(n.length!==0)return new NI(n)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(e){this._channels.value=e}}function qh(r){if(r.data){const{type:t,value:e}=r.data;if(t==="UITreeA"&&e instanceof _r){const{sceneObject:n}=e;if(n)return n.id}}}function TI(r,t){const{property:e,customEventName:n,otherParams:i}=t,{dragstartDataMananger:s}=r;if(!(e instanceof Jo)){if(!(e instanceof dg)){if(e instanceof _t){const[o,a]=d.getReactFuncs(e.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;qh(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=qh(s);l!==void 0&&a(l)}}else if(e instanceof ug){const[o,a]=d.getReactFuncs(e.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;qh(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,h=i[0].index;u.preventDefault();const c=qh(s);if(c!==void 0){l[h].firstChild.value=c;const f=new Event("input",{bubbles:!0,cancelable:!0});l[h].firstChild.dispatchEvent(f)}}}else if(e instanceof lg){const[o,a]=d.getReactFuncs(e.reactVar)}}}}function nm(r,t,e,n){if(e)n.currentActiveEditing=[r,t];else if(n.currentActiveEditing){const[i,s]=n.currentActiveEditing;i===r&&s===t&&(e||(n.currentActiveEditing=void 0))}}const xI=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class OI extends d.Destroyable{constructor(t,e){super(),this._sceneObject=t;const n=this._sceneObject;for(let i of xI){const s=i+"Changed",o=n[s];if(o){{const a=n[i];nm(n,i,a,e)}this.dispose(o.disposableOn(a=>nm(n,i,a,e)))}}}get sceneObject(){return this._sceneObject}}class AI extends d.Destroyable{constructor(){super();g(this,"_currentActiveEditing",this.disposeVar(d.reactArrayWithUndefined(void 0)));g(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((e,n)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),n){const[i,s]=n;i[s]===!0&&(i[s]=!1)}if(e){const[i,s]=e;i[s]=!0}})),ht.context.sceneObjCreatedEvent.don(e=>{e.dv(new OI(e,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(e){this._currentActiveEditing.value=e}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class DI extends d.Destroyable{constructor(){super();g(this,"_sceneObjects",new Set);g(this,"_sceneObjectsToChange",this.dv(new d.Event));this.d(()=>{const e=d.length(this._sceneObjects);e!==0&&console.warn(`场景对象管理器销毁时仍然管理着${e}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(e){return this._sceneObjects.has(e)?(console.warn(`创建失败:对象${e.typeName+":"+e.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[e]),this._sceneObjects.add(e),!0)}deleteSceneObject(e){return this._sceneObjects.has(e)?(this._sceneObjectsToChange.emit([e],[]),this._sceneObjects.delete(e),!0):(console.warn(`删除失败:对象${e.typeName+":"+e.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(e,n){const i=ht.context.createSceneObject(e,n);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(e,n){const i=ht.context.createSceneObjectFromClass(e,n);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(e){const n=ht.context.createSceneObjectFromJson(e);return n&&this.addSceneObject(n),n}}function im(r,t){return r.length===t.length&&r.every((e,n)=>e===t[n])}class LI extends d.Destroyable{constructor(t){super(),this._viewer=t,this.d(d.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class RI extends d.Destroyable{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const n=fi.createCommonProps(),i=[];Object.keys(n).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(d.createNextAnimateFrameEvent(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(n).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(d.createAnimateFrame());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const u=this._activeViewer.getCurrentCameraInfo(),l=this._viewer.getCurrentCameraInfo();if(!u)return;const{position:h,rotation:c}=u;l&&im(h,l.position)&&im(c,l.rotation)||this._viewer.flyIn(h,c,0)}),this.d(()=>a.cancel())}}const FI=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
|
|
471
471
|
<animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
|
|
472
472
|
</circle><g></g></g></svg>
|
|
473
|
-
`,GI='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',kI='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Xo=class Xo extends d.Destroyable{constructor(t){super();const e=()=>{const n=this.dv(new Vh);this.d(d.track([n,"show"],[t,"useDefaultStatusDiv"]));{const i=()=>{n.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};i(),this.d(t.useDefaultStatusDivChanged.don(i)),this.d(t.statusChanged.don(i)),n.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(n),this.d(()=>t.delete(n)),n.instanceClass=class extends d.Destroyable{constructor(o,a,u){super();g(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const v=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};v(),this.d(a.showChanged.don(v))}let l,h,c,f,p;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",l=document.createElement("div"),this._div.appendChild(l),l.style.width="auto",l.style.position="absolute",l.style.left="50%",l.style.top="50%",l.style.transform="translate(-50%,-50%)",l.style.background="rgba(120, 120, 0, 0.7)",l.style.color="white",l.style.fontSize="10px",l.style.background="none",l.style.display="flex",l.style.justifyContent="center",l.style.alignItems="center",h=document.createElement("div"),l.appendChild(h),h.style.pointerEvents="none",h.style.display="block",h.style.width="40px",h.innerHTML=Xo.defaultsSvg.loadingSvg,h.style.filter="drop-shadow(0px 0px 1px black)",c=document.createElement("div"),l.appendChild(c),c.style.pointerEvents="none",c.style.marginLeft="10px",c.style.display="flex",c.style.flexFlow="column",c.style.maxWidth="300px",f=document.createElement("div"),c.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",p=document.createElement("div"),c.appendChild(p),p.style.fontWeight="400",p.style.textShadow="0 0 2px black";{const v=()=>{let w="Raw";u.status==="Raw"?w="初始状态":u.status==="Creating"?w="正在创建":u.status==="Created"?w="创建完成":u.status==="Error"?w="创建失败":u.status==="Reconnecting"&&(w="重新连接"),f.innerText=`${w}(${u.status})`,p.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(h.innerHTML=Xo.defaultsSvg.loadingSvg),u.status==="Created"&&(h.innerHTML=Xo.defaultsSvg.successSvg),u.status==="Error"&&(h.innerHTML=Xo.defaultsSvg.warnSvg)};v();const _=this.dv(d.createNextAnimateFrameEvent(u.statusLogChanged,u.statusChanged));this.d(_.don(v))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,u=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${u}, 0.8)`}}};this.d(t.containerChanged.don(()=>{e()}))}};g(Xo,"defaultsSvg",{loadingSvg:FI,successSvg:GI,warnSvg:kI});let Kd=Xo;class VI extends d.Destroyable{constructor(t,e,n){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=n;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const h=o.zIndex??"";i.style.zIndex=h,s.style.zIndex=h};a(),this.d(o.zIndexChanged.don(a));const u=()=>{i.style.display=o.show??!0?"block":"none"};u(),this.d(o.showChanged.don(u));const l=()=>{i.style.opacity=`${o.opacity??1}`};l(),this.d(o.opacityChanged.don(l))}}function Wh(r){let t=d.getExtProp(r,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",r.appendChild(t),d.setExtProp(r,"_relativeContainer",t)),t}class UI extends d.Destroyable{constructor(e,n){super();g(this,"_subContainer",document.createElement("div"));g(this,"_overlayContainer",document.createElement("div"));g(this,"_containerStyleController");this._container=e,this._viewer=n,this._containerStyleController=this.dv(new VI(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),Wh(this._container).appendChild(i),this.d(()=>Wh(this._container).removeChild(i)),Wh(this._container).appendChild(s),this.d(()=>Wh(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class zI extends d.Destroyable{constructor(){super(...arguments);g(this,"registerObjsMap",new Map)}register(e,n){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,n),e}getViewerConstructor(e){const n=this.registerObjsMap.get(e);if(!n){console.warn(`未找到${e}类!`);return}return n}createViewer(e){const n=e.type;console.log(e);const i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(e)}}class sm extends d.Destroyable{constructor(t,e,n=!1,i=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(d.DomElementEvent.create(e,"pointerdown")),o=this.dv(d.DomElementEvent.create(e,"pointermove")),a=this.dv(d.DomElementEvent.create(e,"pointerup")),u=this.dv(d.DomElementEvent.create(e,"pointerout")),l=this.dv(d.DomElementEvent.create(e,"pointerover")),h=this.dv(new d.PointerClick),c=this.dv(new d.PointerHover),f=()=>{const m=this._viewer.hoverTime*1e3;c.delayTime=m};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(m=>h.pointerDown(m))),this.d(o.don(m=>h.pointerMove(m))),this.d(a.don(m=>h.pointerUp(m))),this.d(u.don(m=>h.pointerOut(m))),this.d(s.don(m=>c.pointerDown(m))),this.d(o.don(m=>c.pointerMove(m))),this.d(a.don(m=>c.pointerUp(m))),this.d(u.don(m=>c.pointerOut(m)));const{x:p,y:v}=e.getBoundingClientRect(),_=i?p:0,w=i?v:0;this.d(c.hoverEvent.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.hoverEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(h.clickEvent.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.clickEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(h.dbclickEvent.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);m.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(s.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);m.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(a.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);m.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(o.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.pointerMoveEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(l.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.pointerOverEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(u.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.pointerOutEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})}));const I=this.dv(d.DomElementEvent.create(e,"keydown"));this.d(I.don(m=>this._viewer.keyDownEvent.emit(m)));const y=this.dv(d.DomElementEvent.create(e,"keyup"));this.d(y.don(m=>this._viewer.keyUpEvent.emit(m)));const E=this.dv(d.DomElementEvent.create(e,"wheel"));this.d(E.don(m=>this._viewer.wheelEvent.emit(m)))}}class qI extends d.Destroyable{constructor(e){super();g(this,"viewer");const n=this.viewer=e;this.ad(new d.ObjResettingWithEvent(n.rollerShutterChanged,()=>{const i=n.container;if(!i||!n.rollerShutter)return;const s=new d.Destroyable;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const n=i=>{if(!e.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/e.parentElement.offsetWidth;e.style.left=`${100*o}%`,this.viewer.splitPosition=o};return e.addEventListener("mouseenter",i=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",i=>{e.style.cursor="default"}),e.addEventListener("mousedown",i=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",n)}),document.addEventListener("mouseup",i=>{e.style.cursor="default",document.removeEventListener("mousemove",n)}),e}}class WI extends d.Destroyable{constructor(e){super();g(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new qI(e))}}const ms=class ms extends d.Destroyable{constructor(e){super();g(this,"_forceRecreateEvent",this.dv(new d.Event));g(this,"_container",this.dv(d.react(void 0)));g(this,"_containerSize",this.dv(d.react(void 0)));g(this,"_editingEvent",this.disposeVar(new d.Event));g(this,"_status",this.dv(d.react("Raw")));g(this,"_statusLog",this.dv(d.react("")));g(this,"_statusContainer",this.dv(new Kd(this)));g(this,"_useCustomInteraction",this.dv(d.react(!0)));g(this,"_resetInteractionEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));g(this,"_interactionResetting",this.dv(new d.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new sm(this,this.container)})));g(this,"_viewerChanged",this.dv(new d.Event));g(this,"_containerResetEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));g(this,"_containerResetting",this.dv(new d.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new UI(this.container,this)})));g(this,"_sceneObjectsMap",new Map);g(this,"_id");g(this,"_typeName");g(this,"_updateFuncReact",this.dv(d.react(void 0)));g(this,"_toDestroyFuncReact",this.dv(d.react(void 0)));g(this,"_statusInfo",ms.defaults.statusInfo);g(this,"_navigationMode",this.dv(d.react("Map")));g(this,"_syncViewer",this.dv(d.react(void 0)));g(this,"_syncEventDon",this.dv(new d.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new RI(this,e)})));g(this,"_timeSyncdon",this.dv(new d.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new LI(this)})));g(this,"_hoverEvent",this.dv(new d.Event));g(this,"_pointerOverEvent",this.dv(new d.Event));g(this,"_pointerMoveEvent",this.dv(new d.Event));g(this,"_pointerDownEvent",this.dv(new d.Event));g(this,"_pointerUpEvent",this.dv(new d.Event));g(this,"_pointerOutEvent",this.dv(new d.Event));g(this,"_clickEvent",this.dv(new d.Event));g(this,"_dblclickEvent",this.dv(new d.Event));g(this,"_keyDownEvent",this.dv(new d.Event));g(this,"_keyUpEvent",this.dv(new d.Event));g(this,"_wheelEvent",this.dv(new d.Event));g(this,"_actived",this.dv(d.react(!1)));this._id=e.id??d.createGuid();const n=em(e.container);if(n)this._container.value=Qd(n),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const i=()=>{n&&(this.show??!0?n.style.display="block":n.style.display="none")};i(),this.d(this.showChanged.don(i))}{const i=this._sceneObjectsMap,s=()=>{for(let[a,u]of i.entries())if(!u&&a){const l=eo.context.createEngineObject(a,this);l&&i.set(a,l)}},o=()=>{for(let[a,u]of i.entries())u&&!u.isDestroyed()&&u.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||d.createAnimateFrame(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new WI(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const n=document.getElementById(e);n&&n instanceof HTMLDivElement?this._container.value=Qd(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=Qd(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let n of e)if(!this.has(n)){ht.context.addSceneObject(n);const i=eo.context.createEngineObject(n,this);i&&this._sceneObjectsMap.set(n,i),n.viewerAttached.emit(this)}}delete(...e){for(let n of e)if(this.has(n)){const i=this._sceneObjectsMap.get(n);i&&i.destroy(),ht.context.deleteSceneObject(n),this._sceneObjectsMap.delete(n),n.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return ms.createDefaultProps()}_getJson(e=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[i];o instanceof d.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_setJson(e,n,i){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof d.ReactiveVariable&&(u=u.value),this[a]=u}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(n){console.warn(`时间格式不正确! value: ${e} error: ${n}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}get actived(){return this._actived.value}set actived(e){this._actived.value=e}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(e){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new gt(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new gt(n[s],s))}),i}};g(ms,"context",new zI),g(ms,"register",ms.context.register.bind(ms.context)),g(ms,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0});let fi=ms;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),r.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:d.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:d.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:d.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:d.react(void 0),rollerShutter:!1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(fi||(fi={})),d.extendClassProps(fi.prototype,fi.createDefaultProps);function om(r,t){const e=r._lastCameraInfo;if(e){const n=t.viewerChanged.don(i=>{if(!i||!e)return;const{position:s,rotation:o}=e;t.flyIn(s,o,0),r._lastCameraInfo=void 0,n()})}}const XI=r=>{const t=fi.createCommonProps(),e={};try{Object.keys(t).forEach(n=>{e[n]=r[n]})}catch(n){console.warn(n)}return e},am=(r,t)=>{const e=fi.createCommonProps();try{Object.keys(e).forEach(n=>{r[n]=t[n]})}catch(n){console.warn(n)}};class HI extends d.Destroyable{constructor(e){super();g(this,"_viewersChanged",this.disposeVar(new d.Event));g(this,"_viewers",new Set);g(this,"_viewersToChange",this.dv(new d.Event));this._sceneObjectsManager=e,this.d(()=>{for(const n of this._viewers)this.destroyViewer(n);this._viewers.clear()}),this.viewers.forEach(n=>{const i=this._sceneObjectsManager.sceneObjects;n.add(...i)}),this.d(()=>{const n=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...n)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((n,i)=>{this.viewers.forEach(s=>{i.forEach(o=>{hs(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),n.forEach(o=>{hs(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,hs(o.devTags,s.devTags)),hs(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)hs(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),n.forEach(o=>{for(let a of s)hs(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let u of a)console.log("viewersChanged",o.devTags,u.devTags,hs(o.devTags,u.devTags)),hs(o.devTags,u.devTags)&&(o.has(u)?console.warn(`${o.typeName}中已存${u.typeName},检查逻辑是否有问题!`):o.add(u))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(e){const n=fi.context.createViewer(e);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class Ys extends d.Destroyable{constructor(...e){super();g(this,"_drgm",this.dv(new Cv));g(this,"_sobjm",this.dv(new DI));g(this,"_vrm",this.dv(new HI(this._sobjm)));g(this,"_sceneObjectEditingManager",this.disposeVar(new AI));g(this,"_activeViewer",this.dv(d.react(void 0)));g(this,"_syncOtherViewersToActived",this.dv(d.react(!1)));g(this,"_cmrvm",this.createSceneObjectFromClass(Gh));g(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));g(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});g(this,"_sceneTree",this.dv(new fl("default",this.dragstartDataMananger,24,this)));g(this,"_propUiTreeManager",this.dv(new Ra(24)));g(this,"_sceneTreeMap",new Map);g(this,"_viewerCreatedEvent",this.dv(new d.Event));g(this,"_lastCameraInfo");g(this,"_lastActiveViewerJson");g(this,"syncEvent",this.dv(d.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));g(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(n=>{e?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));g(this,"_player",this.createSceneObjectFromClass(_l));g(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));g(this,"_esPlyarAndPathTime",this.dv(new MI(this)));g(this,"_pathAnimationManager",this.dv(new bI(this)))}static get envs(){return ht.context.environmentVariables}getSceneObjectById(e){return ht.getSceneObjectById(e)}getSceneObject(e){return ht.getSceneObject(e)}get $refs(){return ht.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e,this.viewers.values().forEach(n=>n.actived=n===e)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var c;const e=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:n,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(f=>f.json),h=(c=this.activeViewer)==null?void 0:c.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:h}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(n=>{const i=e.viewers.find(s=>s.id===n.id);i&&(n.json=i)})}catch(n){console.error(`ESObjectsManager解析json数据时发生错误! error: ${n}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return TI(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,n=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const i=this.dv(new fl(e,this.dragstartDataMananger,n,this));this._sceneTreeMap.set(e,i)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const n=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=n);const i=this.d(n.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(n),i())}));return n}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,n=!0,i=!0,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?XI(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=e.id,a=o?[...this.getViewers()].find(h=>h.id===o):[...this.getViewers()].find(h=>h.typeName===e.type);if(a)if(o&&a.typeName!==e.type)console.warn(`id为${o}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&om(this,a),i&&this._lastActiveViewerJson&&(am(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===em(e.container)?(a.containerOrId=e.container,a.forceRecreate()):a.containerOrId=e.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const u=this.createViewer(e);return console.log(e),console.log(this),n&&om(this,u),i&&this._lastActiveViewerJson&&(am(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:s,destroy:o,id:a}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,s??!0,o??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const n={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:u}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,a)}}switchToUEViewer(...e){let n,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:u,uri:l,app:h,token:c,viewSync:f,attributeSync:p,destroy:v,id:_}=e[0];n={type:"ESUeViewer",container:u,id:_,options:{uri:l,app:h,token:c}},i={viewSync:f??!0,attributeSync:p??!0,destroy:v??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:h,viewSync:c,attributeSync:f,id:p,destroy:v}=e[0];n={type:"ESUeViewer",container:u,id:p,options:{ws:l,esmsg:h}},i={viewSync:c??!0,attributeSync:f??!0,destroy:v??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:h,viewSync:c,attributeSync:f,id:p,destroy:v}=e[0];n={type:"ESUeViewer",container:u,id:p,options:{project:l,baseUrl:h}},i={viewSync:c??!0,attributeSync:f??!0,destroy:v??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(n={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(n={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},i={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(n={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!n)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(n,s,o,a)}createCesiumViewer(...e){let n;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?n={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(n={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createOpenLayersViewer(...e){let n;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?n={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(n={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createUeViewer(...e){let n;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?n={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?n={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?n={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:n={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!n)throw new Error("参数错误");return this.createViewer(n)}createSceneObject(e,n){return this._sobjm.createSceneObject(e,n)}createSceneObjectFromClass(e,n){return this._sobjm.createSceneObjectFromClass(e,n)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const n=this._sobjm.deleteSceneObject(e);return e.destroy(),n}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let n of e)n!=this._player&&n!=this._cmrvm&&this.destroySceneObject(n)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}g(Ys,"getSceneObjById",ht.context.getSceneObjectById.bind(ht.context)),g(Ys,"getEnv",ht.context.getEnv.bind(ht.context)),g(Ys,"setEnv",ht.context.setEnv.bind(ht.context)),(r=>{r.createDefaultProps=()=>({})})(Ys||(Ys={})),d.extendClassProps(Ys.prototype,Ys.createDefaultProps);function YI(){const r=navigator.userAgent;let t="Unknown";/Windows/.test(r)?t="Windows":/Macintosh/.test(r)?t="MacOS":/Linux/.test(r)?t="Linux":/Android/.test(r)?t="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?e="x64":/x86|i686|Win32/.test(r)?e="x86":/arm64|aarch64/.test(r)?e="arm64":/arm/.test(r)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const JI=Date.now();function um(r){const{os:t,arch:e}=YI(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-JI)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}M.copyright=void 0;try{const r="earthsdk3",t="3.4.0-beta.8",e="2025-08-28T09:20:02.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="27c0506b6271f81fa83b6f81a48f38960b6c87bc",a=((Date.now()-1756372802e3)/36e5).toFixed(1),u=`%c🌏 ${r}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
473
|
+
`,GI='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',kI='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Xo=class Xo extends d.Destroyable{constructor(t){super();const e=()=>{const n=this.dv(new Vh);this.d(d.track([n,"show"],[t,"useDefaultStatusDiv"]));{const i=()=>{n.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};i(),this.d(t.useDefaultStatusDivChanged.don(i)),this.d(t.statusChanged.don(i)),n.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(n),this.d(()=>t.delete(n)),n.instanceClass=class extends d.Destroyable{constructor(o,a,u){super();g(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const v=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};v(),this.d(a.showChanged.don(v))}let l,h,c,f,p;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",l=document.createElement("div"),this._div.appendChild(l),l.style.width="auto",l.style.position="absolute",l.style.left="50%",l.style.top="50%",l.style.transform="translate(-50%,-50%)",l.style.background="rgba(120, 120, 0, 0.7)",l.style.color="white",l.style.fontSize="10px",l.style.background="none",l.style.display="flex",l.style.justifyContent="center",l.style.alignItems="center",h=document.createElement("div"),l.appendChild(h),h.style.pointerEvents="none",h.style.display="block",h.style.width="40px",h.innerHTML=Xo.defaultsSvg.loadingSvg,h.style.filter="drop-shadow(0px 0px 1px black)",c=document.createElement("div"),l.appendChild(c),c.style.pointerEvents="none",c.style.marginLeft="10px",c.style.display="flex",c.style.flexFlow="column",c.style.maxWidth="300px",f=document.createElement("div"),c.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",p=document.createElement("div"),c.appendChild(p),p.style.fontWeight="400",p.style.textShadow="0 0 2px black";{const v=()=>{let w="Raw";u.status==="Raw"?w="初始状态":u.status==="Creating"?w="正在创建":u.status==="Created"?w="创建完成":u.status==="Error"?w="创建失败":u.status==="Reconnecting"&&(w="重新连接"),f.innerText=`${w}(${u.status})`,p.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(h.innerHTML=Xo.defaultsSvg.loadingSvg),u.status==="Created"&&(h.innerHTML=Xo.defaultsSvg.successSvg),u.status==="Error"&&(h.innerHTML=Xo.defaultsSvg.warnSvg)};v();const _=this.dv(d.createNextAnimateFrameEvent(u.statusLogChanged,u.statusChanged));this.d(_.don(v))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,u=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${u}, 0.8)`}}};this.d(t.containerChanged.don(()=>{e()}))}};g(Xo,"defaultsSvg",{loadingSvg:FI,successSvg:GI,warnSvg:kI});let Kd=Xo;class VI extends d.Destroyable{constructor(t,e,n){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=n;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const h=o.zIndex??"";i.style.zIndex=h,s.style.zIndex=h};a(),this.d(o.zIndexChanged.don(a));const u=()=>{i.style.display=o.show??!0?"block":"none"};u(),this.d(o.showChanged.don(u));const l=()=>{i.style.opacity=`${o.opacity??1}`};l(),this.d(o.opacityChanged.don(l))}}function Wh(r){let t=d.getExtProp(r,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",r.appendChild(t),d.setExtProp(r,"_relativeContainer",t)),t}class UI extends d.Destroyable{constructor(e,n){super();g(this,"_subContainer",document.createElement("div"));g(this,"_overlayContainer",document.createElement("div"));g(this,"_containerStyleController");this._container=e,this._viewer=n,this._containerStyleController=this.dv(new VI(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),Wh(this._container).appendChild(i),this.d(()=>Wh(this._container).removeChild(i)),Wh(this._container).appendChild(s),this.d(()=>Wh(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class zI extends d.Destroyable{constructor(){super(...arguments);g(this,"registerObjsMap",new Map)}register(e,n){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,n),e}getViewerConstructor(e){const n=this.registerObjsMap.get(e);if(!n){console.warn(`未找到${e}类!`);return}return n}createViewer(e){const n=e.type;console.log(e);const i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(e)}}class sm extends d.Destroyable{constructor(t,e,n=!1,i=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(d.DomElementEvent.create(e,"pointerdown")),o=this.dv(d.DomElementEvent.create(e,"pointermove")),a=this.dv(d.DomElementEvent.create(e,"pointerup")),u=this.dv(d.DomElementEvent.create(e,"pointerout")),l=this.dv(d.DomElementEvent.create(e,"pointerover")),h=this.dv(new d.PointerClick),c=this.dv(new d.PointerHover),f=()=>{const m=this._viewer.hoverTime*1e3;c.delayTime=m};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(m=>h.pointerDown(m))),this.d(o.don(m=>h.pointerMove(m))),this.d(a.don(m=>h.pointerUp(m))),this.d(u.don(m=>h.pointerOut(m))),this.d(s.don(m=>c.pointerDown(m))),this.d(o.don(m=>c.pointerMove(m))),this.d(a.don(m=>c.pointerUp(m))),this.d(u.don(m=>c.pointerOut(m)));const{x:p,y:v}=e.getBoundingClientRect(),_=i?p:0,w=i?v:0;this.d(c.hoverEvent.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.hoverEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(h.clickEvent.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.clickEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(h.dbclickEvent.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);m.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(s.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);m.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(a.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);m.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(o.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.pointerMoveEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(l.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.pointerOverEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})})),this.d(u.don(m=>{const[S,C]=d.getDomEventCurrentTargetPos(m,n);this._viewer.pointerOutEvent.emit({screenPosition:[S+_,C+w],pointerEvent:m})}));const I=this.dv(d.DomElementEvent.create(e,"keydown"));this.d(I.don(m=>this._viewer.keyDownEvent.emit(m)));const y=this.dv(d.DomElementEvent.create(e,"keyup"));this.d(y.don(m=>this._viewer.keyUpEvent.emit(m)));const E=this.dv(d.DomElementEvent.create(e,"wheel"));this.d(E.don(m=>this._viewer.wheelEvent.emit(m)))}}class qI extends d.Destroyable{constructor(e){super();g(this,"viewer");const n=this.viewer=e;this.ad(new d.ObjResettingWithEvent(n.rollerShutterChanged,()=>{const i=n.container;if(!i||!n.rollerShutter)return;const s=new d.Destroyable;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const n=i=>{if(!e.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/e.parentElement.offsetWidth;e.style.left=`${100*o}%`,this.viewer.splitPosition=o};return e.addEventListener("mouseenter",i=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",i=>{e.style.cursor="default"}),e.addEventListener("mousedown",i=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",n)}),document.addEventListener("mouseup",i=>{e.style.cursor="default",document.removeEventListener("mousemove",n)}),e}}class WI extends d.Destroyable{constructor(e){super();g(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new qI(e))}}const ms=class ms extends d.Destroyable{constructor(e){super();g(this,"_forceRecreateEvent",this.dv(new d.Event));g(this,"_container",this.dv(d.react(void 0)));g(this,"_containerSize",this.dv(d.react(void 0)));g(this,"_editingEvent",this.disposeVar(new d.Event));g(this,"_status",this.dv(d.react("Raw")));g(this,"_statusLog",this.dv(d.react("")));g(this,"_statusContainer",this.dv(new Kd(this)));g(this,"_useCustomInteraction",this.dv(d.react(!0)));g(this,"_resetInteractionEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));g(this,"_interactionResetting",this.dv(new d.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new sm(this,this.container)})));g(this,"_viewerChanged",this.dv(new d.Event));g(this,"_cameraChanged",this.dv(new d.Event));g(this,"_containerResetEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));g(this,"_containerResetting",this.dv(new d.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new UI(this.container,this)})));g(this,"_sceneObjectsMap",new Map);g(this,"_id");g(this,"_typeName");g(this,"_updateFuncReact",this.dv(d.react(void 0)));g(this,"_toDestroyFuncReact",this.dv(d.react(void 0)));g(this,"_statusInfo",ms.defaults.statusInfo);g(this,"_navigationMode",this.dv(d.react("Map")));g(this,"_syncViewer",this.dv(d.react(void 0)));g(this,"_syncEventDon",this.dv(new d.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new RI(this,e)})));g(this,"_timeSyncdon",this.dv(new d.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new LI(this)})));g(this,"_hoverEvent",this.dv(new d.Event));g(this,"_pointerOverEvent",this.dv(new d.Event));g(this,"_pointerMoveEvent",this.dv(new d.Event));g(this,"_pointerDownEvent",this.dv(new d.Event));g(this,"_pointerUpEvent",this.dv(new d.Event));g(this,"_pointerOutEvent",this.dv(new d.Event));g(this,"_clickEvent",this.dv(new d.Event));g(this,"_dblclickEvent",this.dv(new d.Event));g(this,"_keyDownEvent",this.dv(new d.Event));g(this,"_keyUpEvent",this.dv(new d.Event));g(this,"_wheelEvent",this.dv(new d.Event));g(this,"_actived",this.dv(d.react(!1)));this._id=e.id??d.createGuid();const n=em(e.container);if(n)this._container.value=Qd(n),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const i=()=>{n&&(this.show??!0?n.style.display="block":n.style.display="none")};i(),this.d(this.showChanged.don(i))}{const i=this._sceneObjectsMap,s=()=>{for(let[a,u]of i.entries())if(!u&&a){const l=eo.context.createEngineObject(a,this);l&&i.set(a,l)}},o=()=>{for(let[a,u]of i.entries())u&&!u.isDestroyed()&&u.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||d.createAnimateFrame(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new WI(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const n=document.getElementById(e);n&&n instanceof HTMLDivElement?this._container.value=Qd(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=Qd(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get cameraChanged(){return this._cameraChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let n of e)if(!this.has(n)){ht.context.addSceneObject(n);const i=eo.context.createEngineObject(n,this);i&&this._sceneObjectsMap.set(n,i),n.viewerAttached.emit(this)}}delete(...e){for(let n of e)if(this.has(n)){const i=this._sceneObjectsMap.get(n);i&&i.destroy(),ht.context.deleteSceneObject(n),this._sceneObjectsMap.delete(n),n.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return ms.createDefaultProps()}_getJson(e=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[i];o instanceof d.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_setJson(e,n,i){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof d.ReactiveVariable&&(u=u.value),this[a]=u}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(n){console.warn(`时间格式不正确! value: ${e} error: ${n}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}get actived(){return this._actived.value}set actived(e){this._actived.value=e}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(e){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new gt(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new gt(n[s],s))}),i}};g(ms,"context",new zI),g(ms,"register",ms.context.register.bind(ms.context)),g(ms,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0});let fi=ms;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),r.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:d.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:d.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:d.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:d.react(void 0),rollerShutter:!1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(fi||(fi={})),d.extendClassProps(fi.prototype,fi.createDefaultProps);function om(r,t){const e=r._lastCameraInfo;if(e){const n=t.viewerChanged.don(i=>{if(!i||!e)return;const{position:s,rotation:o}=e;t.flyIn(s,o,0),r._lastCameraInfo=void 0,n()})}}const XI=r=>{const t=fi.createCommonProps(),e={};try{Object.keys(t).forEach(n=>{e[n]=r[n]})}catch(n){console.warn(n)}return e},am=(r,t)=>{const e=fi.createCommonProps();try{Object.keys(e).forEach(n=>{r[n]=t[n]})}catch(n){console.warn(n)}};class HI extends d.Destroyable{constructor(e){super();g(this,"_viewersChanged",this.disposeVar(new d.Event));g(this,"_viewers",new Set);g(this,"_viewersToChange",this.dv(new d.Event));this._sceneObjectsManager=e,this.d(()=>{for(const n of this._viewers)this.destroyViewer(n);this._viewers.clear()}),this.viewers.forEach(n=>{const i=this._sceneObjectsManager.sceneObjects;n.add(...i)}),this.d(()=>{const n=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...n)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((n,i)=>{this.viewers.forEach(s=>{i.forEach(o=>{hs(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),n.forEach(o=>{hs(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,hs(o.devTags,s.devTags)),hs(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)hs(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),n.forEach(o=>{for(let a of s)hs(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let u of a)console.log("viewersChanged",o.devTags,u.devTags,hs(o.devTags,u.devTags)),hs(o.devTags,u.devTags)&&(o.has(u)?console.warn(`${o.typeName}中已存${u.typeName},检查逻辑是否有问题!`):o.add(u))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(e){const n=fi.context.createViewer(e);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class Ys extends d.Destroyable{constructor(...e){super();g(this,"_drgm",this.dv(new Cv));g(this,"_sobjm",this.dv(new DI));g(this,"_vrm",this.dv(new HI(this._sobjm)));g(this,"_sceneObjectEditingManager",this.disposeVar(new AI));g(this,"_activeViewer",this.dv(d.react(void 0)));g(this,"_syncOtherViewersToActived",this.dv(d.react(!1)));g(this,"_cmrvm",this.createSceneObjectFromClass(Gh));g(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));g(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});g(this,"_sceneTree",this.dv(new fl("default",this.dragstartDataMananger,24,this)));g(this,"_propUiTreeManager",this.dv(new Ra(24)));g(this,"_sceneTreeMap",new Map);g(this,"_viewerCreatedEvent",this.dv(new d.Event));g(this,"_lastCameraInfo");g(this,"_lastActiveViewerJson");g(this,"syncEvent",this.dv(d.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));g(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(n=>{e?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));g(this,"_player",this.createSceneObjectFromClass(_l));g(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));g(this,"_esPlyarAndPathTime",this.dv(new MI(this)));g(this,"_pathAnimationManager",this.dv(new bI(this)))}static get envs(){return ht.context.environmentVariables}getSceneObjectById(e){return ht.getSceneObjectById(e)}getSceneObject(e){return ht.getSceneObject(e)}get $refs(){return ht.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e,this.viewers.values().forEach(n=>n.actived=n===e)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var c;const e=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:n,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(f=>f.json),h=(c=this.activeViewer)==null?void 0:c.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:h}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(n=>{const i=e.viewers.find(s=>s.id===n.id);i&&(n.json=i)})}catch(n){console.error(`ESObjectsManager解析json数据时发生错误! error: ${n}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return TI(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,n=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const i=this.dv(new fl(e,this.dragstartDataMananger,n,this));this._sceneTreeMap.set(e,i)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const n=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=n);const i=this.d(n.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(n),i())}));return n}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,n=!0,i=!0,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?XI(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=e.id,a=o?[...this.getViewers()].find(h=>h.id===o):[...this.getViewers()].find(h=>h.typeName===e.type);if(a)if(o&&a.typeName!==e.type)console.warn(`id为${o}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&om(this,a),i&&this._lastActiveViewerJson&&(am(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===em(e.container)?(a.containerOrId=e.container,a.forceRecreate()):a.containerOrId=e.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const u=this.createViewer(e);return console.log(e),console.log(this),n&&om(this,u),i&&this._lastActiveViewerJson&&(am(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:s,destroy:o,id:a}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,s??!0,o??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const n={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:u}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,a)}}switchToUEViewer(...e){let n,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:u,uri:l,app:h,token:c,viewSync:f,attributeSync:p,destroy:v,id:_}=e[0];n={type:"ESUeViewer",container:u,id:_,options:{uri:l,app:h,token:c}},i={viewSync:f??!0,attributeSync:p??!0,destroy:v??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:h,viewSync:c,attributeSync:f,id:p,destroy:v}=e[0];n={type:"ESUeViewer",container:u,id:p,options:{ws:l,esmsg:h}},i={viewSync:c??!0,attributeSync:f??!0,destroy:v??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:h,viewSync:c,attributeSync:f,id:p,destroy:v}=e[0];n={type:"ESUeViewer",container:u,id:p,options:{project:l,baseUrl:h}},i={viewSync:c??!0,attributeSync:f??!0,destroy:v??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(n={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(n={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},i={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(n={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},i={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!n)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(n,s,o,a)}createCesiumViewer(...e){let n;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?n={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(n={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createOpenLayersViewer(...e){let n;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?n={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(n={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createUeViewer(...e){let n;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?n={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?n={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?n={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:n={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!n)throw new Error("参数错误");return this.createViewer(n)}createSceneObject(e,n){return this._sobjm.createSceneObject(e,n)}createSceneObjectFromClass(e,n){return this._sobjm.createSceneObjectFromClass(e,n)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const n=this._sobjm.deleteSceneObject(e);return e.destroy(),n}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let n of e)n!=this._player&&n!=this._cmrvm&&this.destroySceneObject(n)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}g(Ys,"getSceneObjById",ht.context.getSceneObjectById.bind(ht.context)),g(Ys,"getEnv",ht.context.getEnv.bind(ht.context)),g(Ys,"setEnv",ht.context.setEnv.bind(ht.context)),(r=>{r.createDefaultProps=()=>({})})(Ys||(Ys={})),d.extendClassProps(Ys.prototype,Ys.createDefaultProps);function YI(){const r=navigator.userAgent;let t="Unknown";/Windows/.test(r)?t="Windows":/Macintosh/.test(r)?t="MacOS":/Linux/.test(r)?t="Linux":/Android/.test(r)?t="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?e="x64":/x86|i686|Win32/.test(r)?e="x86":/arm64|aarch64/.test(r)?e="arm64":/arm/.test(r)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const JI=Date.now();function um(r){const{os:t,arch:e}=YI(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-JI)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}M.copyright=void 0;try{const r="earthsdk3",t="3.4.0-beta.9",e="2025-08-29T06:51:48.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="fb558d1caab6fa68aec33c4a215b8444c1541b24",a=((Date.now()-1756450308e3)/36e5).toFixed(1),u=`%c🌏 ${r}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
474
474
|
%c${i?i+`
|
|
475
475
|
`:""}当前网站正在使用${r},此软件版权归${n}所有
|
|
476
|
-
`;M.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
476
|
+
`;M.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","fb558d1caab6fa68aec33c4a215b8444c1541b24")},get info(){return u},get date(){return"2025-08-29T06:51:48.000Z"},get author(){return"suplyang"},get version(){return"3.4.0-beta.9"},get name(){return"earthsdk3"},get commitId(){return"fb558d1caab6fa68aec33c4a215b8444c1541b24"},print(){console.info(this.info,`
|
|
477
477
|
font-size: 18px;
|
|
478
478
|
font-weight: 1000;
|
|
479
479
|
line-height: 1;
|