earthsdk3 3.11.2-beta.2 → 3.11.2

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.
@@ -1,7 +1,7 @@
1
- var EarthSDK3=(function(b){"use strict";var l4=Object.defineProperty;var u4=(b,Xn,Yr)=>Xn in b?l4(b,Xn,{enumerable:!0,configurable:!0,writable:!0,value:Yr}):b[Xn]=Yr;var p=(b,Xn,Yr)=>u4(b,typeof Xn!="symbol"?Xn+"":Xn,Yr);var k_,O_;function Xn(){var n;const i=((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)??"unknown";let e="Unknown";/Windows/.test(i)?e="Windows":/Macintosh/.test(i)?e="MacOS":/Linux/.test(i)?e="Linux":/Android/.test(i)?e="Android":/iOS|iPhone|iPad|iPod/.test(i)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(i)?t="x64":/x86|i686|Win32/.test(i)?t="x86":/arm64|aarch64/.test(i)?t="arm64":/arm/.test(i)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const Yr=Date.now();function rp(i){var l;const{os:e,arch:t}=Xn(),n={version:i.version,commitdate:i.date,commitId:i.commitId,runningTime:(Date.now()-Yr)/1e3/60|0,date:new Date().toLocaleString(),href:((l=window==null?void 0:window.location)==null?void 0:l.href)??"unknown",os:e,arch:t},o={method:"GET",headers:new Headers,redirect:"follow"},h=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${h}`,o).then(d=>d.text()).then(d=>console.log(d)).catch(d=>console.log("error",d))}b.copyright=void 0;try{const i="earthsdk3",e="3.11.2-beta.2",t="2026-08-05T09:24:28.000Z",n="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="d23f7cc8f1e69a013ac0315961b1cac9ca796d8d",l=((Date.now()-1785921868e3)/36e5).toFixed(1),d=`%c🌏 ${i}%c ${e}.${o.slice(0,8)}.${t} (距今${l}个小时)
1
+ var EarthSDK3=(function(b){"use strict";var l4=Object.defineProperty;var u4=(b,Xn,Yr)=>Xn in b?l4(b,Xn,{enumerable:!0,configurable:!0,writable:!0,value:Yr}):b[Xn]=Yr;var p=(b,Xn,Yr)=>u4(b,typeof Xn!="symbol"?Xn+"":Xn,Yr);var k_,O_;function Xn(){var n;const i=((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)??"unknown";let e="Unknown";/Windows/.test(i)?e="Windows":/Macintosh/.test(i)?e="MacOS":/Linux/.test(i)?e="Linux":/Android/.test(i)?e="Android":/iOS|iPhone|iPad|iPod/.test(i)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(i)?t="x64":/x86|i686|Win32/.test(i)?t="x86":/arm64|aarch64/.test(i)?t="arm64":/arm/.test(i)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const Yr=Date.now();function rp(i){var l;const{os:e,arch:t}=Xn(),n={version:i.version,commitdate:i.date,commitId:i.commitId,runningTime:(Date.now()-Yr)/1e3/60|0,date:new Date().toLocaleString(),href:((l=window==null?void 0:window.location)==null?void 0:l.href)??"unknown",os:e,arch:t},o={method:"GET",headers:new Headers,redirect:"follow"},h=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${h}`,o).then(d=>d.text()).then(d=>console.log(d)).catch(d=>console.log("error",d))}b.copyright=void 0;try{const i="earthsdk3",e="3.11.2",t="2026-08-14T01:44:25.000Z",n="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="96c00e37006fd8a610c7b19b647f2b40a48e8846",l=((Date.now()-1786671865e3)/36e5).toFixed(1),d=`%c🌏 ${i}%c ${e}.${o.slice(0,8)}.${t} (距今${l}个小时)
2
2
  %c${s?s+`
3
3
  `:""}当前网站正在使用${i},此软件版权归${n}所有
4
- `;b.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","d23f7cc8f1e69a013ac0315961b1cac9ca796d8d")},get info(){return d},get date(){return"2026-08-05T09:24:28.000Z"},get author(){return"suplyang"},get version(){return"3.11.2-beta.2"},get name(){return"earthsdk3"},get commitId(){return"d23f7cc8f1e69a013ac0315961b1cac9ca796d8d"},print(){console.info(this.info,`
4
+ `;b.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","96c00e37006fd8a610c7b19b647f2b40a48e8846")},get info(){return d},get date(){return"2026-08-14T01:44:25.000Z"},get author(){return"suplyang"},get version(){return"3.11.2"},get name(){return"earthsdk3"},get commitId(){return"96c00e37006fd8a610c7b19b647f2b40a48e8846"},print(){console.info(this.info,`
5
5
  font-size: 18px;
6
6
  font-weight: 1000;
7
7
  line-height: 1;
@@ -1252,7 +1252,7 @@ ${Xy}
1252
1252
  "position": [116.39, 39.9, 0],
1253
1253
  "url": "http://localhost:9004/gaussian/model.splat"
1254
1254
  }
1255
- `}));let lg=ro;class Jy extends st{constructor(e,t,n="areaLifting"){super(),t&&(n==="polygonFit"?this.createEditor(e,t,{pointsProp:"polygonFitPoints",onCompleted:s=>e.polygonFitCompletedEvent.emit(s)}):this.createEditor(e,t,{pointsProp:"areaLiftingPoints"}))}createEditor(e,t,n){const s=this.ad(new Jt);s.stroked=!0,this.ad(e.components.disposableAdd(s,!1)),this.ad(mt([s,"points"],[e,n.pointsProp])),n.onCompleted&&this.ad(t.editingEvent.don(o=>{if(o.type!=="end"||!o.objectIDs.includes(e.id)||!s.editing)return;const h=s.points;h&&h.length>=3&&n.onCompleted(h)})),s.editing=!0}}var Ky=(i=>(i[i.None=0]="None",i[i.Up=1]="Up",i[i.Down=2]="Down",i))(Ky||{}),Zy=(i=>(i[i.CLICK=0]="CLICK",i[i.MOVE=1]="MOVE",i))(Zy||{}),Qy=(i=>(i[i.Smooth=0]="Smooth",i[i.Linear=1]="Linear",i[i.Spherical=2]="Spherical",i[i.Tip=3]="Tip",i[i.Hard=4]="Hard",i))(Qy||{});const Ae=class Ae extends bt{constructor(t){super(t);p(this,"_startEvent",this.disposeVar(new H));p(this,"_configs",this.disposeVar(Wt(void 0)));p(this,"_heights",this.disposeVar(it({})));p(this,"_heightsEvent",this.ad(new H));p(this,"_areaLiftingUpdateEvent",this.disposeVar(new H));p(this,"_requestPolygonGridEvent",this.disposeVar(new H));p(this,"_applyHeightsEvent",this.disposeVar(new H));p(this,"_polygonFitCompletedEvent",this.disposeVar(new H));const n=this.ad(we(this.modeChanged,this.startEvent,this.polygonFitEditingChanged));this.ad(new xe(n,()=>{var s;if(this.areaLiftingPoints=void 0,this.polygonFitEditing)return new Jy(this,this.activeViewer,"polygonFit");if(!this.polygonFitMode){if(this.mode=="areaLifting")return new Jy(this,this.activeViewer,"areaLifting");(s=this.activeViewer)==null||s.startEditing(this,dt.BrushErase)}}))}updateEditing(){var t;eu(this.position,[0,0,0])||(this.position=[0,0,0]),(t=this.activeViewer)==null||t.startEditing(this,dt.Place,{callSource:"inner"})}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get configs(){return this._configs.value}set configs(t){this._configs.value=t}get configsChanged(){return this._configs.changed}getConfig(...t){var n,s;if(typeof t[0]=="number")return(n=this.configs)==null?void 0:n.find(o=>o.x===t[0]&&o.y===t[1]);if(typeof t[0]=="string")return(s=this.configs)==null?void 0:s.find(o=>o.url===t[0])}get heights(){return this._heights.value}set heights(t){this._heights.value=t}get heightsChanged(){return this._heights.changed}get heightsEvent(){return this._heightsEvent}getHeights(){return new Promise((t,n)=>{const s=new st;s.ad(this._heightsEvent.don(h=>{h!=="start"&&(!s.isDestroyed()&&s.destroy(),t(h))})),this._heightsEvent.emit("start");const o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),t(void 0))},2e3);s.ad(()=>clearTimeout(o))})}get areaLiftingUpdateEvent(){return this._areaLiftingUpdateEvent}areaLiftingUpdate(){this._areaLiftingUpdateEvent.emit()}get requestPolygonGridEvent(){return this._requestPolygonGridEvent}get applyHeightsEvent(){return this._applyHeightsEvent}get polygonFitCompletedEvent(){return this._polygonFitCompletedEvent}getPolygonGrid(t){const n=t??this.polygonFitPoints;return!n||n.length<3?Promise.resolve([]):new Promise(s=>{const o=setTimeout(()=>{console.warn("[ESTerrainLayerEditing] getPolygonGrid 超时未返回(引擎层可能未实现 requestPolygonGridEvent)"),s([])},1e4);this.ad(()=>clearTimeout(o)),this._requestPolygonGridEvent.emit({points:n,callback:h=>{clearTimeout(o),s(h)}})})}applyHeights(t){this._applyHeightsEvent.emit({items:t})}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new kt("开始编辑",()=>{this.start()},[],"start"),new xt([this,"mode"],Ae.modes,"编辑模式",Ae.defaults.mode)],basic:[...t.basic,new Mt([this,"url"],"URL"),new Mt([this,"tileInfo"],"瓦片信息配置"),new q([this,"maxHeight"],"最大高度"),new q([this,"minHeight"],"最小高度"),new q([this,"offset"],"偏移"),new nt([this,"autoLoadHeights"],"自动加载高度"),new yt("刷写设置"),new q([this,"brushEraseRadius"],"编辑半径"),new ge([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new xt([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new xt([this,"brushErasePickReference"],Ae.brushErasePickReferences,"选择参考"),new en([this,"brushErasePosition"],"刷写位置"),new en([this,"brushEraseStartPosition"],"刷写起始位置"),new xt([this,"brushEraseFalloff"],Ae.brushEarseFalloffs,"刷写衰减函数"),new xt([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向"),new yt("平整设置"),new xt([this,"flattenMode"],Ae.flattenModes,"平整模式",0),new xt([this,"flattenPick"],Ae.flattenPicks,"平整选择",0),new q([this,"flattenOffset"],"平整偏移",-.01),new yt("区域升降设置"),new ue([this,"areaLiftingPoints"],"区域升降位置",[]),new q([this,"areaLiftingOffset"],"区域升降偏移",1),new kt("区域升降更新",()=>{this.areaLiftingUpdate()},[],"areaLiftingUpdate"),new yt("围栏设置"),new ue([this,"fencePoints"],"围栏位置",[])]}}};p(Ae,"createDefaultProps",()=>({...bt.createDefaultProps(),allowPicking:!0,url:"",maxHeight:0,minHeight:0,offset:.01,tileInfo:At({tileCountX:65,tileCountY:65,tileMaximumLevel:15,tilesPerAxis:5,format:"heights"}),mode:it("sculpt"),autoLoadHeights:!1,brushEraseRadius:100,brushEraseRadiusRange:vt([0,100]),brushErasePosition:vt([0,0,0]),brushEraseStartPosition:vt([0,0,0]),brushEraseMode:it("NONE"),brushErasePickReference:it("NONE"),brushEraseRayDirection:it("Down"),brushEraseFalloff:it(4),flattenMode:it(0),flattenPick:it(1),flattenOffset:-.01,areaLiftingPoints:Yn(void 0),areaLiftingOffset:1,polygonFitEditing:it(!1),polygonFitMode:it(!1),polygonFitPoints:Yn([]),fencePoints:Yn(void 0),fenceMode:it("in")})),p(Ae,"modes",[["雕刻","sculpt"],["抹除","erase"],["平滑","smooth"],["平整","flatten"],["区域升降","areaLifting"]]),p(Ae,"brushErasePickReferences",[["无限制","NONE"],["地形图层","ESTerrainLayerEditing"],["3DTiles","ES3DTileset"]]),p(Ae,"flattenModes",[["None",0],["Up",1],["Down",2]]),p(Ae,"flattenPicks",[["CLICK",0],["MOVE",1]]),p(Ae,"brushEarseFalloffs",[["平滑",0],["线性",1],["硬边",4],["球形",2],["尖顶",3]]),p(Ae,"invalidValue",-1e4),p(Ae,"type",Ae.register("ESTerrainLayerEditing",Ae,{chsName:"地形图层编辑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESTerrainLayerEditing 是用于对地形图层进行雕刻、抹除、平滑、平整及区域升降等编辑操作的对象。"})),p(Ae,"supportEditingModes",[...bt.supportEditingModes,dt.Place,dt.BrushErase]);let Ih=Ae;const ki=class ki extends Rt{constructor(t){super(t);p(this,"editingBindMode","doublePoints");p(this,"_startEvent",this.disposeVar(new H));p(this,"_replayEvent",this.disposeVar(new H));this.ad(this.startEvent.don(()=>{var n;(n=this.activeViewer)==null||n.startEditing(this,dt.BrushErase)}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get replayEvent(){return this._replayEvent}replay(){this._replayEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new kt("开始编辑",()=>this.start(),[]),new kt("重播",()=>this.replay(),[]),new nt([this,"showImage"],"显示影像",ki.defaults.showImage),new q([this,"flowSpeed"],"流动速度",ki.defaults.flowSpeed),new q([this,"gravity"],"重力加速度",ki.defaults.gravity),new q([this,"strength"],"泥石流强度",ki.defaults.strength),new q([this,"resistance"],"泥石流阻力(越大越快平息)",ki.defaults.resistance),new q([this,"terrainOffset"],"地形高度偏移",ki.defaults.terrainOffset),new ue([this,"slidePoints"],"滑坡点数组",Rt.defaults.slidePoints,void 0),new yt("刷写设置"),new q([this,"brushEraseRadius"],"编辑半径"),new ge([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new xt([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new xt([this,"brushErasePickReference"],Ih.brushErasePickReferences,"选择参考"),new en([this,"brushErasePosition"],"刷写位置"),new en([this,"brushEraseStartPosition"],"刷写起始位置"),new xt([this,"brushEraseFalloff"],Ih.brushEarseFalloffs,"刷写衰减函数"),new xt([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向")]}}};p(ki,"createDefaultProps",()=>({...Rt.createDefaultProps(),brushEraseRadius:100,brushEraseRadiusRange:vt([0,1e3]),brushErasePosition:vt([0,0,0]),brushEraseStartPosition:vt([0,0,0]),brushEraseMode:it("NONE"),brushErasePickReference:it("NONE"),brushEraseRayDirection:it("Down"),terrainOffset:5,flowSpeed:1,gravity:9.8,slidePoints:vt([]),strength:1,showImage:!0,resistance:.98,stroked:!0,strokeStyle:At({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!0})})),p(ki,"type",ki.register("ESLandSlide",ki,{chsName:"滑坡泥石流分析",tags:["ESObjects","_ES_Impl_Cesium"],description:`ESLandSlide 是用于在场景中通过双点绘制区域进行滑坡泥石流分析的对象。
1255
+ `}));let lg=ro;class Jy extends st{constructor(e,t,n="areaLifting"){super(),t&&(n==="polygonFit"?this.createEditor(e,t,{pointsProp:"polygonFitPoints",onCompleted:s=>e.polygonFitCompletedEvent.emit(s)}):this.createEditor(e,t,{pointsProp:"areaLiftingPoints"}))}createEditor(e,t,n){const s=this.ad(new Jt);s.stroked=!0,this.ad(e.components.disposableAdd(s,!1)),this.ad(mt([s,"points"],[e,n.pointsProp])),n.onCompleted&&this.ad(t.editingEvent.don(o=>{if(o.type!=="end"||!o.objectIDs.includes(e.id)||!s.editing)return;const h=s.points;h&&h.length>=3&&(s.filled=!1,n.onCompleted(h))})),s.editing=!0}}var Ky=(i=>(i[i.None=0]="None",i[i.Up=1]="Up",i[i.Down=2]="Down",i))(Ky||{}),Zy=(i=>(i[i.CLICK=0]="CLICK",i[i.MOVE=1]="MOVE",i))(Zy||{}),Qy=(i=>(i[i.Smooth=0]="Smooth",i[i.Linear=1]="Linear",i[i.Spherical=2]="Spherical",i[i.Tip=3]="Tip",i[i.Hard=4]="Hard",i))(Qy||{});const Ae=class Ae extends bt{constructor(t){super(t);p(this,"_startEvent",this.disposeVar(new H));p(this,"_configs",this.disposeVar(Wt(void 0)));p(this,"_heights",this.disposeVar(it({})));p(this,"_heightsEvent",this.ad(new H));p(this,"_areaLiftingUpdateEvent",this.disposeVar(new H));p(this,"_requestPolygonGridEvent",this.disposeVar(new H));p(this,"_applyHeightsEvent",this.disposeVar(new H));p(this,"_polygonFitCompletedEvent",this.disposeVar(new H));const n=this.ad(we(this.modeChanged,this.startEvent,this.polygonFitEditingChanged));this.ad(new xe(n,()=>{var s;if(this.areaLiftingPoints=void 0,this.polygonFitEditing)return new Jy(this,this.activeViewer,"polygonFit");if(!this.polygonFitMode){if(this.mode=="areaLifting")return new Jy(this,this.activeViewer,"areaLifting");(s=this.activeViewer)==null||s.startEditing(this,dt.BrushErase)}}))}updateEditing(){var t;eu(this.position,[0,0,0])||(this.position=[0,0,0]),(t=this.activeViewer)==null||t.startEditing(this,dt.Place,{callSource:"inner"})}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get configs(){return this._configs.value}set configs(t){this._configs.value=t}get configsChanged(){return this._configs.changed}getConfig(...t){var n,s;if(typeof t[0]=="number")return(n=this.configs)==null?void 0:n.find(o=>o.x===t[0]&&o.y===t[1]);if(typeof t[0]=="string")return(s=this.configs)==null?void 0:s.find(o=>o.url===t[0])}get heights(){return this._heights.value}set heights(t){this._heights.value=t}get heightsChanged(){return this._heights.changed}get heightsEvent(){return this._heightsEvent}getHeights(){return new Promise((t,n)=>{const s=new st;s.ad(this._heightsEvent.don(h=>{h!=="start"&&(!s.isDestroyed()&&s.destroy(),t(h))})),this._heightsEvent.emit("start");const o=setTimeout(()=>{s.isDestroyed()||(s.destroy(),t(void 0))},2e3);s.ad(()=>clearTimeout(o))})}get areaLiftingUpdateEvent(){return this._areaLiftingUpdateEvent}areaLiftingUpdate(){this._areaLiftingUpdateEvent.emit()}get requestPolygonGridEvent(){return this._requestPolygonGridEvent}get applyHeightsEvent(){return this._applyHeightsEvent}get polygonFitCompletedEvent(){return this._polygonFitCompletedEvent}getPolygonGrid(t){const n=t??this.polygonFitPoints;return!n||n.length<3?Promise.resolve([]):new Promise(s=>{const o=setTimeout(()=>{console.warn("[ESTerrainLayerEditing] getPolygonGrid 超时未返回(引擎层可能未实现 requestPolygonGridEvent)"),s([])},1e4);this.ad(()=>clearTimeout(o)),this._requestPolygonGridEvent.emit({points:n,callback:h=>{clearTimeout(o),s(h)}})})}applyHeights(t){this._applyHeightsEvent.emit({items:t})}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new kt("开始编辑",()=>{this.start()},[],"start"),new xt([this,"mode"],Ae.modes,"编辑模式",Ae.defaults.mode)],basic:[...t.basic,new Mt([this,"url"],"URL"),new Mt([this,"tileInfo"],"瓦片信息配置"),new q([this,"maxHeight"],"最大高度"),new q([this,"minHeight"],"最小高度"),new q([this,"offset"],"偏移"),new nt([this,"autoLoadHeights"],"自动加载高度"),new yt("刷写设置"),new q([this,"brushEraseRadius"],"编辑半径"),new ge([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new xt([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new xt([this,"brushErasePickReference"],Ae.brushErasePickReferences,"选择参考"),new en([this,"brushErasePosition"],"刷写位置"),new en([this,"brushEraseStartPosition"],"刷写起始位置"),new xt([this,"brushEraseFalloff"],Ae.brushEarseFalloffs,"刷写衰减函数"),new xt([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向"),new yt("平整设置"),new xt([this,"flattenMode"],Ae.flattenModes,"平整模式",0),new xt([this,"flattenPick"],Ae.flattenPicks,"平整选择",0),new q([this,"flattenOffset"],"平整偏移",-.01),new yt("区域升降设置"),new ue([this,"areaLiftingPoints"],"区域升降位置",[]),new q([this,"areaLiftingOffset"],"区域升降偏移",1),new kt("区域升降更新",()=>{this.areaLiftingUpdate()},[],"areaLiftingUpdate"),new yt("围栏设置"),new ue([this,"fencePoints"],"围栏位置",[])]}}};p(Ae,"createDefaultProps",()=>({...bt.createDefaultProps(),allowPicking:!0,url:"",maxHeight:0,minHeight:0,offset:.01,tileInfo:At({tileCountX:65,tileCountY:65,tileMaximumLevel:15,tilesPerAxis:5,format:"heights"}),mode:it("sculpt"),autoLoadHeights:!1,brushEraseRadius:100,brushEraseRadiusRange:vt([0,100]),brushErasePosition:vt([0,0,0]),brushEraseStartPosition:vt([0,0,0]),brushEraseMode:it("NONE"),brushErasePickReference:it("NONE"),brushEraseRayDirection:it("Down"),brushEraseFalloff:it(4),flattenMode:it(0),flattenPick:it(1),flattenOffset:-.01,areaLiftingPoints:Yn(void 0),areaLiftingOffset:1,polygonFitEditing:it(!1),polygonFitMode:it(!1),polygonFitPoints:Yn([]),fencePoints:Yn(void 0),fenceMode:it("in")})),p(Ae,"modes",[["雕刻","sculpt"],["抹除","erase"],["平滑","smooth"],["平整","flatten"],["区域升降","areaLifting"]]),p(Ae,"brushErasePickReferences",[["无限制","NONE"],["地形图层","ESTerrainLayerEditing"],["3DTiles","ES3DTileset"]]),p(Ae,"flattenModes",[["None",0],["Up",1],["Down",2]]),p(Ae,"flattenPicks",[["CLICK",0],["MOVE",1]]),p(Ae,"brushEarseFalloffs",[["平滑",0],["线性",1],["硬边",4],["球形",2],["尖顶",3]]),p(Ae,"invalidValue",-1e4),p(Ae,"type",Ae.register("ESTerrainLayerEditing",Ae,{chsName:"地形图层编辑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESTerrainLayerEditing 是用于对地形图层进行雕刻、抹除、平滑、平整及区域升降等编辑操作的对象。"})),p(Ae,"supportEditingModes",[...bt.supportEditingModes,dt.Place,dt.BrushErase]);let Ih=Ae;const ki=class ki extends Rt{constructor(t){super(t);p(this,"editingBindMode","doublePoints");p(this,"_startEvent",this.disposeVar(new H));p(this,"_replayEvent",this.disposeVar(new H));this.ad(this.startEvent.don(()=>{var n;(n=this.activeViewer)==null||n.startEditing(this,dt.BrushErase)}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get replayEvent(){return this._replayEvent}replay(){this._replayEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new kt("开始编辑",()=>this.start(),[]),new kt("重播",()=>this.replay(),[]),new nt([this,"showImage"],"显示影像",ki.defaults.showImage),new q([this,"flowSpeed"],"流动速度",ki.defaults.flowSpeed),new q([this,"gravity"],"重力加速度",ki.defaults.gravity),new q([this,"strength"],"泥石流强度",ki.defaults.strength),new q([this,"resistance"],"泥石流阻力(越大越快平息)",ki.defaults.resistance),new q([this,"terrainOffset"],"地形高度偏移",ki.defaults.terrainOffset),new ue([this,"slidePoints"],"滑坡点数组",Rt.defaults.slidePoints,void 0),new yt("刷写设置"),new q([this,"brushEraseRadius"],"编辑半径"),new ge([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new xt([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new xt([this,"brushErasePickReference"],Ih.brushErasePickReferences,"选择参考"),new en([this,"brushErasePosition"],"刷写位置"),new en([this,"brushEraseStartPosition"],"刷写起始位置"),new xt([this,"brushEraseFalloff"],Ih.brushEarseFalloffs,"刷写衰减函数"),new xt([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向")]}}};p(ki,"createDefaultProps",()=>({...Rt.createDefaultProps(),brushEraseRadius:100,brushEraseRadiusRange:vt([0,1e3]),brushErasePosition:vt([0,0,0]),brushEraseStartPosition:vt([0,0,0]),brushEraseMode:it("NONE"),brushErasePickReference:it("NONE"),brushEraseRayDirection:it("Down"),terrainOffset:5,flowSpeed:1,gravity:9.8,slidePoints:vt([]),strength:1,showImage:!0,resistance:.98,stroked:!0,strokeStyle:At({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!0})})),p(ki,"type",ki.register("ESLandSlide",ki,{chsName:"滑坡泥石流分析",tags:["ESObjects","_ES_Impl_Cesium"],description:`ESLandSlide 是用于在场景中通过双点绘制区域进行滑坡泥石流分析的对象。
1256
1256
  对象json示例:
1257
1257
  {
1258
1258
  "id": "landslide_xxx",
package/dist/earthsdk3.js CHANGED
@@ -43,7 +43,7 @@ function to(n) {
43
43
  }
44
44
  let Ni;
45
45
  try {
46
- const n = "earthsdk3", i = "3.11.2-beta.2", e = "2026-08-05T09:24:28.000Z", t = "北京西部世界科技有限公司", s = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", r = "d23f7cc8f1e69a013ac0315961b1cac9ca796d8d", l = ((Date.now() - 1785921868e3) / 36e5).toFixed(1), h = `%c🌏 ${n}%c ${i}.${r.slice(0, 8)}.${e} (距今${l}个小时)
46
+ const n = "earthsdk3", i = "3.11.2", e = "2026-08-14T01:44:25.000Z", t = "北京西部世界科技有限公司", s = "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn", r = "96c00e37006fd8a610c7b19b647f2b40a48e8846", l = ((Date.now() - 1786671865e3) / 36e5).toFixed(1), h = `%c🌏 ${n}%c ${i}.${r.slice(0, 8)}.${e} (距今${l}个小时)
47
47
  %c${s ? s + `
48
48
  ` : ""}当前网站正在使用${n},此软件版权归${t}所有
49
49
  `;
@@ -57,7 +57,7 @@ try {
57
57
  },
58
58
  // @ts-ignore
59
59
  get gituri() {
60
- return GITURI_ && GITURI_.replace("${commitId}", "d23f7cc8f1e69a013ac0315961b1cac9ca796d8d");
60
+ return GITURI_ && GITURI_.replace("${commitId}", "96c00e37006fd8a610c7b19b647f2b40a48e8846");
61
61
  },
62
62
  // @ts-ignore
63
63
  get info() {
@@ -65,7 +65,7 @@ try {
65
65
  },
66
66
  // @ts-ignore
67
67
  get date() {
68
- return "2026-08-05T09:24:28.000Z";
68
+ return "2026-08-14T01:44:25.000Z";
69
69
  },
70
70
  // @ts-ignore
71
71
  get author() {
@@ -73,7 +73,7 @@ try {
73
73
  },
74
74
  // @ts-ignore
75
75
  get version() {
76
- return "3.11.2-beta.2";
76
+ return "3.11.2";
77
77
  },
78
78
  // @ts-ignore
79
79
  get name() {
@@ -81,7 +81,7 @@ try {
81
81
  },
82
82
  // @ts-ignore
83
83
  get commitId() {
84
- return "d23f7cc8f1e69a013ac0315961b1cac9ca796d8d";
84
+ return "96c00e37006fd8a610c7b19b647f2b40a48e8846";
85
85
  },
86
86
  /**
87
87
  * 打印版权信息到控制台
@@ -24391,7 +24391,7 @@ class $a extends E {
24391
24391
  s.stroked = !0, this.ad(i.components.disposableAdd(s, !1)), this.ad(O([s, "points"], [i, t.pointsProp])), t.onCompleted && this.ad(e.editingEvent.don((r) => {
24392
24392
  if (r.type !== "end" || !r.objectIDs.includes(i.id) || !s.editing) return;
24393
24393
  const o = s.points;
24394
- o && o.length >= 3 && t.onCompleted(o);
24394
+ o && o.length >= 3 && (s.filled = !1, t.onCompleted(o));
24395
24395
  })), s.editing = !0;
24396
24396
  }
24397
24397
  }
@@ -1,7 +1,7 @@
1
- (function(d,Re){typeof exports=="object"&&typeof module<"u"?Re(exports,require("js-binary-schema-parser"),require("topojson-client"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","js-binary-schema-parser","topojson-client","proj4","@turf/turf"],Re):(d=typeof globalThis<"u"?globalThis:d||self,Re(d.EarthSDK3={},d.jsBinarySchemaParser,d.topojson,d.proj4,d.turf))})(this,(function(d,Re,ts,Sl,W){"use strict";var cm=Object.defineProperty;var dm=(d,Re,ts)=>Re in d?cm(d,Re,{enumerable:!0,configurable:!0,writable:!0,value:ts}):d[Re]=ts;var a=(d,Re,ts)=>dm(d,typeof Re!="symbol"?Re+"":Re,ts);function Cl(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(s,e,t.get?t:{enumerable:!0,get:()=>n[e]})}}return s.default=n,Object.freeze(s)}const Pd=Cl(ts),K=Cl(W);function Td(){var t;const n=((t=globalThis==null?void 0:globalThis.navigator)==null?void 0:t.userAgent)??"unknown";let s="Unknown";/Windows/.test(n)?s="Windows":/Macintosh/.test(n)?s="MacOS":/Linux/.test(n)?s="Linux":/Android/.test(n)?s="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(s="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:s.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const Id=Date.now();function Pl(n){var l;const{os:s,arch:e}=Td(),t={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-Id)/1e3/60|0,date:new Date().toLocaleString(),href:((l=globalThis==null?void 0:globalThis.location)==null?void 0:l.href)??"unknown",os:s,arch:e},r={method:"GET",headers:new Headers,redirect:"follow"},o=globalThis.encodeURIComponent(JSON.stringify(t));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,r).then(h=>h.text()).then(h=>console.log(h)).catch(h=>console.log("error",h))}d.copyright=void 0;try{const n="earthsdk3",s="3.11.2-beta.2",e="2026-08-05T09:24:28.000Z",t="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="d23f7cc8f1e69a013ac0315961b1cac9ca796d8d",l=((Date.now()-1785921868e3)/36e5).toFixed(1),h=`%c🌏 ${n}%c ${s}.${r.slice(0,8)}.${e} (距今${l}个小时)
1
+ (function(d,Re){typeof exports=="object"&&typeof module<"u"?Re(exports,require("js-binary-schema-parser"),require("topojson-client"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","js-binary-schema-parser","topojson-client","proj4","@turf/turf"],Re):(d=typeof globalThis<"u"?globalThis:d||self,Re(d.EarthSDK3={},d.jsBinarySchemaParser,d.topojson,d.proj4,d.turf))})(this,(function(d,Re,ts,Sl,W){"use strict";var cm=Object.defineProperty;var dm=(d,Re,ts)=>Re in d?cm(d,Re,{enumerable:!0,configurable:!0,writable:!0,value:ts}):d[Re]=ts;var a=(d,Re,ts)=>dm(d,typeof Re!="symbol"?Re+"":Re,ts);function Cl(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(s,e,t.get?t:{enumerable:!0,get:()=>n[e]})}}return s.default=n,Object.freeze(s)}const Pd=Cl(ts),K=Cl(W);function Td(){var t;const n=((t=globalThis==null?void 0:globalThis.navigator)==null?void 0:t.userAgent)??"unknown";let s="Unknown";/Windows/.test(n)?s="Windows":/Macintosh/.test(n)?s="MacOS":/Linux/.test(n)?s="Linux":/Android/.test(n)?s="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(s="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:s.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const Id=Date.now();function Pl(n){var l;const{os:s,arch:e}=Td(),t={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-Id)/1e3/60|0,date:new Date().toLocaleString(),href:((l=globalThis==null?void 0:globalThis.location)==null?void 0:l.href)??"unknown",os:s,arch:e},r={method:"GET",headers:new Headers,redirect:"follow"},o=globalThis.encodeURIComponent(JSON.stringify(t));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,r).then(h=>h.text()).then(h=>console.log(h)).catch(h=>console.log("error",h))}d.copyright=void 0;try{const n="earthsdk3",s="3.11.2",e="2026-08-14T01:44:25.000Z",t="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="96c00e37006fd8a610c7b19b647f2b40a48e8846",l=((Date.now()-1786671865e3)/36e5).toFixed(1),h=`%c🌏 ${n}%c ${s}.${r.slice(0,8)}.${e} (距今${l}个小时)
2
2
  %c${i?i+`
3
3
  `:""}当前网站正在使用${n},此软件版权归${t}所有
4
- `;d.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","d23f7cc8f1e69a013ac0315961b1cac9ca796d8d")},get info(){return h},get date(){return"2026-08-05T09:24:28.000Z"},get author(){return"suplyang"},get version(){return"3.11.2-beta.2"},get name(){return"earthsdk3"},get commitId(){return"d23f7cc8f1e69a013ac0315961b1cac9ca796d8d"},print(){console.info(this.info,`
4
+ `;d.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","96c00e37006fd8a610c7b19b647f2b40a48e8846")},get info(){return h},get date(){return"2026-08-14T01:44:25.000Z"},get author(){return"suplyang"},get version(){return"3.11.2"},get name(){return"earthsdk3"},get commitId(){return"96c00e37006fd8a610c7b19b647f2b40a48e8846"},print(){console.info(this.info,`
5
5
  font-size: 18px;
6
6
  font-weight: 1000;
7
7
  line-height: 1;
@@ -1243,7 +1243,7 @@ ${Wc}
1243
1243
  "position": [116.39, 39.9, 0],
1244
1244
  "url": "http://localhost:9004/gaussian/model.splat"
1245
1245
  }
1246
- `}));let Ja=qs;class $c extends b{constructor(s,e,t="areaLifting"){super(),e&&(t==="polygonFit"?this.createEditor(s,e,{pointsProp:"polygonFitPoints",onCompleted:i=>s.polygonFitCompletedEvent.emit(i)}):this.createEditor(s,e,{pointsProp:"areaLiftingPoints"}))}createEditor(s,e,t){const i=this.ad(new ee);i.stroked=!0,this.ad(s.components.disposableAdd(i,!1)),this.ad(D([i,"points"],[s,t.pointsProp])),t.onCompleted&&this.ad(e.editingEvent.don(r=>{if(r.type!=="end"||!r.objectIDs.includes(s.id)||!i.editing)return;const o=i.points;o&&o.length>=3&&t.onCompleted(o)})),i.editing=!0}}var Gc=(n=>(n[n.None=0]="None",n[n.Up=1]="Up",n[n.Down=2]="Down",n))(Gc||{}),Jc=(n=>(n[n.CLICK=0]="CLICK",n[n.MOVE=1]="MOVE",n))(Jc||{}),qc=(n=>(n[n.Smooth=0]="Smooth",n[n.Linear=1]="Linear",n[n.Spherical=2]="Spherical",n[n.Tip=3]="Tip",n[n.Hard=4]="Hard",n))(qc||{});const me=class me extends j{constructor(e){super(e);a(this,"_startEvent",this.disposeVar(new v));a(this,"_configs",this.disposeVar(q(void 0)));a(this,"_heights",this.disposeVar(w({})));a(this,"_heightsEvent",this.ad(new v));a(this,"_areaLiftingUpdateEvent",this.disposeVar(new v));a(this,"_requestPolygonGridEvent",this.disposeVar(new v));a(this,"_applyHeightsEvent",this.disposeVar(new v));a(this,"_polygonFitCompletedEvent",this.disposeVar(new v));const t=this.ad(oe(this.modeChanged,this.startEvent,this.polygonFitEditingChanged));this.ad(new le(t,()=>{var i;if(this.areaLiftingPoints=void 0,this.polygonFitEditing)return new $c(this,this.activeViewer,"polygonFit");if(!this.polygonFitMode){if(this.mode=="areaLifting")return new $c(this,this.activeViewer,"areaLifting");(i=this.activeViewer)==null||i.startEditing(this,I.BrushErase)}}))}updateEditing(){var e;sr(this.position,[0,0,0])||(this.position=[0,0,0]),(e=this.activeViewer)==null||e.startEditing(this,I.Place,{callSource:"inner"})}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get configs(){return this._configs.value}set configs(e){this._configs.value=e}get configsChanged(){return this._configs.changed}getConfig(...e){var t,i;if(typeof e[0]=="number")return(t=this.configs)==null?void 0:t.find(r=>r.x===e[0]&&r.y===e[1]);if(typeof e[0]=="string")return(i=this.configs)==null?void 0:i.find(r=>r.url===e[0])}get heights(){return this._heights.value}set heights(e){this._heights.value=e}get heightsChanged(){return this._heights.changed}get heightsEvent(){return this._heightsEvent}getHeights(){return new Promise((e,t)=>{const i=new b;i.ad(this._heightsEvent.don(o=>{o!=="start"&&(!i.isDestroyed()&&i.destroy(),e(o))})),this._heightsEvent.emit("start");const r=setTimeout(()=>{i.isDestroyed()||(i.destroy(),e(void 0))},2e3);i.ad(()=>clearTimeout(r))})}get areaLiftingUpdateEvent(){return this._areaLiftingUpdateEvent}areaLiftingUpdate(){this._areaLiftingUpdateEvent.emit()}get requestPolygonGridEvent(){return this._requestPolygonGridEvent}get applyHeightsEvent(){return this._applyHeightsEvent}get polygonFitCompletedEvent(){return this._polygonFitCompletedEvent}getPolygonGrid(e){const t=e??this.polygonFitPoints;return!t||t.length<3?Promise.resolve([]):new Promise(i=>{const r=setTimeout(()=>{console.warn("[ESTerrainLayerEditing] getPolygonGrid 超时未返回(引擎层可能未实现 requestPolygonGridEvent)"),i([])},1e4);this.ad(()=>clearTimeout(r)),this._requestPolygonGridEvent.emit({points:t,callback:o=>{clearTimeout(r),i(o)}})})}applyHeights(e){this._applyHeightsEvent.emit({items:e})}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new L("开始编辑",()=>{this.start()},[],"start"),new A([this,"mode"],me.modes,"编辑模式",me.defaults.mode)],basic:[...e.basic,new R([this,"url"],"URL"),new R([this,"tileInfo"],"瓦片信息配置"),new f([this,"maxHeight"],"最大高度"),new f([this,"minHeight"],"最小高度"),new f([this,"offset"],"偏移"),new E([this,"autoLoadHeights"],"自动加载高度"),new k("刷写设置"),new f([this,"brushEraseRadius"],"编辑半径"),new ne([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new A([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new A([this,"brushErasePickReference"],me.brushErasePickReferences,"选择参考"),new nt([this,"brushErasePosition"],"刷写位置"),new nt([this,"brushEraseStartPosition"],"刷写起始位置"),new A([this,"brushEraseFalloff"],me.brushEarseFalloffs,"刷写衰减函数"),new A([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向"),new k("平整设置"),new A([this,"flattenMode"],me.flattenModes,"平整模式",0),new A([this,"flattenPick"],me.flattenPicks,"平整选择",0),new f([this,"flattenOffset"],"平整偏移",-.01),new k("区域升降设置"),new ie([this,"areaLiftingPoints"],"区域升降位置",[]),new f([this,"areaLiftingOffset"],"区域升降偏移",1),new L("区域升降更新",()=>{this.areaLiftingUpdate()},[],"areaLiftingUpdate"),new k("围栏设置"),new ie([this,"fencePoints"],"围栏位置",[])]}}};a(me,"createDefaultProps",()=>({...j.createDefaultProps(),allowPicking:!0,url:"",maxHeight:0,minHeight:0,offset:.01,tileInfo:B({tileCountX:65,tileCountY:65,tileMaximumLevel:15,tilesPerAxis:5,format:"heights"}),mode:w("sculpt"),autoLoadHeights:!1,brushEraseRadius:100,brushEraseRadiusRange:F([0,100]),brushErasePosition:F([0,0,0]),brushEraseStartPosition:F([0,0,0]),brushEraseMode:w("NONE"),brushErasePickReference:w("NONE"),brushEraseRayDirection:w("Down"),brushEraseFalloff:w(4),flattenMode:w(0),flattenPick:w(1),flattenOffset:-.01,areaLiftingPoints:Nt(void 0),areaLiftingOffset:1,polygonFitEditing:w(!1),polygonFitMode:w(!1),polygonFitPoints:Nt([]),fencePoints:Nt(void 0),fenceMode:w("in")})),a(me,"modes",[["雕刻","sculpt"],["抹除","erase"],["平滑","smooth"],["平整","flatten"],["区域升降","areaLifting"]]),a(me,"brushErasePickReferences",[["无限制","NONE"],["地形图层","ESTerrainLayerEditing"],["3DTiles","ES3DTileset"]]),a(me,"flattenModes",[["None",0],["Up",1],["Down",2]]),a(me,"flattenPicks",[["CLICK",0],["MOVE",1]]),a(me,"brushEarseFalloffs",[["平滑",0],["线性",1],["硬边",4],["球形",2],["尖顶",3]]),a(me,"invalidValue",-1e4),a(me,"type",me.register("ESTerrainLayerEditing",me,{chsName:"地形图层编辑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESTerrainLayerEditing 是用于对地形图层进行雕刻、抹除、平滑、平整及区域升降等编辑操作的对象。"})),a(me,"supportEditingModes",[...j.supportEditingModes,I.Place,I.BrushErase]);let xn=me;const Je=class Je extends U{constructor(e){super(e);a(this,"editingBindMode","doublePoints");a(this,"_startEvent",this.disposeVar(new v));a(this,"_replayEvent",this.disposeVar(new v));this.ad(this.startEvent.don(()=>{var t;(t=this.activeViewer)==null||t.startEditing(this,I.BrushErase)}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get replayEvent(){return this._replayEvent}replay(){this._replayEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new L("开始编辑",()=>this.start(),[]),new L("重播",()=>this.replay(),[]),new E([this,"showImage"],"显示影像",Je.defaults.showImage),new f([this,"flowSpeed"],"流动速度",Je.defaults.flowSpeed),new f([this,"gravity"],"重力加速度",Je.defaults.gravity),new f([this,"strength"],"泥石流强度",Je.defaults.strength),new f([this,"resistance"],"泥石流阻力(越大越快平息)",Je.defaults.resistance),new f([this,"terrainOffset"],"地形高度偏移",Je.defaults.terrainOffset),new ie([this,"slidePoints"],"滑坡点数组",U.defaults.slidePoints,void 0),new k("刷写设置"),new f([this,"brushEraseRadius"],"编辑半径"),new ne([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new A([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new A([this,"brushErasePickReference"],xn.brushErasePickReferences,"选择参考"),new nt([this,"brushErasePosition"],"刷写位置"),new nt([this,"brushEraseStartPosition"],"刷写起始位置"),new A([this,"brushEraseFalloff"],xn.brushEarseFalloffs,"刷写衰减函数"),new A([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向")]}}};a(Je,"createDefaultProps",()=>({...U.createDefaultProps(),brushEraseRadius:100,brushEraseRadiusRange:F([0,1e3]),brushErasePosition:F([0,0,0]),brushEraseStartPosition:F([0,0,0]),brushEraseMode:w("NONE"),brushErasePickReference:w("NONE"),brushEraseRayDirection:w("Down"),terrainOffset:5,flowSpeed:1,gravity:9.8,slidePoints:F([]),strength:1,showImage:!0,resistance:.98,stroked:!0,strokeStyle:B({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!0})})),a(Je,"type",Je.register("ESLandSlide",Je,{chsName:"滑坡泥石流分析",tags:["ESObjects","_ES_Impl_Cesium"],description:`ESLandSlide 是用于在场景中通过双点绘制区域进行滑坡泥石流分析的对象。
1246
+ `}));let Ja=qs;class $c extends b{constructor(s,e,t="areaLifting"){super(),e&&(t==="polygonFit"?this.createEditor(s,e,{pointsProp:"polygonFitPoints",onCompleted:i=>s.polygonFitCompletedEvent.emit(i)}):this.createEditor(s,e,{pointsProp:"areaLiftingPoints"}))}createEditor(s,e,t){const i=this.ad(new ee);i.stroked=!0,this.ad(s.components.disposableAdd(i,!1)),this.ad(D([i,"points"],[s,t.pointsProp])),t.onCompleted&&this.ad(e.editingEvent.don(r=>{if(r.type!=="end"||!r.objectIDs.includes(s.id)||!i.editing)return;const o=i.points;o&&o.length>=3&&(i.filled=!1,t.onCompleted(o))})),i.editing=!0}}var Gc=(n=>(n[n.None=0]="None",n[n.Up=1]="Up",n[n.Down=2]="Down",n))(Gc||{}),Jc=(n=>(n[n.CLICK=0]="CLICK",n[n.MOVE=1]="MOVE",n))(Jc||{}),qc=(n=>(n[n.Smooth=0]="Smooth",n[n.Linear=1]="Linear",n[n.Spherical=2]="Spherical",n[n.Tip=3]="Tip",n[n.Hard=4]="Hard",n))(qc||{});const me=class me extends j{constructor(e){super(e);a(this,"_startEvent",this.disposeVar(new v));a(this,"_configs",this.disposeVar(q(void 0)));a(this,"_heights",this.disposeVar(w({})));a(this,"_heightsEvent",this.ad(new v));a(this,"_areaLiftingUpdateEvent",this.disposeVar(new v));a(this,"_requestPolygonGridEvent",this.disposeVar(new v));a(this,"_applyHeightsEvent",this.disposeVar(new v));a(this,"_polygonFitCompletedEvent",this.disposeVar(new v));const t=this.ad(oe(this.modeChanged,this.startEvent,this.polygonFitEditingChanged));this.ad(new le(t,()=>{var i;if(this.areaLiftingPoints=void 0,this.polygonFitEditing)return new $c(this,this.activeViewer,"polygonFit");if(!this.polygonFitMode){if(this.mode=="areaLifting")return new $c(this,this.activeViewer,"areaLifting");(i=this.activeViewer)==null||i.startEditing(this,I.BrushErase)}}))}updateEditing(){var e;sr(this.position,[0,0,0])||(this.position=[0,0,0]),(e=this.activeViewer)==null||e.startEditing(this,I.Place,{callSource:"inner"})}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get configs(){return this._configs.value}set configs(e){this._configs.value=e}get configsChanged(){return this._configs.changed}getConfig(...e){var t,i;if(typeof e[0]=="number")return(t=this.configs)==null?void 0:t.find(r=>r.x===e[0]&&r.y===e[1]);if(typeof e[0]=="string")return(i=this.configs)==null?void 0:i.find(r=>r.url===e[0])}get heights(){return this._heights.value}set heights(e){this._heights.value=e}get heightsChanged(){return this._heights.changed}get heightsEvent(){return this._heightsEvent}getHeights(){return new Promise((e,t)=>{const i=new b;i.ad(this._heightsEvent.don(o=>{o!=="start"&&(!i.isDestroyed()&&i.destroy(),e(o))})),this._heightsEvent.emit("start");const r=setTimeout(()=>{i.isDestroyed()||(i.destroy(),e(void 0))},2e3);i.ad(()=>clearTimeout(r))})}get areaLiftingUpdateEvent(){return this._areaLiftingUpdateEvent}areaLiftingUpdate(){this._areaLiftingUpdateEvent.emit()}get requestPolygonGridEvent(){return this._requestPolygonGridEvent}get applyHeightsEvent(){return this._applyHeightsEvent}get polygonFitCompletedEvent(){return this._polygonFitCompletedEvent}getPolygonGrid(e){const t=e??this.polygonFitPoints;return!t||t.length<3?Promise.resolve([]):new Promise(i=>{const r=setTimeout(()=>{console.warn("[ESTerrainLayerEditing] getPolygonGrid 超时未返回(引擎层可能未实现 requestPolygonGridEvent)"),i([])},1e4);this.ad(()=>clearTimeout(r)),this._requestPolygonGridEvent.emit({points:t,callback:o=>{clearTimeout(r),i(o)}})})}applyHeights(e){this._applyHeightsEvent.emit({items:e})}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new L("开始编辑",()=>{this.start()},[],"start"),new A([this,"mode"],me.modes,"编辑模式",me.defaults.mode)],basic:[...e.basic,new R([this,"url"],"URL"),new R([this,"tileInfo"],"瓦片信息配置"),new f([this,"maxHeight"],"最大高度"),new f([this,"minHeight"],"最小高度"),new f([this,"offset"],"偏移"),new E([this,"autoLoadHeights"],"自动加载高度"),new k("刷写设置"),new f([this,"brushEraseRadius"],"编辑半径"),new ne([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new A([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new A([this,"brushErasePickReference"],me.brushErasePickReferences,"选择参考"),new nt([this,"brushErasePosition"],"刷写位置"),new nt([this,"brushEraseStartPosition"],"刷写起始位置"),new A([this,"brushEraseFalloff"],me.brushEarseFalloffs,"刷写衰减函数"),new A([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向"),new k("平整设置"),new A([this,"flattenMode"],me.flattenModes,"平整模式",0),new A([this,"flattenPick"],me.flattenPicks,"平整选择",0),new f([this,"flattenOffset"],"平整偏移",-.01),new k("区域升降设置"),new ie([this,"areaLiftingPoints"],"区域升降位置",[]),new f([this,"areaLiftingOffset"],"区域升降偏移",1),new L("区域升降更新",()=>{this.areaLiftingUpdate()},[],"areaLiftingUpdate"),new k("围栏设置"),new ie([this,"fencePoints"],"围栏位置",[])]}}};a(me,"createDefaultProps",()=>({...j.createDefaultProps(),allowPicking:!0,url:"",maxHeight:0,minHeight:0,offset:.01,tileInfo:B({tileCountX:65,tileCountY:65,tileMaximumLevel:15,tilesPerAxis:5,format:"heights"}),mode:w("sculpt"),autoLoadHeights:!1,brushEraseRadius:100,brushEraseRadiusRange:F([0,100]),brushErasePosition:F([0,0,0]),brushEraseStartPosition:F([0,0,0]),brushEraseMode:w("NONE"),brushErasePickReference:w("NONE"),brushEraseRayDirection:w("Down"),brushEraseFalloff:w(4),flattenMode:w(0),flattenPick:w(1),flattenOffset:-.01,areaLiftingPoints:Nt(void 0),areaLiftingOffset:1,polygonFitEditing:w(!1),polygonFitMode:w(!1),polygonFitPoints:Nt([]),fencePoints:Nt(void 0),fenceMode:w("in")})),a(me,"modes",[["雕刻","sculpt"],["抹除","erase"],["平滑","smooth"],["平整","flatten"],["区域升降","areaLifting"]]),a(me,"brushErasePickReferences",[["无限制","NONE"],["地形图层","ESTerrainLayerEditing"],["3DTiles","ES3DTileset"]]),a(me,"flattenModes",[["None",0],["Up",1],["Down",2]]),a(me,"flattenPicks",[["CLICK",0],["MOVE",1]]),a(me,"brushEarseFalloffs",[["平滑",0],["线性",1],["硬边",4],["球形",2],["尖顶",3]]),a(me,"invalidValue",-1e4),a(me,"type",me.register("ESTerrainLayerEditing",me,{chsName:"地形图层编辑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESTerrainLayerEditing 是用于对地形图层进行雕刻、抹除、平滑、平整及区域升降等编辑操作的对象。"})),a(me,"supportEditingModes",[...j.supportEditingModes,I.Place,I.BrushErase]);let xn=me;const Je=class Je extends U{constructor(e){super(e);a(this,"editingBindMode","doublePoints");a(this,"_startEvent",this.disposeVar(new v));a(this,"_replayEvent",this.disposeVar(new v));this.ad(this.startEvent.don(()=>{var t;(t=this.activeViewer)==null||t.startEditing(this,I.BrushErase)}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get replayEvent(){return this._replayEvent}replay(){this._replayEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new L("开始编辑",()=>this.start(),[]),new L("重播",()=>this.replay(),[]),new E([this,"showImage"],"显示影像",Je.defaults.showImage),new f([this,"flowSpeed"],"流动速度",Je.defaults.flowSpeed),new f([this,"gravity"],"重力加速度",Je.defaults.gravity),new f([this,"strength"],"泥石流强度",Je.defaults.strength),new f([this,"resistance"],"泥石流阻力(越大越快平息)",Je.defaults.resistance),new f([this,"terrainOffset"],"地形高度偏移",Je.defaults.terrainOffset),new ie([this,"slidePoints"],"滑坡点数组",U.defaults.slidePoints,void 0),new k("刷写设置"),new f([this,"brushEraseRadius"],"编辑半径"),new ne([this,"brushEraseRadiusRange"],"编辑半径范围",void 0,!0,!0),new A([this,"brushEraseMode"],Object.entries(["CTRL","SHIFT","NONE"]),"刷写模式"),new A([this,"brushErasePickReference"],xn.brushErasePickReferences,"选择参考"),new nt([this,"brushErasePosition"],"刷写位置"),new nt([this,"brushEraseStartPosition"],"刷写起始位置"),new A([this,"brushEraseFalloff"],xn.brushEarseFalloffs,"刷写衰减函数"),new A([this,"brushEraseRayDirection"],[["Up","Up"],["Down","Down"]],"刷写射线方向")]}}};a(Je,"createDefaultProps",()=>({...U.createDefaultProps(),brushEraseRadius:100,brushEraseRadiusRange:F([0,1e3]),brushErasePosition:F([0,0,0]),brushEraseStartPosition:F([0,0,0]),brushEraseMode:w("NONE"),brushErasePickReference:w("NONE"),brushEraseRayDirection:w("Down"),terrainOffset:5,flowSpeed:1,gravity:9.8,slidePoints:F([]),strength:1,showImage:!0,resistance:.98,stroked:!0,strokeStyle:B({width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!0})})),a(Je,"type",Je.register("ESLandSlide",Je,{chsName:"滑坡泥石流分析",tags:["ESObjects","_ES_Impl_Cesium"],description:`ESLandSlide 是用于在场景中通过双点绘制区域进行滑坡泥石流分析的对象。
1247
1247
  对象json示例:
1248
1248
  {
1249
1249
  "id": "landslide_xxx",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "earthsdk3",
3
- "version": "3.11.2-beta.2",
3
+ "version": "3.11.2",
4
4
  "description": "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",
5
5
  "private": false,
6
6
  "type": "module",