earthsdk3 3.0.7-beta.4 → 3.0.7-beta.5

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.
@@ -271,7 +271,7 @@ northing meters`+r;var g=p/2,w=0,_=0,y,h,d,u,l;return g>0&&(y=1e5/Math.pow(10,g)
271
271
  ]
272
272
  ]
273
273
  \`\`\`
274
- `,wr=class wr extends M.Destroyable{constructor(){super();D(this,"_ratio",this.disposeVar(M.react(0)));D(this,"_subPlayers",this.disposeVar(new M.ObservableArray));const t=this.disposeVar(new M.Player);{const s=()=>{t.loop=this.loop??wr.defaults.loop};s(),this.dispose(this.loopChanged.disposableOn(s))}{const s=()=>{(this.loop??wr.defaults.loop)!==t.loop&&(this.loop=t.loop)};s(),this.dispose(t.loopChangedEvent.disposableOn(s))}{const s=()=>{t.currentTime=this.currentTime??wr.defaults.currentTime};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{(this.currentTime??wr.defaults.currentTime)!==t.currentTime&&(this.currentTime=t.currentTime)};s(),this.dispose(t.currentTimeChangedEvent.disposableOn(s))}{const s=()=>{t.duration=this.duration??wr.defaults.duration};s(),this.dispose(this.durationChanged.disposableOn(s))}{const s=()=>{(this.duration??wr.defaults.duration)!==t.duration&&(this.duration=t.duration)};s(),this.dispose(t.durationChangedEvent.disposableOn(s))}{const s=()=>{t.speed=this.speed??wr.defaults.speed};s(),this.dispose(this.speedChanged.disposableOn(s))}{const s=()=>{(this.speed??wr.defaults.speed)!==t.speed&&(this.speed=t.speed)};s(),this.dispose(t.speedChangedEvent.disposableOn(s))}{const s=()=>{t.playing=this.playing??wr.defaults.playing};s(),this.dispose(this.playingChanged.disposableOn(s))}{const s=()=>{(this.playing??wr.defaults.playing)!==t.playing&&(this.playing=t.playing)};s(),this.dispose(t.playingChangedEvent.disposableOn(s))}const n=()=>{const s=this.duration??wr.defaults.duration;s>0&&(this._ratio.value=(this.currentTime??wr.defaults.currentTime)/s)};n();const i=this.disposeVar(M.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.dispose(i.disposableOn(n)),this.dispose(()=>{const{length:s}=this._subPlayers;for(let a=0;a<s;++a)this._subPlayers.get(a).destroy();this._subPlayers.length=0});const o=()=>{for(let a of this._subPlayers)a.destroy();if(this._subPlayers.length=0,!this.channels)return;const s=this.channels.map(a=>{const[c,f,m]=a;return new US(c,f,m,this)});this._subPlayers.splice(0,0,...s)};o(),this.dispose(this.channelsChanged.disposableOn(o))}get ratio(){return this._ratio.value}set ratio(t){Math.abs(this._ratio.value-t)<.001||(this.currentTime=(this.duration??wr.defaults.duration)*t)}get ratioChanged(){return this._ratio.changed}};D(wr,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),D(wr,"channelsReadMe",WS);let Ti=wr;(r=>{r.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:M.reactDeepArrayWithUndefined(void 0,(e,t)=>e==null?void 0:e.every((n,i)=>n===t[i]),e=>[...e])})})(Ti||(Ti={})),M.extendClassProps(Ti.prototype,Ti.createDefaultProps);class Gd extends M.Destroyable{constructor(t){super();D(this,"_sceneObject",this.disposeVar(M.react(void 0)));this._id=t,this.dispose(()=>{this._sceneObject.value=void 0});const n=we.getSceneObjById(this._id);n&&(this._sceneObject.value=n),this.dispose(we.context.sceneObjCreatedEvent.disposableOn(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.dispose(we.context.sceneObjToDestroyEvent.disposableOn(i=>{i.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class qS extends M.Destroyable{constructor(t,n){super();D(this,"_sofi");this._id=t,this._sofi=this.disposeVar(new Gd(this._id));{const i=()=>{n.sceneObject=this._sofi.sceneObject};i(),this.dispose(this._sofi.sceneObjectChanged.disposableOn(i))}}}class HS extends M.Destroyable{constructor(){super();D(this,"_id",this.disposeVar(M.react(void 0)));D(this,"_sceneObject",this.disposeVar(M.react(void 0)));D(this,"_resetting",this.disposeVar(new M.ObjResettingWithEvent(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new qS(t,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(t){this._id.value=t}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(t){this._sceneObject.value=t}get resetting(){return this._resetting}}class XS extends M.Destroyable{constructor(e,t,n,i){super(),this.disposeVar(new M.ObjResettingWithEvent(e.sceneObjectChanged,()=>{let o;i.debug&&console.log("正在获取Event事件...");do{const s=e.sceneObject;if(!s||!t)break;const a=t.split(".");if(a.length===0){i.debug&&console.warn("propNames.length === 0");break}let c=M.pluckProperty(s,!1,...a);if((!c||!(c instanceof M.Event))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),c=M.pluckProperty(s,!1,...a),i.debug&&c&&console.warn("event仍然获取不到!")),!c){i.debug&&console.warn(`cannot get changed from ${s.id}-${s.name}-${s.ref}-${t}`);break}if(!(c instanceof M.Event)){i.debug&&console.warn(`the prop is not event from ${s.id}-${s.name}-${s.ref}-${t}`);break}o=c,i.debug&&console.log(`Event获取成功 propChangedName: ${t}`,o)}while(!1);if(o){const s=new M.Destroyable;return s.dispose(o.dwon(()=>n.emit())),s}else{i.debug&&console.log(`未获取到Event!propChangedName: ${t}`);return}}))}}let YS=class extends M.Destroyable{constructor(t,n,i){super();D(this,"_doEvalEvent",this.dv(new M.Event));const o=this._doEvalEvent,s=this.disposeVar(M.createNextAnimateFrameEvent(o)),a=t.map(([c,f])=>{const m=new Gd(c),p=f&&new XS(m,f,o,n)||void 0;return[m,p]});this.dispose(()=>{a.forEach(([c,f])=>{f==null||f.destroy(),c.destroy()}),a.length=0}),this.dispose(o.disposableOn(()=>{const{evalMode:c="NextAnimateFrame",evalOnlyWhenObjsAllExist:f=!0}=n;if(c==="Immediate"){const m=a.map(([p])=>p.sceneObject);(!f||m.every(p=>p!==void 0))&&i(m)}})),this.dispose(s.disposableOn(()=>{const{evalMode:c="NextAnimateFrame",evalOnlyWhenObjsAllExist:f=!0}=n;if(c==="NextAnimateFrame"){const m=a.map(([p])=>p.sceneObject);(!f||m.every(p=>p!==void 0))&&i(m)}}))}forceExecute(){this._doEvalEvent.emit()}};const xy=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:YS},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:JS}=xy;class zc extends M.Destroyable{constructor(){super();D(this,"_evalFunc");D(this,"_forceExecute",new M.Event);const t=this.dv(M.react(void 0)),n=()=>{try{t.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",t.value)}catch(s){console.error(`evalFunc get error! ${s}`),t.value=void 0}};n(),this.dispose(this.evalFuncStrChanged.disposableOn(n));const i=s=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(s),t.value&&t.value(s))},o=this.disposeVar(new M.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new JS(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var s;(s=o.obj)==null||s.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(t){this._evalFunc=t}forceExecute(){this._forceExecute.emit()}}(r=>{r.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:M.reactDeepArray([],(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[e[0],e[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:M.reactJson(void 0),devTags:M.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(zc||(zc={})),M.extendClassProps(zc.prototype,zc.createDefaultProps);function KS(r,e,t){var i;((i=e.viewer)==null?void 0:i.getEngineObject(e))?t.call(r):r.dispose(e.createdEvent.don(()=>t.call(r)))}const ht=class ht extends we{constructor(t){super(t);D(this,"_editing",this.dv(M.react(!1)));D(this,"editingID");D(this,"editingBindMode","singlePoint");D(this,"_deprecated",[]);D(this,"_flyInEvent",this.dv(new M.Event));D(this,"_flyToEvent",this.dv(new M.Event));D(this,"_flyOverEvent",this.disposeVar(new M.Event));D(this,"_pickedEvent",this.dv(new M.Event));D(this,"_calcFlyToParamEvent",this.dv(new M.Event));D(this,"_calcFlyInParamEvent",this.dv(new M.Event));D(this,"useCalcFlyToParamInESObjectWithLocation",!1);_y(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(t){this._editing.value=t}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const t=this._deprecated;for(let n=0;n<t.length;n++){const i=t[n];typeof i=="string"?Reflect.has(this,i+"Changed")&&this.d(this[i+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${i} 属性下版本将会被移除!`)})):Object.keys(i).forEach(o=>{Reflect.has(this,o+"Changed")&&this.d(this[o+"Changed"].don(a=>{const c=i[o];typeof c=="string"?console.warn(`注意:${this.typeName} 的 ${o} 属性下版本将会被移除!`):Object.keys(c).forEach(f=>{a===f&&console.warn(`注意:${this.typeName} 的 ${o} 属性值 ${f} 下版本将会被移除,推荐使用属性值 ${c[f]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,ht._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,ht._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(t){return await t.getBoundSphere(this.id)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",general:[...t.general,new de("唯一标识","id",!1,!0,[this,"id"]),new de("名称","name",!0,!1,[this,"name"]),new $("是否显示","show",!1,!1,[this,"show"],ht.defaults.show),new $("开启碰撞","collision",!1,!1,[this,"collision"],ht.defaults.collision),new $("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],ht.defaults.allowPicking),new Se("保存观察视角","保存当前flyToParam",[],()=>this.calcFlyToParam(),[]),new Se("清空飞向参数","清空飞向参数",[],()=>this.emptyFlyToParam(),[]),new Se("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new Se("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[])]}}getProperties(t){return[...super.getProperties(t),new ee("ESVisualObject","ESVisualObject",[new $("是否显示","是否显示.",!1,!1,[this,"show"],ht.defaults.show),new $("是否开启碰撞监测","collision,是否开启碰撞监测.",!1,!1,[this,"collision"],ht.defaults.collision),new $("是否允许拾取","是否允许被鼠标点击拾取.",!1,!1,[this,"allowPicking"],ht.defaults.allowPicking),new ee("飞行定位","飞向参数",[new Se("飞向","飞向",["number"],n=>this.flyTo(n),[1]),new ae("flyToParam","flyToParam",!0,!1,[this,"flyToParam"],ht.defaults.flyToParam),new Se("获取当前参数","获取当前flyToParam",[],()=>this.calcFlyToParam(),[]),new H("flyToDistance","flyToDistance",!0,!1,[this,"flyToDistance"],ht.defaults.flyToParam.distance),new H("flyToHeading","flyToHeading",!0,!1,[this,"flyToHeading"],ht.defaults.flyToParam.heading),new H("flyToPitch","flyToPitch",!0,!1,[this,"flyToPitch"],ht.defaults.flyToParam.pitch),new H("flyToFlyDuration","flyToFlyDuration",!0,!1,[this,"flyToFlyDuration"],ht.defaults.flyToParam.flyDuration),new H("flyToHDelta","flyToHDelta",!0,!1,[this,"flyToHDelta"],ht.defaults.flyToParam.hDelta),new H("flyToPDelta","flyToPDelta",!0,!1,[this,"flyToPDelta"],ht.defaults.flyToParam.pDelta)]),new ee("飞入定位","飞入参数",[new Se("飞入","飞入",["number"],n=>this.flyIn(n),[1]),new ae("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],ht.defaults.flyInParam),new Se("获取当前相机参数","获取当前相机参数",[],()=>this.calcFlyInParam(),[])])])]}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,pDelta:t}:void 0}};D(ht,"supportEditingModes",[]),D(ht,"_lastFlyInId",0),D(ht,"_lastFlyToId",0),D(ht,"defaults",{...we.defaults,show:!0,collision:!0,allowPicking:!1,flyToParam:{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1}});let Xe=ht;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:M.reactJsonWithUndefined(void 0),flyInParam:M.reactJsonWithUndefined(void 0)})})(Xe||(Xe={})),M.extendClassProps(Xe.prototype,Xe.createDefaultProps);function Oy(r){let e=0;function t(n,i){i++,e=Math.max(i,e),n.forEach(o=>{Array.isArray(o)&&t(o,i)})}return t(r,0),e}const Wc=class Wc extends Xe{constructor(t){super(t);D(this,"editingBindMode","lineString");D(this,"_area",this.dv(M.react(0)));D(this,"_perimeter",this.dv(M.react(0)));const n=()=>{this._updateArea(),this._updatePerimeter()};n(),this.d(this.pointsChanged.don(n))}updateEditing(){var n;const t=[];do{if(this.editingBindMode=="doublePoints"){t.push(xe.DoublePointsAppend,xe.DoublePointsModify);break}if(this.editingBindMode=="lineString"){t.push(xe.LineStringAppend,xe.LineStringInsert,xe.Translation);break}if(this.editingBindMode=="circular"){t.push(xe.CircularAppend,xe.CircularInsert,xe.Translation),this.supportEditingModes().includes(xe.HeightModify)&&t.push(xe.HeightModify);break}if(this.editingBindMode=="visibility"){t.push(xe.VisibilityAppend,xe.VisibilityModify);break}}while(!1);(n=this.viewer)==null||n.startEditing(this,t,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return ld([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const t=Fl(this.points,"NONE");return t[t.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const t=[...this.points,this.points[0]],n=Fl(t,"NONE");return n[n.length-1]}else return}getIntersect(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=dv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const o=[...n],s=[];return o.forEach(a=>{const c=a[0].map(f=>[...f,0]);s.push(c)}),s}else return[[...n][0].map(a=>[...a,0])]}else return}getUnion(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=pv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const o=[...n],s=[];return o.forEach(a=>{const c=a[0].map(f=>[...f,0]);s.push(c)}),s}else return[[...n][0].map(a=>[...a,0])]}else return}getDifference(t){if(this.points&&this.points.length>=3&&t.length>=3){let n=[...t];const i=t[0],o=t[t.length-1];i[0]===o[0]&&i[1]===o[1]&&i[2]===o[2]||n.push(i);const s=vv([...this.points,this.points[0]],[...n]);if(!s)return{status:"undefined",positions:void 0};const a=[...s];if(Oy(a)===3){const c=a.map(g=>g.map(w=>[...w,0]));if(c.length<=1)return{status:"notIncluded",positions:c};const f=c[0],m=c[1];return fd([...f],[...m])==="oneBig"?{status:"included",positions:c}:{status:"notIncluded",positions:c}}else if(Oy(a)===4){const f=[...a.map(p=>p.map(g=>g.map(w=>[...w,0])))],m=[];return f.forEach(p=>{m.push(p[0])}),{status:"notIncluded",positions:m}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(t=500,n){if(this.points&&this.points.length>=2){const i=gv(this.points,t,n);return i?[i[0].map(o=>[...o,0])]:void 0}else return}geoPolygonOverlap(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=fd(this.points,t);return n==="oneBig"?!0:n==="twoBig"?!1:void 0}else return}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",coordinate:[...t.coordinate,new $("编辑","编辑",!1,!1,[this,"editing"],!1),new ae("位置数组","位置数组(经纬高数组)",!0,!1,[this,"points"],Wc.defaults.points)],style:[...t.style,new ee("点样式","点样式集合",[]),new $("开启","开启点样式",!1,!1,[this,"pointed"],!1),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启","开启线样式",!1,!1,[this,"stroked"],!0),new $("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new ee("面样式","面样式集合",[]),new $("开启","开启填充样式",!1,!1,[this,"filled"],!1),new $("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new ee("ESGeoVector","ESGeoVector",[new $("是否编辑","是否编辑",!1,!1,[this,"editing"]),new ae("位置数组","位置数组(经纬高数组)",!1,!1,[this,"points"]),new ee("点样式","点样式",[new $("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new de("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new ae("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new ee("线样式","线样式",[new $("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new de("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new ae("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new $("是否贴地","是否贴地",!1,!1,[this,"strokeGround"])]),new ee("填充样式","填充样式",[new $("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new de("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new ae("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}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}};D(Wc,"supportEditingModes",[...Xe.supportEditingModes,xe.Translation]),D(Wc,"defaults",{...Xe.defaults,points:[],pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1});let Ae=Wc;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),pointed:!1,pointStyle:M.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:M.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:M.reactJson(r.defaults.fillStyle),points:M.reactPositions(void 0)})})(Ae||(Ae={})),M.extendClassProps(Ae.prototype,Ae.createDefaultProps);class le extends Xe{constructor(){super(...arguments);D(this,"_statusDis",this.dv(M.react(!0)));D(this,"_smoothMoveEvent",this.dv(new M.Event));D(this,"_smoothMoveWithRotationEvent",this.dv(new M.Event));D(this,"_smoothMoveOnGroundEvent",this.dv(new M.Event));D(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new M.Event));D(this,"_automaticLandingEvent",this.dv(new M.Event));D(this,"_smoothMoveKeepPitchEvent",this.dv(new M.Event));D(this,"_smoothMoveRelativelyEvent",this.dv(new M.Event));D(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new M.Event));D(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var n;const t=[];do{if(this.editingBindMode=="singlePoint"){t.push(xe.Place,xe.Translation),["ESLocationMeasurement"].includes(this.typeName)||t.push(xe.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||t.push(xe.Scale);break}if(this.editingBindMode=="doublePoints"){t.push(xe.DoublePointsAppend,xe.DoublePointsModify);break}}while(!1);(n=this.viewer)==null||n.startEditing(this,t,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(t,n){this._smoothMoveEvent.emit(t,n)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(t,n,i){this._smoothMoveWithRotationEvent.emit(t,n,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(t,n,i,o){this._smoothMoveOnGroundEvent.emit(t,n,i,o)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(t,n,i,o,s){this._smoothMoveWithRotationOnGroundEvent.emit(t,n,i,o,s)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const t=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(t)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(t,n){this._smoothMoveKeepPitchEvent.emit(t,n)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(t,n){this._smoothMoveRelativelyEvent.emit(t,n)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(t,n,i){this._smoothMoveRelativelyWithRotationEvent.emit(t,n,i)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",location:[...t.location,new $("是否编辑","是否编辑",!1,!1,[this,"editing"]),new Se("自动落地","自动落地",[],()=>this.automaticLanding(),[]),new ci("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"],[0,0,0]),new Qc("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"],[0,0,0]),new Kt("缩放","缩放",!1,!1,[this,"scale"],[1,1,1]),new H("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"],0),new H("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"],0)]}}getProperties(t){return[...super.getProperties(t),new ee("位置姿态对象","位置姿态对象ESObjectWithLocation",[new Se("平滑移动","smoothMove",["numbers","number"],(n,i)=>this.smoothMove(n,i),[[0,0,0],0]),new Se("固定方向平滑移动","smoothMoveKeepPitch",["numbers","number"],(n,i)=>this.smoothMoveKeepPitch(n,i),[[0,0,0],0]),new Se("平滑偏移","smoothMoveWithRotation",["numbers","numbers","number"],(n,i,o)=>this.smoothMoveWithRotation(n,i,o),[[0,0,0],[0,0,0],0]),new Se("贴地平滑移动","smoothMoveOnGround",["number","number","number","string"],(n,i,o,s)=>this.smoothMoveOnGround(n,i,o,s),[0,0,0,""]),new Se("贴地平滑偏移","smoothMoveWithRotationOnGround",["numbers","number","number","number","string"],(n,i,o,s,a)=>this.smoothMoveWithRotationOnGround(n,i,o,s,a),[[0,0,0],0,0,0,""]),new Se("smoothMoveRelatively","smoothMoveRelatively",["numbers","number"],(n,i)=>this.smoothMoveRelatively(n,i),[[0,0,0],0]),new Se("smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation",["numbers","numbers","number"],(n,i,o)=>this.smoothMoveRelativelyWithRotation(n,i,o),[[0,0,0],[0,0,0],0]),new ci("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"]),new Qc("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"]),new Kt("缩放","缩放",!1,!1,[this,"scale"]),new $("是否编辑","是否开启编辑状态",!0,!1,[this,"editing"],!1),new H("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"]),new H("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"]),new $("是否应用距离显隐","是否应用距离显隐",!1,!1,[this,"enableVisibleDistance"])])]}}D(le,"supportEditingModes",[...Xe.supportEditingModes,xe.Place,xe.Translation,xe.Rotation,xe.Scale,xe.DoublePointsAppend,xe.DoublePointsModify]),D(le,"defaults",{...Xe.defaults}),(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),position:M.reactArray([0,0,0]),rotation:M.reactArray([0,0,0]),scale:M.reactArray([1,1,1]),minVisibleDistance:M.react(0),maxVisibleDistance:M.react(0)})})(le||(le={})),M.extendClassProps(le.prototype,le.createDefaultProps);class Ni extends le{getESProperties(){const e={...super.getESProperties()};return{...e,style:[...e.style,new ee("点样式","点样式集合",[]),new $("开启点样式","开启点样式",!1,!1,[this,"pointed"],!1),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启线样式","开启线样式",!1,!1,[this,"stroked"],!1),new $("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new ee("面样式","面样式集合",[]),new $("开启填充样式","开启填充样式",!1,!1,[this,"filled"],!1),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new ee("ESLocalVector","ESLocalVector",[new ae("点样式","点样式(pointMaterialParams)",!1,!1,[this,"pointStyle"]),new ae("线样式","线样式(strokeMaterialParams)",!1,!1,[this,"strokeStyle"]),new ae("填充样式","填充样式(fillMaterialParams)",!1,!1,[this,"fillStyle"]),new ee("点样式","点样式",[new $("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new de("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new ae("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new ee("线样式","线样式",[new $("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new de("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new ae("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new $("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1)]),new ee("填充样式","填充样式",[new $("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new de("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new ae("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}}D(Ni,"defaults",{...le.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1}),(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),pointed:!1,pointStyle:M.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:M.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:M.reactJson(r.defaults.fillStyle)})})(Ni||(Ni={})),M.extendClassProps(Ni.prototype,Ni.createDefaultProps);class Kr extends Ni{getESProperties(){return{...super.getESProperties()}}getProperties(e){return[...super.getProperties(e)]}}D(Kr,"defaults",{...Ni.defaults}),(r=>{r.createDefaultProps=()=>({...Ni.createDefaultProps()})})(Kr||(Kr={})),M.extendClassProps(Kr.prototype,Kr.createDefaultProps);const My=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],Iy=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]];class jt extends le{constructor(){super(...arguments);D(this,"_widgetEvent",this.dv(new M.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new $("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new $("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new at("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new at("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new at("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new ce("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],Iy,0),new ce("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],My,1),new de("绑定对象","actorTag",!1,!1,[this,"actorTag"]),new de("插槽名称","socketName",!1,!1,[this,"socketName"]),new Kt("位置偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new Kt("相对姿态","rotationOffset(米)",!1,!1,[this,"rotationOffset"])]}}getProperties(t){return[...super.getProperties(t),new ee("标签属性","标签对象ESLabel的属性",[new $("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new $("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new at("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new at("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new at("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new ce("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],Iy,0),new ce("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],My,1),new H("排序","zOrder排序",!1,!1,[this,"zOrder"],0)])]}}D(jt,"defaults",{...le.defaults,screenRender:!0,size:[100,100],anchor:[.5,.5],sizeByContent:!0,renderMode:0,rotationType:1}),(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),screenRender:!0,size:M.reactArray([100,100]),anchor:M.reactArray([.5,1]),offset:M.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:M.reactArray([0,0,0]),rotationOffset:M.reactArray([0,0,0])})})(jt||(jt={})),M.extendClassProps(jt.prototype,jt.createDefaultProps);const Qr=class Qr extends Xe{constructor(){super(...arguments);D(this,"_refreshTilesetEvent",this.dv(new M.Event));D(this,"_tilesetReadyEvent",this.dv(new M.Event));D(this,"_supportEdit",this.dv(M.react(!0)));D(this,"_highlightFeatureEvent",this.dv(new M.Event));D(this,"_highlightFeatureAndFlyToEvent",this.dv(new M.Event));D(this,"_getFeatureTableEvent",this.dv(new M.Event));D(this,"_featureTableResultEvent",this.dv(new M.Event));D(this,"_getMaterialNameListEvent",this.disposeVar(new M.Event));D(this,"_setFeatureStyleEvent",this.dv(new M.Event));D(this,"_setFeatureColorEvent",this.dv(new M.Event));D(this,"_setFeatureVisableEvent",this.dv(new M.Event));D(this,"_resetFeatureStyleEvent",this.dv(new M.Event));D(this,"setMaterialInfoEvent",this.ad(new M.Event));D(this,"_setMaterialEvent",this.disposeVar(new M.Event));D(this,"_clippingPlanesId",this.dv(M.react("")));D(this,"_clippingPlaneIds",this.dv(M.react([])));D(this,"_flattenedPlaneId",this.dv(M.react("")));D(this,"_flattenedPlaneEnabled",this.dv(M.react(!1)));D(this,"_clippingPlaneId",this.dv(M.react("")));D(this,"_excavateId",this.dv(M.reactArray([])))}get typeName(){return"ES3DTileset"}get defaultProps(){return Qr.createDefaultProps()}updateEditing(){var t;(t=this.viewer)==null||t.startEditing(this,[xe.Translation,xe.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(t){this._supportEdit.value=t}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(t,n){this._highlightFeatureEvent.emit(t,n)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(t,n,i,o){this._highlightFeatureAndFlyToEvent.emit(t,n,i,o)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(t=>{const n=this.d(this._featureTableResultEvent.donce(t));this._getFeatureTableEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(t=>{const n=new M.Destroyable;n.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(n.destroy(),t(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{n.isDestroyed()||(n.destroy(),t(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(t){this._setFeatureStyleEvent.emit(t)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(t,n){this._setFeatureColorEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(t,n){this._setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(n=>{const i=new M.Destroyable;i.ad(this.setMaterialInfoEvent.donce(o=>{i.destroy(),n(o)})),this._setMaterialEvent.emit(t)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(t){this._clippingPlanesId.value=t}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(t){this._clippingPlaneIds.value=t}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(t){this._flattenedPlaneId.value=t}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(t){this._flattenedPlaneEnabled.value=t}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(t){this._clippingPlaneId.value=t}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(t){this._excavateId.value=t}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...Ld}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new ut("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new ce("材质模式","materialMode",!0,!1,[this,"materialMode"],Qr.defaults.materialModes,"normal"),new ce("颜色模式","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"HIGHLIGHT"),new ae("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Qr.defaults.materialOverrideMap)],dataSource:[...t.dataSource,new ae("服务地址","服务地址",!0,!1,[this,"url"],Qr.defaults.url)],coordinate:[...t.coordinate,new $("编辑","编辑",!0,!1,[this,"editing"],!1),new Kt("偏移","偏移量",!0,!1,[this,"offset"],[0,0,0]),new Qc("旋转","旋转",!1,!1,[this,"rotation"],[0,0,0])]}}getProperties(t){return[...super.getProperties(t),new ee("ES3DTileset","ES3DTileset",[new ae("服务地址","服务地址",!1,!1,[this,"url"],Qr.defaults.url),new ce("materialMode","materialMode",!1,!1,[this,"materialMode"],Qr.defaults.materialModes),new ae("materialParams","materialParams",!1,!1,[this,"materialParams"],Qr.defaults.materialParams),new H("maximumScreenSpaceError","显示精度,maximumScreenSpaceError",!1,!1,[this,"maximumScreenSpaceError"]),new $("编辑","编辑",!1,!1,[this,"editing"],!1),new ci("offset","offset",!0,!1,[this,"offset"]),new ci("rotation","rotation",!1,!1,[this,"rotation"]),new ut("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new Se("highlightFeature","highlightFeature",["string","string"],(n,i)=>this.highlightFeature(n,i),["","rgba(255,0,0,1)"]),new Se("setFeatureColor","setFeatureColor",["string","string"],(n,i)=>this.setFeatureColor(n,i),["",""]),new Se("setFeatureVisable","setFeatureVisable",["string","string"],(n,i)=>this.setFeatureVisable(n,i),["",""]),new Se("resetFeatureStyle","resetFeatureStyle",[],()=>this.resetFeatureStyle(),[]),new ee("ue","ue",[new Se("refreshTileset","refreshTileset",[],()=>this.refreshTileset(),[]),new de("actorTag","actorTag",!1,!1,[this,"actorTag"]),new $("是否高亮","是否高亮.",!1,!1,[this,"highlight"]),new ge("highlightColor"," highlightColor.",!1,!1,[this,"highlightColor"]),new H("highlightID","highlightID",!1,!1,[this,"highlightID"]),new ae("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Qr.defaults.materialOverrideMap)]),new ee("czm","czm",[new ee("可视化","可视化",[new at("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new H("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new ae("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new H("czmMaximumMemoryUsage","最大内存,maximumMemoryUsage",!1,!1,[this,"czmMaximumMemoryUsage"])]),new ee("常用","常用",[new ce("czmClassificationType","Determines whether terrain, 3D Tiles or both will be classified by this tileset. See Cesium3DTileset#czmClassificationType for details about restrictions and limitations.",!0,!1,[this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]),new ae("czmStyle","czmStyle",!1,!1,[this,"czmStyleJson"]),new $("czmBackFaceCulling","czmBackFaceCulling",!1,!1,[this,"czmBackFaceCulling"]),new $("czmSkipLevelOfDetail","czmSkipLevelOfDetail",!1,!1,[this,"czmSkipLevelOfDetail"]),new ce("colorBlendMode","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["HIGHLIGHT","HIGHLIGHT"],["REPLACE","REPLACE"],["MIX","MIX"]],"HIGHLIGHT"),new H("cacheBytes","最大缓存占用,超过的会自动卸载,但是视野范围内能看见的保留。单位字节。Cesium1.110(含)以后的版本起作用。",!1,!1,[this,"cacheBytes"],536870912)]),new ee("调试信息","调试信息",[new $("czmDebugShowBoundingVolume","For debugging only.When true, renders the bounding volume for each tile.",!1,!1,[this,"czmDebugShowBoundingVolume"]),new $("czmDebugShowContentBoundingVolume","czmDebugShowContentBoundingVolume.",!1,!1,[this,"czmDebugShowContentBoundingVolume"])]),new ee("clippingPlanes","clippingPlanes",[new $("clippingPlaneEnabled","clippingPlaneEnabled",!1,!1,[this,"clippingPlaneEnabled"]),new $("unionClippingRegions","unionClippingRegions",!1,!1,[this,"unionClippingRegions"]),new ge("clippingPlaneEdgeColor","clippingPlaneEdgeColor",!1,!1,[this,"clippingPlaneEdgeColor"]),new H("clippingPlaneEdgeWidth","clippingPlaneEdgeWidth",!1,!1,[this,"clippingPlaneEdgeWidth"])])])])]}};D(Qr,"type",Qr.register("ES3DTileset",Qr,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),D(Qr,"supportEditingModes",[...Xe.supportEditingModes,xe.Translation,xe.Rotation]),D(Qr,"defaults",{...Xe.defaults,url:"",actorTag:"",materialMode:"normal",materialModes:[["常规","normal"],["科技感","technology"]],offset:[0,0,0],materialParams:{baseColor:[0,.5,1]},cacheBytes:536870912,materialOverrideMap:{}});let Yt=Qr;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:M.reactArray([1,0,0,1]),offset:M.reactArrayWithUndefined(void 0),rotation:M.reactArray([0,0,0]),czmImageBasedLightingFactor:M.reactArray([1,1]),czmEnvironmentMapManager:M.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:M.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:536870912,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:M.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:M.reactJsonWithUndefined(void 0)})})(Yt||(Yt={})),M.extendClassProps(Yt.prototype,Yt.createDefaultProps);const ks=class ks extends le{constructor(t){super(t);D(this,"_isFlyInCreated",this.dv(M.react(!1)));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const i=this.dv(M.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(i.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get typeName(){return"ESAlarm"}get defaultProps(){return ks.createDefaultProps()}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(t){this._isFlyInCreated.value=t}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("模式","mode",!1,!1,[this,"mode"],ks.defaults.modes,"cylinder"),new H("半径","radius",!1,!1,[this,"radius"],10)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new ce("mode","mode",!1,!1,[this,"mode"],ks.defaults.modes),new H("半径","radius",!1,!1,[this,"radius"])])]}};D(ks,"type",ks.register("ESAlarm",ks,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"})),D(ks,"defaults",{...le.defaults,modes:[["柱状警告","cylinder"],["圆形警告","circle"]],radius:100,czmAnimations:[{index:0,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}]});let ua=ks;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mode:"cylinder",radius:10})})(ua||(ua={})),M.extendClassProps(ua.prototype,ua.createDefaultProps);const Pu=class Pu extends le{get typeName(){return"ESApertureEffect"}get defaultProps(){return Pu.createDefaultProps()}constructor(e){super(e),this.collision=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new H("半径","radius",!1,!1,[this,"radius"],1)]}}getProperties(e){return[...super.getProperties(e),new H("半径","radius",!1,!1,[this,"radius"])]}};D(Pu,"type",Pu.register("ESApertureEffect",Pu,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"})),D(Pu,"defaults",{...le.defaults,radius:1});let la=Pu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),radius:1})})(la||(la={})),M.extendClassProps(la.prototype,la.createDefaultProps);const Rn=class Rn extends Ae{constructor(t){super(t);D(this,"editingBindMode","circular");this.collision=Rn.defaults.collision,this.filled=Rn.defaults.filled,this.stroked=Rn.defaults.stroked,this.fillStyle=Rn.defaults.fillStyle,this.strokeStyle=Rn.defaults.strokeStyle}get typeName(){return"ESGeoPolygon"}get defaultProps(){return Rn.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new H("面积","面积",!1,!0,[this,"area"]),new H("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new ee("ESGeoPolygon","ESGeoPolygon",[])]}};D(Rn,"type",Rn.register("ESGeoPolygon",Rn,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),D(Rn,"supportEditingModes",[...Ae.supportEditingModes,xe.CircularAppend,xe.CircularInsert]),D(Rn,"defaults",{...Ae.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{},ground:!1},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},filled:!0,stroked:!1,collision:!1});let ze=Rn;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps()})})(ze||(ze={})),M.extendClassProps(ze.prototype,ze.createDefaultProps);const ls=class ls extends ze{get typeName(){return"ESAreaMeasurement"}get defaultProps(){return ls.createDefaultProps()}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:ls.defaults.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle??ls.defaults.fillStyle,materialParams:e??ls.defaults.fillStyle.materialParams}}constructor(e){super(e),this.fillStyle.ground=!0,this.strokeStyle.width=2}getProperties(e){return[...super.getProperties(e)]}};D(ls,"type",ls.register("ESAreaMeasurement",ls,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"面积测量"})),D(ls,"defaults",{...ze.defaults,fillStyle:{color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!1}});let ca=ls;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),stroked:!0,filled:!0})})(ca||(ca={})),M.extendClassProps(ca.prototype,ca.createDefaultProps);const Su=class Su extends le{get typeName(){return"ESBlastParticleSystem"}get defaultProps(){return Su.createDefaultProps()}constructor(e){super(e)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ee("czm","czm",[new ql("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Kt("偏移","translation",!1,!1,[this,"translation"])])])]}};D(Su,"type",Su.register("ESBlastParticleSystem",Su,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"})),D(Su,"defaults",{...le.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let ha=Su;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",positionEditing:void 0,translation:M.reactArray([0,0,0])})})(ha||(ha={})),M.extendClassProps(ha.prototype,ha.createDefaultProps);const Er=class Er extends le{get typeName(){return"ESBoxClipping"}get defaultProps(){return{...Er.createDefaultProps()}}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new $("反转","reverse",!1,!1,[this,"reverse"],Er.defaults.reverse),new Kt("尺寸","长宽高",!1,!1,[this,"size"],Er.defaults.size),new ge("边框颜色","edgeColor",!1,!1,[this,"edgeColor"],Er.defaults.edgeColor),new H("边框宽度","edgeWidth",!1,!1,[this,"edgeWidth"],Er.defaults.edgeWidth),new de("瓦片图层","targetID",!1,!1,[this,"targetID"],Er.defaults.targetID)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new $("reverse","reverse",!1,!1,[this,"reverse"],Er.defaults.reverse),new ge("edgeColor","edgeColor",!1,!1,[this,"edgeColor"],Er.defaults.edgeColor),new H("edgeWidth","edgeWidth",!1,!1,[this,"edgeWidth"],Er.defaults.edgeWidth),new Kt("尺寸","长宽高",!1,!1,[this,"size"],Er.defaults.size),new de("targetID","targetID",!1,!1,[this,"targetID"],Er.defaults.targetID)])]}};D(Er,"type",Er.register("ESBoxClipping",Er,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"})),D(Er,"defaults",{...le.defaults,reverse:!1,edgeColor:[1,1,1,1],edgeWidth:1,size:[10,10,10],targetID:""});let fa=Er;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),reverse:!1,edgeColor:M.reactArray([1,1,1,1]),edgeWidth:2,size:M.reactArray([10,10,10]),targetID:""})})(fa||(fa={})),M.extendClassProps(fa.prototype,fa.createDefaultProps);const Gs=class Gs extends le{constructor(){super(...arguments);D(this,"_thumbnail",this.dv(M.react("")));D(this,"_duration",this.dv(M.react(1)));D(this,"_resetWithCurrentCameraEvent",this.dv(new M.Event));D(this,"_captureEvent",this.dv(new M.Event))}get typeName(){return"ESCameraView"}get defaultProps(){return Gs.createDefaultProps()}get thumbnail(){return this._thumbnail.value}set thumbnail(t){this._thumbnail.value=t}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(t){this._duration.value=t}get durationChanged(){return this._duration.changed}flyIn(t=1,n="default"){this.flyInEvent.emit(t,-1,n)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(t,n){this._captureEvent.emit(t,n)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getProperties(t){return[...super.getProperties(t),new ee("ESCameraView","ESCameraView",[new Se("设置为当前视角","resetWithCurrentCamera",[],()=>this.resetWithCurrentCamera(),[]),new Se("获取缩略图","获取缩略图",["number","number"],(n,i)=>this.capture(n,i),[Gs.defaults.thumbnailWidth,Gs.defaults.thumbnailHeight]),new de("缩略图","缩略图",!0,!1,[this,"thumbnail"]),new H("飞行时间","飞行时间(秒)",!0,!1,[this,"duration"])])]}};D(Gs,"type",Gs.register("ESCameraView",Gs,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"})),D(Gs,"defaults",{...le.defaults,thumbnailWidth:64,thumbnailHeight:64,duration:1,thumbnail:""});let Eo=Gs;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps()})})(Eo||(Eo={})),M.extendClassProps(Eo.prototype,Eo.createDefaultProps);class Zh extends M.Destroyable{constructor(t,n,i){super();D(this,"_view",this.dv(new Eo));if(this.d(t.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${t.views.length+1}`,n){const a=this._view,c=n;a.duration=c.duration??1,a.position=c.position,a.rotation=c.rotation??[0,0,0],a.thumbnail=c.thumbnail??"",a.name=c.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(M.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const o=this._view,s=this.dv(M.createNextAnimateFrameEvent(o.durationChanged,o.positionChanged,o.rotationChanged,o.thumbnailChanged,o.nameChanged));this.d(s.don(()=>t.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const t=this._view;return{duration:t.duration,position:t.position,rotation:t.rotation,thumbnail:t.thumbnail,name:t.name}}}const $r=class $r extends we{constructor(t){super(t);D(this,"_currentViewIndex",this.dv(M.react(-1)));D(this,"_viewWrappers",this.dv(new M.ObservableArray));D(this,"_currentViewWrapper",this.dv(M.react(void 0)));D(this,"_container",this.dv(M.react(void 0)));{const n=this.dv(M.createProcessingFromAsyncFunc(async o=>{var s;do{if(!this.flyToNextView())break;const a=this.intervalTime??$r.defaults.intervalTime,f=((((s=this._currentViewWrapper.value)==null?void 0:s.viewInfo.duration)??0)+a)*1e3;await o.promise(M.sleep(f))}while(!0);this.playing=!1})),i=()=>{this.playing?n.restart():n.cancel()};i(),this.d(this.playingChanged.don(i))}{const n=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};n(),this.d(this._viewWrappers.changedEvent.don(n))}{const n=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};n(),this.d(this._viewWrappers.changedEvent.don(n)),this.d(this._currentViewWrapper.changed.don(n))}this.d(()=>{this.clearAllViews()})}get typeName(){return"ESCameraViewCollection"}get defaultProps(){return $r.createDefaultProps()}get json(){return{...this._innerGetJson(),views:this.views}}set json(t){this._innerSetJson(t),this.views=t.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}get views(){return fp(this._viewWrappers,t=>t.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(t){if(t.length===this._viewWrappers.length){const n=this._viewWrappers;if(t.every((i,o)=>{const s=n.get(o).view;return i.duration===s.duration&&yf(i.position,s.position)&&yf(i.rotation,s.rotation)&&i.thumbnail===s.thumbnail&&i.name===s.name}))return}this.clearAllViews();for(let n of t)this._viewWrappers.push(new Zh(this,n))}_getIndex(t){return this._viewWrappers.indexOf(t)}clearAllViews(){for(let t of this._viewWrappers)t.destroy();this._viewWrappers.length=0}add(t=`视角${this.views.length+1}`,n=[64,64]){this._viewWrappers.push(new Zh(this,void 0,{name:t,size:n}))}update(t,n,i=[64,64]){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const o=this._viewWrappers.get(t);n&&(o.view.name=n),o.view.resetWithCurrentCamera(),o.view.capture(i[0],i[1])}addView(){this._viewWrappers.push(new Zh(this))}insertView(t){if(this._viewWrappers.length+1<=t||t<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(t,0,new Zh(this))}setCurrentView(t){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const n=this._viewWrappers.get(t);return this._currentViewWrapper.value=n,!0}resetView(t){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const n=this._viewWrappers.get(t);n.view.resetWithCurrentCamera(),n.view.capture()}resetViewName(t,n){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(t);i.view.name=n}updateView(t,n){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(t);i.view.position=n.position,i.view.rotation=n.rotation??[0,0,0],i.view.duration=n.duration??1,i.view.thumbnail=n.thumbnail??"",i.view.name=n.name??""}flyToView(t){if(this.setCurrentView(t)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const n=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(n,this.flyMode??$r.defaults.flyMode)}}flyToPrevView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??$r.defaults.loop?(this.flyToView((this._viewWrappers.length+n-1)%this._viewWrappers.length),!0):n-1<0?!1:(this.flyToView(n-1),!0)}moveToPreView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===0)return;const i=this._viewWrappers.splice(n-1,1,t)[0];this._viewWrappers.set(n,i)}moveToNextView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(n+1,1,t)[0];this._viewWrappers.set(n,i)}flyToNextView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??$r.defaults.loop?(this.flyToView((n+1)%this._viewWrappers.length),!0):n+1>this._viewWrappers.length-1?!1:(this.flyToView(n+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(t){if(t<0||t>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(t).destroy(),this._viewWrappers.splice(t,1)}deleteCurrentView(){const t=this._currentViewWrapper.value;if(!t){console.warn("!this._currentViewWrapper.value");return}const n=this._getIndex(t);if(n===-1){console.warn("index === -1");return}this.deleteView(n)}transitionImageUrl(t){return we.context.getStrFromEnv(t)}getProperties(t){return[...super.getProperties(t),new ee("ESCameraViewCollection","ESCameraViewCollection",[new ce("飞行模式","flyMode",!1,!1,[this,"flyMode"],$r.defaults.flyModes,$r.defaults.flyMode),new Se("添加视角","添加视角",[],()=>this.addView(),[]),new Se("插入视角","插入视角",["number"],n=>this.insertView(n),[0]),new Se("清空所有视角","清空所有视角",[],()=>this.clearAllViews(),[]),new Se("当前位置插入视角","当前位置插入视角",[],()=>this.insertView(this.currentViewIndex+1),[]),new Se("上一个视角","上一个视角",[],()=>this.flyToPrevView(),[]),new Se("下一个视角","下一个视角",[],()=>this.flyToNextView(),[]),new Se("当前视角移动到上一个视角","当前视角移动到上一个视角",[],()=>this.moveToPreView(),[]),new Se("当前视角移动到下一个视角","当前视角移动到下一个视角",[],()=>this.moveToNextView(),[]),new Se("飞入指定视角","飞入指定视角",["number"],n=>this.flyToView(n),[0]),new Se("设置当前视角","设置当前视角",["number"],n=>this.setCurrentView(n),[0]),new Se("删除当前视角","删除当前视角",[],()=>this.deleteCurrentView(),[]),new Se("删除指定视角","删除指定视角",["number"],n=>this.deleteView(n),[0]),new Se("重置视角","重置视角",["number"],n=>this.resetView(n),[0]),new H("当前序号","当前序号",!1,!0,[this,"currentViewIndex"]),new ap("播放","播放",[this,"playing"],()=>this.stop(),[this,"loop"],$r.defaults),new $("是否播放","是否播放.",!1,!1,[this,"playing"]),new Se("停止","停止",[],()=>this.stop(),[]),new $("是否循环","是否循环.",!1,!1,[this,"loop"]),new H("间隔时间","间隔时间(s)",!1,!1,[this,"intervalTime"]),new ae("视角集合","类型为ESJViewInfo[]",!0,!1,[this,"views"],$r.defaults.views)])]}};D($r,"type",$r.register("ESCameraViewCollection",$r,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"})),D($r,"defaults",{...we.defaults,loop:!0,playing:!1,intervalTime:5,duration:1,views:[],flyMode:"default",flyModes:[["默认","default"],["直线飞行","uniform"]]});let Po=$r;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})})(Po||(Po={})),M.extendClassProps(Po.prototype,Po.createDefaultProps);const Cu=class Cu extends le{constructor(t){super(t);D(this,"editingBindMode","doublePoints")}get typeName(){return"ESCameraVisibleRange"}get defaultProps(){return Cu.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],1.77778),new H("横向夹角","fov",!1,!1,[this,"fov"],90),new H("视野长度","far",!1,!1,[this,"far"],100),new H("近面距离","near",!1,!1,[this,"near"],5)]}}getProperties(t){return[...super.getProperties(t),new H("横向夹角","fov",!1,!1,[this,"fov"]),new H("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new H("视野长度","far",!1,!1,[this,"far"]),new H("近面距离","near",!1,!1,[this,"near"])]}};D(Cu,"type",Cu.register("ESCameraVisibleRange",Cu,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"})),D(Cu,"defaults",{...le.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1});let da=Cu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})})(da||(da={})),M.extendClassProps(da.prototype,da.createDefaultProps);const Vs=class Vs extends le{get typeName(){return"ESCar"}get defaultProps(){return Vs.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ce("模式","mode",!1,!1,[this,"mode"],Vs.defaults.modeEnum,"policeCar")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ce("mode","mode",!1,!1,[this,"mode"],Vs.defaults.modeEnum)])]}};D(Vs,"type",Vs.register("ESCar",Vs,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"})),D(Vs,"defaults",{...le.defaults,modeEnum:[["警车","policeCar"]],mode:"policeCar"});let pa=Vs;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mode:"policeCar",allowPicking:!0})})(pa||(pa={})),M.extendClassProps(pa.prototype,pa.createDefaultProps);const Io=class Io extends Ae{constructor(t){super(t);D(this,"editingBindMode","circular");this.fillGround=!0}get typeName(){return"ESClassification"}get defaultProps(){return Io.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H("高度","高度",!1,!1,[this,"height"],10)],coordinate:[...t.coordinate,new H("面积","面积",!1,!0,[this,"area"]),new H("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new H("高度","高度",!1,!1,[this,"height"])])]}};D(Io,"type",Io.register("ESClassification",Io,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),D(Io,"supportEditingModes",[...Ae.supportEditingModes,xe.CircularAppend,xe.CircularInsert,xe.HeightModify]),D(Io,"defaults",{...Ae.defaults,fillStyle:{material:"",materialParams:{},ground:!0,color:[1,1,1,1]},filled:!0});let So=Io;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),height:10,filled:!0})})(So||(So={})),M.extendClassProps(So.prototype,So.createDefaultProps);const xu=class xu extends le{get typeName(){return"ESClippingPlane"}get defaultProps(){return xu.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new $("显示箭头","显示箭头",!1,!1,[this,"showArrow"],!0),new ge("线框颜色","edgeColor",!1,!1,[this,"edgeColor"],[1,1,1,1]),new H("线框宽度","edgetWidth",!1,!1,[this,"edgetWidth"],2),new H("裁剪宽度","width",!1,!1,[this,"width"],200),new H("裁剪高度","height",!1,!1,[this,"height"],200),new de("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ee("czm","czm",[new $("显示箭头","显示箭头",!1,!1,[this,"showArrow"]),new ge("edgeColor","edgeColor",!1,!1,[this,"edgeColor"]),new H("edgetWidth","edgetWidth",!1,!1,[this,"edgetWidth"]),new H("width","width",!1,!1,[this,"width"]),new H("height","height",!1,!1,[this,"height"]),new de("targetID","targetID",!1,!1,[this,"targetID"])])])]}};D(xu,"type",xu.register("ESClippingPlane",xu,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"})),D(xu,"defaults",{...le.defaults});let ga=xu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),showArrow:!0,edgeColor:M.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})})(ga||(ga={})),M.extendClassProps(ga.prototype,ga.createDefaultProps);class QS extends M.Destroyable{constructor(e,t,n){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container`);{const c=()=>{const m=`${t.cssText}
274
+ `,wr=class wr extends M.Destroyable{constructor(){super();D(this,"_ratio",this.disposeVar(M.react(0)));D(this,"_subPlayers",this.disposeVar(new M.ObservableArray));const t=this.disposeVar(new M.Player);{const s=()=>{t.loop=this.loop??wr.defaults.loop};s(),this.dispose(this.loopChanged.disposableOn(s))}{const s=()=>{(this.loop??wr.defaults.loop)!==t.loop&&(this.loop=t.loop)};s(),this.dispose(t.loopChangedEvent.disposableOn(s))}{const s=()=>{t.currentTime=this.currentTime??wr.defaults.currentTime};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{(this.currentTime??wr.defaults.currentTime)!==t.currentTime&&(this.currentTime=t.currentTime)};s(),this.dispose(t.currentTimeChangedEvent.disposableOn(s))}{const s=()=>{t.duration=this.duration??wr.defaults.duration};s(),this.dispose(this.durationChanged.disposableOn(s))}{const s=()=>{(this.duration??wr.defaults.duration)!==t.duration&&(this.duration=t.duration)};s(),this.dispose(t.durationChangedEvent.disposableOn(s))}{const s=()=>{t.speed=this.speed??wr.defaults.speed};s(),this.dispose(this.speedChanged.disposableOn(s))}{const s=()=>{(this.speed??wr.defaults.speed)!==t.speed&&(this.speed=t.speed)};s(),this.dispose(t.speedChangedEvent.disposableOn(s))}{const s=()=>{t.playing=this.playing??wr.defaults.playing};s(),this.dispose(this.playingChanged.disposableOn(s))}{const s=()=>{(this.playing??wr.defaults.playing)!==t.playing&&(this.playing=t.playing)};s(),this.dispose(t.playingChangedEvent.disposableOn(s))}const n=()=>{const s=this.duration??wr.defaults.duration;s>0&&(this._ratio.value=(this.currentTime??wr.defaults.currentTime)/s)};n();const i=this.disposeVar(M.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.dispose(i.disposableOn(n)),this.dispose(()=>{const{length:s}=this._subPlayers;for(let a=0;a<s;++a)this._subPlayers.get(a).destroy();this._subPlayers.length=0});const o=()=>{for(let a of this._subPlayers)a.destroy();if(this._subPlayers.length=0,!this.channels)return;const s=this.channels.map(a=>{const[c,f,m]=a;return new US(c,f,m,this)});this._subPlayers.splice(0,0,...s)};o(),this.dispose(this.channelsChanged.disposableOn(o))}get ratio(){return this._ratio.value}set ratio(t){Math.abs(this._ratio.value-t)<.001||(this.currentTime=(this.duration??wr.defaults.duration)*t)}get ratioChanged(){return this._ratio.changed}};D(wr,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),D(wr,"channelsReadMe",WS);let Ti=wr;(r=>{r.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:M.reactDeepArrayWithUndefined(void 0,(e,t)=>e==null?void 0:e.every((n,i)=>n===t[i]),e=>[...e])})})(Ti||(Ti={})),M.extendClassProps(Ti.prototype,Ti.createDefaultProps);class Gd extends M.Destroyable{constructor(t){super();D(this,"_sceneObject",this.disposeVar(M.react(void 0)));this._id=t,this.dispose(()=>{this._sceneObject.value=void 0});const n=we.getSceneObjById(this._id);n&&(this._sceneObject.value=n),this.dispose(we.context.sceneObjCreatedEvent.disposableOn(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.dispose(we.context.sceneObjToDestroyEvent.disposableOn(i=>{i.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class qS extends M.Destroyable{constructor(t,n){super();D(this,"_sofi");this._id=t,this._sofi=this.disposeVar(new Gd(this._id));{const i=()=>{n.sceneObject=this._sofi.sceneObject};i(),this.dispose(this._sofi.sceneObjectChanged.disposableOn(i))}}}class HS extends M.Destroyable{constructor(){super();D(this,"_id",this.disposeVar(M.react(void 0)));D(this,"_sceneObject",this.disposeVar(M.react(void 0)));D(this,"_resetting",this.disposeVar(new M.ObjResettingWithEvent(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new qS(t,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(t){this._id.value=t}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(t){this._sceneObject.value=t}get resetting(){return this._resetting}}class XS extends M.Destroyable{constructor(e,t,n,i){super(),this.disposeVar(new M.ObjResettingWithEvent(e.sceneObjectChanged,()=>{let o;i.debug&&console.log("正在获取Event事件...");do{const s=e.sceneObject;if(!s||!t)break;const a=t.split(".");if(a.length===0){i.debug&&console.warn("propNames.length === 0");break}let c=M.pluckProperty(s,!1,...a);if((!c||!(c instanceof M.Event))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),c=M.pluckProperty(s,!1,...a),i.debug&&c&&console.warn("event仍然获取不到!")),!c){i.debug&&console.warn(`cannot get changed from ${s.id}-${s.name}-${s.ref}-${t}`);break}if(!(c instanceof M.Event)){i.debug&&console.warn(`the prop is not event from ${s.id}-${s.name}-${s.ref}-${t}`);break}o=c,i.debug&&console.log(`Event获取成功 propChangedName: ${t}`,o)}while(!1);if(o){const s=new M.Destroyable;return s.dispose(o.dwon(()=>n.emit())),s}else{i.debug&&console.log(`未获取到Event!propChangedName: ${t}`);return}}))}}let YS=class extends M.Destroyable{constructor(t,n,i){super();D(this,"_doEvalEvent",this.dv(new M.Event));const o=this._doEvalEvent,s=this.disposeVar(M.createNextAnimateFrameEvent(o)),a=t.map(([c,f])=>{const m=new Gd(c),p=f&&new XS(m,f,o,n)||void 0;return[m,p]});this.dispose(()=>{a.forEach(([c,f])=>{f==null||f.destroy(),c.destroy()}),a.length=0}),this.dispose(o.disposableOn(()=>{const{evalMode:c="NextAnimateFrame",evalOnlyWhenObjsAllExist:f=!0}=n;if(c==="Immediate"){const m=a.map(([p])=>p.sceneObject);(!f||m.every(p=>p!==void 0))&&i(m)}})),this.dispose(s.disposableOn(()=>{const{evalMode:c="NextAnimateFrame",evalOnlyWhenObjsAllExist:f=!0}=n;if(c==="NextAnimateFrame"){const m=a.map(([p])=>p.sceneObject);(!f||m.every(p=>p!==void 0))&&i(m)}}))}forceExecute(){this._doEvalEvent.emit()}};const xy=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:YS},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:JS}=xy;class zc extends M.Destroyable{constructor(){super();D(this,"_evalFunc");D(this,"_forceExecute",new M.Event);const t=this.dv(M.react(void 0)),n=()=>{try{t.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",t.value)}catch(s){console.error(`evalFunc get error! ${s}`),t.value=void 0}};n(),this.dispose(this.evalFuncStrChanged.disposableOn(n));const i=s=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(s),t.value&&t.value(s))},o=this.disposeVar(new M.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new JS(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var s;(s=o.obj)==null||s.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(t){this._evalFunc=t}forceExecute(){this._forceExecute.emit()}}(r=>{r.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:M.reactDeepArray([],(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[e[0],e[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:M.reactJson(void 0),devTags:M.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(zc||(zc={})),M.extendClassProps(zc.prototype,zc.createDefaultProps);function KS(r,e,t){var i;((i=e.viewer)==null?void 0:i.getEngineObject(e))?t.call(r):r.dispose(e.createdEvent.don(()=>t.call(r)))}const ht=class ht extends we{constructor(t){super(t);D(this,"_editing",this.dv(M.react(!1)));D(this,"editingID");D(this,"editingBindMode","singlePoint");D(this,"_deprecated",[]);D(this,"_flyInEvent",this.dv(new M.Event));D(this,"_flyToEvent",this.dv(new M.Event));D(this,"_flyOverEvent",this.disposeVar(new M.Event));D(this,"_pickedEvent",this.dv(new M.Event));D(this,"_calcFlyToParamEvent",this.dv(new M.Event));D(this,"_calcFlyInParamEvent",this.dv(new M.Event));D(this,"useCalcFlyToParamInESObjectWithLocation",!1);_y(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(t){this._editing.value=t}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const t=this._deprecated;for(let n=0;n<t.length;n++){const i=t[n];typeof i=="string"?Reflect.has(this,i+"Changed")&&this.d(this[i+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${i} 属性下版本将会被移除!`)})):Object.keys(i).forEach(o=>{Reflect.has(this,o+"Changed")&&this.d(this[o+"Changed"].don(a=>{const c=i[o];typeof c=="string"?console.warn(`注意:${this.typeName} 的 ${o} 属性下版本将会被移除!`):Object.keys(c).forEach(f=>{a===f&&console.warn(`注意:${this.typeName} 的 ${o} 属性值 ${f} 下版本将会被移除,推荐使用属性值 ${c[f]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,ht._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,ht._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(t){return await t.getBoundSphere(this.id)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",general:[...t.general,new de("唯一标识","id",!1,!0,[this,"id"]),new de("名称","name",!0,!1,[this,"name"]),new $("是否显示","show",!1,!1,[this,"show"],ht.defaults.show),new $("开启碰撞","collision",!1,!1,[this,"collision"],ht.defaults.collision),new $("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],ht.defaults.allowPicking),new Se("保存观察视角","保存当前flyToParam",[],()=>this.calcFlyToParam(),[]),new Se("清空飞向参数","清空飞向参数",[],()=>this.emptyFlyToParam(),[]),new Se("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new Se("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[])]}}getProperties(t){return[...super.getProperties(t),new ee("ESVisualObject","ESVisualObject",[new $("是否显示","是否显示.",!1,!1,[this,"show"],ht.defaults.show),new $("是否开启碰撞监测","collision,是否开启碰撞监测.",!1,!1,[this,"collision"],ht.defaults.collision),new $("是否允许拾取","是否允许被鼠标点击拾取.",!1,!1,[this,"allowPicking"],ht.defaults.allowPicking),new ee("飞行定位","飞向参数",[new Se("飞向","飞向",["number"],n=>this.flyTo(n),[1]),new ae("flyToParam","flyToParam",!0,!1,[this,"flyToParam"],ht.defaults.flyToParam),new Se("获取当前参数","获取当前flyToParam",[],()=>this.calcFlyToParam(),[]),new H("flyToDistance","flyToDistance",!0,!1,[this,"flyToDistance"],ht.defaults.flyToParam.distance),new H("flyToHeading","flyToHeading",!0,!1,[this,"flyToHeading"],ht.defaults.flyToParam.heading),new H("flyToPitch","flyToPitch",!0,!1,[this,"flyToPitch"],ht.defaults.flyToParam.pitch),new H("flyToFlyDuration","flyToFlyDuration",!0,!1,[this,"flyToFlyDuration"],ht.defaults.flyToParam.flyDuration),new H("flyToHDelta","flyToHDelta",!0,!1,[this,"flyToHDelta"],ht.defaults.flyToParam.hDelta),new H("flyToPDelta","flyToPDelta",!0,!1,[this,"flyToPDelta"],ht.defaults.flyToParam.pDelta)]),new ee("飞入定位","飞入参数",[new Se("飞入","飞入",["number"],n=>this.flyIn(n),[1]),new ae("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],ht.defaults.flyInParam),new Se("获取当前相机参数","获取当前相机参数",[],()=>this.calcFlyInParam(),[])])])]}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ht.defaults.flyToParam,pDelta:t}:void 0}};D(ht,"supportEditingModes",[]),D(ht,"_lastFlyInId",0),D(ht,"_lastFlyToId",0),D(ht,"defaults",{...we.defaults,show:!0,collision:!0,allowPicking:!1,flyToParam:{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1}});let Xe=ht;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:M.reactJsonWithUndefined(void 0),flyInParam:M.reactJsonWithUndefined(void 0)})})(Xe||(Xe={})),M.extendClassProps(Xe.prototype,Xe.createDefaultProps);function Oy(r){let e=0;function t(n,i){i++,e=Math.max(i,e),n.forEach(o=>{Array.isArray(o)&&t(o,i)})}return t(r,0),e}const Wc=class Wc extends Xe{constructor(t){super(t);D(this,"editingBindMode","lineString");D(this,"_area",this.dv(M.react(0)));D(this,"_perimeter",this.dv(M.react(0)));const n=()=>{this._updateArea(),this._updatePerimeter()};n(),this.d(this.pointsChanged.don(n))}updateEditing(){var n;const t=[];do{if(this.editingBindMode=="doublePoints"){t.push(xe.DoublePointsAppend,xe.DoublePointsModify);break}if(this.editingBindMode=="lineString"){t.push(xe.LineStringAppend,xe.LineStringInsert,xe.Translation);break}if(this.editingBindMode=="circular"){t.push(xe.CircularAppend,xe.CircularInsert,xe.Translation),this.supportEditingModes().includes(xe.HeightModify)&&t.push(xe.HeightModify);break}if(this.editingBindMode=="visibility"){t.push(xe.VisibilityAppend,xe.VisibilityModify);break}}while(!1);(n=this.viewer)==null||n.startEditing(this,t,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return ld([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const t=Fl(this.points,"NONE");return t[t.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const t=[...this.points,this.points[0]],n=Fl(t,"NONE");return n[n.length-1]}else return}getIntersect(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=dv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const o=[...n],s=[];return o.forEach(a=>{const c=a[0].map(f=>[...f,0]);s.push(c)}),s}else return[[...n][0].map(a=>[...a,0])]}else return}getUnion(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=pv(this.points,t);if(!n)return;const i=n[0][0][0];if(Array.isArray(i)){const o=[...n],s=[];return o.forEach(a=>{const c=a[0].map(f=>[...f,0]);s.push(c)}),s}else return[[...n][0].map(a=>[...a,0])]}else return}getDifference(t){if(this.points&&this.points.length>=3&&t.length>=3){let n=[...t];const i=t[0],o=t[t.length-1];i[0]===o[0]&&i[1]===o[1]&&i[2]===o[2]||n.push(i);const s=vv([...this.points,this.points[0]],[...n]);if(!s)return{status:"undefined",positions:void 0};const a=[...s];if(Oy(a)===3){const c=a.map(g=>g.map(w=>[...w,0]));if(c.length<=1)return{status:"notIncluded",positions:c};const f=c[0],m=c[1];return fd([...f],[...m])==="oneBig"?{status:"included",positions:c}:{status:"notIncluded",positions:c}}else if(Oy(a)===4){const f=[...a.map(p=>p.map(g=>g.map(w=>[...w,0])))],m=[];return f.forEach(p=>{m.push(p[0])}),{status:"notIncluded",positions:m}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(t=500,n){if(this.points&&this.points.length>=2){const i=gv(this.points,t,n);return i?[i[0].map(o=>[...o,0])]:void 0}else return}geoPolygonOverlap(t){if(this.points&&this.points.length>=3&&t.length>=3){const n=fd(this.points,t);return n==="oneBig"?!0:n==="twoBig"?!1:void 0}else return}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",coordinate:[...t.coordinate,new $("编辑","编辑",!1,!1,[this,"editing"],!1),new ae("位置数组","位置数组(经纬高数组)",!0,!1,[this,"points"],Wc.defaults.points)],style:[...t.style,new ee("点样式","点样式集合",[]),new $("开启","开启点样式",!1,!1,[this,"pointed"],!1),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启","开启线样式",!1,!1,[this,"stroked"],!0),new $("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new ee("面样式","面样式集合",[]),new $("开启","开启填充样式",!1,!1,[this,"filled"],!1),new $("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new ee("ESGeoVector","ESGeoVector",[new $("是否编辑","是否编辑",!1,!1,[this,"editing"]),new ae("位置数组","位置数组(经纬高数组)",!1,!1,[this,"points"]),new ee("点样式","点样式",[new $("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new de("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new ae("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new ee("线样式","线样式",[new $("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new de("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new ae("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new $("是否贴地","是否贴地",!1,!1,[this,"strokeGround"])]),new ee("填充样式","填充样式",[new $("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new de("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new ae("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}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}};D(Wc,"supportEditingModes",[...Xe.supportEditingModes,xe.Translation]),D(Wc,"defaults",{...Xe.defaults,points:[],pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1});let Ae=Wc;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),pointed:!1,pointStyle:M.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:M.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:M.reactJson(r.defaults.fillStyle),points:M.reactPositions(void 0)})})(Ae||(Ae={})),M.extendClassProps(Ae.prototype,Ae.createDefaultProps);class le extends Xe{constructor(){super(...arguments);D(this,"_statusDis",this.dv(M.react(!0)));D(this,"_smoothMoveEvent",this.dv(new M.Event));D(this,"_smoothMoveWithRotationEvent",this.dv(new M.Event));D(this,"_smoothMoveOnGroundEvent",this.dv(new M.Event));D(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new M.Event));D(this,"_automaticLandingEvent",this.dv(new M.Event));D(this,"_smoothMoveKeepPitchEvent",this.dv(new M.Event));D(this,"_smoothMoveRelativelyEvent",this.dv(new M.Event));D(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new M.Event));D(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var n;const t=[];do{if(this.editingBindMode=="singlePoint"){t.push(xe.Place,xe.Translation),["ESLocationMeasurement"].includes(this.typeName)||t.push(xe.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||t.push(xe.Scale);break}if(this.editingBindMode=="doublePoints"){t.push(xe.DoublePointsAppend,xe.DoublePointsModify);break}}while(!1);(n=this.viewer)==null||n.startEditing(this,t,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(t,n){this._smoothMoveEvent.emit(t,n)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(t,n,i){this._smoothMoveWithRotationEvent.emit(t,n,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(t,n,i,o){this._smoothMoveOnGroundEvent.emit(t,n,i,o)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(t,n,i,o,s){this._smoothMoveWithRotationOnGroundEvent.emit(t,n,i,o,s)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const t=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(t)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(t,n){this._smoothMoveKeepPitchEvent.emit(t,n)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(t,n){this._smoothMoveRelativelyEvent.emit(t,n)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(t,n,i){this._smoothMoveRelativelyWithRotationEvent.emit(t,n,i)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",location:[...t.location,new $("是否编辑","是否编辑",!1,!1,[this,"editing"]),new Se("自动落地","自动落地",[],()=>this.automaticLanding(),[]),new ci("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"],[0,0,0]),new Qc("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"],[0,0,0]),new Kt("缩放","缩放",!1,!1,[this,"scale"],[1,1,1]),new H("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"],0),new H("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"],0)]}}getProperties(t){return[...super.getProperties(t),new ee("位置姿态对象","位置姿态对象ESObjectWithLocation",[new Se("平滑移动","smoothMove",["numbers","number"],(n,i)=>this.smoothMove(n,i),[[0,0,0],0]),new Se("固定方向平滑移动","smoothMoveKeepPitch",["numbers","number"],(n,i)=>this.smoothMoveKeepPitch(n,i),[[0,0,0],0]),new Se("平滑偏移","smoothMoveWithRotation",["numbers","numbers","number"],(n,i,o)=>this.smoothMoveWithRotation(n,i,o),[[0,0,0],[0,0,0],0]),new Se("贴地平滑移动","smoothMoveOnGround",["number","number","number","string"],(n,i,o,s)=>this.smoothMoveOnGround(n,i,o,s),[0,0,0,""]),new Se("贴地平滑偏移","smoothMoveWithRotationOnGround",["numbers","number","number","number","string"],(n,i,o,s,a)=>this.smoothMoveWithRotationOnGround(n,i,o,s,a),[[0,0,0],0,0,0,""]),new Se("smoothMoveRelatively","smoothMoveRelatively",["numbers","number"],(n,i)=>this.smoothMoveRelatively(n,i),[[0,0,0],0]),new Se("smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation",["numbers","numbers","number"],(n,i,o)=>this.smoothMoveRelativelyWithRotation(n,i,o),[[0,0,0],[0,0,0],0]),new ci("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"]),new Qc("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"]),new Kt("缩放","缩放",!1,!1,[this,"scale"]),new $("是否编辑","是否开启编辑状态",!0,!1,[this,"editing"],!1),new H("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"]),new H("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"]),new $("是否应用距离显隐","是否应用距离显隐",!1,!1,[this,"enableVisibleDistance"])])]}}D(le,"supportEditingModes",[...Xe.supportEditingModes,xe.Place,xe.Translation,xe.Rotation,xe.Scale,xe.DoublePointsAppend,xe.DoublePointsModify]),D(le,"defaults",{...Xe.defaults}),(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),position:M.reactArray([0,0,0]),rotation:M.reactArray([0,0,0]),scale:M.reactArray([1,1,1]),minVisibleDistance:M.react(0),maxVisibleDistance:M.react(0)})})(le||(le={})),M.extendClassProps(le.prototype,le.createDefaultProps);class Ni extends le{getESProperties(){const e={...super.getESProperties()};return{...e,style:[...e.style,new ee("点样式","点样式集合",[]),new $("开启点样式","开启点样式",!1,!1,[this,"pointed"],!1),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new ee("线样式","线样式集合",[]),new $("开启线样式","开启线样式",!1,!1,[this,"stroked"],!1),new $("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new ee("面样式","面样式集合",[]),new $("开启填充样式","开启填充样式",!1,!1,[this,"filled"],!1),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new ee("ESLocalVector","ESLocalVector",[new ae("点样式","点样式(pointMaterialParams)",!1,!1,[this,"pointStyle"]),new ae("线样式","线样式(strokeMaterialParams)",!1,!1,[this,"strokeStyle"]),new ae("填充样式","填充样式(fillMaterialParams)",!1,!1,[this,"fillStyle"]),new ee("点样式","点样式",[new $("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new H("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new ce("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new ge("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new de("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new ae("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new ee("线样式","线样式",[new $("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new H("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new ce("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new ge("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new de("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new ae("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new $("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1)]),new ee("填充样式","填充样式",[new $("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new ge("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new de("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new ae("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new $("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}}D(Ni,"defaults",{...le.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1}),(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),pointed:!1,pointStyle:M.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:M.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:M.reactJson(r.defaults.fillStyle)})})(Ni||(Ni={})),M.extendClassProps(Ni.prototype,Ni.createDefaultProps);class Kr extends Ni{getESProperties(){return{...super.getESProperties()}}getProperties(e){return[...super.getProperties(e)]}}D(Kr,"defaults",{...Ni.defaults}),(r=>{r.createDefaultProps=()=>({...Ni.createDefaultProps()})})(Kr||(Kr={})),M.extendClassProps(Kr.prototype,Kr.createDefaultProps);const My=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],Iy=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]];class jt extends le{constructor(){super(...arguments);D(this,"_widgetEvent",this.dv(new M.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new $("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new $("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new at("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new at("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new at("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new ce("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],Iy,0),new ce("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],My,1),new de("绑定对象","actorTag",!1,!1,[this,"actorTag"]),new de("插槽名称","socketName",!1,!1,[this,"socketName"]),new Kt("位置偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new Kt("相对姿态","rotationOffset(米)",!1,!1,[this,"rotationOffset"])]}}getProperties(t){return[...super.getProperties(t),new ee("标签属性","标签对象ESLabel的属性",[new $("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new $("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new at("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new at("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new at("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new ce("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],Iy,0),new ce("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],My,1),new H("排序","zOrder排序",!1,!1,[this,"zOrder"],0)])]}}D(jt,"defaults",{...le.defaults,screenRender:!0,size:[100,100],anchor:[.5,.5],sizeByContent:!0,renderMode:0,rotationType:1}),(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),screenRender:!0,size:M.reactArray([100,100]),anchor:M.reactArray([.5,1]),offset:M.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:M.reactArray([0,0,0]),rotationOffset:M.reactArray([0,0,0])})})(jt||(jt={})),M.extendClassProps(jt.prototype,jt.createDefaultProps);const Qr=class Qr extends Xe{constructor(){super(...arguments);D(this,"_refreshTilesetEvent",this.dv(new M.Event));D(this,"_tilesetReadyEvent",this.dv(new M.Event));D(this,"_supportEdit",this.dv(M.react(!0)));D(this,"_highlightFeatureEvent",this.dv(new M.Event));D(this,"_highlightFeatureAndFlyToEvent",this.dv(new M.Event));D(this,"_getFeatureTableEvent",this.dv(new M.Event));D(this,"_featureTableResultEvent",this.dv(new M.Event));D(this,"_getMaterialNameListEvent",this.disposeVar(new M.Event));D(this,"_setFeatureStyleEvent",this.dv(new M.Event));D(this,"_setFeatureColorEvent",this.dv(new M.Event));D(this,"_setFeatureVisableEvent",this.dv(new M.Event));D(this,"_resetFeatureStyleEvent",this.dv(new M.Event));D(this,"setMaterialInfoEvent",this.ad(new M.Event));D(this,"_setMaterialEvent",this.disposeVar(new M.Event));D(this,"_clippingPlanesId",this.dv(M.react("")));D(this,"_clippingPlaneIds",this.dv(M.react([])));D(this,"_flattenedPlaneId",this.dv(M.react("")));D(this,"_flattenedPlaneEnabled",this.dv(M.react(!1)));D(this,"_clippingPlaneId",this.dv(M.react("")));D(this,"_excavateId",this.dv(M.reactArray([])))}get typeName(){return"ES3DTileset"}get defaultProps(){return Qr.createDefaultProps()}updateEditing(){var t;(t=this.viewer)==null||t.startEditing(this,[xe.Translation,xe.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(t){this._supportEdit.value=t}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(t,n){this._highlightFeatureEvent.emit(t,n)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(t,n,i,o){this._highlightFeatureAndFlyToEvent.emit(t,n,i,o)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(t=>{const n=this.d(this._featureTableResultEvent.donce(t));this._getFeatureTableEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(t=>{const n=new M.Destroyable;n.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(n.destroy(),t(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{n.isDestroyed()||(n.destroy(),t(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(t){this._setFeatureStyleEvent.emit(t)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(t,n){this._setFeatureColorEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(t,n){this._setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(n=>{const i=new M.Destroyable;i.ad(this.setMaterialInfoEvent.donce(o=>{i.destroy(),n(o)})),this._setMaterialEvent.emit(t)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(t){this._clippingPlanesId.value=t}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(t){this._clippingPlaneIds.value=t}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(t){this._flattenedPlaneId.value=t}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(t){this._flattenedPlaneEnabled.value=t}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(t){this._clippingPlaneId.value=t}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(t){this._excavateId.value=t}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...Ld}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new ut("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new ce("材质模式","materialMode",!0,!1,[this,"materialMode"],Qr.defaults.materialModes,"normal"),new ce("颜色模式","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"HIGHLIGHT"),new ae("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Qr.defaults.materialOverrideMap)],dataSource:[...t.dataSource,new ae("服务地址","服务地址",!0,!1,[this,"url"],Qr.defaults.url)],coordinate:[...t.coordinate,new $("编辑","编辑",!0,!1,[this,"editing"],!1),new Kt("偏移","偏移量",!0,!1,[this,"offset"],[0,0,0]),new Qc("旋转","旋转",!1,!1,[this,"rotation"],[0,0,0])]}}getProperties(t){return[...super.getProperties(t),new ee("ES3DTileset","ES3DTileset",[new ae("服务地址","服务地址",!1,!1,[this,"url"],Qr.defaults.url),new ce("materialMode","materialMode",!1,!1,[this,"materialMode"],Qr.defaults.materialModes),new ae("materialParams","materialParams",!1,!1,[this,"materialParams"],Qr.defaults.materialParams),new H("maximumScreenSpaceError","显示精度,maximumScreenSpaceError",!1,!1,[this,"maximumScreenSpaceError"]),new $("编辑","编辑",!1,!1,[this,"editing"],!1),new ci("offset","offset",!0,!1,[this,"offset"]),new ci("rotation","rotation",!1,!1,[this,"rotation"]),new ut("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new Se("highlightFeature","highlightFeature",["string","string"],(n,i)=>this.highlightFeature(n,i),["","rgba(255,0,0,1)"]),new Se("setFeatureColor","setFeatureColor",["string","string"],(n,i)=>this.setFeatureColor(n,i),["",""]),new Se("setFeatureVisable","setFeatureVisable",["string","string"],(n,i)=>this.setFeatureVisable(n,i),["",""]),new Se("resetFeatureStyle","resetFeatureStyle",[],()=>this.resetFeatureStyle(),[]),new ee("ue","ue",[new Se("refreshTileset","refreshTileset",[],()=>this.refreshTileset(),[]),new de("actorTag","actorTag",!1,!1,[this,"actorTag"]),new $("是否高亮","是否高亮.",!1,!1,[this,"highlight"]),new ge("highlightColor"," highlightColor.",!1,!1,[this,"highlightColor"]),new H("highlightID","highlightID",!1,!1,[this,"highlightID"]),new ae("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Qr.defaults.materialOverrideMap)]),new ee("czm","czm",[new ee("可视化","可视化",[new at("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new H("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new ae("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new H("czmMaximumMemoryUsage","最大内存,maximumMemoryUsage",!1,!1,[this,"czmMaximumMemoryUsage"])]),new ee("常用","常用",[new ce("czmClassificationType","Determines whether terrain, 3D Tiles or both will be classified by this tileset. See Cesium3DTileset#czmClassificationType for details about restrictions and limitations.",!0,!1,[this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]),new ae("czmStyle","czmStyle",!1,!1,[this,"czmStyleJson"]),new $("czmBackFaceCulling","czmBackFaceCulling",!1,!1,[this,"czmBackFaceCulling"]),new $("czmSkipLevelOfDetail","czmSkipLevelOfDetail",!1,!1,[this,"czmSkipLevelOfDetail"]),new ce("colorBlendMode","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["HIGHLIGHT","HIGHLIGHT"],["REPLACE","REPLACE"],["MIX","MIX"]],"HIGHLIGHT"),new H("cacheBytes","最大缓存占用,超过的会自动卸载,但是视野范围内能看见的保留。单位字节。Cesium1.110(含)以后的版本起作用。",!1,!1,[this,"cacheBytes"],536870912)]),new ee("调试信息","调试信息",[new $("czmDebugShowBoundingVolume","For debugging only.When true, renders the bounding volume for each tile.",!1,!1,[this,"czmDebugShowBoundingVolume"]),new $("czmDebugShowContentBoundingVolume","czmDebugShowContentBoundingVolume.",!1,!1,[this,"czmDebugShowContentBoundingVolume"])]),new ee("clippingPlanes","clippingPlanes",[new $("clippingPlaneEnabled","clippingPlaneEnabled",!1,!1,[this,"clippingPlaneEnabled"]),new $("unionClippingRegions","unionClippingRegions",!1,!1,[this,"unionClippingRegions"]),new ge("clippingPlaneEdgeColor","clippingPlaneEdgeColor",!1,!1,[this,"clippingPlaneEdgeColor"]),new H("clippingPlaneEdgeWidth","clippingPlaneEdgeWidth",!1,!1,[this,"clippingPlaneEdgeWidth"])])])])]}};D(Qr,"type",Qr.register("ES3DTileset",Qr,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),D(Qr,"supportEditingModes",[...Xe.supportEditingModes,xe.Translation,xe.Rotation]),D(Qr,"defaults",{...Xe.defaults,url:"",actorTag:"",materialMode:"normal",materialModes:[["常规","normal"],["科技感","technology"]],offset:[0,0,0],materialParams:{baseColor:[0,.5,1]},cacheBytes:536870912,materialOverrideMap:{},featureIdLabel:0});let Yt=Qr;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:M.reactArray([1,0,0,1]),offset:M.reactArrayWithUndefined(void 0),rotation:M.reactArray([0,0,0]),czmImageBasedLightingFactor:M.reactArray([1,1]),czmEnvironmentMapManager:M.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:M.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:536870912,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:M.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:M.reactJsonWithUndefined(void 0),featureIdLabel:0})})(Yt||(Yt={})),M.extendClassProps(Yt.prototype,Yt.createDefaultProps);const ks=class ks extends le{constructor(t){super(t);D(this,"_isFlyInCreated",this.dv(M.react(!1)));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const i=this.dv(M.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(i.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get typeName(){return"ESAlarm"}get defaultProps(){return ks.createDefaultProps()}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(t){this._isFlyInCreated.value=t}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("模式","mode",!1,!1,[this,"mode"],ks.defaults.modes,"cylinder"),new H("半径","radius",!1,!1,[this,"radius"],10)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new ce("mode","mode",!1,!1,[this,"mode"],ks.defaults.modes),new H("半径","radius",!1,!1,[this,"radius"])])]}};D(ks,"type",ks.register("ESAlarm",ks,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"})),D(ks,"defaults",{...le.defaults,modes:[["柱状警告","cylinder"],["圆形警告","circle"]],radius:100,czmAnimations:[{index:0,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}]});let ua=ks;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mode:"cylinder",radius:10})})(ua||(ua={})),M.extendClassProps(ua.prototype,ua.createDefaultProps);const Pu=class Pu extends le{get typeName(){return"ESApertureEffect"}get defaultProps(){return Pu.createDefaultProps()}constructor(e){super(e),this.collision=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new H("半径","radius",!1,!1,[this,"radius"],1)]}}getProperties(e){return[...super.getProperties(e),new H("半径","radius",!1,!1,[this,"radius"])]}};D(Pu,"type",Pu.register("ESApertureEffect",Pu,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"})),D(Pu,"defaults",{...le.defaults,radius:1});let la=Pu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),radius:1})})(la||(la={})),M.extendClassProps(la.prototype,la.createDefaultProps);const Rn=class Rn extends Ae{constructor(t){super(t);D(this,"editingBindMode","circular");this.collision=Rn.defaults.collision,this.filled=Rn.defaults.filled,this.stroked=Rn.defaults.stroked,this.fillStyle=Rn.defaults.fillStyle,this.strokeStyle=Rn.defaults.strokeStyle}get typeName(){return"ESGeoPolygon"}get defaultProps(){return Rn.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new H("面积","面积",!1,!0,[this,"area"]),new H("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new ee("ESGeoPolygon","ESGeoPolygon",[])]}};D(Rn,"type",Rn.register("ESGeoPolygon",Rn,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),D(Rn,"supportEditingModes",[...Ae.supportEditingModes,xe.CircularAppend,xe.CircularInsert]),D(Rn,"defaults",{...Ae.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{},ground:!1},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},filled:!0,stroked:!1,collision:!1});let ze=Rn;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps()})})(ze||(ze={})),M.extendClassProps(ze.prototype,ze.createDefaultProps);const ls=class ls extends ze{get typeName(){return"ESAreaMeasurement"}get defaultProps(){return ls.createDefaultProps()}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:ls.defaults.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle??ls.defaults.fillStyle,materialParams:e??ls.defaults.fillStyle.materialParams}}constructor(e){super(e),this.fillStyle.ground=!0,this.strokeStyle.width=2}getProperties(e){return[...super.getProperties(e)]}};D(ls,"type",ls.register("ESAreaMeasurement",ls,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"面积测量"})),D(ls,"defaults",{...ze.defaults,fillStyle:{color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!1}});let ca=ls;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),stroked:!0,filled:!0})})(ca||(ca={})),M.extendClassProps(ca.prototype,ca.createDefaultProps);const Su=class Su extends le{get typeName(){return"ESBlastParticleSystem"}get defaultProps(){return Su.createDefaultProps()}constructor(e){super(e)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ee("czm","czm",[new ql("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Kt("偏移","translation",!1,!1,[this,"translation"])])])]}};D(Su,"type",Su.register("ESBlastParticleSystem",Su,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"})),D(Su,"defaults",{...le.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let ha=Su;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",positionEditing:void 0,translation:M.reactArray([0,0,0])})})(ha||(ha={})),M.extendClassProps(ha.prototype,ha.createDefaultProps);const Er=class Er extends le{get typeName(){return"ESBoxClipping"}get defaultProps(){return{...Er.createDefaultProps()}}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new $("反转","reverse",!1,!1,[this,"reverse"],Er.defaults.reverse),new Kt("尺寸","长宽高",!1,!1,[this,"size"],Er.defaults.size),new ge("边框颜色","edgeColor",!1,!1,[this,"edgeColor"],Er.defaults.edgeColor),new H("边框宽度","edgeWidth",!1,!1,[this,"edgeWidth"],Er.defaults.edgeWidth),new de("瓦片图层","targetID",!1,!1,[this,"targetID"],Er.defaults.targetID)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new $("reverse","reverse",!1,!1,[this,"reverse"],Er.defaults.reverse),new ge("edgeColor","edgeColor",!1,!1,[this,"edgeColor"],Er.defaults.edgeColor),new H("edgeWidth","edgeWidth",!1,!1,[this,"edgeWidth"],Er.defaults.edgeWidth),new Kt("尺寸","长宽高",!1,!1,[this,"size"],Er.defaults.size),new de("targetID","targetID",!1,!1,[this,"targetID"],Er.defaults.targetID)])]}};D(Er,"type",Er.register("ESBoxClipping",Er,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"})),D(Er,"defaults",{...le.defaults,reverse:!1,edgeColor:[1,1,1,1],edgeWidth:1,size:[10,10,10],targetID:""});let fa=Er;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),reverse:!1,edgeColor:M.reactArray([1,1,1,1]),edgeWidth:2,size:M.reactArray([10,10,10]),targetID:""})})(fa||(fa={})),M.extendClassProps(fa.prototype,fa.createDefaultProps);const Gs=class Gs extends le{constructor(){super(...arguments);D(this,"_thumbnail",this.dv(M.react("")));D(this,"_duration",this.dv(M.react(1)));D(this,"_resetWithCurrentCameraEvent",this.dv(new M.Event));D(this,"_captureEvent",this.dv(new M.Event))}get typeName(){return"ESCameraView"}get defaultProps(){return Gs.createDefaultProps()}get thumbnail(){return this._thumbnail.value}set thumbnail(t){this._thumbnail.value=t}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(t){this._duration.value=t}get durationChanged(){return this._duration.changed}flyIn(t=1,n="default"){this.flyInEvent.emit(t,-1,n)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(t,n){this._captureEvent.emit(t,n)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getProperties(t){return[...super.getProperties(t),new ee("ESCameraView","ESCameraView",[new Se("设置为当前视角","resetWithCurrentCamera",[],()=>this.resetWithCurrentCamera(),[]),new Se("获取缩略图","获取缩略图",["number","number"],(n,i)=>this.capture(n,i),[Gs.defaults.thumbnailWidth,Gs.defaults.thumbnailHeight]),new de("缩略图","缩略图",!0,!1,[this,"thumbnail"]),new H("飞行时间","飞行时间(秒)",!0,!1,[this,"duration"])])]}};D(Gs,"type",Gs.register("ESCameraView",Gs,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"})),D(Gs,"defaults",{...le.defaults,thumbnailWidth:64,thumbnailHeight:64,duration:1,thumbnail:""});let Eo=Gs;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps()})})(Eo||(Eo={})),M.extendClassProps(Eo.prototype,Eo.createDefaultProps);class Zh extends M.Destroyable{constructor(t,n,i){super();D(this,"_view",this.dv(new Eo));if(this.d(t.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${t.views.length+1}`,n){const a=this._view,c=n;a.duration=c.duration??1,a.position=c.position,a.rotation=c.rotation??[0,0,0],a.thumbnail=c.thumbnail??"",a.name=c.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(M.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const o=this._view,s=this.dv(M.createNextAnimateFrameEvent(o.durationChanged,o.positionChanged,o.rotationChanged,o.thumbnailChanged,o.nameChanged));this.d(s.don(()=>t.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const t=this._view;return{duration:t.duration,position:t.position,rotation:t.rotation,thumbnail:t.thumbnail,name:t.name}}}const $r=class $r extends we{constructor(t){super(t);D(this,"_currentViewIndex",this.dv(M.react(-1)));D(this,"_viewWrappers",this.dv(new M.ObservableArray));D(this,"_currentViewWrapper",this.dv(M.react(void 0)));D(this,"_container",this.dv(M.react(void 0)));{const n=this.dv(M.createProcessingFromAsyncFunc(async o=>{var s;do{if(!this.flyToNextView())break;const a=this.intervalTime??$r.defaults.intervalTime,f=((((s=this._currentViewWrapper.value)==null?void 0:s.viewInfo.duration)??0)+a)*1e3;await o.promise(M.sleep(f))}while(!0);this.playing=!1})),i=()=>{this.playing?n.restart():n.cancel()};i(),this.d(this.playingChanged.don(i))}{const n=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};n(),this.d(this._viewWrappers.changedEvent.don(n))}{const n=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};n(),this.d(this._viewWrappers.changedEvent.don(n)),this.d(this._currentViewWrapper.changed.don(n))}this.d(()=>{this.clearAllViews()})}get typeName(){return"ESCameraViewCollection"}get defaultProps(){return $r.createDefaultProps()}get json(){return{...this._innerGetJson(),views:this.views}}set json(t){this._innerSetJson(t),this.views=t.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}get views(){return fp(this._viewWrappers,t=>t.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(t){if(t.length===this._viewWrappers.length){const n=this._viewWrappers;if(t.every((i,o)=>{const s=n.get(o).view;return i.duration===s.duration&&yf(i.position,s.position)&&yf(i.rotation,s.rotation)&&i.thumbnail===s.thumbnail&&i.name===s.name}))return}this.clearAllViews();for(let n of t)this._viewWrappers.push(new Zh(this,n))}_getIndex(t){return this._viewWrappers.indexOf(t)}clearAllViews(){for(let t of this._viewWrappers)t.destroy();this._viewWrappers.length=0}add(t=`视角${this.views.length+1}`,n=[64,64]){this._viewWrappers.push(new Zh(this,void 0,{name:t,size:n}))}update(t,n,i=[64,64]){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const o=this._viewWrappers.get(t);n&&(o.view.name=n),o.view.resetWithCurrentCamera(),o.view.capture(i[0],i[1])}addView(){this._viewWrappers.push(new Zh(this))}insertView(t){if(this._viewWrappers.length+1<=t||t<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(t,0,new Zh(this))}setCurrentView(t){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const n=this._viewWrappers.get(t);return this._currentViewWrapper.value=n,!0}resetView(t){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const n=this._viewWrappers.get(t);n.view.resetWithCurrentCamera(),n.view.capture()}resetViewName(t,n){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(t);i.view.name=n}updateView(t,n){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(t);i.view.position=n.position,i.view.rotation=n.rotation??[0,0,0],i.view.duration=n.duration??1,i.view.thumbnail=n.thumbnail??"",i.view.name=n.name??""}flyToView(t){if(this.setCurrentView(t)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const n=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(n,this.flyMode??$r.defaults.flyMode)}}flyToPrevView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??$r.defaults.loop?(this.flyToView((this._viewWrappers.length+n-1)%this._viewWrappers.length),!0):n-1<0?!1:(this.flyToView(n-1),!0)}moveToPreView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===0)return;const i=this._viewWrappers.splice(n-1,1,t)[0];this._viewWrappers.set(n,i)}moveToNextView(){const t=this._currentViewWrapper.value;if(!t)return;const n=this._getIndex(t);if(n===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(n+1,1,t)[0];this._viewWrappers.set(n,i)}flyToNextView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const n=this._getIndex(t);return this.loop??$r.defaults.loop?(this.flyToView((n+1)%this._viewWrappers.length),!0):n+1>this._viewWrappers.length-1?!1:(this.flyToView(n+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(t){if(t<0||t>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(t).destroy(),this._viewWrappers.splice(t,1)}deleteCurrentView(){const t=this._currentViewWrapper.value;if(!t){console.warn("!this._currentViewWrapper.value");return}const n=this._getIndex(t);if(n===-1){console.warn("index === -1");return}this.deleteView(n)}transitionImageUrl(t){return we.context.getStrFromEnv(t)}getProperties(t){return[...super.getProperties(t),new ee("ESCameraViewCollection","ESCameraViewCollection",[new ce("飞行模式","flyMode",!1,!1,[this,"flyMode"],$r.defaults.flyModes,$r.defaults.flyMode),new Se("添加视角","添加视角",[],()=>this.addView(),[]),new Se("插入视角","插入视角",["number"],n=>this.insertView(n),[0]),new Se("清空所有视角","清空所有视角",[],()=>this.clearAllViews(),[]),new Se("当前位置插入视角","当前位置插入视角",[],()=>this.insertView(this.currentViewIndex+1),[]),new Se("上一个视角","上一个视角",[],()=>this.flyToPrevView(),[]),new Se("下一个视角","下一个视角",[],()=>this.flyToNextView(),[]),new Se("当前视角移动到上一个视角","当前视角移动到上一个视角",[],()=>this.moveToPreView(),[]),new Se("当前视角移动到下一个视角","当前视角移动到下一个视角",[],()=>this.moveToNextView(),[]),new Se("飞入指定视角","飞入指定视角",["number"],n=>this.flyToView(n),[0]),new Se("设置当前视角","设置当前视角",["number"],n=>this.setCurrentView(n),[0]),new Se("删除当前视角","删除当前视角",[],()=>this.deleteCurrentView(),[]),new Se("删除指定视角","删除指定视角",["number"],n=>this.deleteView(n),[0]),new Se("重置视角","重置视角",["number"],n=>this.resetView(n),[0]),new H("当前序号","当前序号",!1,!0,[this,"currentViewIndex"]),new ap("播放","播放",[this,"playing"],()=>this.stop(),[this,"loop"],$r.defaults),new $("是否播放","是否播放.",!1,!1,[this,"playing"]),new Se("停止","停止",[],()=>this.stop(),[]),new $("是否循环","是否循环.",!1,!1,[this,"loop"]),new H("间隔时间","间隔时间(s)",!1,!1,[this,"intervalTime"]),new ae("视角集合","类型为ESJViewInfo[]",!0,!1,[this,"views"],$r.defaults.views)])]}};D($r,"type",$r.register("ESCameraViewCollection",$r,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"})),D($r,"defaults",{...we.defaults,loop:!0,playing:!1,intervalTime:5,duration:1,views:[],flyMode:"default",flyModes:[["默认","default"],["直线飞行","uniform"]]});let Po=$r;(r=>{r.createDefaultProps=()=>({...we.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})})(Po||(Po={})),M.extendClassProps(Po.prototype,Po.createDefaultProps);const Cu=class Cu extends le{constructor(t){super(t);D(this,"editingBindMode","doublePoints")}get typeName(){return"ESCameraVisibleRange"}get defaultProps(){return Cu.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],1.77778),new H("横向夹角","fov",!1,!1,[this,"fov"],90),new H("视野长度","far",!1,!1,[this,"far"],100),new H("近面距离","near",!1,!1,[this,"near"],5)]}}getProperties(t){return[...super.getProperties(t),new H("横向夹角","fov",!1,!1,[this,"fov"]),new H("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new H("视野长度","far",!1,!1,[this,"far"]),new H("近面距离","near",!1,!1,[this,"near"])]}};D(Cu,"type",Cu.register("ESCameraVisibleRange",Cu,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"})),D(Cu,"defaults",{...le.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1});let da=Cu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})})(da||(da={})),M.extendClassProps(da.prototype,da.createDefaultProps);const Vs=class Vs extends le{get typeName(){return"ESCar"}get defaultProps(){return Vs.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ce("模式","mode",!1,!1,[this,"mode"],Vs.defaults.modeEnum,"policeCar")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ce("mode","mode",!1,!1,[this,"mode"],Vs.defaults.modeEnum)])]}};D(Vs,"type",Vs.register("ESCar",Vs,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"})),D(Vs,"defaults",{...le.defaults,modeEnum:[["警车","policeCar"]],mode:"policeCar"});let pa=Vs;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mode:"policeCar",allowPicking:!0})})(pa||(pa={})),M.extendClassProps(pa.prototype,pa.createDefaultProps);const Io=class Io extends Ae{constructor(t){super(t);D(this,"editingBindMode","circular");this.fillGround=!0}get typeName(){return"ESClassification"}get defaultProps(){return Io.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new H("高度","高度",!1,!1,[this,"height"],10)],coordinate:[...t.coordinate,new H("面积","面积",!1,!0,[this,"area"]),new H("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new H("高度","高度",!1,!1,[this,"height"])])]}};D(Io,"type",Io.register("ESClassification",Io,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),D(Io,"supportEditingModes",[...Ae.supportEditingModes,xe.CircularAppend,xe.CircularInsert,xe.HeightModify]),D(Io,"defaults",{...Ae.defaults,fillStyle:{material:"",materialParams:{},ground:!0,color:[1,1,1,1]},filled:!0});let So=Io;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),height:10,filled:!0})})(So||(So={})),M.extendClassProps(So.prototype,So.createDefaultProps);const xu=class xu extends le{get typeName(){return"ESClippingPlane"}get defaultProps(){return xu.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new $("显示箭头","显示箭头",!1,!1,[this,"showArrow"],!0),new ge("线框颜色","edgeColor",!1,!1,[this,"edgeColor"],[1,1,1,1]),new H("线框宽度","edgetWidth",!1,!1,[this,"edgetWidth"],2),new H("裁剪宽度","width",!1,!1,[this,"width"],200),new H("裁剪高度","height",!1,!1,[this,"height"],200),new de("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ee("czm","czm",[new $("显示箭头","显示箭头",!1,!1,[this,"showArrow"]),new ge("edgeColor","edgeColor",!1,!1,[this,"edgeColor"]),new H("edgetWidth","edgetWidth",!1,!1,[this,"edgetWidth"]),new H("width","width",!1,!1,[this,"width"]),new H("height","height",!1,!1,[this,"height"]),new de("targetID","targetID",!1,!1,[this,"targetID"])])])]}};D(xu,"type",xu.register("ESClippingPlane",xu,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"})),D(xu,"defaults",{...le.defaults});let ga=xu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),showArrow:!0,edgeColor:M.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})})(ga||(ga={})),M.extendClassProps(ga.prototype,ga.createDefaultProps);class QS extends M.Destroyable{constructor(e,t,n){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container`);{const c=()=>{const m=`${t.cssText}
275
275
  ${t.cssAllInitial?"all: initial;":""}
276
276
  ${t.show?"":"display: none"}
277
277
  `;i.style.cssText=m};c();const f=this.dv(M.createNextAnimateFrameEvent(t.cssAllInitialChanged,t.cssTextChanged,t.showChanged));this.d(f.don(c))}e.appendChild(i),this.d(()=>e.removeChild(i));const o=this.dv(M.createNextAnimateFrameEvent(t.instanceClassChanged,t.containerChanged,t.shadowDomChanged)),s=this.dv(new M.ObjResettingWithEvent(o,()=>{const{instanceClass:c,container:f}=t;if(!c||f)return;let m=i;if(i.firstElementChild&&i.removeChild(i.firstElementChild),t.shadowDom){const p=i.appendChild(document.createElement("div"));p.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container shadowDiv`),m=p.attachShadow({mode:"open"}).appendChild(document.createElement("div")),m.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${n.id}) container shadowDiv div`)}return new c(m,t,n)})),{_updateEvent:a}=t;this.d(a.don(c=>{if(s.obj)try{c(s.obj,t,n)}catch(f){console.error(`ESCustomDiv update error! ${f}`)}}))}}const Ty=`class MyDiv extends XE2['xe2-base-utils'].Destroyable {
@@ -539,7 +539,7 @@ export type ESJTimeIntervalCollectionJsonType = {
539
539
  };
540
540
 
541
541
  \`\`\`
542
- `,jn=class jn extends Xe{get typeName(){return"ESImageryLayer"}get defaultProps(){return jn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new H("层级序号","层级序号",!1,!1,[this,"zIndex"],jn.defaults.zIndex)],dataSource:[...e.dataSource,new ae("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new kr("矩形范围","西南东北",!0,!1,[this,"rectangle"],jn.defaults.rectangle),new ut("最大级别","最大级别.",!0,!1,[this,"maximumLevel"],1,[1,24],jn.defaults.maximumLevel),new ae("options","options",!0,!1,[this,"options"],jn.defaults.options),new de("targetID","targetID",!1,!1,[this,"targetID"],""),new ut("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]}}getProperties(e){return[...super.getProperties(e),new ee("ESImageryLayer","ESImageryLayer",[new ae("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new ee("通用","通用",[new kr("矩形范围","西南东北",!0,!1,[this,"rectangle"],jn.defaults.rectangle),new H("高度","A numeric Property specifying the height.",!1,!1,[this,"height"]),new H("zIndex","层级",!1,!1,[this,"zIndex"]),new de("actorTag","actorTag",!1,!1,[this,"actorTag"]),new de("componentTag","componentTag",!1,!1,[this,"componentTag"]),new H("minimumLevel","minimumLevel",!1,!1,[this,"minimumLevel"]),new H("maximumLevel","maximumLevel",!1,!1,[this,"maximumLevel"]),new ae("options","options",!0,!1,[this,"options"],{},Ay),new de("targetID","targetID",!1,!1,[this,"targetID"]),new ut("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]),new ee("czm","czm",[new ce("czmSplitDirection","The ImagerySplitDirection split to apply to this layer.",!1,!1,[this,"czmSplitDirection"],jn.defaults.czmSplitDirectionEnum),new H("透明度","透明度,The alpha blending value of this layer, from 0.0 to 1.0.",!1,!1,[this,"czmAlpha"]),new H("亮度","亮度,The brightness of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmBrightness"]),new H("对比度","对比度,The contrast of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmContrast"]),new H("色相","色相,The hue of this layer. 0.0 uses the unmodified imagery color. ",!1,!1,[this,"czmHue"]),new H("饱和度","饱和度,The saturation of this layer. 1.0 uses the unmodified imagery color. ",!1,!1,[this,"czmSaturation"]),new H("伽马值","伽马,The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmGamma"])])])]}};D(jn,"type",jn.register("ESImageryLayer",jn,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"影像图层"})),D(jn,"defaults",{...Xe.defaults,url:"",rectangle:[-180,-90,180,90],options:{},zIndex:0,actorTag:"",componentTag:"",minimumLevel:0,maximumLevel:22,targetID:"",opacity:1,czmSplitDirection:"NONE",czmSplitDirectionEnum:[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]],czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,czmSubdomains:[]});let Sa=jn;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),url:"",rectangle:M.reactJsonWithUndefined(void 0),options:M.reactJsonWithUndefined(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",opacity:1,czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1})})(Sa||(Sa={})),M.extendClassProps(Sa.prototype,Sa.createDefaultProps);const yn=class yn extends le{get typeName(){return"ESLocalSkyBox"}get defaultProps(){return yn.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new H("尺寸","圆直径或包围盒边长",!1,!1,[this,"size"],yn.defaults.size),new $("自动跟随","是否跟随相机",!1,!1,[this,"autoFollow"],yn.defaults.autoFollow),new ce("mode","模式",!1,!1,[this,"mode"],yn.defaults.modes,"blueSky")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new H("size","圆直径或包围盒边长",!1,!1,[this,"size"],yn.defaults.size),new $("autoFollow","是否跟随相机(自动跟随效果为渐变,会在5000米左右消失)",!1,!1,[this,"autoFollow"],yn.defaults.autoFollow),new H("autoOpacityFactor","自动消失系数",!1,!1,[this,"autoOpacityFactor"],yn.defaults.autoOpacityFactor),new ce("mode","模式",!1,!1,[this,"mode"],yn.defaults.modes)])]}};D(yn,"type",yn.register("ESLocalSkyBox",yn,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),D(yn,"defaults",{...le.defaults,size:1e4,autoFollow:!0,autoOpacityFactor:2,modes:[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]});let Ca=yn;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky"})})(Ca||(Ca={})),M.extendClassProps(Ca.prototype,Ca.createDefaultProps);const Iu=class Iu extends le{get typeName(){return"ESLocationMeasurement"}get defaultProps(){return Iu.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e)]}};D(Iu,"type",Iu.register("ESLocationMeasurement",Iu,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"位置测量点"})),D(Iu,"defaults",{...le.defaults});let xa=Iu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps()})})(xa||(xa={})),M.extendClassProps(xa.prototype,xa.createDefaultProps);const rr=class rr extends le{constructor(t){super(t);D(this,"_player",this.dv(new Ti));{const n=rr.defaults;this.d(M.bind([this._player,"loop"],[this,"playingLoop"],i=>i??n.playingLoop,i=>i??n.playingLoop)),this.d(M.bind([this._player,"currentTime"],[this,"currentTime"],i=>i??n.currentTime,i=>i??n.currentTime)),this.d(M.bind([this._player,"duration"],[this,"duration"],i=>i??n.duration,i=>i??n.duration)),this.d(M.bind([this._player,"playing"],[this,"playing"],i=>i??n.playing,i=>i??n.playing)),this.d(M.bind([this._player,"speed"],[this,"playingSpeed"],i=>i??n.playingSpeed,i=>i??n.playingSpeed))}}get typeName(){return"ESParticleSystemPrimitive"}get defaultProps(){return rr.createDefaultProps()}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new Se("飞入","飞入",["number"],n=>this.flyTo(n),[1e3]),new Gi("更新回调函数","The callback function to be called each frame to update a particle.",!0,!1,[this,"updateCallback"]),new H("发射率","emissionRate,The number of particles to emit per second.",!0,!1,[this,"emissionRate"],5),new $("是否循环","loop,Whether the particle system should loop its bursts when it is complete.",!0,!1,[this,"loop"],!0),new H("等级","scale,Sets the scale to apply to the image of the particle for the duration of its particleLife.",!0,!1,[this,"particleScale"],1),new H("初始等级","startScale,The initial scale to apply to the image of the particle at the beginning of its life.",!0,!1,[this,"startScale"]),new H("结束等级","endScale,The final scale to apply to the image of the particle at the end of its life.",!0,!1,[this,"endScale"],rr.defaults.endScale),new ge("颜色","Sets the color of a particle for the duration of its particleLife.",!0,!1,[this,"color"]),new ge("初始颜色","The color of the particle at the beginning of its life.",!0,!1,[this,"startColor"]),new ge("结束颜色","The color of the particle at the end of its life.",!0,!1,[this,"endColor"]),new $("尺寸单位为米","Sets if the size of particles is in meters or pixels. true to size the particles in meters; otherwise, the size is in pixels.",!0,!1,[this,"sizeInMeters"]),new H("速度","speed,If set, overrides the minimumSpeed and maximumSpeed inputs with this value.",!0,!1,[this,"speed"],1),new H("最小速度","minimumSpeed,Sets the minimum bound in meters per second above which a particles actual speed will be randomly chosen.",!0,!1,[this,"minimumSpeed"]),new H("最大速度","maximumSpeed,Sets the maximum bound in meters per second below which a particles actual speed will be randomly chosen.",!0,!1,[this,"maximumSpeed"]),new H("生命周期","lifetime,How long the particle system will emit particles, in seconds.",!0,!1,[this,"lifetime"],Number.MAX_VALUE),new H("粒子生命周期","particleLife,If set, overrides the minimumParticleLife and maximumParticleLife inputs with this value.",!0,!1,[this,"particleLife"],rr.defaults.particleLife),new H("最小粒子生命周期","minimumParticleLife,Sets the minimum bound in seconds for the possible duration of a particles life above which a particles actual life will be randomly chosen.",!0,!1,[this,"minimumParticleLife"]),new H("最大粒子生命周期","maximumParticleLife,Sets the maximum bound in seconds for the possible duration of a particles life below which a particles actual life will be randomly chosen.",!0,!1,[this,"maximumParticleLife"]),new H("块数量","mass,Sets the minimum and maximum mass of particles in kilograms.",!0,!1,[this,"mass"],1),new H("最小块数量","minimumMass,Sets the minimum bound for the mass of a particle in kilograms. A particles actual mass will be chosen as a random amount above this value.",!0,!1,[this,"minimumMass"]),new H("最大块数量","maximumMass,Sets the maximum mass of particles in kilograms. A particles actual mass will be chosen as a random amount below this value.",!0,!1,[this,"maximumMass"]),new at("图片尺寸","imageSize",!0,!1,[this,"imageSize"],rr.defaults.imageSize),new at("最小图片尺寸","minimumImageSize",!0,!1,[this,"minimumImageSize"]),new at("最大图片尺寸","maximumImageSize",!0,!1,[this,"maximumImageSize"]),new ql("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!0,!1,[this,"image"],rr.defaults.image),new Kt("偏移","translation",!0,!1,[this,"translation"],[0,0,0]),new gf("bursts","bursts",!0,!1,[this,"bursts"]),new ae("emitter","emitter",!1,!1,[this,"emitter"],rr.defaults.emitter)]),new ee("播放器","播放器",[new H("播放比率","播放比率(0-1)",!0,!1,[this,"ratio"],rr.defaults.ratio),new Jc("播放器","播放器",[this,"playing"],[this,"ratio"],[this,"playingLoop"]),new $("是否循环","是否循环.",!0,!1,[this,"playingLoop"],rr.defaults.playingLoop),new H("当前时间","当前时间",!0,!1,[this,"currentTime"],rr.defaults.currentTime),new H("过渡时间","过渡时间",!0,!1,[this,"duration"],rr.defaults.duration),new $("是否播放","是否播放.",!0,!1,[this,"playing"],rr.defaults.playing),new H("播放速度","播放速度.",!0,!1,[this,"playingSpeed"],rr.defaults.playingSpeed)])]}};D(rr,"type",rr.register("ESParticleSystemPrimitive",rr,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"})),D(rr,"defaults",{...le.defaults,playingLoop:!0,currentTime:0,playerCurrentTime:0,duration:6e3,playingSpeed:1,playing:!0,ratio:0,particleLife:.5,endScale:4,imageSize:[20,20],image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",emitter:{type:"CircleEmitter",radius:.5}});let Oa=rr;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),emitter:M.reactJsonWithUndefined(void 0),bursts:M.reactArrayCollectionWithUndefined(void 0),translation:M.reactArrayWithUndefined(void 0),positionEditing:void 0,image:void 0,imageSize:M.reactArrayWithUndefined(void 0),minimumImageSize:M.reactArrayWithUndefined(void 0),maximumImageSize:M.reactArrayWithUndefined(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:void 0,color:M.reactArrayWithUndefined(void 0),startColor:M.reactArrayWithUndefined(void 0),endColor:M.reactArrayWithUndefined(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:void 0,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:void 0,currentTime:void 0,duration:void 0,playingSpeed:void 0,playing:void 0})})(Oa||(Oa={})),M.extendClassProps(Oa.prototype,Oa.createDefaultProps);const mn=class mn extends jt{constructor(t){super(t);D(this,"initialStyle",this.ad(M.reactJsonWithUndefined(void 0)));D(this,"_getInitialStyleEvent",this.disposeVar(new M.Event))}get typeName(){return"ESPoi2D"}get defaultProps(){return mn.createDefaultProps()}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(t=>{const n=this.d(this.initialStyle.changed.disposableOnce(t));this.getInitialStyleEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("模式","mode",!1,!1,[this,"mode"],mn.defaults.modes,mn.defaults.mode),new ae("样式","style",!1,!1,[this,"style"],mn.defaults.style),new $("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],mn.defaults.autoAnchor)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new ce("模式","mode",!1,!1,[this,"mode"],mn.defaults.modes),new ae("样式","style",!1,!1,[this,"style"],mn.defaults.style),new $("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],mn.defaults.autoAnchor)])]}};D(mn,"type",mn.register("ESPoi2D",mn,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),D(mn,"defaults",{...jt.defaults,modes:[["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"],["UCVertical","UCVertical"]],mode:"SquareH01",style:{},autoAnchor:!0});let os=mn;(r=>{r.createDefaultProps=()=>({...jt.createDefaultProps(),mode:"SquareH01",style:M.reactJson({}),autoAnchor:!0})})(os||(os={})),M.extendClassProps(os.prototype,os.createDefaultProps);const Ai=class Ai extends le{get typeName(){return"ESPoi3D"}get defaultProps(){return Ai.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ce("模式","mode",!1,!1,[this,"mode"],Ai.defaults.modes),new ae("样式","style",!1,!1,[this,"style"],Ai.defaults.style)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ce("模式","mode",!1,!1,[this,"mode"],Ai.defaults.modes),new ae("样式","style",!1,!1,[this,"style"],Ai.defaults.style)])]}};D(Ai,"type",Ai.register("ESPoi3D",Ai,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),D(Ai,"defaults",{...le.defaults,modes:[["三角形","triangle"],["菱形","diamond"]],mode:"triangle",style:{UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]}});let Ma=Ai;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mode:"triangle",style:M.reactJson(r.defaults.style)})})(Ma||(Ma={})),M.extendClassProps(Ma.prototype,Ma.createDefaultProps);const Tu=class Tu extends ze{constructor(t){super(t);D(this,"_czmFlattenedPlaneId",this.disposeVar(M.react("")));this.filled=!1}get typeName(){return"ESPolygonFlattenedPlane"}get defaultProps(){return Tu.createDefaultProps()}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(t){this._czmFlattenedPlaneId.value=t}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new de("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new de("瓦片图层","targetID",!1,!1,[this,"targetID"])])]}};D(Tu,"type",Tu.register("ESPolygonFlattenedPlane",Tu,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"})),D(Tu,"defaults",{...ze.defaults});let Ia=Tu;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),targetID:""})})(Ia||(Ia={})),M.extendClassProps(Ia.prototype,Ia.createDefaultProps);const Ry=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"AddTrees",p:{id:e,TreeParams:t}});return i.error&&console.error("AddTrees:",i.error),i},Ly=async(r,e)=>{const{viewer:t}=r;if(!t){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const n=await t.callUeFunc({f:"RemoveAllTrees",p:{id:e}});return n.error&&console.error("RemoveAllTrees:",n.error),n},Fy=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"UpdateTreeParams",p:{id:e,TreeParams:t}});return i.error&&console.error("UpdateTreeParams:",i.error),i},jy=async(r,e,t,n)=>{const{viewer:i}=r;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const o=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:n}});return o.error&&console.error("CutDownTrees:",o.error),o},ky=async(r,e,t,n,i)=>{const{viewer:o}=r;if(!o){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const s=await o.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:n}});return s.error&&console.error("GrowthSimulation:",s.error),s},Nu=class Nu extends Xe{constructor(t){super(t);D(this,"_addTreesEvent",this.dv(new M.Event));D(this,"_removeAllTreesEvent",this.dv(new M.Event));D(this,"_updateTreeParamsEvent",this.dv(new M.Event));D(this,"_cutDownTreesEvent",this.dv(new M.Event));D(this,"_growthSimulationEvent",this.dv(new M.Event))}get typeName(){return"ESSeparateFoliage"}get defaultProps(){return Nu.createDefaultProps()}async addTreesCallFunc(t,n){return await Ry(t,this.id,n)}async updateTreeParamsCallFunc(t,n){return await Fy(t,this.id,n)}async cutDownTreesCallFunc(t,n,i){return await jy(t,this.id,n,i)}async removeAllTreesCallFunc(t){return await Ly(t,this.id)}async growthSimulationCallFunc(t,n,i,o){return await ky(t,this.id,n,i,o)}async getIdByComponentNameAndHitItem(t,n,i){return await t.getIdByComponentNameAndHitItem(this.id,n,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(t){this._addTreesEvent.emit(t)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(t){this._updateTreeParamsEvent.emit(t)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(t,n){this._cutDownTreesEvent.emit(t,n)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(t,n,i){this._growthSimulationEvent.emit(t,n,i)}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new ae("treeTypes","类型为 { name: string, meshPath: string }[]",!0,!1,[this,"treeTypes"],[],"{ name: string, meshPath: string }[]"),new H("树桩id","树桩id",!1,!1,[this,"stumpId"]),new H("动画间隔时间","动画间隔时间",!1,!1,[this,"intervalTime"]),new H("切换间隔时间","切换间隔时间",!1,!1,[this,"switchIntervalTime"])])]}};D(Nu,"type",Nu.register("ESSeparateFoliage",Nu,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"})),D(Nu,"defaults",{...Xe.defaults,treeTypes:[],stumpId:-1,intervalTime:.1,switchIntervalTime:.5});let Ta=Nu;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),treeTypes:M.reactJsonWithUndefined(void 0),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})})(Ta||(Ta={})),M.extendClassProps(Ta.prototype,Ta.createDefaultProps);function ef(r,e,t){const n="buffer"in r,i=n?r.buffer:r;n&&(e+=r.byteOffset);const o=new Array(t),s=new DataView(i);for(let a=0;a<t;++a){const c=s.getUint8(e+a);o[a]=String.fromCharCode(c)}return o.join("")}function tf(r,e){const t="buffer"in r,n=t?r.buffer:r;return t&&(e+=r.byteOffset),new DataView(n).getUint32(e,!0)}function Gy(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,e,t)}function eC(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,e,t)}function tC(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,e,t)}function rC(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,e,t)}function Vy(r){if(ef(r,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=tf(r,4);if(t!==2){console.error("Unsupported glTF version");return}const n=tf(r,8);if(n!==r.byteLength){console.error("Invalid glTF length");return}const i=tf(r,12);if(i+12+4>n){console.error("Invalid glTF chunk length");return}if(ef(r,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const s=ef(r,20,i),a={version:t,length:n,gltfJson:s};do{if(20+i>=r.byteLength)break;const c=tf(r,20+i);if(ef(r,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const m=Gy(r,20+i+8,c);a.gltfBinary=m}while(!1);return a}window.parseGlb=Vy;function By(r){const e=Vy(r);if(e===void 0||!e.gltfBinary)return;const t=JSON.parse(e.gltfJson);return t.nodes.map(n=>{var i=t.meshes[n.mesh],o=i.primitives[0].attributes.POSITION,s=i.primitives[0].indices,a=t.accessors[o],c=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const f=rC(e.gltfBinary,c.byteOffset??0,c.byteLength/4);var m=t.accessors[s],p=t.bufferViews[m.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let g;return m.componentType===5121?g=Gy(e.gltfBinary,p.byteOffset??0,p.byteLength/1):m.componentType===5123?g=eC(e.gltfBinary,p.byteOffset??0,p.byteLength/2):m.componentType===5125&&(g=tC(e.gltfBinary,p.byteOffset??0,p.byteLength/4)),{name:n.name,posBuffer:f,indicesBuffer:g}})}window.parseWaterGlb=By;const gt=class gt extends le{constructor(t){super(t);D(this,"_submergingData");D(this,"_allMoments",[]);D(this,"readyEvent",this.dv(new M.Event));{const n=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(o=>{this._submergingData=By(o);const s=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=s,this.currentTime==0&&(this.currentTime=s[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};n(),this.d(this.urlChanged.don(()=>{n()}))}}get typeName(){return"ESSubmergingAnalysis"}get defaultProps(){return gt.createDefaultProps()}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new de("Url地址","url",!1,!1,[this,"url"],gt.defaults.url),new ut("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],gt.defaults.amplitude),new H("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],gt.defaults.frequency),new H("当前时间","currentTime",!1,!1,[this,"currentTime"],gt.defaults.currentTime),new ae("材质参数","materialParams",!1,!1,[this,"materialParams"],gt.defaults.materialParams),new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],gt.defaults.waterTypes,"river"),new ge("水的底色","waterColor",!1,!1,[this,"waterColor"],gt.defaults.waterColor),new ut("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],gt.defaults.waveVelocity),new H("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],gt.defaults.flowSpeed),new ut("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],gt.defaults.specularIntensity)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new de("模型Url地址","url",!1,!1,[this,"url"],gt.defaults.url),new H("当前时间","currentTime",!1,!1,[this,"currentTime"],gt.defaults.currentTime),new ae("材质参数","materialParams",!1,!1,[this,"materialParams"],gt.defaults.materialParams),new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],gt.defaults.waterTypes),new ge("水的底色","waterColor",!1,!1,[this,"waterColor"],gt.defaults.waterColor),new H("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],gt.defaults.frequency),new ut("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],gt.defaults.waveVelocity),new ut("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],gt.defaults.amplitude),new ut("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],gt.defaults.specularIntensity),new H("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],gt.defaults.flowSpeed)])]}};D(gt,"type",gt.register("ESSubmergingAnalysis",gt,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"})),D(gt,"defaults",{...le.defaults,url:"",currentTime:0,materialParams:{},waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowSpeed:0});let Na=gt;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",currentTime:0,materialParams:M.reactJson({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,allowPicking:!0})})(Na||(Na={})),M.extendClassProps(Na.prototype,Na.createDefaultProps);const Do=class Do extends ze{constructor(t){super(t);D(this,"_startEvent",this.dv(new M.Event));D(this,"_stopEvent",this.dv(new M.Event));this.filled=!1,this.stroked=!1}get typeName(){return"ESSunshineAnalysis"}get defaultProps(){return Do.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getProperties(t){return[...super.getProperties(t),new ge("起始颜色","起始颜色",!1,!1,[this,"startColor"]),new ge("结束颜色","结束颜色",!1,!1,[this,"endColor"]),new H("计算进度","计算进度",!0,!0,[this,"progress"]),new H("高度","高度m",!1,!1,[this,"extrudedHeight"]),new H("底面高度","底面高度",!1,!1,[this,"height"]),new H("采样间距","采样间距m",!1,!1,[this,"sampleDistance"]),new H("起始时间","startTime,时间戳",!1,!1,[this,"startTime"]),new H("结束时间","endTime,时间戳",!1,!1,[this,"endTime"]),new H("时间跨度","时间跨度,默认1小时时间戳",!1,!1,[this,"spanTime"]),new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("结束分析","结束分析",[],()=>this.stop(),[])]}};D(Do,"type",Do.register("ESSunshineAnalysis",Do,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),D(Do,"supportEditingModes",[...ze.supportEditingModes,xe.HeightModify]),D(Do,"defaults",{...ze.defaults});let Da=Do;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:M.reactArray([1,1,0,1]),endColor:M.reactArray([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0})})(Da||(Da={})),M.extendClassProps(Da.prototype,Da.createDefaultProps);const Zr=class Zr extends Xe{constructor(t){super(t);D(this,"_activateEvent",this.disposeVar(new M.Event));D(this,"activate",!1)}get typeName(){return"ESTerrainLayer"}get defaultProps(){return Zr.createDefaultProps()}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()},n=[new H("层级序号","层级序号",!1,!1,[this,"zIndex"],Zr.defaults.zIndex),new ce("渲染模式","renderMode",!1,!1,[this,"renderMode"],Zr.defaults.renderModes,"default"),new H("透明度","opacity",!1,!1,[this,"opacity"],Zr.defaults.opacity)],i=[new ae("地形服务地址","地形服务地址",!1,!1,[this,"url"],Zr.defaults.url),new kr("矩形范围","西南东北",!1,!1,[this,"rectangle"],Zr.defaults.rectangle)];return t.basic.push(...n),t.dataSource.push(...i),t.defaultMenu="dataSource",t}getProperties(t){return[...super.getProperties(t),new ee("ESTerrainLayer","ESTerrainLayer",[new ae("地形服务地址","地形服务地址",!1,!1,[this,"url"]),new kr("矩形范围","西南东北",!1,!1,[this,"rectangle"]),new H("层级","zIndex",!1,!1,[this,"zIndex"]),new ce("渲染模式","renderMode",!1,!1,[this,"renderMode"],Zr.defaults.renderModes,Zr.defaults.renderMode),new H("透明度","opacity",!1,!1,[this,"opacity"],Zr.defaults.opacity),new ee("czm","czm",[new H("czmMinzoom","czmMinzoom",!0,!1,[this,"czmMinzoom"]),new H("czmMaxzoom","czmMaxzoom",!0,!1,[this,"czmMaxzoom"])])])]}};D(Zr,"type",Zr.register("ESTerrainLayer",Zr,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"})),D(Zr,"defaults",{...Xe.defaults,show:!0,url:"http://inner.earthsdk.com/layer.json",rectangle:[-180,-90,180,90],zIndex:0,renderMode:"default",renderModes:[["使用深度检测","default"],["不使用深度检测","disableDepthTest"],["透明","transparent"]],opacity:1});let Aa=Zr;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:M.reactArray([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0,renderMode:"default",opacity:1})})(Aa||(Aa={})),M.extendClassProps(Aa.prototype,Aa.createDefaultProps);const ui=class ui extends jt{get typeName(){return"ESTextLabel"}get defaultProps(){return ui.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ge("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"],[1,1,1,1]),new H("文字大小","fontSize",!1,!1,[this,"fontSize"],14),new Yc("内容","内容",!0,!1,[this,"text"],ui.defaults.text),new ge("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"],ui.defaults.backgroundColor),new kr("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"],ui.defaults.padding)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new Yc("内容","内容",!0,!1,[this,"text"],ui.defaults.text),new ge("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"]),new H("文字大小","fontSize",!1,!1,[this,"fontSize"]),new ge("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"]),new kr("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"])]),new ee("czm","czm",[new $("文本编辑交互","文本编辑交互.",!1,!1,[this,"textEditingInteraction"]),new $("文本编辑","文本编辑.",!1,!1,[this,"textEditing"]),new H("宽度","宽度",!0,!1,[this,"width"],ui.defaults.width),new kr("原点比例和偏移","原点比例和偏移.",!1,!1,[this,"originRatioAndOffset"]),new H("透明度","透明度",!1,!1,[this,"opacity"]),new kr("边框圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new ge("边框颜色"," 边框色.",!1,!1,[this,"borderColor"]),new H("边框宽度","边框宽度",!1,!1,[this,"borderWidth"]),new ce("文字位置","文字位置",!1,!1,[this,"textAlign"],[["center","center"],["left","left"],["right","right"]]),new ce("边框类型","边框类型",!1,!1,[this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]])])]}};D(ui,"type",ui.register("ESTextLabel",ui,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"})),D(ui,"defaults",{...jt.defaults,allowTextEditing:!0,width:80,text:"请输入文字",originRatioAndOffset:[.5,1,0,0],opacity:1,backgroundColor:[0,0,0,.8],padding:[5,5,5,5],borderRadius:[6,6,6,6],borderColor:[1,1,1,1],borderWidth:0,textAlign:"left",borderStyle:"solid"});let Ra=ui;(r=>{r.createDefaultProps=()=>({...jt.createDefaultProps(),text:void 0,width:void 0,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:M.reactArray([1,1,1,1]),backgroundColor:M.reactArray([0,0,0,.8]),padding:M.reactArray([5,5,5,5]),borderRadius:M.reactArray([6,6,6,6]),borderWidth:0,borderColor:M.reactArray([1,1,1,1]),borderStyle:"solid"})})(Ra||(Ra={})),M.extendClassProps(Ra.prototype,Ra.createDefaultProps);const zy=`
542
+ `,jn=class jn extends Xe{get typeName(){return"ESImageryLayer"}get defaultProps(){return jn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new H("层级序号","层级序号",!1,!1,[this,"zIndex"],jn.defaults.zIndex)],dataSource:[...e.dataSource,new ae("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new kr("矩形范围","西南东北",!0,!1,[this,"rectangle"],jn.defaults.rectangle),new ut("最大级别","最大级别.",!0,!1,[this,"maximumLevel"],1,[1,24],jn.defaults.maximumLevel),new ae("options","options",!0,!1,[this,"options"],jn.defaults.options),new de("targetID","targetID",!1,!1,[this,"targetID"],""),new ut("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]}}getProperties(e){return[...super.getProperties(e),new ee("ESImageryLayer","ESImageryLayer",[new ae("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new ee("通用","通用",[new kr("矩形范围","西南东北",!0,!1,[this,"rectangle"],jn.defaults.rectangle),new H("高度","A numeric Property specifying the height.",!1,!1,[this,"height"]),new H("zIndex","层级",!1,!1,[this,"zIndex"]),new de("actorTag","actorTag",!1,!1,[this,"actorTag"]),new de("componentTag","componentTag",!1,!1,[this,"componentTag"]),new H("minimumLevel","minimumLevel",!1,!1,[this,"minimumLevel"]),new H("maximumLevel","maximumLevel",!1,!1,[this,"maximumLevel"]),new ae("options","options",!0,!1,[this,"options"],{},Ay),new de("targetID","targetID",!1,!1,[this,"targetID"]),new ut("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]),new ee("czm","czm",[new ce("czmSplitDirection","The ImagerySplitDirection split to apply to this layer.",!1,!1,[this,"czmSplitDirection"],jn.defaults.czmSplitDirectionEnum),new H("透明度","透明度,The alpha blending value of this layer, from 0.0 to 1.0.",!1,!1,[this,"czmAlpha"]),new H("亮度","亮度,The brightness of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmBrightness"]),new H("对比度","对比度,The contrast of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmContrast"]),new H("色相","色相,The hue of this layer. 0.0 uses the unmodified imagery color. ",!1,!1,[this,"czmHue"]),new H("饱和度","饱和度,The saturation of this layer. 1.0 uses the unmodified imagery color. ",!1,!1,[this,"czmSaturation"]),new H("伽马值","伽马,The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmGamma"])])])]}};D(jn,"type",jn.register("ESImageryLayer",jn,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"影像图层"})),D(jn,"defaults",{...Xe.defaults,url:"",rectangle:[-180,-90,180,90],options:{},zIndex:0,actorTag:"",componentTag:"",minimumLevel:0,maximumLevel:22,targetID:"",opacity:1,czmSplitDirection:"NONE",czmSplitDirectionEnum:[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]],czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,czmSubdomains:[]});let Sa=jn;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),url:"",rectangle:M.reactJsonWithUndefined(void 0),options:M.reactJsonWithUndefined(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",opacity:1,czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1})})(Sa||(Sa={})),M.extendClassProps(Sa.prototype,Sa.createDefaultProps);const yn=class yn extends le{get typeName(){return"ESLocalSkyBox"}get defaultProps(){return yn.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new H("尺寸","圆直径或包围盒边长",!1,!1,[this,"size"],yn.defaults.size),new $("自动跟随","是否跟随相机",!1,!1,[this,"autoFollow"],yn.defaults.autoFollow),new ce("mode","模式",!1,!1,[this,"mode"],yn.defaults.modes,"blueSky")]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new H("size","圆直径或包围盒边长",!1,!1,[this,"size"],yn.defaults.size),new $("autoFollow","是否跟随相机(自动跟随效果为渐变,会在5000米左右消失)",!1,!1,[this,"autoFollow"],yn.defaults.autoFollow),new H("autoOpacityFactor","自动消失系数",!1,!1,[this,"autoOpacityFactor"],yn.defaults.autoOpacityFactor),new ce("mode","模式",!1,!1,[this,"mode"],yn.defaults.modes)])]}};D(yn,"type",yn.register("ESLocalSkyBox",yn,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),D(yn,"defaults",{...le.defaults,size:1e4,autoFollow:!0,autoOpacityFactor:2,modes:[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]});let Ca=yn;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky"})})(Ca||(Ca={})),M.extendClassProps(Ca.prototype,Ca.createDefaultProps);const Iu=class Iu extends le{get typeName(){return"ESLocationMeasurement"}get defaultProps(){return Iu.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e)]}};D(Iu,"type",Iu.register("ESLocationMeasurement",Iu,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"位置测量点"})),D(Iu,"defaults",{...le.defaults});let xa=Iu;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps()})})(xa||(xa={})),M.extendClassProps(xa.prototype,xa.createDefaultProps);const rr=class rr extends le{constructor(t){super(t);D(this,"_player",this.dv(new Ti));{const n=rr.defaults;this.d(M.bind([this._player,"loop"],[this,"playingLoop"],i=>i??n.playingLoop,i=>i??n.playingLoop)),this.d(M.bind([this._player,"currentTime"],[this,"currentTime"],i=>i??n.currentTime,i=>i??n.currentTime)),this.d(M.bind([this._player,"duration"],[this,"duration"],i=>i??n.duration,i=>i??n.duration)),this.d(M.bind([this._player,"playing"],[this,"playing"],i=>i??n.playing,i=>i??n.playing)),this.d(M.bind([this._player,"speed"],[this,"playingSpeed"],i=>i??n.playingSpeed,i=>i??n.playingSpeed))}}get typeName(){return"ESParticleSystemPrimitive"}get defaultProps(){return rr.createDefaultProps()}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new Se("飞入","飞入",["number"],n=>this.flyTo(n),[1e3]),new Gi("更新回调函数","The callback function to be called each frame to update a particle.",!0,!1,[this,"updateCallback"]),new H("发射率","emissionRate,The number of particles to emit per second.",!0,!1,[this,"emissionRate"],5),new $("是否循环","loop,Whether the particle system should loop its bursts when it is complete.",!0,!1,[this,"loop"],!0),new H("等级","scale,Sets the scale to apply to the image of the particle for the duration of its particleLife.",!0,!1,[this,"particleScale"],1),new H("初始等级","startScale,The initial scale to apply to the image of the particle at the beginning of its life.",!0,!1,[this,"startScale"]),new H("结束等级","endScale,The final scale to apply to the image of the particle at the end of its life.",!0,!1,[this,"endScale"],rr.defaults.endScale),new ge("颜色","Sets the color of a particle for the duration of its particleLife.",!0,!1,[this,"color"]),new ge("初始颜色","The color of the particle at the beginning of its life.",!0,!1,[this,"startColor"]),new ge("结束颜色","The color of the particle at the end of its life.",!0,!1,[this,"endColor"]),new $("尺寸单位为米","Sets if the size of particles is in meters or pixels. true to size the particles in meters; otherwise, the size is in pixels.",!0,!1,[this,"sizeInMeters"]),new H("速度","speed,If set, overrides the minimumSpeed and maximumSpeed inputs with this value.",!0,!1,[this,"speed"],1),new H("最小速度","minimumSpeed,Sets the minimum bound in meters per second above which a particles actual speed will be randomly chosen.",!0,!1,[this,"minimumSpeed"]),new H("最大速度","maximumSpeed,Sets the maximum bound in meters per second below which a particles actual speed will be randomly chosen.",!0,!1,[this,"maximumSpeed"]),new H("生命周期","lifetime,How long the particle system will emit particles, in seconds.",!0,!1,[this,"lifetime"],Number.MAX_VALUE),new H("粒子生命周期","particleLife,If set, overrides the minimumParticleLife and maximumParticleLife inputs with this value.",!0,!1,[this,"particleLife"],rr.defaults.particleLife),new H("最小粒子生命周期","minimumParticleLife,Sets the minimum bound in seconds for the possible duration of a particles life above which a particles actual life will be randomly chosen.",!0,!1,[this,"minimumParticleLife"]),new H("最大粒子生命周期","maximumParticleLife,Sets the maximum bound in seconds for the possible duration of a particles life below which a particles actual life will be randomly chosen.",!0,!1,[this,"maximumParticleLife"]),new H("块数量","mass,Sets the minimum and maximum mass of particles in kilograms.",!0,!1,[this,"mass"],1),new H("最小块数量","minimumMass,Sets the minimum bound for the mass of a particle in kilograms. A particles actual mass will be chosen as a random amount above this value.",!0,!1,[this,"minimumMass"]),new H("最大块数量","maximumMass,Sets the maximum mass of particles in kilograms. A particles actual mass will be chosen as a random amount below this value.",!0,!1,[this,"maximumMass"]),new at("图片尺寸","imageSize",!0,!1,[this,"imageSize"],rr.defaults.imageSize),new at("最小图片尺寸","minimumImageSize",!0,!1,[this,"minimumImageSize"]),new at("最大图片尺寸","maximumImageSize",!0,!1,[this,"maximumImageSize"]),new ql("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!0,!1,[this,"image"],rr.defaults.image),new Kt("偏移","translation",!0,!1,[this,"translation"],[0,0,0]),new gf("bursts","bursts",!0,!1,[this,"bursts"]),new ae("emitter","emitter",!1,!1,[this,"emitter"],rr.defaults.emitter)]),new ee("播放器","播放器",[new H("播放比率","播放比率(0-1)",!0,!1,[this,"ratio"],rr.defaults.ratio),new Jc("播放器","播放器",[this,"playing"],[this,"ratio"],[this,"playingLoop"]),new $("是否循环","是否循环.",!0,!1,[this,"playingLoop"],rr.defaults.playingLoop),new H("当前时间","当前时间",!0,!1,[this,"currentTime"],rr.defaults.currentTime),new H("过渡时间","过渡时间",!0,!1,[this,"duration"],rr.defaults.duration),new $("是否播放","是否播放.",!0,!1,[this,"playing"],rr.defaults.playing),new H("播放速度","播放速度.",!0,!1,[this,"playingSpeed"],rr.defaults.playingSpeed)])]}};D(rr,"type",rr.register("ESParticleSystemPrimitive",rr,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"})),D(rr,"defaults",{...le.defaults,playingLoop:!0,currentTime:0,playerCurrentTime:0,duration:6e3,playingSpeed:1,playing:!0,ratio:0,particleLife:.5,endScale:4,imageSize:[20,20],image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",emitter:{type:"CircleEmitter",radius:.5}});let Oa=rr;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),emitter:M.reactJsonWithUndefined(void 0),bursts:M.reactArrayCollectionWithUndefined(void 0),translation:M.reactArrayWithUndefined(void 0),positionEditing:void 0,image:void 0,imageSize:M.reactArrayWithUndefined(void 0),minimumImageSize:M.reactArrayWithUndefined(void 0),maximumImageSize:M.reactArrayWithUndefined(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:void 0,color:M.reactArrayWithUndefined(void 0),startColor:M.reactArrayWithUndefined(void 0),endColor:M.reactArrayWithUndefined(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:void 0,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:void 0,currentTime:void 0,duration:void 0,playingSpeed:void 0,playing:void 0})})(Oa||(Oa={})),M.extendClassProps(Oa.prototype,Oa.createDefaultProps);const mn=class mn extends jt{constructor(t){super(t);D(this,"initialStyle",this.ad(M.reactJsonWithUndefined(void 0)));D(this,"_getInitialStyleEvent",this.disposeVar(new M.Event))}get typeName(){return"ESPoi2D"}get defaultProps(){return mn.createDefaultProps()}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(t=>{const n=this.d(this.initialStyle.changed.disposableOnce(t));this.getInitialStyleEvent.emit(),setTimeout(()=>{n(),t(void 0)},2e3)})])}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ce("模式","mode",!1,!1,[this,"mode"],mn.defaults.modes,mn.defaults.mode),new ae("样式","style",!1,!1,[this,"style"],mn.defaults.style),new $("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],mn.defaults.autoAnchor)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new ce("模式","mode",!1,!1,[this,"mode"],mn.defaults.modes),new ae("样式","style",!1,!1,[this,"style"],mn.defaults.style),new $("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],mn.defaults.autoAnchor)])]}};D(mn,"type",mn.register("ESPoi2D",mn,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),D(mn,"defaults",{...jt.defaults,modes:[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]],mode:"SquareH01",style:{},autoAnchor:!0});let os=mn;(r=>{r.createDefaultProps=()=>({...jt.createDefaultProps(),mode:"SquareH01",style:M.reactJson({}),autoAnchor:!0})})(os||(os={})),M.extendClassProps(os.prototype,os.createDefaultProps);const Ai=class Ai extends le{get typeName(){return"ESPoi3D"}get defaultProps(){return Ai.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ce("模式","mode",!1,!1,[this,"mode"],Ai.defaults.modes),new ae("样式","style",!1,!1,[this,"style"],Ai.defaults.style)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new ce("模式","mode",!1,!1,[this,"mode"],Ai.defaults.modes),new ae("样式","style",!1,!1,[this,"style"],Ai.defaults.style)])]}};D(Ai,"type",Ai.register("ESPoi3D",Ai,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),D(Ai,"defaults",{...le.defaults,modes:[["三角形","triangle"],["菱形","diamond"]],mode:"triangle",style:{UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]}});let Ma=Ai;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mode:"triangle",style:M.reactJson(r.defaults.style)})})(Ma||(Ma={})),M.extendClassProps(Ma.prototype,Ma.createDefaultProps);const Tu=class Tu extends ze{constructor(t){super(t);D(this,"_czmFlattenedPlaneId",this.disposeVar(M.react("")));this.filled=!1}get typeName(){return"ESPolygonFlattenedPlane"}get defaultProps(){return Tu.createDefaultProps()}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(t){this._czmFlattenedPlaneId.value=t}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new de("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new de("瓦片图层","targetID",!1,!1,[this,"targetID"])])]}};D(Tu,"type",Tu.register("ESPolygonFlattenedPlane",Tu,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"})),D(Tu,"defaults",{...ze.defaults});let Ia=Tu;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),targetID:""})})(Ia||(Ia={})),M.extendClassProps(Ia.prototype,Ia.createDefaultProps);const Ry=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"AddTrees",p:{id:e,TreeParams:t}});return i.error&&console.error("AddTrees:",i.error),i},Ly=async(r,e)=>{const{viewer:t}=r;if(!t){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const n=await t.callUeFunc({f:"RemoveAllTrees",p:{id:e}});return n.error&&console.error("RemoveAllTrees:",n.error),n},Fy=async(r,e,t)=>{const{viewer:n}=r;if(!n){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await n.callUeFunc({f:"UpdateTreeParams",p:{id:e,TreeParams:t}});return i.error&&console.error("UpdateTreeParams:",i.error),i},jy=async(r,e,t,n)=>{const{viewer:i}=r;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const o=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:n}});return o.error&&console.error("CutDownTrees:",o.error),o},ky=async(r,e,t,n,i)=>{const{viewer:o}=r;if(!o){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const s=await o.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:n}});return s.error&&console.error("GrowthSimulation:",s.error),s},Nu=class Nu extends Xe{constructor(t){super(t);D(this,"_addTreesEvent",this.dv(new M.Event));D(this,"_removeAllTreesEvent",this.dv(new M.Event));D(this,"_updateTreeParamsEvent",this.dv(new M.Event));D(this,"_cutDownTreesEvent",this.dv(new M.Event));D(this,"_growthSimulationEvent",this.dv(new M.Event))}get typeName(){return"ESSeparateFoliage"}get defaultProps(){return Nu.createDefaultProps()}async addTreesCallFunc(t,n){return await Ry(t,this.id,n)}async updateTreeParamsCallFunc(t,n){return await Fy(t,this.id,n)}async cutDownTreesCallFunc(t,n,i){return await jy(t,this.id,n,i)}async removeAllTreesCallFunc(t){return await Ly(t,this.id)}async growthSimulationCallFunc(t,n,i,o){return await ky(t,this.id,n,i,o)}async getIdByComponentNameAndHitItem(t,n,i){return await t.getIdByComponentNameAndHitItem(this.id,n,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(t){this._addTreesEvent.emit(t)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(t){this._updateTreeParamsEvent.emit(t)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(t,n){this._cutDownTreesEvent.emit(t,n)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(t,n,i){this._growthSimulationEvent.emit(t,n,i)}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new ae("treeTypes","类型为 { name: string, meshPath: string }[]",!0,!1,[this,"treeTypes"],[],"{ name: string, meshPath: string }[]"),new H("树桩id","树桩id",!1,!1,[this,"stumpId"]),new H("动画间隔时间","动画间隔时间",!1,!1,[this,"intervalTime"]),new H("切换间隔时间","切换间隔时间",!1,!1,[this,"switchIntervalTime"])])]}};D(Nu,"type",Nu.register("ESSeparateFoliage",Nu,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"})),D(Nu,"defaults",{...Xe.defaults,treeTypes:[],stumpId:-1,intervalTime:.1,switchIntervalTime:.5});let Ta=Nu;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),treeTypes:M.reactJsonWithUndefined(void 0),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})})(Ta||(Ta={})),M.extendClassProps(Ta.prototype,Ta.createDefaultProps);function ef(r,e,t){const n="buffer"in r,i=n?r.buffer:r;n&&(e+=r.byteOffset);const o=new Array(t),s=new DataView(i);for(let a=0;a<t;++a){const c=s.getUint8(e+a);o[a]=String.fromCharCode(c)}return o.join("")}function tf(r,e){const t="buffer"in r,n=t?r.buffer:r;return t&&(e+=r.byteOffset),new DataView(n).getUint32(e,!0)}function Gy(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,e,t)}function eC(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,e,t)}function tC(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,e,t)}function rC(r,e,t){const n="buffer"in r,i=n?r.buffer:r;if(n&&(e+=r.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,e,t)}function Vy(r){if(ef(r,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=tf(r,4);if(t!==2){console.error("Unsupported glTF version");return}const n=tf(r,8);if(n!==r.byteLength){console.error("Invalid glTF length");return}const i=tf(r,12);if(i+12+4>n){console.error("Invalid glTF chunk length");return}if(ef(r,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const s=ef(r,20,i),a={version:t,length:n,gltfJson:s};do{if(20+i>=r.byteLength)break;const c=tf(r,20+i);if(ef(r,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const m=Gy(r,20+i+8,c);a.gltfBinary=m}while(!1);return a}window.parseGlb=Vy;function By(r){const e=Vy(r);if(e===void 0||!e.gltfBinary)return;const t=JSON.parse(e.gltfJson);return t.nodes.map(n=>{var i=t.meshes[n.mesh],o=i.primitives[0].attributes.POSITION,s=i.primitives[0].indices,a=t.accessors[o],c=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const f=rC(e.gltfBinary,c.byteOffset??0,c.byteLength/4);var m=t.accessors[s],p=t.bufferViews[m.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let g;return m.componentType===5121?g=Gy(e.gltfBinary,p.byteOffset??0,p.byteLength/1):m.componentType===5123?g=eC(e.gltfBinary,p.byteOffset??0,p.byteLength/2):m.componentType===5125&&(g=tC(e.gltfBinary,p.byteOffset??0,p.byteLength/4)),{name:n.name,posBuffer:f,indicesBuffer:g}})}window.parseWaterGlb=By;const gt=class gt extends le{constructor(t){super(t);D(this,"_submergingData");D(this,"_allMoments",[]);D(this,"readyEvent",this.dv(new M.Event));{const n=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(o=>{this._submergingData=By(o);const s=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=s,this.currentTime==0&&(this.currentTime=s[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};n(),this.d(this.urlChanged.don(()=>{n()}))}}get typeName(){return"ESSubmergingAnalysis"}get defaultProps(){return gt.createDefaultProps()}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new de("Url地址","url",!1,!1,[this,"url"],gt.defaults.url),new ut("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],gt.defaults.amplitude),new H("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],gt.defaults.frequency),new H("当前时间","currentTime",!1,!1,[this,"currentTime"],gt.defaults.currentTime),new ae("材质参数","materialParams",!1,!1,[this,"materialParams"],gt.defaults.materialParams),new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],gt.defaults.waterTypes,"river"),new ge("水的底色","waterColor",!1,!1,[this,"waterColor"],gt.defaults.waterColor),new ut("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],gt.defaults.waveVelocity),new H("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],gt.defaults.flowSpeed),new ut("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],gt.defaults.specularIntensity)]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new de("模型Url地址","url",!1,!1,[this,"url"],gt.defaults.url),new H("当前时间","currentTime",!1,!1,[this,"currentTime"],gt.defaults.currentTime),new ae("材质参数","materialParams",!1,!1,[this,"materialParams"],gt.defaults.materialParams),new ce("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],gt.defaults.waterTypes),new ge("水的底色","waterColor",!1,!1,[this,"waterColor"],gt.defaults.waterColor),new H("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],gt.defaults.frequency),new ut("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],gt.defaults.waveVelocity),new ut("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],gt.defaults.amplitude),new ut("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],gt.defaults.specularIntensity),new H("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],gt.defaults.flowSpeed)])]}};D(gt,"type",gt.register("ESSubmergingAnalysis",gt,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"})),D(gt,"defaults",{...le.defaults,url:"",currentTime:0,materialParams:{},waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowSpeed:0});let Na=gt;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),url:"",currentTime:0,materialParams:M.reactJson({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,allowPicking:!0})})(Na||(Na={})),M.extendClassProps(Na.prototype,Na.createDefaultProps);const Do=class Do extends ze{constructor(t){super(t);D(this,"_startEvent",this.dv(new M.Event));D(this,"_stopEvent",this.dv(new M.Event));this.filled=!1,this.stroked=!1}get typeName(){return"ESSunshineAnalysis"}get defaultProps(){return Do.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getProperties(t){return[...super.getProperties(t),new ge("起始颜色","起始颜色",!1,!1,[this,"startColor"]),new ge("结束颜色","结束颜色",!1,!1,[this,"endColor"]),new H("计算进度","计算进度",!0,!0,[this,"progress"]),new H("高度","高度m",!1,!1,[this,"extrudedHeight"]),new H("底面高度","底面高度",!1,!1,[this,"height"]),new H("采样间距","采样间距m",!1,!1,[this,"sampleDistance"]),new H("起始时间","startTime,时间戳",!1,!1,[this,"startTime"]),new H("结束时间","endTime,时间戳",!1,!1,[this,"endTime"]),new H("时间跨度","时间跨度,默认1小时时间戳",!1,!1,[this,"spanTime"]),new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("结束分析","结束分析",[],()=>this.stop(),[])]}};D(Do,"type",Do.register("ESSunshineAnalysis",Do,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),D(Do,"supportEditingModes",[...ze.supportEditingModes,xe.HeightModify]),D(Do,"defaults",{...ze.defaults});let Da=Do;(r=>{r.createDefaultProps=()=>({...ze.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:M.reactArray([1,1,0,1]),endColor:M.reactArray([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0})})(Da||(Da={})),M.extendClassProps(Da.prototype,Da.createDefaultProps);const Zr=class Zr extends Xe{constructor(t){super(t);D(this,"_activateEvent",this.disposeVar(new M.Event));D(this,"activate",!1)}get typeName(){return"ESTerrainLayer"}get defaultProps(){return Zr.createDefaultProps()}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()},n=[new H("层级序号","层级序号",!1,!1,[this,"zIndex"],Zr.defaults.zIndex),new ce("渲染模式","renderMode",!1,!1,[this,"renderMode"],Zr.defaults.renderModes,"default"),new H("透明度","opacity",!1,!1,[this,"opacity"],Zr.defaults.opacity)],i=[new ae("地形服务地址","地形服务地址",!1,!1,[this,"url"],Zr.defaults.url),new kr("矩形范围","西南东北",!1,!1,[this,"rectangle"],Zr.defaults.rectangle)];return t.basic.push(...n),t.dataSource.push(...i),t.defaultMenu="dataSource",t}getProperties(t){return[...super.getProperties(t),new ee("ESTerrainLayer","ESTerrainLayer",[new ae("地形服务地址","地形服务地址",!1,!1,[this,"url"]),new kr("矩形范围","西南东北",!1,!1,[this,"rectangle"]),new H("层级","zIndex",!1,!1,[this,"zIndex"]),new ce("渲染模式","renderMode",!1,!1,[this,"renderMode"],Zr.defaults.renderModes,Zr.defaults.renderMode),new H("透明度","opacity",!1,!1,[this,"opacity"],Zr.defaults.opacity),new ee("czm","czm",[new H("czmMinzoom","czmMinzoom",!0,!1,[this,"czmMinzoom"]),new H("czmMaxzoom","czmMaxzoom",!0,!1,[this,"czmMaxzoom"])])])]}};D(Zr,"type",Zr.register("ESTerrainLayer",Zr,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"})),D(Zr,"defaults",{...Xe.defaults,show:!0,url:"http://inner.earthsdk.com/layer.json",rectangle:[-180,-90,180,90],zIndex:0,renderMode:"default",renderModes:[["使用深度检测","default"],["不使用深度检测","disableDepthTest"],["透明","transparent"]],opacity:1});let Aa=Zr;(r=>{r.createDefaultProps=()=>({...Xe.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:M.reactArray([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0,renderMode:"default",opacity:1})})(Aa||(Aa={})),M.extendClassProps(Aa.prototype,Aa.createDefaultProps);const ui=class ui extends jt{get typeName(){return"ESTextLabel"}get defaultProps(){return ui.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ge("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"],[1,1,1,1]),new H("文字大小","fontSize",!1,!1,[this,"fontSize"],14),new Yc("内容","内容",!0,!1,[this,"text"],ui.defaults.text),new ge("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"],ui.defaults.backgroundColor),new kr("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"],ui.defaults.padding)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new Yc("内容","内容",!0,!1,[this,"text"],ui.defaults.text),new ge("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"]),new H("文字大小","fontSize",!1,!1,[this,"fontSize"]),new ge("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"]),new kr("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"])]),new ee("czm","czm",[new $("文本编辑交互","文本编辑交互.",!1,!1,[this,"textEditingInteraction"]),new $("文本编辑","文本编辑.",!1,!1,[this,"textEditing"]),new H("宽度","宽度",!0,!1,[this,"width"],ui.defaults.width),new kr("原点比例和偏移","原点比例和偏移.",!1,!1,[this,"originRatioAndOffset"]),new H("透明度","透明度",!1,!1,[this,"opacity"]),new kr("边框圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new ge("边框颜色"," 边框色.",!1,!1,[this,"borderColor"]),new H("边框宽度","边框宽度",!1,!1,[this,"borderWidth"]),new ce("文字位置","文字位置",!1,!1,[this,"textAlign"],[["center","center"],["left","left"],["right","right"]]),new ce("边框类型","边框类型",!1,!1,[this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]])])]}};D(ui,"type",ui.register("ESTextLabel",ui,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"})),D(ui,"defaults",{...jt.defaults,allowTextEditing:!0,width:80,text:"请输入文字",originRatioAndOffset:[.5,1,0,0],opacity:1,backgroundColor:[0,0,0,.8],padding:[5,5,5,5],borderRadius:[6,6,6,6],borderColor:[1,1,1,1],borderWidth:0,textAlign:"left",borderStyle:"solid"});let Ra=ui;(r=>{r.createDefaultProps=()=>({...jt.createDefaultProps(),text:void 0,width:void 0,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:M.reactArray([1,1,1,1]),backgroundColor:M.reactArray([0,0,0,.8]),padding:M.reactArray([5,5,5,5]),borderRadius:M.reactArray([6,6,6,6]),borderWidth:0,borderColor:M.reactArray([1,1,1,1]),borderStyle:"solid"})})(Ra||(Ra={})),M.extendClassProps(Ra.prototype,Ra.createDefaultProps);const zy=`
543
543
  #### 默认值如下
544
544
  \`\`\`js
545
545
  {
@@ -774,10 +774,10 @@ ${Qy}
774
774
  `,$y=Date.now();new Date($y).toISOString(),new Date($y+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 ae("数据","数据",!0,!1,[this,"data"],kt.defaults.data,kt.defaults.dataMd),new ae("路径","路径",!1,!1,[this,"uri"],""),new $("启用","启用",!1,!1,[this,"clockEnabled"],!1),new H("倍速","倍速.",!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 ae("数据","数据",!0,!1,[this,"data"],kt.defaults.data,kt.defaults.dataMd),new ae("路径","路径",!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 H("倍速","倍速.",!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:_C,dataMd:bC,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:Qy,defaultLoadFuncDocStr:wC});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 H("尺寸","尺寸",!1,!1,[this,"cssSize"]),new at("位置","位置(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 H("高度","height",!0,!1,[this,"height"],Ri.defaults.height),new H("文字大小","fontSize",!0,!1,[this,"fontSize"],Ri.defaults.fontSize),new ge("背景颜色"," 背景颜色",!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 H("高度","height",!0,!1,[this,"height"],Li.defaults.height),new H("文字大小","fontSize",!0,!1,[this,"fontSize"],Li.defaults.fontSize),new ge("背景颜色"," 背景颜色",!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 H("进度","progress",!1,!0,[this,"progress"],0)]}}getProperties(e){return[...super.getProperties(e),new ee("通用","通用",[new de("路径","url",!0,!1,[this,"url"]),new H("进度","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 Ys=class Ys extends le{get typeName(){return"ESStaticMesh"}get defaultProps(){return Ys.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()},t=[new de("mesh地址","mesh地址",!1,!1,[this,"mesh"],Ys.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"],Ys.defaults.mesh)])]}};D(Ys,"type",Ys.register("ESStaticMesh",Ys,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"})),D(Ys,"defaults",{...le.defaults,mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"});let wu=Ys;(r=>{r.createDefaultProps=()=>({...le.createDefaultProps(),mesh:""})})(wu||(wu={})),M.extendClassProps(wu.prototype,wu.createDefaultProps);const Ul=class Ul extends Ae{constructor(t){super(t);D(this,"_startEvent",this.disposeVar(new M.Event));D(this,"_clearEvent",this.disposeVar(new M.Event))}get typeName(){return"ESSkylineAnalysis"}get defaultProps(){return Ul.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("清除分析","清除分析",[],()=>this.clear(),[]),new Kc("分析结果","screenPoints",!1,!1,[this,"screenPoints"])]}}getProperties(t){return[...super.getProperties(t),new ee("通用","通用",[new Se("开始分析","开始分析",[],()=>this.start(),[]),new Se("清除分析","清除分析",[],()=>this.clear(),[]),new Kc("分析结果","screenPoints",!1,!1,[this,"screenPoints"])])]}};D(Ul,"type",Ul.register("ESSkylineAnalysis",Ul,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Eu=Ul;(r=>{r.createDefaultProps=()=>({...Ae.createDefaultProps(),screenPoints:M.reactArrayWithUndefined(void 0)})})(Eu||(Eu={})),M.extendClassProps(Eu.prototype,Eu.createDefaultProps);function Zy(r){return typeof r=="string"?document.getElementById(r):r}function zd(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 e0 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 EC 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 e0(t.sceneObjectsManager,i=>{if(i instanceof js)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 e0(t.sceneObjectsManager,i=>{if(i instanceof Fs)return new n(i)}))}}}class PC 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 SC 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 js))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 PC(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 rf(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 CC(r,e){const{property:t,customEventName:n,otherParams:i}=e,{dragstartDataMananger:o}=r;if(!(t instanceof ci)){if(!(t instanceof Kc)){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;rf(o)?c.dataTransfer.dropEffect="move":c.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const f=rf(o);f!==void 0&&a(f)}}else if(t instanceof rp){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;rf(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=rf(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 np){const[s,a]=M.getReactFuncs(t.reactVar)}}}}class xC 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}已经存在于场景对象管理器中!}`),!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}不存在于场景对象管理器中!}`),!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 t0(r,e){return r.length===e.length&&r.every((t,n)=>t===e[n])}class OC extends M.Destroyable{constructor(e){super(),this._viewer=e,this.d(M.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class MC 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&&t0(m,f.position)&&t0(p,f.rotation)||this._viewer.flyIn(m,p,0)}),this.d(()=>a.cancel())}}const IC=`<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">
775
775
  <animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
776
776
  </circle><g></g></g></svg>
777
- `,TC='<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>',NC='<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>',Hu=class Hu extends M.Destroyable{constructor(e){super();const t=()=>{const n=this.dv(new Co);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=Hu.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=Hu.defaultsSvg.loadingSvg),c.status==="Created"&&(m.innerHTML=Hu.defaultsSvg.successSvg),c.status==="Error"&&(m.innerHTML=Hu.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(Hu,"defaultsSvg",{loadingSvg:IC,successSvg:TC,warnSvg:NC});let Ud=Hu;class DC 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 nf(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 AC 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 DC(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"),nf(this._container).appendChild(i),this.d(()=>nf(this._container).removeChild(i)),nf(this._container).appendChild(o),this.d(()=>nf(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 RC 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 r0 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 Ud(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 r0(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 AC(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 MC(this,t)})));D(this,"_timeSyncdon",this.dv(new M.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new OC(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=Zy(t.container);if(n)this._container.value=zd(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=zd(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=zd(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 H("时钟","时钟",!1,!1,[this,"currentTime"]),new $("globeShow","globeShow",!0,!1,[this,"globeShow"]),new $("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new H("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new H("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new ee("Globe","Globe",[new ae("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!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 RC),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 n0(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 LC=r=>{const e=Di.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},i0=(r,e)=>{const t=Di.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class FC 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())}}function s0(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 jC=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class kC extends M.Destroyable{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of jC){const o=i+"Changed",s=n[o];if(s){{const a=n[i];s0(n,i,a,t)}this.dispose(s.disposableOn(a=>s0(n,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class GC 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 kC(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 Mo extends M.Destroyable{constructor(...t){super();D(this,"_drgm",this.dv(new gy));D(this,"_sobjm",this.dv(new xC));D(this,"_vrm",this.dv(new FC(this._sobjm)));D(this,"_sceneObjectEditingManager",this.disposeVar(new GC));D(this,"_activeViewer",this.dv(M.react(void 0)));D(this,"_syncOtherViewersToActived",this.dv(M.react(!1)));D(this,"_cmrvm",this.createSceneObjectFromClass(Po));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 Bc("default",this.dragstartDataMananger,24,this)));D(this,"_propUiTreeManager",this.dv(new jl(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(Fs));D(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));D(this,"_esPlyarAndPathTime",this.dv(new EC(this)));D(this,"_pathAnimationManager",this.dv(new SC(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 CC(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 Bc(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?LC(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&&n0(this,a),i&&this._lastActiveViewerJson&&(i0(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Zy(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&&n0(this,c),i&&this._lastActiveViewerJson&&(i0(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 VC(){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 BC=Date.now();function o0(r){const{os:e,arch:t}=VC(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-BC)/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.4",t="2025-05-22T07:06:28.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="b7988d4abb009d1c139795520219336dac2ff06a",a=((Date.now()-1747897588e3)/36e5).toFixed(1),c=`%c🌏 ${r}%c ${e}.${o.slice(0,8)}.${t} (距今${a}个小时)
777
+ `,TC='<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>',NC='<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>',Hu=class Hu extends M.Destroyable{constructor(e){super();const t=()=>{const n=this.dv(new Co);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=Hu.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=Hu.defaultsSvg.loadingSvg),c.status==="Created"&&(m.innerHTML=Hu.defaultsSvg.successSvg),c.status==="Error"&&(m.innerHTML=Hu.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(Hu,"defaultsSvg",{loadingSvg:IC,successSvg:TC,warnSvg:NC});let Ud=Hu;class DC 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 nf(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 AC 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 DC(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"),nf(this._container).appendChild(i),this.d(()=>nf(this._container).removeChild(i)),nf(this._container).appendChild(o),this.d(()=>nf(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 RC 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 r0 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 Ud(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 r0(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 AC(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 MC(this,t)})));D(this,"_timeSyncdon",this.dv(new M.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new OC(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=Zy(t.container);if(n)this._container.value=zd(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=zd(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=zd(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 H("时钟","时钟",!1,!1,[this,"currentTime"]),new $("globeShow","globeShow",!0,!1,[this,"globeShow"]),new $("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new H("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new H("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new ee("Globe","Globe",[new ae("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!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 RC),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 n0(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 LC=r=>{const e=Di.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},i0=(r,e)=>{const t=Di.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class FC 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())}}function s0(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 jC=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class kC extends M.Destroyable{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of jC){const o=i+"Changed",s=n[o];if(s){{const a=n[i];s0(n,i,a,t)}this.dispose(s.disposableOn(a=>s0(n,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class GC 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 kC(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 Mo extends M.Destroyable{constructor(...t){super();D(this,"_drgm",this.dv(new gy));D(this,"_sobjm",this.dv(new xC));D(this,"_vrm",this.dv(new FC(this._sobjm)));D(this,"_sceneObjectEditingManager",this.disposeVar(new GC));D(this,"_activeViewer",this.dv(M.react(void 0)));D(this,"_syncOtherViewersToActived",this.dv(M.react(!1)));D(this,"_cmrvm",this.createSceneObjectFromClass(Po));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 Bc("default",this.dragstartDataMananger,24,this)));D(this,"_propUiTreeManager",this.dv(new jl(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(Fs));D(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));D(this,"_esPlyarAndPathTime",this.dv(new EC(this)));D(this,"_pathAnimationManager",this.dv(new SC(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 CC(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 Bc(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?LC(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&&n0(this,a),i&&this._lastActiveViewerJson&&(i0(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===Zy(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&&n0(this,c),i&&this._lastActiveViewerJson&&(i0(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 VC(){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 BC=Date.now();function o0(r){const{os:e,arch:t}=VC(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-BC)/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.5",t="2025-05-23T01:28:30.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="5937111c78b84e9acfafcca7065a3d066df8a5d3",a=((Date.now()-174796371e4)/36e5).toFixed(1),c=`%c🌏 ${r}%c ${e}.${o.slice(0,8)}.${t} (距今${a}个小时)
778
778
  %c${i?i+`
779
779
  `:""}当前网站正在使用${r},此软件版权归${n}所有
780
- `;X.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","b7988d4abb009d1c139795520219336dac2ff06a")},get info(){return c},get date(){return"2025-05-22T07:06:28.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.4"},get name(){return"earthsdk3"},get commitId(){return"b7988d4abb009d1c139795520219336dac2ff06a"},print(){console.info(this.info,`
780
+ `;X.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","5937111c78b84e9acfafcca7065a3d066df8a5d3")},get info(){return c},get date(){return"2025-05-23T01:28:30.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.5"},get name(){return"earthsdk3"},get commitId(){return"5937111c78b84e9acfafcca7065a3d066df8a5d3"},print(){console.info(this.info,`
781
781
  font-size: 18px;
782
782
  font-weight: 1000;
783
783
  line-height: 1;