earthsdk3 3.0.7-beta.12 → 3.0.7-beta.13
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 +13 -13
- package/dist/earthsdk3.umd.cjs +18 -18
- package/package.json +1 -1
package/dist/earthsdk3.iife.js
CHANGED
|
@@ -633,7 +633,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
633
633
|
\`\`\`
|
|
634
634
|
${By}
|
|
635
635
|
\`\`\`
|
|
636
|
-
`;function zy(r){try{return JSON.parse(r),!0}catch{return!1}}const rC="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",ye=class ye extends Xe{constructor(t){super(t);D(this,"_flyToFeatureEvent",this.dv(new M.Event));D(this,"_flyToFeatureIndexEvent",this.dv(new M.Event));D(this,"_features",this.disposeVar(M.reactJsonWithUndefined(void 0)));D(this,"pickedInfoType","FeatureCollection");this.ad(this.urlChanged.don(async()=>{var n;if(!this.url){this.features=void 0;return}do{if(typeof this.url=="object"){this.features=this.url;break}if(zy(this.url)){this.features=JSON.parse(this.url);break}await fetch(we.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)})}while(!1);this.pickedInfoType=((n=this.features)==null?void 0:n.type)??"FeatureCollection"})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get typeName(){return"ESGeoJson"}get defaultProps(){return ye.createDefaultProps()}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,n,i){this._flyToFeatureEvent.emit(t,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,n){this._flyToFeatureIndexEvent.emit(t,n)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}getESProperties(){return{defaultMenu:"style",basic:[],general:[new de("名称","name",!0,!1,[this,"name"]),new de("唯一标识","id",!1,!0,[this,"id"]),new $("是否显示","show",!1,!1,[this,"show"],!0),new $("开启碰撞","collision",!1,!1,[this,"collision"],!1),new $("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1),new Se("保存观察视角","保存当前视角",[],()=>this.calcFlyInParam(),[])],dataSource:[new se("服务地址","服务地址",!0,!1,[this,"url"],ye.defaults.url),new q("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],ye.defaults.minFeatureVisibleDistance),new q("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],ye.defaults.maxFeatureVisibleDistance),new ce("高度参考","高度参考",!1,!1,[this,"heightReference"],ye.defaults.heightReferences)],location:[],coordinate:[],style:[new ee("点文字样式","点样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"textShow"],ye.defaults.textShow),new lt("锚点","锚点",!1,!1,[this,"textAnchor"],ye.defaults.textAnchor),new de("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],ye.defaults.textProperty),new de("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],ye.defaults.textDefaultText),new pe("文本颜色","文本颜色",!1,!1,[this,"textColor"],ye.defaults.textColor),new pe("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],ye.defaults.textBackgroundColor),new de("字体样式","字体样式",!1,!1,[this,"textFontStyle"],ye.defaults.textFontStyle),new de("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],ye.defaults.textFontWeight),new q("字体大小","字体大小",!1,!1,[this,"textFontSize"],ye.defaults.textFontSize),new lt("像素偏移","像素偏移",!1,!1,[this,"textOffset"],ye.defaults.textOffset),new ee("点图片样式","图片样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"imageShow"],ye.defaults.imageShow),new lt("锚点","锚点",!1,!1,[this,"imageAnchor"],ye.defaults.imageAnchor),new se("图片地址","图片地址",!1,!1,[this,"imageUrl"],ye.defaults.imageUrl),new lt("图片大小","图片大小",!1,!1,[this,"imageSize"],ye.defaults.imageSize),new lt("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],ye.defaults.imageOffset),new ee("线样式","线样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"stroked"],ye.defaults.stroked),new $("贴地","贴地(线)",!1,!1,[this,"strokeGround"],ye.defaults.strokeGround),new q("线宽","线宽",!1,!1,[this,"strokeWidth"],ye.defaults.strokeWidth),new ce("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],ye.defaults.strokeWidthTypes),new pe("线颜色","线颜色",!1,!1,[this,"strokeColor"],ye.defaults.strokeColor),new de("线材质","线材质",!1,!1,[this,"strokeMaterial"],ye.defaults.strokeMaterial),new se("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],ye.defaults.strokeMaterialParams),new ee("面样式","面样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"filled"],ye.defaults.filled),new $("贴地","贴地(面)",!1,!1,[this,"fillGround"],ye.defaults.fillGround),new pe("填充颜色","填充颜色",!1,!1,[this,"fillColor"],ye.defaults.fillColor),new de("填充材质","填充材质",!1,!1,[this,"fillMaterial"],ye.defaults.fillMaterial),new se("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],ye.defaults.fillMaterialParams)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new $("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],ye.defaults.show),new $("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"],ye.defaults.allowPicking),new Se("飞入","飞入",["number"],n=>this.flyTo(n),[1]),new Se("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new Se("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[]),new se("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],ye.defaults.flyInParam)]),new ee("标注文本样式","标注文本样式",[new $("是否显示","是否显示",!1,!1,[this,"textShow"],ye.defaults.textShow),new de("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],ye.defaults.textProperty),new de("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],ye.defaults.textDefaultText),new pe("文本颜色","文本颜色",!1,!1,[this,"textColor"],ye.defaults.textColor),new pe("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],ye.defaults.textBackgroundColor),new de("字体","字体",!1,!1,[this,"textFontFamily"],ye.defaults.textFontFamily),new de("字体样式","字体样式",!1,!1,[this,"textFontStyle"],ye.defaults.textFontStyle),new de("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],ye.defaults.textFontWeight),new q("字体大小","字体大小",!1,!1,[this,"textFontSize"],ye.defaults.textFontSize),new lt("锚点","锚点",!1,!1,[this,"textAnchor"],ye.defaults.textAnchor),new lt("像素偏移","像素偏移",!1,!1,[this,"textOffset"],ye.defaults.textOffset)]),new ee("标注图标样式","标注图标样式",[new $("是否显示","是否显示",!1,!1,[this,"imageShow"],ye.defaults.imageShow),new se("图片地址","图片地址",!1,!1,[this,"imageUrl"],ye.defaults.imageUrl),new lt("图片大小","图片大小",!1,!1,[this,"imageSize"],ye.defaults.imageSize),new lt("锚点","锚点",!1,!1,[this,"imageAnchor"],ye.defaults.imageAnchor),new lt("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],ye.defaults.imageOffset)]),new ee("线样式","线样式",[new $("是否显示","是否显示",!1,!1,[this,"stroked"],ye.defaults.stroked),new q("线宽","线宽",!1,!1,[this,"strokeWidth"],ye.defaults.strokeWidth),new ce("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],ye.defaults.strokeWidthTypes),new pe("线颜色","线颜色",!1,!1,[this,"strokeColor"],ye.defaults.strokeColor),new de("线材质","线材质",!1,!1,[this,"strokeMaterial"],ye.defaults.strokeMaterial),new se("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],ye.defaults.strokeMaterialParams),new $("贴地(线)","贴地(线)",!1,!1,[this,"strokeGround"],ye.defaults.strokeGround)]),new ee("填充样式","填充样式",[new $("是否显示","是否显示",!1,!1,[this,"filled"],ye.defaults.filled),new pe("填充颜色","填充颜色",!1,!1,[this,"fillColor"],ye.defaults.fillColor),new de("填充材质","填充材质",!1,!1,[this,"fillMaterial"],ye.defaults.fillMaterial),new se("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],ye.defaults.fillMaterialParams),new $("贴地(面)","贴地(面)",!1,!1,[this,"fillGround"],ye.defaults.fillGround)]),new ee("通用","通用",[new se("服务地址","服务地址",!0,!1,[this,"url"],ye.defaults.url),new Gi("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],ye.defaults.defaultLoadFuncStr,ye.defaults.defaultLoadFuncDocStr),new q("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],ye.defaults.minFeatureVisibleDistance),new q("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],ye.defaults.maxFeatureVisibleDistance),new ce("高度参考","高度参考",!1,!1,[this,"heightReference"],ye.defaults.heightReferences)])]}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};D(ye,"type",ye.register("ESGeoJson",ye,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),D(ye,"defaults",{...Xe.defaults,show:!0,allowPicking:!0,url:rC,defaultLoadFuncStr:By,defaultLoadFuncDocStr:tC,data:ZS,dataMd:eC,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/img/location.png",imageSize:[32,32],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:void 0,textFontFamily:"Arial",textFontStyle:"normal",textFontSize:16,textFontWeight:"normal",textAnchor:[0,1],textOffset:[-16,8],strokeWidthTypes:[["screen","screen"],["world","world"]],flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1},minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let Ba=ye;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:void 0,stroked:!0,strokeStyle:M.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:M.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:M.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:M.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,flyInParam:M.reactJsonWithUndefined(void 0),heightReference:"NONE"})})(Ba||(Ba={})),M.extendClassProps(Ba.prototype,Ba.createDefaultProps);const Ro=class Ro extends Ae{constructor(t){super(t);D(this,"editingBindMode","doublePoints");this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESHeightMeasurement"}get defaultProps(){return Ro.createDefaultProps()}getProperties(t){return[...super.getProperties(t)]}};D(Ro,"type",Ro.register("ESHeightMeasurement",Ro,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),D(Ro,"supportEditingModes",[...Ae.supportEditingModes,xe.DoublePointsAppend,xe.DoublePointsModify]),D(Ro,"defaults",{...Ae.defaults});let za=Ro;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps()})})(za||(za={})),M.extendClassProps(za.prototype,za.createDefaultProps);const Du=class Du extends Kr{constructor(t){super(t);D(this,"_area",this.dv(M.react(0)));D(this,"_perimeter",this.dv(M.react(0)));D(this,"editingBindMode","doublePoints");this.radius=1,this.filled=!0,this.stroked=!1,this.collision=!1,this.strokeColor=[1,1,1,1],this.fillColor=[1,1,1,.5];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 typeName(){return"ESLocalCircle"}get defaultProps(){return{...Du.createDefaultProps()}}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(t=10,n){return pv([...this.position],this.radius,t,n)[0].map(o=>[...o,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new q("圆半径","圆半径",!0,!1,[this,"radius"],1)],general:[...t.general],dataSource:[...t.dataSource],location:[],coordinate:[new $("是否编辑","是否编辑",!1,!1,[this,"editing"]),new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"]),new ci("三维坐标","三维坐标",!0,!1,[this,"position"],[0,0,0])],style:[...t.style]}}getProperties(t){return[...super.getProperties(t),new ee("ESLocalCircle","ESLocalCircle",[new q("圆半径","圆半径",!1,!1,[this,"radius"]),new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"])])]}};D(Du,"type",Du.register("ESLocalCircle",Du,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"})),D(Du,"defaults",{...Kr.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{}}});let Ua=Du;(r=>{r.createDefaultProps=()=>({...Kr.createDefaultProps(),radius:1})})(Ua||(Ua={})),M.extendClassProps(Ua.prototype,Ua.createDefaultProps);const Au=class Au extends Kr{get typeName(){return"ESLocalPolygon"}get defaultProps(){return{...Au.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new rp("坐标","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"],[])]}}getProperties(e){return[...super.getProperties(e),new ee("ESLocalPolygon","ESLocalPolygon",[new se("位置偏移数组","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"])])]}};D(Au,"type",Au.register("ESLocalPolygon",Au,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"})),D(Au,"defaults",{...Kr.defaults,points:[],filled:!0});let as=Au;(r=>{r.createDefaultProps=()=>({...Kr.createDefaultProps(),points:pf(void 0)})})(as||(as={})),M.extendClassProps(as.prototype,as.createDefaultProps);const Vl=class Vl extends Ni{get typeName(){return"ESLocalPolygonZ"}get defaultProps(){return{...Vl.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ff("本地位置数组","本地位置数组",!0,!1,[this,"points"])])]}};D(Vl,"type",Vl.register("ESLocalPolygonZ",Vl,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let Wa=Vl;(r=>{r.createDefaultProps=()=>({...Ni.createDefaultProps(),points:M.reactPositions(void 0)})})(Wa||(Wa={})),M.extendClassProps(Wa.prototype,Wa.createDefaultProps);const Ru=class Ru extends Kr{get typeName(){return"ESLocalRectangle"}get defaultProps(){return{...Ru.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new ee("ESLocalRectangle","ESLocalRectangle",[new q("宽度","宽度",!1,!1,[this,"width"]),new q("高度","高度",!1,!1,[this,"height"])])]}};D(Ru,"type",Ru.register("ESLocalRectangle",Ru,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"})),D(Ru,"defaults",{...Kr.defaults,width:5e5,height:3e5});let qa=Ru;(r=>{r.createDefaultProps=()=>({...Kr.createDefaultProps(),width:5e5,height:3e5})})(qa||(qa={})),M.extendClassProps(qa.prototype,qa.createDefaultProps);const ps=class ps extends Ae{constructor(t){super(t);D(this,"editingBindMode","lineString");D(this,"_distance",this.dv(M.react(0)));D(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);D(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.fillColor=[1,0,.73,1];const n=()=>{if(this.points&&this.points.length>=2){const i=jl(this.points,"GEODESIC"),o=i[i.length-1];this._distance.value=o}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get typeName(){return"ESPipeFence"}get defaultProps(){return ps.createDefaultProps()}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new q("高度","height",!1,!1,[this,"height"],10),new q("宽度","width",!1,!1,[this,"width"],10),new ce("模式","materialMode",!1,!1,[this,"materialMode"],ps.defaults.materialModes,"purple")],coordinate:[...t.coordinate,new q("长度","距离",!1,!0,[this,"distance"])]}}getProperties(t){return[...super.getProperties(t),new ee("ESPipeFence","ESPipeFence",[new q("高度","height",!1,!1,[this,"height"]),new q("宽度","width",!1,!1,[this,"width"]),new ce("materialMode","materialMode",!1,!1,[this,"materialMode"],ps.defaults.materialModes)])]}};D(ps,"type",ps.register("ESPipeFence",ps,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),D(ps,"supportEditingModes",[...Ae.supportEditingModes,xe.LineStringAppend,xe.LineStringInsert]),D(ps,"defaults",{...Ae.defaults,strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{}},fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,stroked:!0,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let Ha=ps;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0})})(Ha||(Ha={})),M.extendClassProps(Ha.prototype,Ha.createDefaultProps);const Lo=class Lo extends Yt{constructor(t){super(t);D(this,"_setLayerVisibleEvent",this.dv(new M.Event));D(this,"_setLayerColorEvent",this.dv(new M.Event))}get typeName(){return"ESPipeserTileset"}get defaultProps(){return Lo.createDefaultProps()}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,n){this._setLayerVisibleEvent.emit(t,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,n){this._setLayerColorEvent.emit(t,n)}getProperties(t){return[...super.getProperties(t),new ee("ESPipeserTileset","ESPipeserTileset",[new Se("setLayerVisible","setLayerVisible",["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""]),new Se("setLayerColor","setLayerColor",["string","string"],(n,i)=>this.setLayerColor(n,i),["",""]),new ce("colorMode","colorMode",!0,!1,[this,"colorMode"],Lo.description.colorMode,"default")])]}};D(Lo,"type",Lo.register("ESPipeserTileset",Lo,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),D(Lo,"description",{colorMode:[["default","default"],["color","color"],["blend","blend"]]});let Xa=Lo;(r=>{r.createDefaultProps=()=>({colorMode:"default",...Yt.createDefaultProps()})})(Xa||(Xa={})),M.extendClassProps(Xa.prototype,Xa.createDefaultProps);const gs=class gs extends Ae{constructor(t){super(t);D(this,"editingBindMode","circular");this.filled=!0,this.collision=!1}get typeName(){return"ESPolygonFence"}get defaultProps(){return gs.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"])],basic:[...t.basic,new q("高度","height",!1,!1,[this,"height"],10),new ce("模式","materialMode",!1,!1,[this,"materialMode"],gs.defaults.materialModes,"danger")]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new q("高度","height",!1,!1,[this,"height"]),new ce("materialMode","materialMode",!1,!1,[this,"materialMode"],gs.defaults.materialModes)]),new ee("计算","计算",[new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"])])]}};D(gs,"type",gs.register("ESPolygonFence",gs,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),D(gs,"supportEditingModes",[...Ae.supportEditingModes,xe.CircularAppend,xe.CircularInsert,xe.HeightModify]),D(gs,"defaults",{...Ae.defaults,fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,materialModes:[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]});let Ya=gs;(r=>{r.createDefaultProps=()=>({height:10,materialMode:"danger",...Ae.createDefaultProps()})})(Ya||(Ya={})),M.extendClassProps(Ya.prototype,Ya.createDefaultProps);const Ws=class Ws extends Ae{constructor(t){super(t);D(this,"_deprecated",["ground"]);D(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());D(this,"editingBindMode","doublePoints")}get typeName(){return"ESRectangle"}get defaultProps(){return Ws.createDefaultProps()}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new $("是否贴地","A boolean Property specifying the visibility.",!1,!1,[this,"ground"]),new $("轮廓线半透明","轮廓线半透明.",!1,!1,[this,"outlineTranslucent"]),new q("高度","高度",!1,!1,[this,"height"]),new q("拉伸高度","拉伸高度",!1,!1,[this,"extrudedHeight"]),new kr("范围","西南东北",!0,!1,[this,"rectangle"],Ws.defaults.rectangle),new q("纹理旋转角度","纹理旋转角度.",!1,!1,[this,"stRotation"]),new q("旋转角度","rotation",!1,!1,[this,"rotation"]),new $("是否单点编辑","是否单点编辑.",!1,!1,[this,"pointEditing"])])]}};D(Ws,"type",Ws.register("ESRectangle",Ws,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),D(Ws,"supportEditingModes",[...Ae.supportEditingModes,xe.DoublePointsAppend,xe.DoublePointsModify]),D(Ws,"defaults",{...Ae.defaults,ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:void 0,stRotation:0,rotation:0,pointEditing:!1,allowPicking:!1});let Ja=Ws;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:M.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})})(Ja||(Ja={})),M.extendClassProps(Ja.prototype,Ja.createDefaultProps);const Lu=class Lu extends ze{get typeName(){return"ESPolygonWithHole"}get defaultProps(){return Lu.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new se("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new se("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])])]}};D(Lu,"type",Lu.register("ESPolygonWithHole",Lu,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"})),D(Lu,"defaults",{...ze.defaults,innerRings:[]});let Ka=Lu;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),innerRings:M.reactPositionsSet(void 0)})})(Ka||(Ka={})),M.extendClassProps(Ka.prototype,Ka.createDefaultProps);const qs=class qs extends ze{constructor(t){super(t);D(this,"_startEvent",this.disposeVar(new M.Event));this.fillStyle.ground=!0}get typeName(){return"ESSurfaceAreaMeasurement"}get defaultProps(){return qs.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}getProperties(t){return[...super.getProperties(t),new ee("ESSurfaceAreaMeasurement","表面积测量",[new Se("开始计算","开始计算",[],()=>this.start(),[]),new q("插值距离","插值距离,单位米,为0时不插值",!1,!1,[this,"interpolation"],qs.defaults.interpolation),new q("偏移高度","三角面整体偏移高度,单位米",!1,!1,[this,"offsetHeight"],qs.defaults.offsetHeight)])]}};D(qs,"type",qs.register("ESSurfaceAreaMeasurement",qs,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"})),D(qs,"defaults",{...ze.defaults,interpolation:.5,offsetHeight:0});let Qa=qs;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),interpolation:void 0,offsetHeight:void 0})})(Qa||(Qa={})),M.extendClassProps(Qa.prototype,Qa.createDefaultProps);const Hs=class Hs extends le{get typeName(){return"ESDatasmithRuntimeModel"}get defaultProps(){return Hs.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new se("importOptions","导入参数",!0,!1,[this,"importOptions"],Hs.defaults.importOptions)],dataSource:[...e.dataSource,new se("路径","url",!1,!1,[this,"url"])]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new se("url","url",!1,!1,[this,"url"]),new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new se("importOptions","导入参数",!0,!1,[this,"importOptions"],Hs.defaults.importOptions)])]}};D(Hs,"type",Hs.register("ESDatasmithRuntimeModel",Hs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"})),D(Hs,"defaults",{...le.defaults,url:"",importOptions:{buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}});let $a=Hs;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",importOptions:M.reactJsonWithUndefined(void 0),downloadProgress:0})})($a||($a={})),M.extendClassProps($a.prototype,$a.createDefaultProps);const dt=class dt extends as{get typeName(){return"ESDynamicWater"}get defaultProps(){return{...dt.createDefaultProps()}}constructor(e){super(e),this.stroked=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ce("水域类型","当为 custom 时其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],dt.defaults.waterTypes,dt.defaults.waterType),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],dt.defaults.frequency),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],dt.defaults.amplitude),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],dt.defaults.flowDirection),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],dt.defaults.waveVelocity),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],dt.defaults.specularIntensity),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围 0 - 10。",!1,!1,[this,"murkiness"],.01,[0,10],dt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],dt.defaults.flowSpeed),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],dt.defaults.waterColor),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],dt.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new ce("水域类型","当为 custom 时其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],dt.defaults.waterTypes),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],dt.defaults.waterImage),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],dt.defaults.waterColor),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],dt.defaults.frequency),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],dt.defaults.waveVelocity),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],dt.defaults.amplitude),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],dt.defaults.specularIntensity),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],dt.defaults.flowDirection),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围 0 - 10。",!1,!1,[this,"murkiness"],.01,[0,10],dt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],dt.defaults.flowSpeed)]}};D(dt,"type",dt.register("ESDynamicWater",dt,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"})),D(dt,"defaults",{...as.defaults,waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:void 0,murkiness:5});let Za=dt;(r=>{r.createDefaultProps=()=>({...as.createDefaultProps(),allowPicking:!0,waterImage:M.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})})(Za||(Za={})),M.extendClassProps(Za.prototype,Za.createDefaultProps);const pt=class pt extends ze{get typeName(){return"ESGeoWater"}get defaultProps(){return pt.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],pt.defaults.waterTypes,pt.defaults.waterType),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],pt.defaults.frequency),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],pt.defaults.amplitude),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],pt.defaults.flowDirection),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],pt.defaults.waveVelocity),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],pt.defaults.specularIntensity),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],pt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],pt.defaults.flowSpeed),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],pt.defaults.waterColor),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],pt.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new ee("ESGeoWater","ESGeoWater",[new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],pt.defaults.waterTypes),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],pt.defaults.waterImage),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],pt.defaults.waterColor),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],pt.defaults.frequency),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],pt.defaults.waveVelocity),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],pt.defaults.amplitude),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],pt.defaults.specularIntensity),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],pt.defaults.flowDirection),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],pt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],pt.defaults.flowSpeed)])]}};D(pt,"type",pt.register("ESGeoWater",pt,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"})),D(pt,"defaults",{...ze.defaults,waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:{},murkiness:5});let eu=pt;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),allowPicking:!0,waterImage:M.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})})(eu||(eu={})),M.extendClassProps(eu.prototype,eu.createDefaultProps);const Fu=class Fu extends le{get typeName(){return"ESLevelRuntimeModel"}get defaultProps(){return Fu.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new de("levelName","levelName",!1,!1,[this,"levelName"],""),new q("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"],1e3),new Kt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"],[0,0,0])],dataSource:[...e.dataSource,new se("url","url",!1,!1,[this,"url"],"")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new se("url","url",!1,!1,[this,"url"]),new de("levelName","levelName",!1,!1,[this,"levelName"]),new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new q("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"]),new Kt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"])])]}};D(Fu,"type",Fu.register("ESLevelRuntimeModel",Fu,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"})),D(Fu,"defaults",{...le.defaults,url:""});let tu=Fu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:M.reactArray([0,0,0]),levelLoadDistance:1e3})})(tu||(tu={})),M.extendClassProps(tu.prototype,tu.createDefaultProps);const Sr=class Sr extends gn{constructor(t){super(t);D(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);D(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.filled=!0,this.stroked=!1,this.fillColor=[1,0,.73,1]}get typeName(){return"ESPipeline"}get defaultProps(){return Sr.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new q("半径","radius(米)",!1,!1,[this,"radius"],Sr.defaults.radius),new q("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Sr.defaults.sides),new q("材质速度","speed",!1,!1,[this,"speed"],Sr.defaults.speed),new ce("材质模式","materialMode",!1,!1,[this,"materialMode"],Sr.defaults.materialModes),new se("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Sr.defaults.materialImage)],style:[new ee("点样式","点样式集合",[]),new $("开启","开启点样式",!1,!1,[this,"pointed"],!1),new q("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new pe("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启线样式","开启线样式",!1,!1,[this,"stroked"],!0),new q("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new pe("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new $("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new ee("面样式","面样式集合",[]),new $("开启","开启填充样式",!1,!1,[this,"filled"],!1),new pe("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new q("半径","radius(米)",!1,!1,[this,"radius"],Sr.defaults.radius),new q("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Sr.defaults.sides),new se("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Sr.defaults.materialImage),new q("材质速度","speed",!1,!1,[this,"speed"],Sr.defaults.speed),new ce("材质模式","materialMode",!1,!1,[this,"materialMode"],Sr.defaults.materialModes)])]}};D(Sr,"type",Sr.register("ESPipeline",Sr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),D(Sr,"defaults",{...gn.defaults,radius:10,sides:10,materialImage:{url:"",uDis:50,vDis:10},speed:1,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let ru=Sr;(r=>{r.createDefaultProps=()=>({...gn.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:M.reactJson(r.defaults.materialImage),speed:1})})(ru||(ru={})),M.extendClassProps(ru.prototype,ru.createDefaultProps);const bn=class bn extends Ae{constructor(t){super(t);D(this,"editingBindMode","visibility")}get typeName(){return"ESVisibilityAnalysis"}get defaultProps(){return bn.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pe("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],bn.defaults.visibleColor),new pe("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],bn.defaults.invisibleColor),new q("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],bn.defaults.heightOffset)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new pe("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],bn.defaults.visibleColor),new pe("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],bn.defaults.invisibleColor),new q("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],bn.defaults.heightOffset)])]}};D(bn,"type",bn.register("ESVisibilityAnalysis",bn,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),D(bn,"supportEditingModes",[...Ae.supportEditingModes,xe.VisibilityAppend,xe.VisibilityModify]),D(bn,"defaults",{...Ae.defaults,visibleColor:[0,1,0,1],invisibleColor:[1,0,0,1],heightOffset:0});let nu=bn;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),visibleColor:M.reactArray([0,1,0,1]),invisibleColor:M.reactArray([1,0,0,1]),heightOffset:0})})(nu||(nu={})),M.extendClassProps(nu.prototype,nu.createDefaultProps);const ju=class ju extends ze{constructor(t){super(t);D(this,"_startEvent",this.dv(new M.Event));D(this,"_clearEvent",this.dv(new M.Event));this.filled=!1,this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESVolumeMeasurement"}get defaultProps(){return ju.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new q("基准面高程","基准面高程",!0,!1,[this,"planeHeight"]),new q("采样间距 m","采样间距 m",!1,!1,[this,"gridWidth"]),new q("挖方","挖方 m³",!1,!0,[this,"cutVolume"]),new q("填方","填方 m³",!1,!0,[this,"fillVolume"]),new q("挖填方","挖填方 m³",!1,!0,[this,"cutAndFillVolume"]),new q("计算进度","计算进度",!1,!0,[this,"progress"]),new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("清空分析结果","清空分析结果",[],()=>this.clear(),[]),new $("是否开启深度检测","A boolean Property specifying the visibility.",!1,!1,[this,"depthTest"])])]}};D(ju,"type",ju.register("ESVolumeMeasurement",ju,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"})),D(ju,"defaults",{...ze.defaults});let iu=ju;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),planeHeight:M.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1})})(iu||(iu={})),M.extendClassProps(iu.prototype,iu.createDefaultProps);const Bl=class Bl extends ss{constructor(t){super(t);D(this,"_human",this.dv(new ss(`${this.id}_ESHuman`)));D(this,"_poi",this.dv(new os(`${this.id}_ESPoi2D`)));D(this,"combinationClass",!0);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(M.track([n,"show"],[this,"show"])),this.d(M.track([i,"show"],[this,"show"])),this.d(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([i,"allowPicking"],[this,"allowPicking"])),this.d(M.bind([n,"scale"],[this,"scale"])),this.d(M.bind([i,"scale"],[this,"scale"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.track([i,"collision"],[this,"collision"])),this.d(M.bind([n,"flyInParam"],[this,"flyInParam"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.track([n,"animation"],[this,"animation"])),this.d(M.track([n,"mode"],[this,"mode"])),this.d(M.track([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(M.track([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(M.track([i,"name"],[this,"name"])),this.d(M.track([i,"mode"],[this,"poiMode"])),this.d(M.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(M.track([i,"screenRender"],[this,"screenRender"])),this.d(M.track([i,"size"],[this,"size"])),this.d(M.track([i,"anchor"],[this,"anchor"])),this.d(M.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(M.track([i,"renderMode"],[this,"renderMode"])),this.d(M.track([i,"rotationType"],[this,"rotationType"])),this.d(M.track([i,"zOrder"],[this,"zOrder"])),this.d(M.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(M.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(M.bind([n,"position"],[this,"position"])),this.d(M.bind([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(o=>{n.flyIn(o)})),this.d(this.flyToEvent.don(o=>{n.flyTo(o)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((o,s)=>{n.smoothMove(o,s)})),this.d(this.smoothMoveWithRotationEvent.don((o,s,a)=>{n.smoothMoveWithRotation(o,s,a)})),this.d(this.smoothMoveOnGroundEvent.don((o,s,a,c)=>{n.smoothMoveOnGround(o,s,a,c)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((o,s,a,c,f)=>{n.smoothMoveWithRotationOnGround(o,s,a,c,f)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()}))}}get typeName(){return"ESHumanPoi"}get defaultProps(){return Bl.createDefaultProps()}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("poi模式","poiMode",!1,!1,[this,"poiMode"],os.defaults.modes,"SquareH01"),new q("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}}getProperties(t){return[...super.getProperties(t),new ce("poi模式","poiMode",!1,!1,[this,"poiMode"],os.defaults.modes),new q("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}};D(Bl,"type",Bl.register("ESHumanPoi",Bl,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let su=Bl;(r=>{r.createDefaultProps=()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:M.reactJson({}),autoAnchor:!0,screenRender:!0,size:M.reactArray([100,100]),anchor:M.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...ss.createDefaultProps()})})(su||(su={})),M.extendClassProps(su.prototype,su.createDefaultProps);const Cr=class Cr extends ze{get typeName(){return"ESPit"}get defaultProps(){return Cr.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new q("深度","坑深度(米)",!1,!1,[this,"depth"],Cr.defaults.depth),new q("插值","插值距离(米)",!1,!1,[this,"interpolation"],Cr.defaults.interpolation),new q("透明度","透明度",!1,!1,[this,"opacity"],Cr.defaults.opacity),new se("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Cr.defaults.sideImage),new se("底面图片","底面图片",!1,!1,[this,"bottomImage"],Cr.defaults.bottomImage)],style:[new ee("点样式","点样式集合",[]),new $("开启","开启点样式",!1,!1,[this,"pointed"],!1),new q("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new pe("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启","开启线样式",!1,!1,[this,"stroked"],!0),new q("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new pe("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new $("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new ee("面样式","面样式集合",[]),new $("开启","开启填充样式",!1,!1,[this,"filled"],!0),new pe("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new q("深度","坑深度(米)",!1,!1,[this,"depth"],Cr.defaults.depth),new q("插值","插值距离(米)",!1,!1,[this,"interpolation"],Cr.defaults.interpolation),new se("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Cr.defaults.sideImage),new se("底面图片","底面图片",!1,!1,[this,"bottomImage"],Cr.defaults.bottomImage),new q("opacity","透明度",!1,!1,[this,"opacity"],Cr.defaults.opacity)])]}};D(Cr,"type",Cr.register("ESPit",Cr,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"})),D(Cr,"defaults",{...ze.defaults,depth:100,sideImage:{url:we.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50},bottomImage:{url:we.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50},opacity:1,interpolation:50});let us=Cr;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),depth:100,sideImage:M.reactJson(r.defaults.sideImage),bottomImage:M.reactJson(r.defaults.bottomImage),opacity:1,interpolation:50})})(us||(us={})),M.extendClassProps(us.prototype,us.createDefaultProps);const zl=class zl extends us{constructor(t){super(t);D(this,"_excavate",this.dv(new Ls(`${this.id}_ESExcavate`)));D(this,"_pit",this.dv(new us(`${this.id}_ESPit`)));D(this,"combinationClass",!0);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(M.track([n,"show"],[this,"show"])),this.d(M.track([i,"show"],[this,"show"])),this.d(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([i,"allowPicking"],[this,"allowPicking"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.track([i,"collision"],[this,"collision"])),this.d(M.bind([i,"points"],[this,"points"])),this.d(M.track([n,"points"],[this,"points"])),this.d(M.track([i,"pointed"],[this,"pointed"])),this.d(M.track([n,"pointed"],[this,"pointed"])),this.d(M.track([i,"pointStyle"],[this,"pointStyle"])),this.d(M.track([n,"pointStyle"],[this,"pointStyle"])),this.d(M.track([i,"stroked"],[this,"stroked"])),this.d(M.track([n,"stroked"],[this,"stroked"])),this.d(M.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(M.track([n,"strokeStyle"],[this,"strokeStyle"])),this.d(M.track([i,"filled"],[this,"filled"])),this.d(M.track([i,"fillStyle"],[this,"fillStyle"])),this.d(M.track([n,"fillStyle"],[this,"fillStyle"])),this.d(M.track([n,"mode"],[this,"mode"])),this.d(M.track([n,"targetID"],[this,"targetID"])),this.d(M.track([i,"depth"],[this,"depth"])),this.d(M.track([i,"sideImage"],[this,"sideImage"])),this.d(M.track([i,"bottomImage"],[this,"bottomImage"])),this.d(M.track([i,"opacity"],[this,"opacity"])),this.d(M.track([i,"interpolation"],[this,"interpolation"])),this.d(M.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(M.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(o=>{i.flyIn(o)})),this.d(this.flyToEvent.don(o=>{i.flyTo(o)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get typeName(){return"ESHole"}get defaultProps(){return zl.createDefaultProps()}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("模式","mode",!1,!1,[this,"mode"],Ls.defaults.modes,"in"),new de("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}};D(zl,"type",zl.register("ESHole",zl,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let ou=zl;(r=>{r.createDefaultProps=()=>({mode:"in",targetID:"",...us.createDefaultProps()})})(ou||(ou={})),M.extendClassProps(ou.prototype,ou.createDefaultProps);const Gd={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},nC=async(r,e)=>{try{const t=window.localStorage.getItem("Authorization"),n={headers:{...t?{Authorization:t}:{}},mode:"cors"},o=await(await fetch(r+`${Gd.layerconfigfind}?tileServiceName=${e}`,n)).text();return JSON.parse(o)}catch(t){console.error(t)}},iC=async(r,e,t)=>{try{const n=window.localStorage.getItem("Authorization"),i=t??{},o={method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:n}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(i)})},a=await(await fetch(r+Gd.layerconfigsave,o)).text();return JSON.parse(a)}catch(n){console.error(n)}},sC=async r=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(r,t)).text(),o=JSON.parse(i);if(o.status=="ok")return o.data.port;console.error(o.status);return}catch(e){console.error(e)}},oC=async(r,e,t)=>{try{const n={tileServiceName:e,featureId:t},i=window.localStorage.getItem("Authorization"),s=await(await fetch(r+Gd.featureproperty,{method:"post",headers:{"Content-Type":"application/json",...i?{Authorization:i}:{}},body:JSON.stringify(n),mode:"cors"})).text(),a=JSON.parse(s);if(a.status=="ok")return a.data;console.error(a.data.status);return}catch(n){console.error(n)}},ku=class ku extends Yt{constructor(t){super(t);D(this,"_es3DTileset",this.dv(new Yt(`${this.id}_ES3DTileset`)));D(this,"_ids",this.dv(M.reactJson([])));D(this,"combinationClass",!0);D(this,"_highlightInner3DtilesetEvent",this.dv(new M.Event));D(this,"_removeHighlightInner3DtilesetEvent",this.dv(new M.Event));D(this,"_tilesetServePort",this.dv(M.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(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.track([n,"actorTag"],[this,"actorTag"])),this.d(M.track([n,"materialMode"],[this,"materialMode"])),this.d(M.track([n,"highlight"],[this,"highlight"])),this.d(M.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(M.track([n,"highlightID"],[this,"highlightID"])),this.d(M.track([n,"highlightColor"],[this,"highlightColor"])),this.d(M.bind([n,"offset"],[this,"offset"])),this.d(M.bind([n,"rotation"],[this,"rotation"])),this.d(M.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(M.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(M.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(M.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(M.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(M.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(M.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(M.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(M.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(M.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(M.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(M.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(M.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(M.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(M.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(M.track([n,"materialParams"],[this,"materialParams"])),this.d(M.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(M.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(M.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(M.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(M.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(M.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(M.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 typeName(){return"ESRtsTileset"}get defaultProps(){return ku.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}async getFeatureProperty(t){return await oC(this.baseUrl,this.tileServiceName,t)}async getLayerConfig(){const t=await nC(this.baseUrl,this.tileServiceName);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await iC(this.baseUrl,this.tileServiceName,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,n){var a,c,f;const i=await t.pick(n),o=i.sceneObject;return!o||o.id!==this.id&&o.typeName!="ESRtsFeatureEditing"?void 0:o.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(c=i==null?void 0:i.tilesetPickInfo)==null?void 0:c.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(f=i==null?void 0:i.sceneObject)==null?void 0:f.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await sC(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const o=this.tileServiceIp,s=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${o}:${s}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[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")}getProperties(t){return[...super.getProperties(t),new ee("ESRtsTileset","ESRtsTileset",[new se("图层配置","图层配置(layerConfig)",!0,!1,[this,"layerConfig"],[])])]}};D(ku,"type",ku.register("ESRtsTileset",ku,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),D(ku,"defaults",{...Yt.defaults,layerConfig:[]});let au=ku;(r=>{r.createDefaultProps=()=>({layerConfig:M.reactJsonWithUndefined(void 0),...Yt.createDefaultProps()})})(au||(au={})),M.extendClassProps(au.prototype,au.createDefaultProps);function aC(r){return typeof r=="number"&&!isNaN(r)}const Gu=class Gu extends Yt{constructor(t){super(t);D(this,"combinationClass",!0)}get typeName(){return"ESRtsFeatureEditing"}get defaultProps(){return Gu.createDefaultProps()}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,n){this.featureId=n;const i=await t.getFeatureProperty(n);this.uiShowprops=i.allFields.map(a=>({featureClassName:a.featureClassName,fields:a.fields.map(c=>({key:c.name,type:c.type,value:c.type!="Double"?c.value:aC(c.value)?Number(c.value.toFixed(3)):""}))})),this.datasetName=i.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const o=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${o}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(a=>{a.assign({sceneObject:t}),t.pickedEvent.emit(a)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}getProperties(t){return[...super.getProperties(t)]}};D(Gu,"type",Gu.register("ESRtsFeatureEditing",Gu,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),D(Gu,"defaults",{...Yt.defaults,layerConfig:{}});let uu=Gu;(r=>{r.createDefaultProps=()=>({...Yt.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:M.reactJson({}),changeMaterial:M.reactJsonWithUndefined(void 0),uiShowprops:M.reactJson({}),props:M.reactJson({})})})(uu||(uu={})),M.extendClassProps(uu.prototype,uu.createDefaultProps);const uC=async r=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(r,t)).text(),o=JSON.parse(i);if(o.status=="ok")return o.data.port;console.error(o.status);return}catch(e){console.error(e)}},Vu=class Vu extends Yt{constructor(t){super(t);D(this,"_es3DTileset",this.dv(new Yt(`${this.id}_ES3DTileset`)));D(this,"combinationClass",!0);D(this,"_tilesetServePort",this.dv(M.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(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.track([n,"actorTag"],[this,"actorTag"])),this.d(M.track([n,"materialMode"],[this,"materialMode"])),this.d(M.track([n,"highlight"],[this,"highlight"])),this.d(M.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(M.track([n,"highlightID"],[this,"highlightID"])),this.d(M.track([n,"highlightColor"],[this,"highlightColor"])),this.d(M.bind([n,"offset"],[this,"offset"])),this.d(M.bind([n,"rotation"],[this,"rotation"])),this.d(M.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(M.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(M.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(M.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(M.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(M.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(M.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(M.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(M.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(M.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(M.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(M.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(M.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(M.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(M.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(M.track([n,"materialParams"],[this,"materialParams"])),this.d(M.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(M.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(M.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(M.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(M.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(M.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(M.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 typeName(){return"ESMsTileset"}get defaultProps(){return Vu.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await uC(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const o=this.tileServiceIp,s=await this.getport();this._es3DTileset.url=`${o}:${s}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[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")}getProperties(t){return[...super.getProperties(t)]}};D(Vu,"type",Vu.register("ESMsTileset",Vu,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),D(Vu,"defaults",{...Yt.defaults,layerConfig:{}});let lu=Vu;(r=>{r.createDefaultProps=()=>({...Yt.createDefaultProps()})})(lu||(lu={})),M.extendClassProps(lu.prototype,lu.createDefaultProps);const Uy={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:`
|
|
636
|
+
`;function zy(r){try{return JSON.parse(r),!0}catch{return!1}}const rC="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",ye=class ye extends Xe{constructor(t){super(t);D(this,"_flyToFeatureEvent",this.dv(new M.Event));D(this,"_flyToFeatureIndexEvent",this.dv(new M.Event));D(this,"_features",this.disposeVar(M.reactJsonWithUndefined(void 0)));D(this,"pickedInfoType","FeatureCollection");this.ad(this.urlChanged.don(async()=>{var n;if(!this.url){this.features=void 0;return}do{if(typeof this.url=="object"){this.features=this.url;break}if(zy(this.url)){this.features=JSON.parse(this.url);break}await fetch(we.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)})}while(!1);this.pickedInfoType=((n=this.features)==null?void 0:n.type)??"FeatureCollection"})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get typeName(){return"ESGeoJson"}get defaultProps(){return ye.createDefaultProps()}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,n,i){this._flyToFeatureEvent.emit(t,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,n){this._flyToFeatureIndexEvent.emit(t,n)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}getESProperties(){return{defaultMenu:"style",basic:[],general:[new de("名称","name",!0,!1,[this,"name"]),new de("唯一标识","id",!1,!0,[this,"id"]),new $("是否显示","show",!1,!1,[this,"show"],!0),new $("开启碰撞","collision",!1,!1,[this,"collision"],!1),new $("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1),new Se("保存观察视角","保存当前视角",[],()=>this.calcFlyInParam(),[])],dataSource:[new se("服务地址","服务地址",!0,!1,[this,"url"],ye.defaults.url),new q("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],ye.defaults.minFeatureVisibleDistance),new q("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],ye.defaults.maxFeatureVisibleDistance),new ce("高度参考","高度参考",!1,!1,[this,"heightReference"],ye.defaults.heightReferences)],location:[],coordinate:[],style:[new ee("点文字样式","点样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"textShow"],ye.defaults.textShow),new lt("锚点","锚点",!1,!1,[this,"textAnchor"],ye.defaults.textAnchor),new de("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],ye.defaults.textProperty),new de("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],ye.defaults.textDefaultText),new pe("文本颜色","文本颜色",!1,!1,[this,"textColor"],ye.defaults.textColor),new pe("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],ye.defaults.textBackgroundColor),new de("字体样式","字体样式",!1,!1,[this,"textFontStyle"],ye.defaults.textFontStyle),new de("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],ye.defaults.textFontWeight),new q("字体大小","字体大小",!1,!1,[this,"textFontSize"],ye.defaults.textFontSize),new lt("像素偏移","像素偏移",!1,!1,[this,"textOffset"],ye.defaults.textOffset),new ee("点图片样式","图片样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"imageShow"],ye.defaults.imageShow),new lt("锚点","锚点",!1,!1,[this,"imageAnchor"],ye.defaults.imageAnchor),new se("图片地址","图片地址",!1,!1,[this,"imageUrl"],ye.defaults.imageUrl),new lt("图片大小","图片大小",!1,!1,[this,"imageSize"],ye.defaults.imageSize),new lt("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],ye.defaults.imageOffset),new ee("线样式","线样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"stroked"],ye.defaults.stroked),new $("贴地","贴地(线)",!1,!1,[this,"strokeGround"],ye.defaults.strokeGround),new q("线宽","线宽",!1,!1,[this,"strokeWidth"],ye.defaults.strokeWidth),new ce("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],ye.defaults.strokeWidthTypes),new pe("线颜色","线颜色",!1,!1,[this,"strokeColor"],ye.defaults.strokeColor),new de("线材质","线材质",!1,!1,[this,"strokeMaterial"],ye.defaults.strokeMaterial),new se("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],ye.defaults.strokeMaterialParams),new ee("面样式","面样式集合",[]),new $("是否显示","是否显示",!1,!1,[this,"filled"],ye.defaults.filled),new $("贴地","贴地(面)",!1,!1,[this,"fillGround"],ye.defaults.fillGround),new pe("填充颜色","填充颜色",!1,!1,[this,"fillColor"],ye.defaults.fillColor),new de("填充材质","填充材质",!1,!1,[this,"fillMaterial"],ye.defaults.fillMaterial),new se("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],ye.defaults.fillMaterialParams)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new $("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],ye.defaults.show),new $("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"],ye.defaults.allowPicking),new Se("飞入","飞入",["number"],n=>this.flyTo(n),[1]),new Se("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new Se("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[]),new se("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],ye.defaults.flyInParam)]),new ee("标注文本样式","标注文本样式",[new $("是否显示","是否显示",!1,!1,[this,"textShow"],ye.defaults.textShow),new de("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],ye.defaults.textProperty),new de("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],ye.defaults.textDefaultText),new pe("文本颜色","文本颜色",!1,!1,[this,"textColor"],ye.defaults.textColor),new pe("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],ye.defaults.textBackgroundColor),new de("字体","字体",!1,!1,[this,"textFontFamily"],ye.defaults.textFontFamily),new de("字体样式","字体样式",!1,!1,[this,"textFontStyle"],ye.defaults.textFontStyle),new de("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],ye.defaults.textFontWeight),new q("字体大小","字体大小",!1,!1,[this,"textFontSize"],ye.defaults.textFontSize),new lt("锚点","锚点",!1,!1,[this,"textAnchor"],ye.defaults.textAnchor),new lt("像素偏移","像素偏移",!1,!1,[this,"textOffset"],ye.defaults.textOffset)]),new ee("标注图标样式","标注图标样式",[new $("是否显示","是否显示",!1,!1,[this,"imageShow"],ye.defaults.imageShow),new se("图片地址","图片地址",!1,!1,[this,"imageUrl"],ye.defaults.imageUrl),new lt("图片大小","图片大小",!1,!1,[this,"imageSize"],ye.defaults.imageSize),new lt("锚点","锚点",!1,!1,[this,"imageAnchor"],ye.defaults.imageAnchor),new lt("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],ye.defaults.imageOffset)]),new ee("线样式","线样式",[new $("是否显示","是否显示",!1,!1,[this,"stroked"],ye.defaults.stroked),new q("线宽","线宽",!1,!1,[this,"strokeWidth"],ye.defaults.strokeWidth),new ce("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],ye.defaults.strokeWidthTypes),new pe("线颜色","线颜色",!1,!1,[this,"strokeColor"],ye.defaults.strokeColor),new de("线材质","线材质",!1,!1,[this,"strokeMaterial"],ye.defaults.strokeMaterial),new se("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],ye.defaults.strokeMaterialParams),new $("贴地(线)","贴地(线)",!1,!1,[this,"strokeGround"],ye.defaults.strokeGround)]),new ee("填充样式","填充样式",[new $("是否显示","是否显示",!1,!1,[this,"filled"],ye.defaults.filled),new pe("填充颜色","填充颜色",!1,!1,[this,"fillColor"],ye.defaults.fillColor),new de("填充材质","填充材质",!1,!1,[this,"fillMaterial"],ye.defaults.fillMaterial),new se("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],ye.defaults.fillMaterialParams),new $("贴地(面)","贴地(面)",!1,!1,[this,"fillGround"],ye.defaults.fillGround)]),new ee("通用","通用",[new se("服务地址","服务地址",!0,!1,[this,"url"],ye.defaults.url),new Gi("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],ye.defaults.defaultLoadFuncStr,ye.defaults.defaultLoadFuncDocStr),new q("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],ye.defaults.minFeatureVisibleDistance),new q("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],ye.defaults.maxFeatureVisibleDistance),new ce("高度参考","高度参考",!1,!1,[this,"heightReference"],ye.defaults.heightReferences)])]}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};D(ye,"type",ye.register("ESGeoJson",ye,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),D(ye,"defaults",{...Xe.defaults,show:!0,allowPicking:!0,url:rC,defaultLoadFuncStr:By,defaultLoadFuncDocStr:tC,data:ZS,dataMd:eC,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/img/location.png",imageSize:[32,32],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:void 0,textFontFamily:"Arial",textFontStyle:"normal",textFontSize:16,textFontWeight:"normal",textAnchor:[0,1],textOffset:[-16,8],strokeWidthTypes:[["screen","screen"],["world","world"]],flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1},minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let Ba=ye;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:void 0,stroked:!0,strokeStyle:M.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:M.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:M.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:M.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,flyInParam:M.reactJsonWithUndefined(void 0),heightReference:"NONE"})})(Ba||(Ba={})),M.extendClassProps(Ba.prototype,Ba.createDefaultProps);const Ro=class Ro extends Ae{constructor(t){super(t);D(this,"editingBindMode","doublePoints");this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESHeightMeasurement"}get defaultProps(){return Ro.createDefaultProps()}getProperties(t){return[...super.getProperties(t)]}};D(Ro,"type",Ro.register("ESHeightMeasurement",Ro,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),D(Ro,"supportEditingModes",[...Ae.supportEditingModes,xe.DoublePointsAppend,xe.DoublePointsModify]),D(Ro,"defaults",{...Ae.defaults});let za=Ro;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps()})})(za||(za={})),M.extendClassProps(za.prototype,za.createDefaultProps);const Du=class Du extends Kr{constructor(t){super(t);D(this,"_area",this.dv(M.react(0)));D(this,"_perimeter",this.dv(M.react(0)));D(this,"editingBindMode","doublePoints");this.radius=1,this.filled=!0,this.stroked=!1,this.collision=!1,this.strokeColor=[1,1,1,1],this.fillColor=[1,1,1,.5];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 typeName(){return"ESLocalCircle"}get defaultProps(){return{...Du.createDefaultProps()}}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(t=10,n){return pv([...this.position],this.radius,t,n)[0].map(o=>[...o,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new q("圆半径","圆半径",!0,!1,[this,"radius"],1)],general:[...t.general],dataSource:[...t.dataSource],location:[],coordinate:[new $("是否编辑","是否编辑",!1,!1,[this,"editing"]),new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"]),new ci("三维坐标","三维坐标",!0,!1,[this,"position"],[0,0,0])],style:[...t.style]}}getProperties(t){return[...super.getProperties(t),new ee("ESLocalCircle","ESLocalCircle",[new q("圆半径","圆半径",!1,!1,[this,"radius"]),new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"])])]}};D(Du,"type",Du.register("ESLocalCircle",Du,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"})),D(Du,"defaults",{...Kr.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{}}});let Ua=Du;(r=>{r.createDefaultProps=()=>({...Kr.createDefaultProps(),radius:1})})(Ua||(Ua={})),M.extendClassProps(Ua.prototype,Ua.createDefaultProps);const Au=class Au extends Kr{get typeName(){return"ESLocalPolygon"}get defaultProps(){return{...Au.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new rp("坐标","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"],[])]}}getProperties(e){return[...super.getProperties(e),new ee("ESLocalPolygon","ESLocalPolygon",[new se("位置偏移数组","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"])])]}};D(Au,"type",Au.register("ESLocalPolygon",Au,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"})),D(Au,"defaults",{...Kr.defaults,points:[],filled:!0});let as=Au;(r=>{r.createDefaultProps=()=>({...Kr.createDefaultProps(),points:pf(void 0)})})(as||(as={})),M.extendClassProps(as.prototype,as.createDefaultProps);const Vl=class Vl extends Ni{get typeName(){return"ESLocalPolygonZ"}get defaultProps(){return{...Vl.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ff("本地位置数组","本地位置数组",!0,!1,[this,"points"])])]}};D(Vl,"type",Vl.register("ESLocalPolygonZ",Vl,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let Wa=Vl;(r=>{r.createDefaultProps=()=>({...Ni.createDefaultProps(),points:M.reactPositions(void 0)})})(Wa||(Wa={})),M.extendClassProps(Wa.prototype,Wa.createDefaultProps);const Ru=class Ru extends Kr{get typeName(){return"ESLocalRectangle"}get defaultProps(){return{...Ru.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new ee("ESLocalRectangle","ESLocalRectangle",[new q("宽度","宽度",!1,!1,[this,"width"]),new q("高度","高度",!1,!1,[this,"height"])])]}};D(Ru,"type",Ru.register("ESLocalRectangle",Ru,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"})),D(Ru,"defaults",{...Kr.defaults,width:5e5,height:3e5});let qa=Ru;(r=>{r.createDefaultProps=()=>({...Kr.createDefaultProps(),width:5e5,height:3e5})})(qa||(qa={})),M.extendClassProps(qa.prototype,qa.createDefaultProps);const ps=class ps extends Ae{constructor(t){super(t);D(this,"editingBindMode","lineString");D(this,"_distance",this.dv(M.react(0)));D(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);D(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.fillColor=[1,0,.73,1];const n=()=>{if(this.points&&this.points.length>=2){const i=jl(this.points,"GEODESIC"),o=i[i.length-1];this._distance.value=o}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get typeName(){return"ESPipeFence"}get defaultProps(){return ps.createDefaultProps()}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new q("高度","height",!1,!1,[this,"height"],10),new q("宽度","width",!1,!1,[this,"width"],10),new ce("模式","materialMode",!1,!1,[this,"materialMode"],ps.defaults.materialModes,"purple")],coordinate:[...t.coordinate,new q("长度","距离",!1,!0,[this,"distance"])]}}getProperties(t){return[...super.getProperties(t),new ee("ESPipeFence","ESPipeFence",[new q("高度","height",!1,!1,[this,"height"]),new q("宽度","width",!1,!1,[this,"width"]),new ce("materialMode","materialMode",!1,!1,[this,"materialMode"],ps.defaults.materialModes)])]}};D(ps,"type",ps.register("ESPipeFence",ps,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),D(ps,"supportEditingModes",[...Ae.supportEditingModes,xe.LineStringAppend,xe.LineStringInsert]),D(ps,"defaults",{...Ae.defaults,strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{}},fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,stroked:!0,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let Ha=ps;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0})})(Ha||(Ha={})),M.extendClassProps(Ha.prototype,Ha.createDefaultProps);const Lo=class Lo extends Yt{constructor(t){super(t);D(this,"_setLayerVisibleEvent",this.dv(new M.Event));D(this,"_setLayerColorEvent",this.dv(new M.Event))}get typeName(){return"ESPipeserTileset"}get defaultProps(){return Lo.createDefaultProps()}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,n){this._setLayerVisibleEvent.emit(t,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,n){this._setLayerColorEvent.emit(t,n)}getProperties(t){return[...super.getProperties(t),new ee("ESPipeserTileset","ESPipeserTileset",[new Se("setLayerVisible","setLayerVisible",["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""]),new Se("setLayerColor","setLayerColor",["string","string"],(n,i)=>this.setLayerColor(n,i),["",""]),new ce("colorMode","colorMode",!0,!1,[this,"colorMode"],Lo.description.colorMode,"default")])]}};D(Lo,"type",Lo.register("ESPipeserTileset",Lo,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),D(Lo,"description",{colorMode:[["default","default"],["color","color"],["blend","blend"]]});let Xa=Lo;(r=>{r.createDefaultProps=()=>({colorMode:"default",...Yt.createDefaultProps()})})(Xa||(Xa={})),M.extendClassProps(Xa.prototype,Xa.createDefaultProps);const gs=class gs extends Ae{constructor(t){super(t);D(this,"editingBindMode","circular");this.filled=!0,this.collision=!1}get typeName(){return"ESPolygonFence"}get defaultProps(){return gs.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"])],basic:[...t.basic,new q("高度","height",!1,!1,[this,"height"],10),new ce("模式","materialMode",!1,!1,[this,"materialMode"],gs.defaults.materialModes,"danger")]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new q("高度","height",!1,!1,[this,"height"]),new ce("materialMode","materialMode",!1,!1,[this,"materialMode"],gs.defaults.materialModes)]),new ee("计算","计算",[new q("面积","面积",!1,!0,[this,"area"]),new q("周长","周长",!1,!0,[this,"perimeter"])])]}};D(gs,"type",gs.register("ESPolygonFence",gs,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),D(gs,"supportEditingModes",[...Ae.supportEditingModes,xe.CircularAppend,xe.CircularInsert,xe.HeightModify]),D(gs,"defaults",{...Ae.defaults,fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,materialModes:[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]});let Ya=gs;(r=>{r.createDefaultProps=()=>({height:10,materialMode:"danger",...Ae.createDefaultProps()})})(Ya||(Ya={})),M.extendClassProps(Ya.prototype,Ya.createDefaultProps);const Ws=class Ws extends Ae{constructor(t){super(t);D(this,"_deprecated",["ground"]);D(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());D(this,"editingBindMode","doublePoints")}get typeName(){return"ESRectangle"}get defaultProps(){return Ws.createDefaultProps()}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new $("是否贴地","A boolean Property specifying the visibility.",!1,!1,[this,"ground"]),new $("轮廓线半透明","轮廓线半透明.",!1,!1,[this,"outlineTranslucent"]),new q("高度","高度",!1,!1,[this,"height"]),new q("拉伸高度","拉伸高度",!1,!1,[this,"extrudedHeight"]),new kr("范围","西南东北",!0,!1,[this,"rectangle"],Ws.defaults.rectangle),new q("纹理旋转角度","纹理旋转角度.",!1,!1,[this,"stRotation"]),new q("旋转角度","rotation",!1,!1,[this,"rotation"]),new $("是否单点编辑","是否单点编辑.",!1,!1,[this,"pointEditing"])])]}};D(Ws,"type",Ws.register("ESRectangle",Ws,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),D(Ws,"supportEditingModes",[...Ae.supportEditingModes,xe.DoublePointsAppend,xe.DoublePointsModify]),D(Ws,"defaults",{...Ae.defaults,ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:void 0,stRotation:0,rotation:0,pointEditing:!1,allowPicking:!1});let Ja=Ws;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:M.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})})(Ja||(Ja={})),M.extendClassProps(Ja.prototype,Ja.createDefaultProps);const Lu=class Lu extends ze{get typeName(){return"ESPolygonWithHole"}get defaultProps(){return Lu.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new se("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new se("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])])]}};D(Lu,"type",Lu.register("ESPolygonWithHole",Lu,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"})),D(Lu,"defaults",{...ze.defaults,innerRings:[]});let Ka=Lu;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),innerRings:M.reactPositionsSet(void 0)})})(Ka||(Ka={})),M.extendClassProps(Ka.prototype,Ka.createDefaultProps);const qs=class qs extends ze{constructor(t){super(t);D(this,"_startEvent",this.disposeVar(new M.Event));this.fillStyle.ground=!0}get typeName(){return"ESSurfaceAreaMeasurement"}get defaultProps(){return qs.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}getProperties(t){return[...super.getProperties(t),new ee("ESSurfaceAreaMeasurement","表面积测量",[new Se("开始计算","开始计算",[],()=>this.start(),[]),new q("插值距离","插值距离,单位米,为0时不插值",!1,!1,[this,"interpolation"],qs.defaults.interpolation),new q("偏移高度","三角面整体偏移高度,单位米",!1,!1,[this,"offsetHeight"],qs.defaults.offsetHeight)])]}};D(qs,"type",qs.register("ESSurfaceAreaMeasurement",qs,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"})),D(qs,"defaults",{...ze.defaults,interpolation:.5,offsetHeight:0});let Qa=qs;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),interpolation:void 0,offsetHeight:void 0})})(Qa||(Qa={})),M.extendClassProps(Qa.prototype,Qa.createDefaultProps);const Hs=class Hs extends le{get typeName(){return"ESDatasmithRuntimeModel"}get defaultProps(){return Hs.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new se("importOptions","导入参数",!0,!1,[this,"importOptions"],Hs.defaults.importOptions)],dataSource:[...e.dataSource,new se("路径","url",!1,!1,[this,"url"])]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new se("url","url",!1,!1,[this,"url"]),new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new se("importOptions","导入参数",!0,!1,[this,"importOptions"],Hs.defaults.importOptions)])]}};D(Hs,"type",Hs.register("ESDatasmithRuntimeModel",Hs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"})),D(Hs,"defaults",{...le.defaults,url:"",importOptions:{buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}});let $a=Hs;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",importOptions:M.reactJsonWithUndefined(void 0),downloadProgress:0})})($a||($a={})),M.extendClassProps($a.prototype,$a.createDefaultProps);const dt=class dt extends as{get typeName(){return"ESDynamicWater"}get defaultProps(){return{...dt.createDefaultProps()}}constructor(e){super(e),this.stroked=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ce("水域类型","当为 custom 时其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],dt.defaults.waterTypes,dt.defaults.waterType),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],dt.defaults.frequency),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],dt.defaults.amplitude),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],1,[0,360],dt.defaults.flowDirection),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],dt.defaults.waveVelocity),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],dt.defaults.specularIntensity),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围 0 - 10。",!1,!1,[this,"murkiness"],.1,[0,10],dt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],dt.defaults.flowSpeed),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],dt.defaults.waterColor),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],dt.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new ce("水域类型","当为 custom 时其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],dt.defaults.waterTypes),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],dt.defaults.waterImage),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],dt.defaults.waterColor),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],dt.defaults.frequency),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],dt.defaults.waveVelocity),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],dt.defaults.amplitude),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],dt.defaults.specularIntensity),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],1,[0,360],dt.defaults.flowDirection),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围 0 - 10。",!1,!1,[this,"murkiness"],.1,[0,10],dt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],dt.defaults.flowSpeed)]}};D(dt,"type",dt.register("ESDynamicWater",dt,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"})),D(dt,"defaults",{...as.defaults,waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:void 0,murkiness:5});let Za=dt;(r=>{r.createDefaultProps=()=>({...as.createDefaultProps(),allowPicking:!0,waterImage:M.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})})(Za||(Za={})),M.extendClassProps(Za.prototype,Za.createDefaultProps);const pt=class pt extends ze{get typeName(){return"ESGeoWater"}get defaultProps(){return pt.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],pt.defaults.waterTypes,pt.defaults.waterType),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],pt.defaults.frequency),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],pt.defaults.amplitude),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],1,[0,360],pt.defaults.flowDirection),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],pt.defaults.waveVelocity),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],pt.defaults.specularIntensity),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.1,[0,10],pt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],pt.defaults.flowSpeed),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],pt.defaults.waterColor),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],pt.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new ee("ESGeoWater","ESGeoWater",[new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],pt.defaults.waterTypes),new se("水的图片","waterImage",!1,!1,[this,"waterImage"],pt.defaults.waterImage),new pe("水的底色","waterColor",!1,!1,[this,"waterColor"],pt.defaults.waterColor),new q("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],pt.defaults.frequency),new et("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],pt.defaults.waveVelocity),new et("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],pt.defaults.amplitude),new et("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],pt.defaults.specularIntensity),new et("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],1,[0,360],pt.defaults.flowDirection),new et("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.1,[0,10],pt.defaults.murkiness),new q("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],pt.defaults.flowSpeed)])]}};D(pt,"type",pt.register("ESGeoWater",pt,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"})),D(pt,"defaults",{...ze.defaults,waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:{},murkiness:5});let eu=pt;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),allowPicking:!0,waterImage:M.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})})(eu||(eu={})),M.extendClassProps(eu.prototype,eu.createDefaultProps);const Fu=class Fu extends le{get typeName(){return"ESLevelRuntimeModel"}get defaultProps(){return Fu.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new de("levelName","levelName",!1,!1,[this,"levelName"],""),new q("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"],1e3),new Kt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"],[0,0,0])],dataSource:[...e.dataSource,new se("url","url",!1,!1,[this,"url"],"")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new se("url","url",!1,!1,[this,"url"]),new de("levelName","levelName",!1,!1,[this,"levelName"]),new q("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new q("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"]),new Kt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"])])]}};D(Fu,"type",Fu.register("ESLevelRuntimeModel",Fu,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"})),D(Fu,"defaults",{...le.defaults,url:""});let tu=Fu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:M.reactArray([0,0,0]),levelLoadDistance:1e3})})(tu||(tu={})),M.extendClassProps(tu.prototype,tu.createDefaultProps);const Sr=class Sr extends gn{constructor(t){super(t);D(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);D(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.filled=!0,this.stroked=!1,this.fillColor=[1,0,.73,1]}get typeName(){return"ESPipeline"}get defaultProps(){return Sr.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new q("半径","radius(米)",!1,!1,[this,"radius"],Sr.defaults.radius),new q("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Sr.defaults.sides),new q("材质速度","speed",!1,!1,[this,"speed"],Sr.defaults.speed),new ce("材质模式","materialMode",!1,!1,[this,"materialMode"],Sr.defaults.materialModes),new se("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Sr.defaults.materialImage)],style:[new ee("点样式","点样式集合",[]),new $("开启","开启点样式",!1,!1,[this,"pointed"],!1),new q("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new pe("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启线样式","开启线样式",!1,!1,[this,"stroked"],!0),new q("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new pe("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new $("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new ee("面样式","面样式集合",[]),new $("开启","开启填充样式",!1,!1,[this,"filled"],!1),new pe("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new q("半径","radius(米)",!1,!1,[this,"radius"],Sr.defaults.radius),new q("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Sr.defaults.sides),new se("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Sr.defaults.materialImage),new q("材质速度","speed",!1,!1,[this,"speed"],Sr.defaults.speed),new ce("材质模式","materialMode",!1,!1,[this,"materialMode"],Sr.defaults.materialModes)])]}};D(Sr,"type",Sr.register("ESPipeline",Sr,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),D(Sr,"defaults",{...gn.defaults,radius:10,sides:10,materialImage:{url:"",uDis:50,vDis:10},speed:1,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let ru=Sr;(r=>{r.createDefaultProps=()=>({...gn.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:M.reactJson(r.defaults.materialImage),speed:1})})(ru||(ru={})),M.extendClassProps(ru.prototype,ru.createDefaultProps);const bn=class bn extends Ae{constructor(t){super(t);D(this,"editingBindMode","visibility")}get typeName(){return"ESVisibilityAnalysis"}get defaultProps(){return bn.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new pe("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],bn.defaults.visibleColor),new pe("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],bn.defaults.invisibleColor),new q("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],bn.defaults.heightOffset)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new pe("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],bn.defaults.visibleColor),new pe("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],bn.defaults.invisibleColor),new q("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],bn.defaults.heightOffset)])]}};D(bn,"type",bn.register("ESVisibilityAnalysis",bn,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),D(bn,"supportEditingModes",[...Ae.supportEditingModes,xe.VisibilityAppend,xe.VisibilityModify]),D(bn,"defaults",{...Ae.defaults,visibleColor:[0,1,0,1],invisibleColor:[1,0,0,1],heightOffset:0});let nu=bn;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),visibleColor:M.reactArray([0,1,0,1]),invisibleColor:M.reactArray([1,0,0,1]),heightOffset:0})})(nu||(nu={})),M.extendClassProps(nu.prototype,nu.createDefaultProps);const ju=class ju extends ze{constructor(t){super(t);D(this,"_startEvent",this.dv(new M.Event));D(this,"_clearEvent",this.dv(new M.Event));this.filled=!1,this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESVolumeMeasurement"}get defaultProps(){return ju.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new q("基准面高程","基准面高程",!0,!1,[this,"planeHeight"]),new q("采样间距 m","采样间距 m",!1,!1,[this,"gridWidth"]),new q("挖方","挖方 m³",!1,!0,[this,"cutVolume"]),new q("填方","填方 m³",!1,!0,[this,"fillVolume"]),new q("挖填方","挖填方 m³",!1,!0,[this,"cutAndFillVolume"]),new q("计算进度","计算进度",!1,!0,[this,"progress"]),new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("清空分析结果","清空分析结果",[],()=>this.clear(),[]),new $("是否开启深度检测","A boolean Property specifying the visibility.",!1,!1,[this,"depthTest"])])]}};D(ju,"type",ju.register("ESVolumeMeasurement",ju,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"})),D(ju,"defaults",{...ze.defaults});let iu=ju;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),planeHeight:M.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1})})(iu||(iu={})),M.extendClassProps(iu.prototype,iu.createDefaultProps);const Bl=class Bl extends ss{constructor(t){super(t);D(this,"_human",this.dv(new ss(`${this.id}_ESHuman`)));D(this,"_poi",this.dv(new os(`${this.id}_ESPoi2D`)));D(this,"combinationClass",!0);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(M.track([n,"show"],[this,"show"])),this.d(M.track([i,"show"],[this,"show"])),this.d(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([i,"allowPicking"],[this,"allowPicking"])),this.d(M.bind([n,"scale"],[this,"scale"])),this.d(M.bind([i,"scale"],[this,"scale"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.track([i,"collision"],[this,"collision"])),this.d(M.bind([n,"flyInParam"],[this,"flyInParam"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.track([n,"animation"],[this,"animation"])),this.d(M.track([n,"mode"],[this,"mode"])),this.d(M.track([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(M.track([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(M.track([i,"name"],[this,"name"])),this.d(M.track([i,"mode"],[this,"poiMode"])),this.d(M.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(M.track([i,"screenRender"],[this,"screenRender"])),this.d(M.track([i,"size"],[this,"size"])),this.d(M.track([i,"anchor"],[this,"anchor"])),this.d(M.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(M.track([i,"renderMode"],[this,"renderMode"])),this.d(M.track([i,"rotationType"],[this,"rotationType"])),this.d(M.track([i,"zOrder"],[this,"zOrder"])),this.d(M.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(M.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(M.bind([n,"position"],[this,"position"])),this.d(M.bind([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(o=>{n.flyIn(o)})),this.d(this.flyToEvent.don(o=>{n.flyTo(o)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((o,s)=>{n.smoothMove(o,s)})),this.d(this.smoothMoveWithRotationEvent.don((o,s,a)=>{n.smoothMoveWithRotation(o,s,a)})),this.d(this.smoothMoveOnGroundEvent.don((o,s,a,c)=>{n.smoothMoveOnGround(o,s,a,c)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((o,s,a,c,f)=>{n.smoothMoveWithRotationOnGround(o,s,a,c,f)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()}))}}get typeName(){return"ESHumanPoi"}get defaultProps(){return Bl.createDefaultProps()}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("poi模式","poiMode",!1,!1,[this,"poiMode"],os.defaults.modes,"SquareH01"),new q("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}}getProperties(t){return[...super.getProperties(t),new ce("poi模式","poiMode",!1,!1,[this,"poiMode"],os.defaults.modes),new q("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}};D(Bl,"type",Bl.register("ESHumanPoi",Bl,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let su=Bl;(r=>{r.createDefaultProps=()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:M.reactJson({}),autoAnchor:!0,screenRender:!0,size:M.reactArray([100,100]),anchor:M.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...ss.createDefaultProps()})})(su||(su={})),M.extendClassProps(su.prototype,su.createDefaultProps);const Cr=class Cr extends ze{get typeName(){return"ESPit"}get defaultProps(){return Cr.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new q("深度","坑深度(米)",!1,!1,[this,"depth"],Cr.defaults.depth),new q("插值","插值距离(米)",!1,!1,[this,"interpolation"],Cr.defaults.interpolation),new q("透明度","透明度",!1,!1,[this,"opacity"],Cr.defaults.opacity),new se("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Cr.defaults.sideImage),new se("底面图片","底面图片",!1,!1,[this,"bottomImage"],Cr.defaults.bottomImage)],style:[new ee("点样式","点样式集合",[]),new $("开启","开启点样式",!1,!1,[this,"pointed"],!1),new q("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new pe("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启","开启线样式",!1,!1,[this,"stroked"],!0),new q("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new pe("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new $("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new ee("面样式","面样式集合",[]),new $("开启","开启填充样式",!1,!1,[this,"filled"],!0),new pe("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new q("深度","坑深度(米)",!1,!1,[this,"depth"],Cr.defaults.depth),new q("插值","插值距离(米)",!1,!1,[this,"interpolation"],Cr.defaults.interpolation),new se("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Cr.defaults.sideImage),new se("底面图片","底面图片",!1,!1,[this,"bottomImage"],Cr.defaults.bottomImage),new q("opacity","透明度",!1,!1,[this,"opacity"],Cr.defaults.opacity)])]}};D(Cr,"type",Cr.register("ESPit",Cr,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"})),D(Cr,"defaults",{...ze.defaults,depth:100,sideImage:{url:we.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50},bottomImage:{url:we.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50},opacity:1,interpolation:50});let us=Cr;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),depth:100,sideImage:M.reactJson(r.defaults.sideImage),bottomImage:M.reactJson(r.defaults.bottomImage),opacity:1,interpolation:50})})(us||(us={})),M.extendClassProps(us.prototype,us.createDefaultProps);const zl=class zl extends us{constructor(t){super(t);D(this,"_excavate",this.dv(new Ls(`${this.id}_ESExcavate`)));D(this,"_pit",this.dv(new us(`${this.id}_ESPit`)));D(this,"combinationClass",!0);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(M.track([n,"show"],[this,"show"])),this.d(M.track([i,"show"],[this,"show"])),this.d(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([i,"allowPicking"],[this,"allowPicking"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.track([i,"collision"],[this,"collision"])),this.d(M.bind([i,"points"],[this,"points"])),this.d(M.track([n,"points"],[this,"points"])),this.d(M.track([i,"pointed"],[this,"pointed"])),this.d(M.track([n,"pointed"],[this,"pointed"])),this.d(M.track([i,"pointStyle"],[this,"pointStyle"])),this.d(M.track([n,"pointStyle"],[this,"pointStyle"])),this.d(M.track([i,"stroked"],[this,"stroked"])),this.d(M.track([n,"stroked"],[this,"stroked"])),this.d(M.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(M.track([n,"strokeStyle"],[this,"strokeStyle"])),this.d(M.track([i,"filled"],[this,"filled"])),this.d(M.track([i,"fillStyle"],[this,"fillStyle"])),this.d(M.track([n,"fillStyle"],[this,"fillStyle"])),this.d(M.track([n,"mode"],[this,"mode"])),this.d(M.track([n,"targetID"],[this,"targetID"])),this.d(M.track([i,"depth"],[this,"depth"])),this.d(M.track([i,"sideImage"],[this,"sideImage"])),this.d(M.track([i,"bottomImage"],[this,"bottomImage"])),this.d(M.track([i,"opacity"],[this,"opacity"])),this.d(M.track([i,"interpolation"],[this,"interpolation"])),this.d(M.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(M.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(o=>{i.flyIn(o)})),this.d(this.flyToEvent.don(o=>{i.flyTo(o)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get typeName(){return"ESHole"}get defaultProps(){return zl.createDefaultProps()}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("模式","mode",!1,!1,[this,"mode"],Ls.defaults.modes,"in"),new de("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}};D(zl,"type",zl.register("ESHole",zl,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let ou=zl;(r=>{r.createDefaultProps=()=>({mode:"in",targetID:"",...us.createDefaultProps()})})(ou||(ou={})),M.extendClassProps(ou.prototype,ou.createDefaultProps);const Gd={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},nC=async(r,e)=>{try{const t=window.localStorage.getItem("Authorization"),n={headers:{...t?{Authorization:t}:{}},mode:"cors"},o=await(await fetch(r+`${Gd.layerconfigfind}?tileServiceName=${e}`,n)).text();return JSON.parse(o)}catch(t){console.error(t)}},iC=async(r,e,t)=>{try{const n=window.localStorage.getItem("Authorization"),i=t??{},o={method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:n}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(i)})},a=await(await fetch(r+Gd.layerconfigsave,o)).text();return JSON.parse(a)}catch(n){console.error(n)}},sC=async r=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(r,t)).text(),o=JSON.parse(i);if(o.status=="ok")return o.data.port;console.error(o.status);return}catch(e){console.error(e)}},oC=async(r,e,t)=>{try{const n={tileServiceName:e,featureId:t},i=window.localStorage.getItem("Authorization"),s=await(await fetch(r+Gd.featureproperty,{method:"post",headers:{"Content-Type":"application/json",...i?{Authorization:i}:{}},body:JSON.stringify(n),mode:"cors"})).text(),a=JSON.parse(s);if(a.status=="ok")return a.data;console.error(a.data.status);return}catch(n){console.error(n)}},ku=class ku extends Yt{constructor(t){super(t);D(this,"_es3DTileset",this.dv(new Yt(`${this.id}_ES3DTileset`)));D(this,"_ids",this.dv(M.reactJson([])));D(this,"combinationClass",!0);D(this,"_highlightInner3DtilesetEvent",this.dv(new M.Event));D(this,"_removeHighlightInner3DtilesetEvent",this.dv(new M.Event));D(this,"_tilesetServePort",this.dv(M.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(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.track([n,"actorTag"],[this,"actorTag"])),this.d(M.track([n,"materialMode"],[this,"materialMode"])),this.d(M.track([n,"highlight"],[this,"highlight"])),this.d(M.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(M.track([n,"highlightID"],[this,"highlightID"])),this.d(M.track([n,"highlightColor"],[this,"highlightColor"])),this.d(M.bind([n,"offset"],[this,"offset"])),this.d(M.bind([n,"rotation"],[this,"rotation"])),this.d(M.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(M.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(M.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(M.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(M.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(M.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(M.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(M.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(M.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(M.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(M.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(M.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(M.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(M.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(M.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(M.track([n,"materialParams"],[this,"materialParams"])),this.d(M.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(M.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(M.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(M.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(M.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(M.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(M.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 typeName(){return"ESRtsTileset"}get defaultProps(){return ku.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}async getFeatureProperty(t){return await oC(this.baseUrl,this.tileServiceName,t)}async getLayerConfig(){const t=await nC(this.baseUrl,this.tileServiceName);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await iC(this.baseUrl,this.tileServiceName,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,n){var a,c,f;const i=await t.pick(n),o=i.sceneObject;return!o||o.id!==this.id&&o.typeName!="ESRtsFeatureEditing"?void 0:o.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(c=i==null?void 0:i.tilesetPickInfo)==null?void 0:c.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(f=i==null?void 0:i.sceneObject)==null?void 0:f.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await sC(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const o=this.tileServiceIp,s=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${o}:${s}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[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")}getProperties(t){return[...super.getProperties(t),new ee("ESRtsTileset","ESRtsTileset",[new se("图层配置","图层配置(layerConfig)",!0,!1,[this,"layerConfig"],[])])]}};D(ku,"type",ku.register("ESRtsTileset",ku,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),D(ku,"defaults",{...Yt.defaults,layerConfig:[]});let au=ku;(r=>{r.createDefaultProps=()=>({layerConfig:M.reactJsonWithUndefined(void 0),...Yt.createDefaultProps()})})(au||(au={})),M.extendClassProps(au.prototype,au.createDefaultProps);function aC(r){return typeof r=="number"&&!isNaN(r)}const Gu=class Gu extends Yt{constructor(t){super(t);D(this,"combinationClass",!0)}get typeName(){return"ESRtsFeatureEditing"}get defaultProps(){return Gu.createDefaultProps()}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,n){this.featureId=n;const i=await t.getFeatureProperty(n);this.uiShowprops=i.allFields.map(a=>({featureClassName:a.featureClassName,fields:a.fields.map(c=>({key:c.name,type:c.type,value:c.type!="Double"?c.value:aC(c.value)?Number(c.value.toFixed(3)):""}))})),this.datasetName=i.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const o=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${o}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(a=>{a.assign({sceneObject:t}),t.pickedEvent.emit(a)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}getProperties(t){return[...super.getProperties(t)]}};D(Gu,"type",Gu.register("ESRtsFeatureEditing",Gu,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),D(Gu,"defaults",{...Yt.defaults,layerConfig:{}});let uu=Gu;(r=>{r.createDefaultProps=()=>({...Yt.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:M.reactJson({}),changeMaterial:M.reactJsonWithUndefined(void 0),uiShowprops:M.reactJson({}),props:M.reactJson({})})})(uu||(uu={})),M.extendClassProps(uu.prototype,uu.createDefaultProps);const uC=async r=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(r,t)).text(),o=JSON.parse(i);if(o.status=="ok")return o.data.port;console.error(o.status);return}catch(e){console.error(e)}},Vu=class Vu extends Yt{constructor(t){super(t);D(this,"_es3DTileset",this.dv(new Yt(`${this.id}_ES3DTileset`)));D(this,"combinationClass",!0);D(this,"_tilesetServePort",this.dv(M.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(M.track([n,"allowPicking"],[this,"allowPicking"])),this.d(M.track([n,"collision"],[this,"collision"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.bind([n,"flyToParam"],[this,"flyToParam"])),this.d(M.track([n,"actorTag"],[this,"actorTag"])),this.d(M.track([n,"materialMode"],[this,"materialMode"])),this.d(M.track([n,"highlight"],[this,"highlight"])),this.d(M.track([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(M.track([n,"highlightID"],[this,"highlightID"])),this.d(M.track([n,"highlightColor"],[this,"highlightColor"])),this.d(M.bind([n,"offset"],[this,"offset"])),this.d(M.bind([n,"rotation"],[this,"rotation"])),this.d(M.track([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(M.track([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(M.track([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(M.track([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(M.track([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(M.track([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(M.track([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(M.track([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(M.track([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(M.track([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(M.track([n,"cacheBytes"],[this,"cacheBytes"])),this.d(M.track([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(M.track([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(M.track([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(M.track([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(M.track([n,"materialParams"],[this,"materialParams"])),this.d(M.bind([n,"supportEdit"],[this,"supportEdit"])),this.d(M.bind([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(M.bind([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(M.bind([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(M.bind([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(M.bind([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(M.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 typeName(){return"ESMsTileset"}get defaultProps(){return Vu.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await uC(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const o=this.tileServiceIp,s=await this.getport();this._es3DTileset.url=`${o}:${s}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[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 t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[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")}getProperties(t){return[...super.getProperties(t)]}};D(Vu,"type",Vu.register("ESMsTileset",Vu,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),D(Vu,"defaults",{...Yt.defaults,layerConfig:{}});let lu=Vu;(r=>{r.createDefaultProps=()=>({...Yt.createDefaultProps()})})(lu||(lu={})),M.extendClassProps(lu.prototype,lu.createDefaultProps);const Uy={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:`
|
|
637
637
|
## 参数类型为 ESPoiType[]
|
|
638
638
|
\`\`\`js
|
|
639
639
|
type Vector2D = [number, number]
|
|
@@ -770,10 +770,10 @@ ${Yy}
|
|
|
770
770
|
`,Jy=Date.now();new Date(Jy).toISOString(),new Date(Jy+864e5).toISOString();const kt=class kt extends we{constructor(t){super(t);D(this,"_flyToEvent",this.disposeVar(new M.Event));D(this,"_resetClockEvent",this.disposeVar(new M.Event))}get typeName(){return"ESCzml"}get defaultProps(){return kt.createDefaultProps()}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new se("数据","数据",!0,!1,[this,"data"],kt.defaults.data,kt.defaults.dataMd),new se("路径","路径",!1,!1,[this,"uri"],""),new $("启用","启用",!1,!1,[this,"clockEnabled"],!1),new q("倍速","倍速.",!1,!1,[this,"multiplier"],kt.defaults.multiplier),new $("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"],!0),new Vi("开始时间","开始时间",!0,!1,[this,"startTime"],kt.defaults.startTime),new Vi("结束时间","结束时间",!0,!1,[this,"stopTime"],kt.defaults.stopTime),new Vi("当前时间","当前时间",!0,!1,[this,"currentTime"],kt.defaults.currentTime),new ce("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"SYSTEM_CLOCK_MULTIPLIER"),new ce("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"UNBOUNDED"),new $("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"],!1)],general:[...t.general,new de("唯一标识","id",!1,!0,[this,"id"]),new de("名称","name",!0,!1,[this,"name"]),new $("是否显示","show",!1,!1,[this,"show"],!0),new $("开启碰撞","collision",!1,!1,[this,"collision"],!1),new $("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new $("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new $("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"]),new Se("飞入","飞入",["number"],n=>this.flyTo(n),[1e3]),new se("数据","数据",!0,!1,[this,"data"],kt.defaults.data,kt.defaults.dataMd),new se("路径","路径",!1,!1,[this,"uri"]),new $("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"]),new Se("重设时钟","根据当前加载的数据重设始终",[],()=>this.resetClock(),[]),new Gi("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],kt.defaults.defaultLoadFuncStr,kt.defaults.defaultLoadFuncDocStr)]),new ee("时钟","时钟",[new $("启用","启用",!1,!1,[this,"clockEnabled"]),new Vi("开始时间","开始时间",!0,!1,[this,"startTime"],kt.defaults.startTime),new Vi("结束时间","结束时间",!0,!1,[this,"stopTime"],kt.defaults.stopTime),new Vi("当前时间","当前时间",!0,!1,[this,"currentTime"],kt.defaults.currentTime),new q("倍速","倍速.",!1,!1,[this,"multiplier"],kt.defaults.multiplier),new ce("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]]),new ce("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]]),new $("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"])])]}};D(kt,"type",kt.register("ESCzml",kt,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"})),D(kt,"defaults",{...we.defaults,show:!0,allowPicking:!0,data:gC,dataMd:vC,autoResetClock:!0,clockEnabled:!1,startTime:()=>Date.now(),stopTime:()=>Date.now()+864e5,currentTime:()=>Date.now(),multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",defaultLoadFuncStr:Yy,defaultLoadFuncDocStr:yC});let vu=kt;(r=>{r.createDefaultProps=()=>({show:!0,uri:"",allowPicking:!1,data:M.reactJsonWithUndefined(void 0),autoResetClock:!0,clockEnabled:!1,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...we.createDefaultProps()})})(vu||(vu={})),M.extendClassProps(vu.prototype,vu.createDefaultProps);const Wu=class Wu extends we{get typeName(){return"ESNavigator"}get defaultProps(){return Wu.createDefaultProps()}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new $("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new q("尺寸","尺寸",!1,!1,[this,"cssSize"]),new lt("位置","位置(top,right)",!1,!1,[this,"cssPosition"]),new ql("图片地址","图片地址",!1,!1,[this,"imgUrl"])])]}};D(Wu,"type",Wu.register("ESNavigator",Wu,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"})),D(Wu,"defaults",{...we.defaults,show:!0,cssPosition:[170,30],cssSize:100,imgUrl:we.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")});let yu=Wu;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:r.defaults.imgUrl})})(yu||(yu={})),M.extendClassProps(yu.prototype,yu.createDefaultProps);const Ri=class Ri extends we{get typeName(){return"ESViewerStatusBar"}get defaultProps(){return Ri.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new $("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Ri.defaults.show),new q("高度","height",!0,!1,[this,"height"],Ri.defaults.height),new q("文字大小","fontSize",!0,!1,[this,"fontSize"],Ri.defaults.fontSize),new pe("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Ri.defaults.bgColor)])]}};D(Ri,"type",Ri.register("ESViewerStatusBar",Ri,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),D(Ri,"defaults",{...we.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let mu=Ri;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:[.2784313725490196,.2784313725490196,.2784313725490196,.8]})})(mu||(mu={})),M.extendClassProps(mu.prototype,mu.createDefaultProps);const Li=class Li extends we{get typeName(){return"ESViewerStatusBarScale"}get defaultProps(){return Li.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new $("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Li.defaults.show),new q("高度","height",!0,!1,[this,"height"],Li.defaults.height),new q("文字大小","fontSize",!0,!1,[this,"fontSize"],Li.defaults.fontSize),new pe("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Li.defaults.bgColor)])]}};D(Li,"type",Li.register("ESViewerStatusBarScale",Li,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),D(Li,"defaults",{...we.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let _u=Li;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:[.2784313725490196,.2784313725490196,.2784313725490196,.8]})})(_u||(_u={})),M.extendClassProps(_u.prototype,_u.createDefaultProps);const qu=class qu extends le{get typeName(){return"ESGaussianSplatting"}get defaultProps(){return qu.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new de("路径","url",!0,!1,[this,"url"]),new q("进度","progress",!1,!0,[this,"progress"],0)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new de("路径","url",!0,!1,[this,"url"]),new q("进度","progress",!1,!0,[this,"progress"],0)])]}};D(qu,"type",qu.register("ESGaussianSplatting",qu,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"})),D(qu,"defaults",{...le.defaults});let bu=qu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",progress:0})})(bu||(bu={})),M.extendClassProps(bu.prototype,bu.createDefaultProps);const Js=class Js extends le{get typeName(){return"ESStaticMesh"}get defaultProps(){return Js.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()},t=[new de("mesh地址","mesh地址",!1,!1,[this,"mesh"],Js.defaults.mesh)];return e.basic.push(...t),e}getProperties(e){return[...super.getProperties(e),new ee("ESStaticMesh","ESStaticMesh",[new de("mesh地址","mesh地址",!1,!1,[this,"mesh"],Js.defaults.mesh)])]}};D(Js,"type",Js.register("ESStaticMesh",Js,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"})),D(Js,"defaults",{...le.defaults,mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"});let wu=Js;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mesh:""})})(wu||(wu={})),M.extendClassProps(wu.prototype,wu.createDefaultProps);const Hu=class Hu extends Ae{constructor(t){super(t);D(this,"_startEvent",this.dv(new M.Event));D(this,"_clearEvent",this.dv(new M.Event));D(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new Fs(`${this.id}_ESGeoExtrudedPolygon`)),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(M.track([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(M.track([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(M.track([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(M.track([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(M.track([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(M.track([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(M.track([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get typeName(){return"ESSkylineAnalysis"}get defaultProps(){return Hu.createDefaultProps()}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 t={...super.getESProperties()};return{...t,basic:[...t.basic,new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("清除分析","清除分析",[],()=>this.clear(),[]),new se("屏幕坐标","windowPositions",!1,!0,[this,"windowPositions"]),new se("深度值","depths",!1,!0,[this,"depths"]),new q("半径","半径",!0,!1,[this,"radius"],1e4)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("清除分析","清除分析",[],()=>this.clear(),[]),new se("屏幕坐标","windowPositions",!1,!0,[this,"windowPositions"]),new se("深度值","depths",!1,!0,[this,"depths"]),new q("半径","半径",!0,!1,[this,"radius"],1e4)])]}};D(Hu,"type",Hu.register("ESSkylineAnalysis",Hu,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"})),D(Hu,"defaults",{...Ae.defaults,windowPositions:[],depths:[],radius:1e4});let Eu=Hu;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),windowPositions:pf(void 0),depths:M.reactArrayWithUndefined(void 0),radius:M.react(void 0)})})(Eu||(Eu={})),M.extendClassProps(Eu.prototype,Eu.createDefaultProps);function Ky(r){return typeof r=="string"?document.getElementById(r):r}function Vd(r){if(!r)throw new Error("container is not defined");r.innerHTML="";const e=document.createElement("div");return e.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(e),e}class Qy extends M.Destroyable{constructor(t,n){super();D(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=n;const i=this._listeningSceneObjects,o=(s,a)=>{if(s)for(let c of s){const f=i.get(c);f&&(f.destroy(),i.delete(c))}if(a)for(let c of a){if(i.get(c)){console.warn(`listeningSceneObjects已存在某对象:${c.name}`,c);debugger}const m=this.createSceneObjectListeningFunc(c);m&&i.set(c,m)}};o(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(o)),this.dispose(()=>{for(let s of this._listeningSceneObjects.values())s.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class mC extends M.Destroyable{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class n extends M.Destroyable{constructor(o){super(),this._esPath=o,this.dv(new M.ObjResettingWithEvent(t.activeViewerChanged,()=>{const s=t.activeViewer;if(!s)return;class a extends M.Destroyable{constructor(f){if(super(),this._esPath=f,!s)throw new Error("!viewer");const m=()=>{const p=t.activeViewer;p&&(this._esPath.path.currentTime=p.simulationTime)};m(),this.d(s.simulationTimeChanged.don(m))}}return new a(this._esPath)}))}}this.dv(new Qy(t.sceneObjectsManager,i=>{if(i instanceof ks)return new n(i)}))}{const t=this._esObjectsManager;class n extends M.Destroyable{constructor(o){super();const s=()=>{const a=t.activeViewer;a&&(a.simulationTime=o.currentTime??0)};s(),this.d(o.currentTimeChanged.don(s))}}this.dv(new Qy(t.sceneObjectsManager,i=>{if(i instanceof js)return new n(i)}))}}}class _C extends M.Destroyable{constructor(e){super(),e.forEach(t=>{this.d(t.path.currentPositionChanged.don(n=>{n&&t.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...n])})})),this.d(t.path.currentRotationChanged.don(n=>{n&&t.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...n])})}))})}}class bC extends M.Destroyable{constructor(t){super();D(this,"_player");D(this,"_channels",this.dv(M.reactArray([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new M.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const n=[];for(let i=0;i<this.channels.length;i++){const o=this.channels[i],s=we.getSceneObjById(o.pathId);if(!s||!(s instanceof ks))continue;const c=o.sceneObjectIds.map(f=>we.getSceneObjById(f)).filter(f=>f!==void 0);c.length!==0&&n.push({path:s,sceneObjects:c})}if(n.length!==0)return new _C(n)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(t){this._channels.value=t}}function Zh(r){if(r.data){const{type:e,value:t}=r.data;if(e==="UITreeA"&&t instanceof jr){const{sceneObject:n}=t;if(n)return n.id}}}function wC(r,e){const{property:t,customEventName:n,otherParams:i}=e,{dragstartDataMananger:o}=r;if(!(t instanceof ci)){if(!(t instanceof sp)){if(t instanceof de){const[s,a]=M.getReactFuncs(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const c=i[0];if(c.preventDefault(),!c.dataTransfer)return;Zh(o)?c.dataTransfer.dropEffect="move":c.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const f=Zh(o);f!==void 0&&a(f)}}else if(t instanceof ep){const[s,a]=M.getReactFuncs(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const c=i[0];if(c.preventDefault(),!c.dataTransfer)return;Zh(o)?c.dataTransfer.dropEffect="move":c.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");const c=i[0].$event,f=i[0].strinsPropDom,m=i[0].index;c.preventDefault();const p=Zh(o);if(p!==void 0){f[m].firstChild.value=p;const g=new Event("input",{bubbles:!0,cancelable:!0});f[m].firstChild.dispatchEvent(g)}}}else if(t instanceof tp){const[s,a]=M.getReactFuncs(t.reactVar)}}}}function $y(r,e,t,n){if(t)n.currentActiveEditing=[r,e];else if(n.currentActiveEditing){const[i,o]=n.currentActiveEditing;i===r&&o===e&&(t||(n.currentActiveEditing=void 0))}}const EC=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class PC extends M.Destroyable{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of EC){const o=i+"Changed",s=n[o];if(s){{const a=n[i];$y(n,i,a,t)}this.dispose(s.disposableOn(a=>$y(n,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class SC extends M.Destroyable{constructor(){super();D(this,"_currentActiveEditing",this.disposeVar(M.reactArrayWithUndefined(void 0)));D(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,n)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),n){const[i,o]=n;i[o]===!0&&(i[o]=!1)}if(t){const[i,o]=t;i[o]=!0}})),we.context.sceneObjCreatedEvent.don(t=>{t.dv(new PC(t,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(t){this._currentActiveEditing.value=t}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class CC extends M.Destroyable{constructor(){super();D(this,"_sceneObjects",new Set);D(this,"_sceneObjectsToChange",this.dv(new M.Event));this.d(()=>{const t=M.length(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){if(this._sceneObjects.has(t))return console.warn(`创建失败:对象${t.typeName+":"+t.id}已经存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t);while(!1);return!0}deleteSceneObject(t){if(!this._sceneObjects.has(t))return console.warn(`删除失败:对象${t.typeName+":"+t.id}不存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t);while(!1);return!0}createSceneObject(t,n){const i=we.context.createSceneObject(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,n){const i=we.context.createSceneObjectFromClass(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const n=we.context.createSceneObjectFromJson(t);return n&&this.addSceneObject(n),n}}function Zy(r,e){return r.length===e.length&&r.every((t,n)=>t===e[n])}class xC extends M.Destroyable{constructor(e){super(),this._viewer=e,this.d(M.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class OC extends M.Destroyable{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const n=Di.createCommonProps(),i=[];Object.keys(n).forEach(c=>{const f=this._activeViewer[c+"Changed"];i.push(f)});const o=this.dv(M.createNextAnimateFrameEvent(...i)),s=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(n).forEach(c=>{this._viewer[c]=this._activeViewer[c]})};this.d(o.don(s));const a=this.dv(M.createAnimateFrame());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const c=this._activeViewer.getCurrentCameraInfo(),f=this._viewer.getCurrentCameraInfo();if(!c)return;const{position:m,rotation:p}=c;f&&Zy(m,f.position)&&Zy(p,f.rotation)||this._viewer.flyIn(m,p,0)}),this.d(()=>a.cancel())}}const MC=`<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">
|
|
771
771
|
<animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
|
|
772
772
|
</circle><g></g></g></svg>
|
|
773
|
-
`,IC='<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>',TC='<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>',Xu=class Xu extends M.Destroyable{constructor(e){super();const t=()=>{const n=this.dv(new xo);this.d(M.track([n,"show"],[e,"useDefaultStatusDiv"]));{const i=()=>{n.show=(e.useDefaultStatusDiv??!0)&&e.status!=="Created"};i(),this.d(e.useDefaultStatusDivChanged.don(i)),this.d(e.statusChanged.don(i)),n.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}e.add(n),this.d(()=>e.delete(n)),n.instanceClass=class extends M.Destroyable{constructor(s,a,c){super();D(this,"_div",document.createElement("div"));if(this._subContainer=s,!c)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const _=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};_(),this.d(a.showChanged.don(_))}let f,m,p,g,w;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",f=document.createElement("div"),this._div.appendChild(f),f.style.width="auto",f.style.position="absolute",f.style.left="50%",f.style.top="50%",f.style.transform="translate(-50%,-50%)",f.style.background="rgba(120, 120, 0, 0.7)",f.style.color="white",f.style.fontSize="10px",f.style.background="none",f.style.display="flex",f.style.justifyContent="center",f.style.alignItems="center",m=document.createElement("div"),f.appendChild(m),m.style.pointerEvents="none",m.style.display="block",m.style.width="40px",m.innerHTML=Xu.defaultsSvg.loadingSvg,m.style.filter="drop-shadow(0px 0px 1px black)",p=document.createElement("div"),f.appendChild(p),p.style.pointerEvents="none",p.style.marginLeft="10px",p.style.display="flex",p.style.flexFlow="column",p.style.maxWidth="300px",g=document.createElement("div"),p.appendChild(g),g.style.fontSize="14px",g.style.fontWeight="800",g.style.marginBottom="5px",g.style.textShadow="0 0 2px black",w=document.createElement("div"),p.appendChild(w),w.style.fontWeight="400",w.style.textShadow="0 0 2px black";{const _=()=>{let h="Raw";c.status==="Raw"?h="初始状态":c.status==="Creating"?h="正在创建":c.status==="Created"?h="创建完成":c.status==="Error"?h="创建失败":c.status==="Reconnecting"&&(h="重新连接"),g.innerText=`${h}(${c.status})`,w.innerText=`${c.statusLog}`,(c.status==="Creating"||c.status==="Reconnecting")&&(m.innerHTML=Xu.defaultsSvg.loadingSvg),c.status==="Created"&&(m.innerHTML=Xu.defaultsSvg.successSvg),c.status==="Error"&&(m.innerHTML=Xu.defaultsSvg.warnSvg)};_();const y=this.dv(M.createNextAnimateFrameEvent(c.statusLogChanged,c.statusChanged));this.d(y.don(_))}}update(){const s=255*Math.random()|0,a=255*Math.random()|0,c=255*Math.random()|0;this._div.style.background=`rgba(${s}, ${a}, ${c}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};D(Xu,"defaultsSvg",{loadingSvg:MC,successSvg:IC,warnSvg:TC});let Bd=Xu;class NC extends M.Destroyable{constructor(e,t,n){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=n;const i=this._subContainer,o=this._overlayContainer,s=this._viewer,a=()=>{const m=s.zIndex??"";i.style.zIndex=m,o.style.zIndex=m};a(),this.d(s.zIndexChanged.don(a));const c=()=>{i.style.display=s.show??!0?"block":"none"};c(),this.d(s.showChanged.don(c));const f=()=>{i.style.opacity=`${s.opacity??1}`};f(),this.d(s.opacityChanged.don(f))}}function ef(r){let e=M.getExtProp(r,"_relativeContainer");return e||(e=document.createElement("div"),e.style.position="relative",e.style.width="100%",e.style.height="100%",e.style.padding="0",e.style.margin="0",r.appendChild(e),M.setExtProp(r,"_relativeContainer",e)),e}class DC extends M.Destroyable{constructor(t,n){super();D(this,"_subContainer",document.createElement("div"));D(this,"_overlayContainer",document.createElement("div"));D(this,"_containerStyleController");this._container=t,this._viewer=n,this._containerStyleController=this.dv(new NC(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:o}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),o.style.position="relative",o.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),ef(this._container).appendChild(i),this.d(()=>ef(this._container).removeChild(i)),ef(this._container).appendChild(o),this.d(()=>ef(this._container).removeChild(o))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class AC extends M.Destroyable{constructor(){super(...arguments);D(this,"registerObjsMap",new Map)}register(t,n){return this.registerObjsMap.has(t)&&console.warn(`register warn:${t}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(t,n),t}getViewerConstructor(t){const n=this.registerObjsMap.get(t);if(!n){console.warn(`未找到${t}类!`);return}return n}createViewer(t){const n=t.type,i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(t)}}class e0 extends M.Destroyable{constructor(e,t,n=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const o=this.dv(M.DomElementEvent.create(t,"pointerdown")),s=this.dv(M.DomElementEvent.create(t,"pointermove")),a=this.dv(M.DomElementEvent.create(t,"pointerup")),c=this.dv(M.DomElementEvent.create(t,"pointerout")),f=this.dv(M.DomElementEvent.create(t,"pointerover")),m=this.dv(new M.PointerClick),p=this.dv(new M.PointerHover),g=()=>{const v=this._viewer.hoverTime*1e3;p.delayTime=v};this.d(this._viewer.hoverTimeChanged.don(()=>{g()})),this.d(o.don(v=>m.pointerDown(v))),this.d(s.don(v=>m.pointerMove(v))),this.d(a.don(v=>m.pointerUp(v))),this.d(c.don(v=>m.pointerOut(v))),this.d(o.don(v=>p.pointerDown(v))),this.d(s.don(v=>p.pointerMove(v))),this.d(a.don(v=>p.pointerUp(v))),this.d(c.don(v=>p.pointerOut(v)));const{x:w,y:_}=t.getBoundingClientRect(),y=i?w:0,h=i?_:0;this.d(p.hoverEvent.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.hoverEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(m.clickEvent.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.clickEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(m.dbclickEvent.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);v.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(o.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);v.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(a.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);v.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(s.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.pointerMoveEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(f.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.pointerOverEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(c.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.pointerOutEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})}));const d=this.dv(M.DomElementEvent.create(t,"keydown"));this.d(d.don(v=>this._viewer.keyDownEvent.emit(v)));const u=this.dv(M.DomElementEvent.create(t,"keyup"));this.d(u.don(v=>this._viewer.keyUpEvent.emit(v)));const l=this.dv(M.DomElementEvent.create(t,"wheel"));this.d(l.don(v=>this._viewer.wheelEvent.emit(v)))}}const vs=class vs extends M.Destroyable{constructor(t){super();D(this,"_forceRecreateEvent",this.dv(new M.Event));D(this,"_container",this.dv(M.react(void 0)));D(this,"_containerSize",this.dv(M.react(void 0)));D(this,"_editingEvent",this.disposeVar(new M.Event));D(this,"_status",this.dv(M.react("Raw")));D(this,"_statusLog",this.dv(M.react("")));D(this,"_statusContainer",this.dv(new Bd(this)));D(this,"_useCustomInteraction",this.dv(M.react(!0)));D(this,"_resetInteractionEvent",this.dv(M.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));D(this,"_interactionResetting",this.dv(new M.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new e0(this,this.container)})));D(this,"_viewerChanged",this.dv(new M.Event));D(this,"_containerResetEvent",this.dv(M.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));D(this,"_containerResetting",this.dv(new M.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new DC(this.container,this)})));D(this,"_sceneObjectsMap",new Map);D(this,"_id");D(this,"_typeName");D(this,"_updateFuncReact",this.dv(M.react(void 0)));D(this,"_toDestroyFuncReact",this.dv(M.react(void 0)));D(this,"_statusInfo",vs.defaults.statusInfo);D(this,"_navigationMode",this.dv(M.react("Map")));D(this,"_syncViewer",this.dv(M.react(void 0)));D(this,"_syncEventDon",this.dv(new M.ObjResettingWithEvent(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new OC(this,t)})));D(this,"_timeSyncdon",this.dv(new M.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new xC(this)})));D(this,"_hoverEvent",this.dv(new M.Event));D(this,"_pointerOverEvent",this.dv(new M.Event));D(this,"_pointerMoveEvent",this.dv(new M.Event));D(this,"_pointerDownEvent",this.dv(new M.Event));D(this,"_pointerUpEvent",this.dv(new M.Event));D(this,"_pointerOutEvent",this.dv(new M.Event));D(this,"_clickEvent",this.dv(new M.Event));D(this,"_dblclickEvent",this.dv(new M.Event));D(this,"_keyDownEvent",this.dv(new M.Event));D(this,"_keyUpEvent",this.dv(new M.Event));D(this,"_wheelEvent",this.dv(new M.Event));D(this,"_actived",this.dv(M.react(!1)));this._id=t.id??M.createGuid();const n=Ky(t.container);if(n)this._container.value=Vd(n),this._typeName=t.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,o=()=>{for(let[a,c]of i.entries())if(!c&&a){const f=Go.context.createEngineObject(a,this);f&&i.set(a,f)}},s=()=>{for(let[a,c]of i.entries())c&&!c.isDestroyed()&&c.destroy(),i.set(a,void 0)};this.d(s),this.d(this.viewerChanged.don(a=>{s(),a&&o()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(o){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let o;this.d(()=>o&&o.destroy()),this.d(this.updateFuncChanged.don(()=>{o&&o.cancel(),this.updateFunc&&(o=o||M.createAnimateFrame(),o.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(o){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(t){this._container.value=t}set containerOrId(t){if(typeof t=="string"){const n=document.getElementById(t);n&&n instanceof HTMLDivElement?this._container.value=Vd(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=Vd(t):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(t){this._containerSize.value=t}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(t){this._status.value=t}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(t){this._statusLog.value=t}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(t){this._useCustomInteraction.value=t}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(t){return this.sceneObjectsMap.get(t)}add(...t){for(let n of t)if(!this.has(n)){const i=Go.context.createEngineObject(n,this);i&&this._sceneObjectsMap.set(n,i),n.viewerAttached.emit(this)}}delete(...t){for(let n of t)if(this.has(n)){const i=this._sceneObjectsMap.get(n);i&&i.destroy(),this._sceneObjectsMap.delete(n),n.viewerDetached.emit(this)}}disposableAdd(...t){return this.add(...t),()=>this.delete(...t)}disAdd(...t){return this.disposableAdd(...t)}has(t){return this._sceneObjectsMap.has(t)}clearAllSceneObjects(){for(let t of this.sceneObjects)this.delete(t)}get id(){return this._id}set id(t){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return vs.createDefaultProps()}_getJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let o,s=this.defaultProps[i];s instanceof M.ReactiveVariable?o=s.equals(this[i]):o=s===this[i],o||(n[i]=this[i])}else n[i]=this[i];return n}_setJson(t,n,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const o=n||[];o.push("id","type");const s=Object.keys(this.defaultProps).filter(a=>!o.includes(a));for(let a of s)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let c=this.defaultProps[a];c instanceof M.ReactiveVariable&&(c=c.value),this[a]=c}}get json(){return this._getJson()}set json(t){this._setJson(t,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}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(t){this._syncViewer.value=t}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(t){t&&t.syncViewer&&(t.syncViewer=void 0),t===this?this._syncViewer.value=void 0:this._syncViewer.value=t}setCurrentTime(t){try{this.currentTime=typeof t=="string"?Date.parse(t):t}catch(n){console.warn(`时间格式不正确! value: ${t} 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}getProperties(t){return[new ee("ESViewer","ESViewer",[new Se("强制刷新","重载",[],()=>this.forceRecreate(),[]),new $("debug","debug",!0,!1,[this,"debug"],vs.defaults.debug),new $("是否可见","是否可见",!0,!1,[this,"show"]),new ce("位置点单位","lonLatFormat",!0,!1,[this,"lonLatFormat"],[["度","DECIMAL_DEGREE"],["度分","DEGREES_DECIMAL_MINUTES"],["度分秒","SEXAGESIMAL_DEGREE"]]),new $("是否开启文字避让","textAvoidance",!0,!1,[this,"textAvoidance"],!1),new de("ionAccessToken","ionAccessToken",!1,!1,[this,"ionAccessToken"]),new q("时钟","时钟",!1,!1,[this,"currentTime"]),new $("globeShow","globeShow",!0,!1,[this,"globeShow"]),new $("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new q("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new q("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new ee("Globe","Globe",[new se("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!1,!1,[this,"terrainShader"])])]}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}};D(vs,"context",new AC),D(vs,"register",vs.context.register.bind(vs.context)),D(vs,"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});let Di=vs;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:M.reactJson(void 0),devTags:M.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:M.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:M.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:M.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(Di||(Di={})),M.extendClassProps(Di.prototype,Di.createDefaultProps);function t0(r,e){const t=r._lastCameraInfo;if(t){const n=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:o,rotation:s}=t;e.flyIn(o,s,0),r._lastCameraInfo=void 0,n()})}}const RC=r=>{const e=Di.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},r0=(r,e)=>{const t=Di.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class LC extends M.Destroyable{constructor(t){super();D(this,"_viewersChanged",this.disposeVar(new M.Event));D(this,"_viewers",new Set);D(this,"_viewersToChange",this.dv(new M.Event));this._sceneObjectsManager=t,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(o=>{i.forEach(s=>{Rs(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))}),n.forEach(s=>{Rs(o.devTags,s.devTags)&&(o.has(s)?o.delete(s):console.warn(`${o.typeName}中不存在${s.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{this.viewers.forEach(s=>{s.has(o)&&s.delete(o),console.log("sceneObjectsToChange",s.devTags,o.devTags,Rs(s.devTags,o.devTags)),Rs(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const o=this._sceneObjectsManager.sceneObjects;i.forEach(s=>{for(let a of o)Rs(s.devTags,a.devTags)&&(s.has(a)?console.warn(`${s.typeName}中已存${a.typeName},检查逻辑是否有问题!`):s.add(a))}),n.forEach(s=>{for(let a of o)Rs(s.devTags,a.devTags)&&(s.has(a)?s.delete(a):console.warn(`${s.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{s.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let c of a)console.log("viewersChanged",s.devTags,c.devTags,Rs(s.devTags,c.devTags)),Rs(s.devTags,c.devTags)&&(s.has(c)?console.warn(`${s.typeName}中已存${c.typeName},检查逻辑是否有问题!`):s.add(c))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const n=Di.context.createViewer(t);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}class Mo extends M.Destroyable{constructor(...t){super();D(this,"_drgm",this.dv(new fy));D(this,"_sobjm",this.dv(new CC));D(this,"_vrm",this.dv(new LC(this._sobjm)));D(this,"_sceneObjectEditingManager",this.disposeVar(new SC));D(this,"_activeViewer",this.dv(M.react(void 0)));D(this,"_syncOtherViewersToActived",this.dv(M.react(!1)));D(this,"_cmrvm",this.createSceneObjectFromClass(So));D(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));D(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});D(this,"_sceneTree",this.dv(new Vc("default",this.dragstartDataMananger,24,this)));D(this,"_propUiTreeManager",this.dv(new kl(24)));D(this,"_sceneTreeMap",new Map);D(this,"_viewerCreatedEvent",this.dv(new M.Event));D(this,"_lastCameraInfo");D(this,"_lastActiveViewerJson");D(this,"syncEvent",this.dv(M.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));D(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(n=>{t?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));D(this,"_player",this.createSceneObjectFromClass(js));D(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));D(this,"_esPlyarAndPathTime",this.dv(new mC(this)));D(this,"_pathAnimationManager",this.dv(new bC(this)))}static get envs(){return we.context.environmentVariables}getSceneObjectById(t){return we.getSceneObjectById(t)}getSceneObject(t){return we.getSceneObject(t)}get $refs(){return we.$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(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(t){this._syncOtherViewersToActived.value=t}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var p;const t=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",s={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:n,name:i},a=this.sceneTree.json,c=this._cmrvm.views,f=[...this._vrm.viewers].map(g=>g.json),m=(p=this.activeViewer)==null?void 0:p.getCurrentCameraInfo();return{asset:s,viewers:f,sceneTree:a,viewCollection:c,lastView:m}}set json(t){try{if(!t.asset)return;if(!t.asset.type||t.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=t.asset&&t.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=t.asset&&t.asset.modifiedTime||"",this._asset.name=t.asset&&t.asset.name||"未命名项目",this._asset.version=t.asset&&t.asset.version||"0.1.0",t.sceneTree&&(this.sceneTree.json=t.sceneTree),t.viewCollection&&(this._cmrvm.views=t.viewCollection),!t.viewers||!Array.isArray(t.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||t.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(n=>{const i=t.viewers.find(o=>o.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(t){return wC(this,t)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(t="default"){if(t==="default")return this._sceneTree;if(!this._sceneTreeMap.has(t)){console.warn(`id为${t}的SceneTree不存在!`);return}return this._sceneTreeMap.get(t)}createSceneTree(t,n=24){if(this._sceneTreeMap.has(t)||t==="default")console.warn(`id为${t}的SceneTree已存在!`);else{const i=this.dv(new Vc(t,this.dragstartDataMananger,n,this));this._sceneTreeMap.set(t,i)}return this.getSceneTree(t)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(t){const n=this._vrm.createViewer(t);this.activeViewer||(this.activeViewer=n);const i=this.d(n.viewerChanged.don(o=>{o&&(this._viewerCreatedEvent.emit(n),i())}));return n}destroyViewer(t){return this._activeViewer.value===t&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(t)}switchViewer(t,n=!0,i=!0,o=!0){var f;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(f=this.activeViewer)==null?void 0:f.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?RC(this.activeViewer):void 0),o&&this.activeViewer&&this.destroyViewer(this.activeViewer);const s=t.id,a=s?[...this.getViewers()].find(m=>m.id===s):[...this.getViewers()].find(m=>m.typeName===t.type);if(a)if(s&&a.typeName!==t.type)console.warn(`id为${s}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&t0(this,a),i&&this._lastActiveViewerJson&&(r0(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Ky(t.container)?(a.containerOrId=t.container,a.forceRecreate()):a.containerOrId=t.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const c=this.createViewer(t);return n&&t0(this,c),i&&this._lastActiveViewerJson&&(r0(c,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=c,c}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:o,destroy:s,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,o??!0,s??!0)}else if(typeof t[0]=="string"||t[0]instanceof HTMLDivElement){const n={container:t[0],viewSync:t[1]??!0,attributeSync:t[2]??!0,destroy:t[3]??!0,id:t[4]},{container:i,viewSync:o,attributeSync:s,destroy:a,id:c}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:c},o,s,a)}}switchToUEViewer(...t){let n,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("uri")){const{container:c,uri:f,app:m,token:p,viewSync:g,attributeSync:w,destroy:_,id:y}=t[0];n={type:"ESUeViewer",container:c,id:y,options:{uri:f,app:m,token:p}},i={viewSync:g??!0,attributeSync:w??!0,destroy:_??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:c,ws:f,esmsg:m,viewSync:p,attributeSync:g,id:w,destroy:_}=t[0];n={type:"ESUeViewer",container:c,id:w,options:{ws:f,esmsg:m}},i={viewSync:p??!0,attributeSync:g??!0,destroy:_??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:c,project:f,baseUrl:m,viewSync:p,attributeSync:g,id:w,destroy:_}=t[0];n={type:"ESUeViewer",container:c,id:w,options:{project:f,baseUrl:m}},i={viewSync:p??!0,attributeSync:g??!0,destroy:_??!0}}else(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?(n={type:"ESUeViewer",container:t[0],id:t[6],options:{ws:t[1],esmsg:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}):typeof t[1]=="string"&&t[1].startsWith("http")?(n={type:"ESUeViewer",container:t[0],id:t[7],options:{uri:t[1],app:t[2],token:t[3]??void 0}},i={viewSync:t[4]??!0,attributeSync:t[5]??!0,destroy:t[6]??!0}):(n={type:"ESUeViewer",container:t[0],id:t[6],options:{project:t[1],baseUrl:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}));if(!n)throw new Error("参数错误");const{viewSync:o,attributeSync:s,destroy:a}=i;return this.switchViewer(n,o,s,a)}createCesiumViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESCesiumViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESCesiumViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createUeViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESUeViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{ws:t[1],esmsg:t[2]??void 0}}:typeof t[1]=="string"&&t[1].startsWith("http")?n={type:"ESUeViewer",container:t[0],id:t[4]??void 0,options:{uri:t[1],app:t[2],token:t[3]??void 0}}:n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{project:t[1],baseUrl:t[2]??void 0}}),!n)throw new Error("参数错误");return this.createViewer(n)}createSceneObject(t,n){return this._sobjm.createSceneObject(t,n)}createSceneObjectFromClass(t,n){return this._sobjm.createSceneObjectFromClass(t,n)}createSceneObjectFromJson(t){return this._sobjm.createSceneObjectFromJson(t)}destroySceneObject(t){const n=this._sobjm.deleteSceneObject(t);return t.destroy(),n}destroyAllSceneObjects(){const t=[...this._sobjm.sceneObjects];for(let n of t)n!=this._player&&n!=this._cmrvm&&this.destroySceneObject(n)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}D(Mo,"getSceneObjById",we.context.getSceneObjectById.bind(we.context)),D(Mo,"getEnv",we.context.getEnv.bind(we.context)),D(Mo,"setEnv",we.context.setEnv.bind(we.context)),(r=>{r.createDefaultProps=()=>({})})(Mo||(Mo={})),M.extendClassProps(Mo.prototype,Mo.createDefaultProps);function FC(){const r=navigator.userAgent;let e="Unknown";/Windows/.test(r)?e="Windows":/Macintosh/.test(r)?e="MacOS":/Linux/.test(r)?e="Linux":/Android/.test(r)?e="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?t="x64":/x86|i686|Win32/.test(r)?t="x86":/arm64|aarch64/.test(r)?t="arm64":/arm/.test(r)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const jC=Date.now();function n0(r){const{os:e,arch:t}=FC(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-jC)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:e,arch:t},o={method:"GET",headers:new Headers,redirect:"follow"},s=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${s}`,o).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}X.copyright=void 0;try{const r="earthsdk3",e="3.0.7-beta.12",t="2025-06-09T06:39:35.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="58055c135658bca164dc2f096fd6b1a4c3188e98",a=((Date.now()-1749451175e3)/36e5).toFixed(1),c=`%c🌏 ${r}%c ${e}.${o.slice(0,8)}.${t} (距今${a}个小时)
|
|
773
|
+
`,IC='<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>',TC='<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>',Xu=class Xu extends M.Destroyable{constructor(e){super();const t=()=>{const n=this.dv(new xo);this.d(M.track([n,"show"],[e,"useDefaultStatusDiv"]));{const i=()=>{n.show=(e.useDefaultStatusDiv??!0)&&e.status!=="Created"};i(),this.d(e.useDefaultStatusDivChanged.don(i)),this.d(e.statusChanged.don(i)),n.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}e.add(n),this.d(()=>e.delete(n)),n.instanceClass=class extends M.Destroyable{constructor(s,a,c){super();D(this,"_div",document.createElement("div"));if(this._subContainer=s,!c)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const _=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};_(),this.d(a.showChanged.don(_))}let f,m,p,g,w;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",f=document.createElement("div"),this._div.appendChild(f),f.style.width="auto",f.style.position="absolute",f.style.left="50%",f.style.top="50%",f.style.transform="translate(-50%,-50%)",f.style.background="rgba(120, 120, 0, 0.7)",f.style.color="white",f.style.fontSize="10px",f.style.background="none",f.style.display="flex",f.style.justifyContent="center",f.style.alignItems="center",m=document.createElement("div"),f.appendChild(m),m.style.pointerEvents="none",m.style.display="block",m.style.width="40px",m.innerHTML=Xu.defaultsSvg.loadingSvg,m.style.filter="drop-shadow(0px 0px 1px black)",p=document.createElement("div"),f.appendChild(p),p.style.pointerEvents="none",p.style.marginLeft="10px",p.style.display="flex",p.style.flexFlow="column",p.style.maxWidth="300px",g=document.createElement("div"),p.appendChild(g),g.style.fontSize="14px",g.style.fontWeight="800",g.style.marginBottom="5px",g.style.textShadow="0 0 2px black",w=document.createElement("div"),p.appendChild(w),w.style.fontWeight="400",w.style.textShadow="0 0 2px black";{const _=()=>{let h="Raw";c.status==="Raw"?h="初始状态":c.status==="Creating"?h="正在创建":c.status==="Created"?h="创建完成":c.status==="Error"?h="创建失败":c.status==="Reconnecting"&&(h="重新连接"),g.innerText=`${h}(${c.status})`,w.innerText=`${c.statusLog}`,(c.status==="Creating"||c.status==="Reconnecting")&&(m.innerHTML=Xu.defaultsSvg.loadingSvg),c.status==="Created"&&(m.innerHTML=Xu.defaultsSvg.successSvg),c.status==="Error"&&(m.innerHTML=Xu.defaultsSvg.warnSvg)};_();const y=this.dv(M.createNextAnimateFrameEvent(c.statusLogChanged,c.statusChanged));this.d(y.don(_))}}update(){const s=255*Math.random()|0,a=255*Math.random()|0,c=255*Math.random()|0;this._div.style.background=`rgba(${s}, ${a}, ${c}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};D(Xu,"defaultsSvg",{loadingSvg:MC,successSvg:IC,warnSvg:TC});let Bd=Xu;class NC extends M.Destroyable{constructor(e,t,n){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=n;const i=this._subContainer,o=this._overlayContainer,s=this._viewer,a=()=>{const m=s.zIndex??"";i.style.zIndex=m,o.style.zIndex=m};a(),this.d(s.zIndexChanged.don(a));const c=()=>{i.style.display=s.show??!0?"block":"none"};c(),this.d(s.showChanged.don(c));const f=()=>{i.style.opacity=`${s.opacity??1}`};f(),this.d(s.opacityChanged.don(f))}}function ef(r){let e=M.getExtProp(r,"_relativeContainer");return e||(e=document.createElement("div"),e.style.position="relative",e.style.width="100%",e.style.height="100%",e.style.padding="0",e.style.margin="0",r.appendChild(e),M.setExtProp(r,"_relativeContainer",e)),e}class DC extends M.Destroyable{constructor(t,n){super();D(this,"_subContainer",document.createElement("div"));D(this,"_overlayContainer",document.createElement("div"));D(this,"_containerStyleController");this._container=t,this._viewer=n,this._containerStyleController=this.dv(new NC(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:o}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),o.style.position="relative",o.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),ef(this._container).appendChild(i),this.d(()=>ef(this._container).removeChild(i)),ef(this._container).appendChild(o),this.d(()=>ef(this._container).removeChild(o))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class AC extends M.Destroyable{constructor(){super(...arguments);D(this,"registerObjsMap",new Map)}register(t,n){return this.registerObjsMap.has(t)&&console.warn(`register warn:${t}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(t,n),t}getViewerConstructor(t){const n=this.registerObjsMap.get(t);if(!n){console.warn(`未找到${t}类!`);return}return n}createViewer(t){const n=t.type,i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(t)}}class e0 extends M.Destroyable{constructor(e,t,n=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const o=this.dv(M.DomElementEvent.create(t,"pointerdown")),s=this.dv(M.DomElementEvent.create(t,"pointermove")),a=this.dv(M.DomElementEvent.create(t,"pointerup")),c=this.dv(M.DomElementEvent.create(t,"pointerout")),f=this.dv(M.DomElementEvent.create(t,"pointerover")),m=this.dv(new M.PointerClick),p=this.dv(new M.PointerHover),g=()=>{const v=this._viewer.hoverTime*1e3;p.delayTime=v};this.d(this._viewer.hoverTimeChanged.don(()=>{g()})),this.d(o.don(v=>m.pointerDown(v))),this.d(s.don(v=>m.pointerMove(v))),this.d(a.don(v=>m.pointerUp(v))),this.d(c.don(v=>m.pointerOut(v))),this.d(o.don(v=>p.pointerDown(v))),this.d(s.don(v=>p.pointerMove(v))),this.d(a.don(v=>p.pointerUp(v))),this.d(c.don(v=>p.pointerOut(v)));const{x:w,y:_}=t.getBoundingClientRect(),y=i?w:0,h=i?_:0;this.d(p.hoverEvent.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.hoverEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(m.clickEvent.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.clickEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(m.dbclickEvent.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);v.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(o.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);v.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(a.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);v.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(s.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.pointerMoveEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(f.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.pointerOverEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})})),this.d(c.don(v=>{const[b,E]=M.getDomEventCurrentTargetPos(v,n);this._viewer.pointerOutEvent.emit({screenPosition:[b+y,E+h],pointerEvent:v})}));const d=this.dv(M.DomElementEvent.create(t,"keydown"));this.d(d.don(v=>this._viewer.keyDownEvent.emit(v)));const u=this.dv(M.DomElementEvent.create(t,"keyup"));this.d(u.don(v=>this._viewer.keyUpEvent.emit(v)));const l=this.dv(M.DomElementEvent.create(t,"wheel"));this.d(l.don(v=>this._viewer.wheelEvent.emit(v)))}}const vs=class vs extends M.Destroyable{constructor(t){super();D(this,"_forceRecreateEvent",this.dv(new M.Event));D(this,"_container",this.dv(M.react(void 0)));D(this,"_containerSize",this.dv(M.react(void 0)));D(this,"_editingEvent",this.disposeVar(new M.Event));D(this,"_status",this.dv(M.react("Raw")));D(this,"_statusLog",this.dv(M.react("")));D(this,"_statusContainer",this.dv(new Bd(this)));D(this,"_useCustomInteraction",this.dv(M.react(!0)));D(this,"_resetInteractionEvent",this.dv(M.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));D(this,"_interactionResetting",this.dv(new M.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new e0(this,this.container)})));D(this,"_viewerChanged",this.dv(new M.Event));D(this,"_containerResetEvent",this.dv(M.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));D(this,"_containerResetting",this.dv(new M.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new DC(this.container,this)})));D(this,"_sceneObjectsMap",new Map);D(this,"_id");D(this,"_typeName");D(this,"_updateFuncReact",this.dv(M.react(void 0)));D(this,"_toDestroyFuncReact",this.dv(M.react(void 0)));D(this,"_statusInfo",vs.defaults.statusInfo);D(this,"_navigationMode",this.dv(M.react("Map")));D(this,"_syncViewer",this.dv(M.react(void 0)));D(this,"_syncEventDon",this.dv(new M.ObjResettingWithEvent(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new OC(this,t)})));D(this,"_timeSyncdon",this.dv(new M.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new xC(this)})));D(this,"_hoverEvent",this.dv(new M.Event));D(this,"_pointerOverEvent",this.dv(new M.Event));D(this,"_pointerMoveEvent",this.dv(new M.Event));D(this,"_pointerDownEvent",this.dv(new M.Event));D(this,"_pointerUpEvent",this.dv(new M.Event));D(this,"_pointerOutEvent",this.dv(new M.Event));D(this,"_clickEvent",this.dv(new M.Event));D(this,"_dblclickEvent",this.dv(new M.Event));D(this,"_keyDownEvent",this.dv(new M.Event));D(this,"_keyUpEvent",this.dv(new M.Event));D(this,"_wheelEvent",this.dv(new M.Event));D(this,"_actived",this.dv(M.react(!1)));this._id=t.id??M.createGuid();const n=Ky(t.container);if(n)this._container.value=Vd(n),this._typeName=t.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,o=()=>{for(let[a,c]of i.entries())if(!c&&a){const f=Go.context.createEngineObject(a,this);f&&i.set(a,f)}},s=()=>{for(let[a,c]of i.entries())c&&!c.isDestroyed()&&c.destroy(),i.set(a,void 0)};this.d(s),this.d(this.viewerChanged.don(a=>{s(),a&&o()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(o){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let o;this.d(()=>o&&o.destroy()),this.d(this.updateFuncChanged.don(()=>{o&&o.cancel(),this.updateFunc&&(o=o||M.createAnimateFrame(),o.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(o){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(t){this._container.value=t}set containerOrId(t){if(typeof t=="string"){const n=document.getElementById(t);n&&n instanceof HTMLDivElement?this._container.value=Vd(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=Vd(t):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(t){this._containerSize.value=t}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(t){this._status.value=t}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(t){this._statusLog.value=t}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(t){this._useCustomInteraction.value=t}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(t){return this.sceneObjectsMap.get(t)}add(...t){for(let n of t)if(!this.has(n)){const i=Go.context.createEngineObject(n,this);i&&this._sceneObjectsMap.set(n,i),n.viewerAttached.emit(this)}}delete(...t){for(let n of t)if(this.has(n)){const i=this._sceneObjectsMap.get(n);i&&i.destroy(),this._sceneObjectsMap.delete(n),n.viewerDetached.emit(this)}}disposableAdd(...t){return this.add(...t),()=>this.delete(...t)}disAdd(...t){return this.disposableAdd(...t)}has(t){return this._sceneObjectsMap.has(t)}clearAllSceneObjects(){for(let t of this.sceneObjects)this.delete(t)}get id(){return this._id}set id(t){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return vs.createDefaultProps()}_getJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let o,s=this.defaultProps[i];s instanceof M.ReactiveVariable?o=s.equals(this[i]):o=s===this[i],o||(n[i]=this[i])}else n[i]=this[i];return n}_setJson(t,n,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const o=n||[];o.push("id","type");const s=Object.keys(this.defaultProps).filter(a=>!o.includes(a));for(let a of s)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let c=this.defaultProps[a];c instanceof M.ReactiveVariable&&(c=c.value),this[a]=c}}get json(){return this._getJson()}set json(t){this._setJson(t,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}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(t){this._syncViewer.value=t}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(t){t&&t.syncViewer&&(t.syncViewer=void 0),t===this?this._syncViewer.value=void 0:this._syncViewer.value=t}setCurrentTime(t){try{this.currentTime=typeof t=="string"?Date.parse(t):t}catch(n){console.warn(`时间格式不正确! value: ${t} 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}getProperties(t){return[new ee("ESViewer","ESViewer",[new Se("强制刷新","重载",[],()=>this.forceRecreate(),[]),new $("debug","debug",!0,!1,[this,"debug"],vs.defaults.debug),new $("是否可见","是否可见",!0,!1,[this,"show"]),new ce("位置点单位","lonLatFormat",!0,!1,[this,"lonLatFormat"],[["度","DECIMAL_DEGREE"],["度分","DEGREES_DECIMAL_MINUTES"],["度分秒","SEXAGESIMAL_DEGREE"]]),new $("是否开启文字避让","textAvoidance",!0,!1,[this,"textAvoidance"],!1),new de("ionAccessToken","ionAccessToken",!1,!1,[this,"ionAccessToken"]),new q("时钟","时钟",!1,!1,[this,"currentTime"]),new $("globeShow","globeShow",!0,!1,[this,"globeShow"]),new $("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new q("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new q("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new ee("Globe","Globe",[new se("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!1,!1,[this,"terrainShader"])])]}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}};D(vs,"context",new AC),D(vs,"register",vs.context.register.bind(vs.context)),D(vs,"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});let Di=vs;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:M.reactJson(void 0),devTags:M.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:M.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:M.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:M.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(Di||(Di={})),M.extendClassProps(Di.prototype,Di.createDefaultProps);function t0(r,e){const t=r._lastCameraInfo;if(t){const n=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:o,rotation:s}=t;e.flyIn(o,s,0),r._lastCameraInfo=void 0,n()})}}const RC=r=>{const e=Di.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},r0=(r,e)=>{const t=Di.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class LC extends M.Destroyable{constructor(t){super();D(this,"_viewersChanged",this.disposeVar(new M.Event));D(this,"_viewers",new Set);D(this,"_viewersToChange",this.dv(new M.Event));this._sceneObjectsManager=t,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(o=>{i.forEach(s=>{Rs(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))}),n.forEach(s=>{Rs(o.devTags,s.devTags)&&(o.has(s)?o.delete(s):console.warn(`${o.typeName}中不存在${s.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{this.viewers.forEach(s=>{s.has(o)&&s.delete(o),console.log("sceneObjectsToChange",s.devTags,o.devTags,Rs(s.devTags,o.devTags)),Rs(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const o=this._sceneObjectsManager.sceneObjects;i.forEach(s=>{for(let a of o)Rs(s.devTags,a.devTags)&&(s.has(a)?console.warn(`${s.typeName}中已存${a.typeName},检查逻辑是否有问题!`):s.add(a))}),n.forEach(s=>{for(let a of o)Rs(s.devTags,a.devTags)&&(s.has(a)?s.delete(a):console.warn(`${s.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{s.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let c of a)console.log("viewersChanged",s.devTags,c.devTags,Rs(s.devTags,c.devTags)),Rs(s.devTags,c.devTags)&&(s.has(c)?console.warn(`${s.typeName}中已存${c.typeName},检查逻辑是否有问题!`):s.add(c))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const n=Di.context.createViewer(t);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}class Mo extends M.Destroyable{constructor(...t){super();D(this,"_drgm",this.dv(new fy));D(this,"_sobjm",this.dv(new CC));D(this,"_vrm",this.dv(new LC(this._sobjm)));D(this,"_sceneObjectEditingManager",this.disposeVar(new SC));D(this,"_activeViewer",this.dv(M.react(void 0)));D(this,"_syncOtherViewersToActived",this.dv(M.react(!1)));D(this,"_cmrvm",this.createSceneObjectFromClass(So));D(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));D(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});D(this,"_sceneTree",this.dv(new Vc("default",this.dragstartDataMananger,24,this)));D(this,"_propUiTreeManager",this.dv(new kl(24)));D(this,"_sceneTreeMap",new Map);D(this,"_viewerCreatedEvent",this.dv(new M.Event));D(this,"_lastCameraInfo");D(this,"_lastActiveViewerJson");D(this,"syncEvent",this.dv(M.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));D(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(n=>{t?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));D(this,"_player",this.createSceneObjectFromClass(js));D(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));D(this,"_esPlyarAndPathTime",this.dv(new mC(this)));D(this,"_pathAnimationManager",this.dv(new bC(this)))}static get envs(){return we.context.environmentVariables}getSceneObjectById(t){return we.getSceneObjectById(t)}getSceneObject(t){return we.getSceneObject(t)}get $refs(){return we.$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(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(t){this._syncOtherViewersToActived.value=t}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var p;const t=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",s={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:n,name:i},a=this.sceneTree.json,c=this._cmrvm.views,f=[...this._vrm.viewers].map(g=>g.json),m=(p=this.activeViewer)==null?void 0:p.getCurrentCameraInfo();return{asset:s,viewers:f,sceneTree:a,viewCollection:c,lastView:m}}set json(t){try{if(!t.asset)return;if(!t.asset.type||t.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=t.asset&&t.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=t.asset&&t.asset.modifiedTime||"",this._asset.name=t.asset&&t.asset.name||"未命名项目",this._asset.version=t.asset&&t.asset.version||"0.1.0",t.sceneTree&&(this.sceneTree.json=t.sceneTree),t.viewCollection&&(this._cmrvm.views=t.viewCollection),!t.viewers||!Array.isArray(t.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||t.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(n=>{const i=t.viewers.find(o=>o.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(t){return wC(this,t)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(t="default"){if(t==="default")return this._sceneTree;if(!this._sceneTreeMap.has(t)){console.warn(`id为${t}的SceneTree不存在!`);return}return this._sceneTreeMap.get(t)}createSceneTree(t,n=24){if(this._sceneTreeMap.has(t)||t==="default")console.warn(`id为${t}的SceneTree已存在!`);else{const i=this.dv(new Vc(t,this.dragstartDataMananger,n,this));this._sceneTreeMap.set(t,i)}return this.getSceneTree(t)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(t){const n=this._vrm.createViewer(t);this.activeViewer||(this.activeViewer=n);const i=this.d(n.viewerChanged.don(o=>{o&&(this._viewerCreatedEvent.emit(n),i())}));return n}destroyViewer(t){return this._activeViewer.value===t&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(t)}switchViewer(t,n=!0,i=!0,o=!0){var f;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(f=this.activeViewer)==null?void 0:f.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?RC(this.activeViewer):void 0),o&&this.activeViewer&&this.destroyViewer(this.activeViewer);const s=t.id,a=s?[...this.getViewers()].find(m=>m.id===s):[...this.getViewers()].find(m=>m.typeName===t.type);if(a)if(s&&a.typeName!==t.type)console.warn(`id为${s}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&t0(this,a),i&&this._lastActiveViewerJson&&(r0(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Ky(t.container)?(a.containerOrId=t.container,a.forceRecreate()):a.containerOrId=t.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const c=this.createViewer(t);return n&&t0(this,c),i&&this._lastActiveViewerJson&&(r0(c,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=c,c}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:o,destroy:s,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,o??!0,s??!0)}else if(typeof t[0]=="string"||t[0]instanceof HTMLDivElement){const n={container:t[0],viewSync:t[1]??!0,attributeSync:t[2]??!0,destroy:t[3]??!0,id:t[4]},{container:i,viewSync:o,attributeSync:s,destroy:a,id:c}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:c},o,s,a)}}switchToUEViewer(...t){let n,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("uri")){const{container:c,uri:f,app:m,token:p,viewSync:g,attributeSync:w,destroy:_,id:y}=t[0];n={type:"ESUeViewer",container:c,id:y,options:{uri:f,app:m,token:p}},i={viewSync:g??!0,attributeSync:w??!0,destroy:_??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:c,ws:f,esmsg:m,viewSync:p,attributeSync:g,id:w,destroy:_}=t[0];n={type:"ESUeViewer",container:c,id:w,options:{ws:f,esmsg:m}},i={viewSync:p??!0,attributeSync:g??!0,destroy:_??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:c,project:f,baseUrl:m,viewSync:p,attributeSync:g,id:w,destroy:_}=t[0];n={type:"ESUeViewer",container:c,id:w,options:{project:f,baseUrl:m}},i={viewSync:p??!0,attributeSync:g??!0,destroy:_??!0}}else(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?(n={type:"ESUeViewer",container:t[0],id:t[6],options:{ws:t[1],esmsg:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}):typeof t[1]=="string"&&t[1].startsWith("http")?(n={type:"ESUeViewer",container:t[0],id:t[7],options:{uri:t[1],app:t[2],token:t[3]??void 0}},i={viewSync:t[4]??!0,attributeSync:t[5]??!0,destroy:t[6]??!0}):(n={type:"ESUeViewer",container:t[0],id:t[6],options:{project:t[1],baseUrl:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}));if(!n)throw new Error("参数错误");const{viewSync:o,attributeSync:s,destroy:a}=i;return this.switchViewer(n,o,s,a)}createCesiumViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESCesiumViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESCesiumViewer"}),!n)throw new Error("参数错误");return this.createViewer(n)}createUeViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESUeViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{ws:t[1],esmsg:t[2]??void 0}}:typeof t[1]=="string"&&t[1].startsWith("http")?n={type:"ESUeViewer",container:t[0],id:t[4]??void 0,options:{uri:t[1],app:t[2],token:t[3]??void 0}}:n={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{project:t[1],baseUrl:t[2]??void 0}}),!n)throw new Error("参数错误");return this.createViewer(n)}createSceneObject(t,n){return this._sobjm.createSceneObject(t,n)}createSceneObjectFromClass(t,n){return this._sobjm.createSceneObjectFromClass(t,n)}createSceneObjectFromJson(t){return this._sobjm.createSceneObjectFromJson(t)}destroySceneObject(t){const n=this._sobjm.deleteSceneObject(t);return t.destroy(),n}destroyAllSceneObjects(){const t=[...this._sobjm.sceneObjects];for(let n of t)n!=this._player&&n!=this._cmrvm&&this.destroySceneObject(n)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}D(Mo,"getSceneObjById",we.context.getSceneObjectById.bind(we.context)),D(Mo,"getEnv",we.context.getEnv.bind(we.context)),D(Mo,"setEnv",we.context.setEnv.bind(we.context)),(r=>{r.createDefaultProps=()=>({})})(Mo||(Mo={})),M.extendClassProps(Mo.prototype,Mo.createDefaultProps);function FC(){const r=navigator.userAgent;let e="Unknown";/Windows/.test(r)?e="Windows":/Macintosh/.test(r)?e="MacOS":/Linux/.test(r)?e="Linux":/Android/.test(r)?e="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?t="x64":/x86|i686|Win32/.test(r)?t="x86":/arm64|aarch64/.test(r)?t="arm64":/arm/.test(r)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const jC=Date.now();function n0(r){const{os:e,arch:t}=FC(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-jC)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:e,arch:t},o={method:"GET",headers:new Headers,redirect:"follow"},s=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${s}`,o).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}X.copyright=void 0;try{const r="earthsdk3",e="3.0.7-beta.13",t="2025-06-10T07:29:19.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="c7d8003b5d4f682ef1089c8e9c9b9f7907bff40e",a=((Date.now()-1749540559e3)/36e5).toFixed(1),c=`%c🌏 ${r}%c ${e}.${o.slice(0,8)}.${t} (距今${a}个小时)
|
|
774
774
|
%c${i?i+`
|
|
775
775
|
`:""}当前网站正在使用${r},此软件版权归${n}所有
|
|
776
|
-
`;X.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
776
|
+
`;X.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","c7d8003b5d4f682ef1089c8e9c9b9f7907bff40e")},get info(){return c},get date(){return"2025-06-10T07:29:19.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.13"},get name(){return"earthsdk3"},get commitId(){return"c7d8003b5d4f682ef1089c8e9c9b9f7907bff40e"},print(){console.info(this.info,`
|
|
777
777
|
font-size: 18px;
|
|
778
778
|
font-weight: 1000;
|
|
779
779
|
line-height: 1;
|