earthsdk3 3.5.0-beta.1 → 3.5.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/earthsdk3.iife.js +6 -6
- package/dist/earthsdk3.js +36 -38
- package/dist/earthsdk3.umd.cjs +6 -6
- package/dist/types/ESObjects/general/ESTerrainLayer.d.ts.map +1 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/FlvProcessing.d.ts +0 -2
- package/dist/types/xbsj-base/xr-utils/ComplexImage/FlvProcessing.d.ts.map +1 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/HlsProcessing.d.ts +0 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/HlsProcessing.d.ts.map +1 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/ImageProcessing.d.ts +0 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/ImageProcessing.d.ts.map +1 -1
- package/dist/types/xbsj-base/xr-utils/tree/Tree.d.ts +1 -1
- package/package.json +3 -2
package/dist/earthsdk3.umd.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(g,Ln){typeof exports=="object"&&typeof module<"u"?Ln(exports,require("js-binary-schema-parser"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","js-binary-schema-parser","proj4","@turf/turf"],Ln):(g=typeof globalThis<"u"?globalThis:g||self,Ln(g.EarthSDK3={},g.jsBinarySchemaParser,g.proj4,g.turf))})(this,(function(g,Ln,Bs,Xy){"use strict";var jb=Object.defineProperty;var zb=(g,Ln,Bs)=>Ln in g?jb(g,Ln,{enumerable:!0,configurable:!0,writable:!0,value:Bs}):g[Ln]=Bs;var d=(g,Ln,Bs)=>zb(g,typeof Ln!="symbol"?Ln+"":Ln,Bs);var Xr;function Hy(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const Ue=Hy(Xy);function Yy(){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 Jy=Date.now();function fp(r){const{os:e,arch:t}=Yy(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-Jy)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:e,arch:t},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}g.copyright=void 0;try{const r="earthsdk3",e="3.5.0-beta.
|
|
1
|
+
(function(g,Ln){typeof exports=="object"&&typeof module<"u"?Ln(exports,require("js-binary-schema-parser"),require("proj4"),require("@turf/turf")):typeof define=="function"&&define.amd?define(["exports","js-binary-schema-parser","proj4","@turf/turf"],Ln):(g=typeof globalThis<"u"?globalThis:g||self,Ln(g.EarthSDK3={},g.jsBinarySchemaParser,g.proj4,g.turf))})(this,(function(g,Ln,Bs,Xy){"use strict";var jb=Object.defineProperty;var zb=(g,Ln,Bs)=>Ln in g?jb(g,Ln,{enumerable:!0,configurable:!0,writable:!0,value:Bs}):g[Ln]=Bs;var d=(g,Ln,Bs)=>zb(g,typeof Ln!="symbol"?Ln+"":Ln,Bs);var Xr;function Hy(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const Ue=Hy(Xy);function Yy(){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 Jy=Date.now();function fp(r){const{os:e,arch:t}=Yy(),n={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-Jy)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:e,arch:t},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(n));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}g.copyright=void 0;try{const r="earthsdk3",e="3.5.0-beta.3",t="2025-09-24T09:02:29.000Z",n="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="48553136b8e2310ce9deb1240b4c062fa51bd454",a=((Date.now()-1758704549e3)/36e5).toFixed(1),u=`%c🌏 ${r}%c ${e}.${s.slice(0,8)}.${t} (距今${a}个小时)
|
|
2
2
|
%c${i?i+`
|
|
3
3
|
`:""}当前网站正在使用${r},此软件版权归${n}所有
|
|
4
|
-
`;g.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4
|
+
`;g.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","48553136b8e2310ce9deb1240b4c062fa51bd454")},get info(){return u},get date(){return"2025-09-24T09:02:29.000Z"},get author(){return"suplyang"},get version(){return"3.5.0-beta.3"},get name(){return"earthsdk3"},get commitId(){return"48553136b8e2310ce9deb1240b4c062fa51bd454"},print(){console.info(this.info,`
|
|
5
5
|
font-size: 18px;
|
|
6
6
|
font-weight: 1000;
|
|
7
7
|
line-height: 1;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
color: rgb(0, 120, 215);
|
|
19
19
|
padding-bottom: 2px;
|
|
20
20
|
padding-left: 35px;
|
|
21
|
-
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[r]=g.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>fp(g.copyright),1e3*60),setInterval(()=>fp(g.copyright),1440*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&g.copyright.print()}catch{console.warn("版本信息有误!")}const pp=new Set;function Ao(r,e=r){pp.has(e)||(pp.add(e),console.warn(r))}function Ni(r){const e=bl(r),t=()=>e[0][e[1]],n=s=>{try{e[0][e[1]]=s}catch(o){Ao(`setValue error, obj(${e[0].constructor.name}) prop(${e[1]}) error(${o})`)}},i=e[0][e[2]];return[t,n,i]}function Zy(){return!0}function Ky(){throw new Error("throwOnDestroyed")}function gp(r){for(var e in r)typeof r[e]=="function"&&(r[e]=Ky);r.isDestroyed=Zy}const Yc=class Yc{constructor(){d(this,"_memId",++Yc._lastMemId);d(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(e){return this.disposers.push(e),e}d(e){return this.dispose(e)}disposeVar(e){return this.disposers.push(()=>e.destroy()),e}dv(e){return this.disposeVar(e)}tryDisposeVar(e){return this.disposers.push(()=>e.tryDestroy()),e}tdv(e){return this.tryDisposeVar(e)}autoDispose(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}ad(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const e=this._disposers,t=e.length;for(let n=t-1;n>=0;--n)e[n]();e.length=0,this._disposers=void 0}catch(e){console.error(`destroy get error! ${e}`)}return gp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};d(Yc,"_lastMemId",-1);let B=Yc,Kc;function mp(r){Kc=r}Object.defineProperties(B.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!Kc)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new Kc)}return this._toDestroyEvent}}});class El{constructor(e,t,n=!1){d(this,"_freeElements");d(this,"_usedElementsCount");d(this,"_usedElements");d(this,"_nextCreateID");d(this,"_scratchObjs");this._createDefaultFunc=e,this._destroyFunc=t,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],n&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let e;return this._freeElements.length>0?e=this._freeElements.pop():e=this._createDefaultFunc&&this._createDefaultFunc()||{},e._cid=this._getCreateID(),e}create(){return this._create()}multiCreate(e){this._scratchObjs.length=0;for(let t=0;t<e;++t)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(e){this._destroyFunc&&this._destroyFunc(e),e._cid=void 0}destroy(...e){const t=e.length;for(let n=0;n<t;++n)this._destroy(e[n])}}function Qy(){return{item:void 0,previous:void 0,next:void 0}}function $y(r){r.item=void 0,r.previous=void 0,r.next=void 0}const vp=new El(Qy,$y,!0);function Qc(r,e,t){const n=vp.create();return n.item=r,n.previous=e,n.next=t,n}function yp(r){if(!r)throw new Error("node is undefined!");vp.destroy(r)}function $c(r,e){e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=void 0,r.tail=e.previous):e.next?(e.next.previous=void 0,r.head=e.next):(r.head=void 0,r.tail=void 0),e.next=void 0,e.previous=void 0}class _p{constructor(e){d(this,"head");d(this,"tail");d(this,"_length");const{needLength:t}=e||{needLength:!0};this.head=void 0,this.tail=void 0,t&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(e){typeof this._length=="number"&&(this._length=e)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let e=this.head;for(;e;)yield e,e=e.next}remove(e){if(!e)throw new Error("node is undefined!");$c(this,e),this._decrementLength(),yp(e)}getNode(e){let t=this.head;for(;t!==null;){if(!t)throw new Error("current is undefined!");if(t.item===e)return t;t=t.next}}moveAfter(e,t){if(e!==t){$c(this,t);var n=e.next;e.next=t,this.tail===e?this.tail=t:n&&(n.previous=t),t.next=n,t.previous=e}}moveBefore(e,t){if(e!==t){$c(this,t);var n=e.previous;e.previous=t,this.head===e?this.head=t:n&&(n.next=t),t.previous=n,t.next=e}}insertBefore(e,t){const n=Qc(t,e.previous,e);return e.previous&&(e.previous.next=n),e.previous=n,this.head===e&&(this.head=n),this._incrementLength(),n}insertAfter(e,t){const n=Qc(t,e,e.next);return e.next&&(e.next.previous=n),e.next=n,this.tail===e&&(this.tail=n),this._incrementLength(),n}_setFirstNode(e){if(this.head||this.tail)throw new Error("_setFirstNode error!");const t=Qc(e,void 0,void 0);if(this.head=t,this.tail=t,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return t}push(e){return this.tail?this.insertAfter(this.tail,e):this._setFirstNode(e)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const e=this.tail.item;return this.remove(this.tail),e}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const e=this.head.item;return this.remove(this.head),e}unshift(e){return this.head?this.insertBefore(this.head,e):this._setFirstNode(e)}removeAll(){let e=this.head;for(;e;){const t=e.next;yp(e),e=t}this.head=void 0,this.tail=void 0,this._setLength(0)}}function t_(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function e_(r){r.func=void 0,r.scope=void 0,r._hasRemoved=!1,r._once=!1}const js=new El(t_,e_,!0);class th{constructor(){d(this,"__dll");d(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new _p({needLength:!0}),this.__dll}_pushCurrentListener(e){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(e):this.__currentListenerStack=[this.__currentListenerStack,e]:this.__currentListenerStack=e}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(e){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(e)!==-1:this.__currentListenerStack===e:!1}do(...e){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const n=t.item;n._hasRemoved||(this._pushCurrentListener(n),n.func.call(n.scope,...e),this._popCurrentListener());const i=t.next;n._once&&!n._hasRemoved&&(this.remove(t),t=void 0),t&&this._clearHasRemoved(t),t=i}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let e=!0,t=this._dll.head;for(;t;){if(!t.item._hasRemoved){e=!1;break}t=t.next}return e}isHandlerValid(e){return!e.item._hasRemoved}nextHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.next;for(;t&&t.item._hasRemoved;)t=t.next;return t}prevHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.previous;for(;t&&t.item._hasRemoved;)t=t.previous;return t}moveAfter(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(e,t)}moveBefore(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(e,t)}insertBefore(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertBefore(e,s)}insertAfter(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertAfter(e,s)}_clearHasRemoved(e){e.item._hasRemoved&&!this._hasCurrentListener(e.item)&&(js.destroy(e.item),this._dll.remove(e))}remove(e){if(!e.item||e.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(e.item)?e.item._hasRemoved=!0:(js.destroy(e.item),this._dll.remove(e))}removeAll(){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const t=e.next;e.item._hasRemoved||this.remove(e),e=t}}}destroy(){if(!this.__dll)return;let e=this._dll.head;for(;e;){const t=e.next,n=e;this._hasCurrentListener(n.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${n.item.func.toString()}`)),js.destroy(n.item),this._dll.remove(n),e=t}this.__dll=void 0,this.__currentListenerStack=void 0}push(e,t,n=!1){const i=js.create();return i.func=e,i.scope=t,i._once=n,this._dll.push(i)}pop(){const e=this.tail;if(!e)throw new Error("pop error!");this.remove(e)}shift(){const e=this.head;if(!e)throw new Error("shift error!");this.remove(e)}unshift(e,t,n=!1){const i=js.create();return i.func=e,i.scope=t,i._once=n,this._dll.unshift(i)}get tail(){let e=this._dll.tail;for(;e&&e.item._hasRemoved;)e=e.previous;return e}get head(){let e=this._dll.head;for(;e&&e.item._hasRemoved;)e=e.previous;return e}}class du{constructor(){d(this,"_listenerHandler");d(this,"_cid")}_reset(e,t){this._listenerHandler=e,this._cid=t}clone(e){return e=e??new du,e._reset(this._listenerHandler,this._cid),e}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const e=this._listenerHandler._cid;if(typeof e<"u"&&this._cid===e)return!0}return!1}}class eh extends du{}let I=class extends B{constructor(){super(...arguments);d(this,"__pipe");d(this,"beforeCallback");d(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new th,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...t){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...t),!this.isDestroyed()&&this._pipe.do(...t),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...t)}on(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!1):this._pipe.push(t,n,!1);return s=s??new eh,s._reset(o,o._cid),s}disposableOn(t,n,i=!1,s){const o=this.on(t,n,i,s);return()=>{o.valid&&this.off(o)}}don(t,n,i=!1,s){return this.disposableOn(t,n,i,s)}disposableWeakOn(t,n,i=!1,s){const o=new B,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(t,n,i,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(t,n,i=!1,s){return this.disposableWeakOn(t,n,i,s)}once(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!0):this._pipe.push(t,n,!0);return s=s??new eh,s._reset(o,o._cid),s}disposableOnce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}donce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}off(t){if(!t.valid)throw new Error("handler is not valid!");this._pipe.remove(t._listenerHandler),t._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(Ao("The event is destroying with listeners!"),this._pipe.removeAll())}};mp(I);function Fo(r,e){return e=e??new du,e._reset(r,r._cid),e}class n_{constructor(){d(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new th,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...e){return this._pipe.do(...e)}isHandlerValid(e){return e.valid?this._pipe.isHandlerValid(e._listenerHandler):!1}moveAfter(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}moveBefore(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}insertBefore(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(e._listenerHandler,t,n,i);return Fo(o,s)}insertAfter(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(e._listenerHandler,t,n,i);return Fo(o,s)}remove(e){if(!e.valid)throw new Error("handler is not valid!");return this._pipe.remove(e._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(e,t,n=!1,i){const s=this._pipe.push(e,t,n);return Fo(s,i)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(e,t,n=!1,i){const s=this._pipe.unshift(e,t,n);return Fo(s,i)}getTail(e){const t=this._pipe.tail;if(t)return Fo(t,e)}getHead(e){const t=this._pipe.head;if(t)return Fo(t,e)}}class De extends B{constructor(t,n,i){super();d(this,"_changed");d(this,"_value");d(this,"_oldValue");d(this,"toChangeFunc");this._equalsFunc=n,this._assignFunc=i,this._value=this._assignFunc&&this._assignFunc(t,void 0)||t}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(t){return this._equalsFunc?this._equalsFunc(this._value,t):this._value===t}set value(t){if(this._equalsFunc?!this._equalsFunc(this._value,t):this._value!==t){if(this.toChangeFunc&&!this.toChangeFunc(t,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(t,this._value)):(this._oldValue=this._value,this._value=t),this._changed&&this._changed.emit(t,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new I)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function V(r,e,t){return new De(r,e,t)}function at(r){return new De(r,(e,t)=>e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function Ht(r){return V(r,(e,t)=>e===void 0||t===void 0?e===void 0&&t===void 0:e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{if(!e)return;const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function Cl(r,e,t){return V(r,(n,i)=>n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function ss(r,e,t){return V(r,(n,i)=>n===void 0||i===void 0?n===void 0&&i===void 0:n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{if(!n)return;const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function dt(r){return new De(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function jt(r){return new De(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function r_(r){return new De(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function i_(r){return new De(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function s_(r){return Cl(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function nh(r){return ss(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function o_(r){return Cl(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function a_(r){return ss(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function Sl(r){return nh(r)}function wp(r){return ss(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function u_(r){return ss(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function bl(r){const e=r instanceof De?[r,"value","changed"]:[...r];return e[2]=e[2]||e[1]+"Changed",e}function rh(r,e,t,n=!1){e[2]=e[2]||e[1]+"Changed";const i=()=>{const s=e[0][e[1]];t?r[0][r[1]]=t(s):r[0][r[1]]=s};return i(),n?e[0][e[2]].disposableWeakOn(i):e[0][e[2]].disposableOn(i)}function l_(r,e,t,n,i=!1){const s=rh(r,e,t,i),o=rh(e,r,n,i);return()=>(s(),o())}function j(r,e,t,n=!1){const i=r instanceof De?[r,"value","changed"]:r,s=e instanceof De?[e,"value","changed"]:e;return rh(i,s,t,n)}function $(r,e,t,n,i=!1){const s=bl(r),o=bl(e);return l_(s,o,t,n,i)}function c_(r,e,t,n=!1){const[i]=Ni(e);return $(r,e,s=>s??t,s=>{if(!(s===t&&i()===void 0))return s},n)}function ko(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r==="x"?e:e&3|8;return t.toString(16)})}function Pl(r,e){if(!window||!window.setTimeout||!window.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let t=0;function n(){t>0&&(window.clearTimeout(t),t=0)}function i(...s){n(),t=window.setTimeout(r,e,...s)}return[i,n]}function ih(r,e,...t){const n=setInterval(r,e,...t);return()=>clearInterval(n)}function sh(r,e,...t){const n=setTimeout(r,e,...t);return()=>clearTimeout(n)}function Il(r,...e){let t;const n=()=>{const i=performance.now();r(i,...e),t=requestAnimationFrame(n)};return n(),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function Vo(r,...e){let t;return t=requestAnimationFrame(()=>{const i=performance.now();r(i,...e)}),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function fu(r,...e){let t=!1,n;return new Promise((i,s)=>{n=s,i()}).then(()=>{!t&&r(...e)}).catch(i=>{console.error(i)}),()=>(t=!0)&&n&&(n("nextMicroTask cancelled!"),n=void 0)}class xl extends I{constructor(t,n,...i){super();d(this,"_cancellFunc");this._nextFunc=t,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),i.forEach(s=>this.dispose(s[n?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class oh extends xl{constructor(...e){super(fu,!1,...e)}}function h_(...r){return new oh(...r)}class d_ extends xl{constructor(...e){super(fu,!0,...e)}}function f_(...r){return new oh(...r)}class Tl extends xl{constructor(...e){super(Vo,!1,...e)}}function be(...r){return new Tl(...r)}function p_(r,e){return new Tl(...r).don(e())}class Ep extends xl{constructor(...e){super(Vo,!0,...e)}}function g_(...r){return new Ep(...r)}function zs(r,e,t={time:"don",immediate:!1}){const n=new Tl(...Array.isArray(r)?r:[r]),i=n[t.time??"don"](e);return(t.immediate??!1)&&e(),()=>{i(),n.destroy()}}function pu(r){let e;if(typeof r.next=="function")e=r;else if(typeof r[Symbol.iterator]=="function")e=r[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return e}function ah(r,e){let t=!1;const n=pu(r);let i=-1;for(;;){const{done:s,value:o}=n.next();if(s)break;if(e(o,++i)){t=!0;break}}return t}function uh(r,e){return!ah(r,(n,i)=>!e(n,i))}function gu(r,e,t,n){const i=r;if(!i[e]){const s=n(),o=Object.fromEntries(Object.entries(s).filter(([a,u])=>{const l=Object.getPrototypeOf(t),c=a in l;if(c){const h=u instanceof De?u.value:u;r[a]=h}return!c}).map(([a,u])=>u instanceof De?[a,u]:[a,Array.isArray(u)?Ht(u):V(u)]));i[e]=o}return i[e]}function Oi(r,e){var n;const t=Symbol(`${(n=r==null?void 0:r.constructor)==null?void 0:n.name}-createDefaultProps`);r.constructor.__xbsj_dpSymbol=t,r.constructor.__xbsj_createDefaultProps=e;for(let[i,s]of Object.entries(e()))if(!Reflect.has(r,i)){const o=function(a){if(a[t])return;const u=[];let l=Object.getPrototypeOf(a);for(;l;)u.push(l),l=Object.getPrototypeOf(l);u.reverse();for(let c of u){const h=c.constructor.__xbsj_dpSymbol;if(!h)continue;const f=c.constructor.__xbsj_createDefaultProps;f&&gu(a,h,c,f)}};Object.defineProperties(r,{[i]:{get(){return o(this),gu(this,t,r,e)[i].value},set(a){o(this);const u=gu(this,t,r,e)[i];if(!u){console.error("!propObj");debugger}u.value=a}},[`${i}Changed`]:{get(){return o(this),gu(this,t,r,e)[i].changed}},[`${i}React`]:{get(){return o(this),gu(this,t,r,e)[i]}}})}}const mu=new WeakMap;function ti(r,e,t){mu.has(r)||mu.set(r,{});const n=mu.get(r);n[e]=t}function An(r,e){return mu.has(r)?mu.get(r)[e]:void 0}function ei(r,e){const t=pu(r);let n=0;for(;;){const{done:i,value:s}=t.next();if(i)break;e(s,n++)}}function vu(r,e,t){const n=pu(r);let i=t,s=0;for(;;){const{done:o,value:a}=n.next();if(o)break;i=e(i,a,s++)}return i}const m_=r=>++r;function lh(r){return vu(r,m_,0)}function Di(r){return vu(r,(e,t)=>e>t?e:t,Number.NEGATIVE_INFINITY)}function os(r){return vu(r,(e,t)=>e<t?e:t,Number.POSITIVE_INFINITY)}function Cp(r,e){let t=r;for(let n of e)t=t[n];return t}function v_(r,e,t){if(e.length===0)throw new Error("props的数量必须大于0");const n=e.length-1,i=e[n];let s=r;for(let o=0;o<n;++o){const a=e[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[i]=t}function*Us(r,e){const t=pu(r);for(;;){const{done:n,value:i}=t.next();if(n)break;yield Cp(i,e)}}class yu extends B{constructor(){super();d(this,"_innerObj");d(this,"_toChangeEvent");d(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new I),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new I),this._changedEvent}_resetArray(t){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:t}],this);const{length:n}=t;this._innerObj.length=n;for(let i=0;i<n;++i)this._innerObj[i]=t[i];this._changedEvent&&this._changedEvent.emit(this)}splice(t,n,...i){const{length:s}=this._innerObj;t=t>this._innerObj.length?this._innerObj.length:t,t>s?t=s:t<0&&(t+=s,t<0&&(t=0));const o=this._innerObj.length-t;if(n>o?n=o:n<0&&(n=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:this._innerObj.length-t,items:[]}],this);const a=this._innerObj.splice(t);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:[]}],this);const a=this._innerObj.splice(t,n);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:i}],this);const a=this._innerObj.splice(t,n,...i);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const n=this._innerObj.length-1,i=1,s=[];this._toChangeEvent.emit([{start:n,deleteCount:i,items:s}],this)}const t=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),t}push(...t){if(this._toChangeEvent){const i=this._innerObj.length;this._toChangeEvent.emit([{start:i,deleteCount:0,items:t}],this)}const n=this._innerObj.push(...t);return this._changedEvent&&this._changedEvent.emit(this),n}get length(){return this._innerObj.length}set length(t){if(t<0)throw new Error("value < 0");const{length:n}=this._innerObj;if(n!==t){if(this._toChangeEvent){let i,s,o;n>t?(i=t,s=n-t,o=[]):(i=n,s=0,o=new Array(t-n)),this._toChangeEvent.emit([{start:i,deleteCount:s,items:o}],this)}this._innerObj.length=t,this._changedEvent&&this._changedEvent.emit(this)}}get(t){return this._innerObj[t]}set(t,n){const{length:i}=this._innerObj;if(t<0||t>=i)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:1,items:[n]}],this),this._innerObj[t]=n,this._changedEvent&&this._changedEvent.emit(this)}indexOf(t){return this._innerObj.indexOf(t)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function ch(r,e,...t){let n=r;for(let i of t){if(!n[i])if(e)n[i]={};else return;n=n[i]}return n}function y_(r,e,t){typeof t>"u"&&(e.endsWith(".gltf")?t="model/gltf+json":e.endsWith(".bin")?t="application/octet-stream":e.endsWith(".glb")?t="model/gltf-binary":e.endsWith(".jpg")||e.endsWith(".jpeg")?t="image/jpeg":e.endsWith(".png")?t="image/png":e.endsWith(".glsl")?t="text/plain":e.endsWith(".json")?t="application/json":e.endsWith(".b3dm")||e.endsWith(".i3dm")||e.endsWith("pnts")||e.endsWith("cmpt")?t="application/octet-stream":console.warn(`save ${e}: MimeType无法确定!`));const n=new Blob([r],{type:t||""});let i=URL.createObjectURL(n);var s=document.createElement("a"),o=new MouseEvent("click");s.download=e,s.href=i,s.dispatchEvent(o),URL.revokeObjectURL(i)}function __(r,e){const t=document.createElement("a"),n=new MouseEvent("click");t.download=e||"下载",t.href=r,t.dispatchEvent(n)}function w_(){return new Promise((r,e)=>{const t=performance.now();requestAnimationFrame(n=>r(n>t))})}const Nl=r=>{let e,t;return t=n=>{n=performance.now(),e=requestAnimationFrame(t),r(n)},e=requestAnimationFrame(t),()=>{cancelAnimationFrame(e)}};function hh(r,e,t=Nl){let n=Number.NEGATIVE_INFINITY,i;function s(u){u-n>e&&i&&(r(...i),i=void 0,n=u)}const o=t&&t(s)||void 0;function a(...u){i=u}return[a,o]}const Sp=[];function bp(r,e,t){if(Sp.includes(r)){console.warn(`_loadJs ${r} has loaded before!`),e&&e();return}var n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("src",r),i.onload=i.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(Sp.push(r),e&&e(),i.onload=i.onreadystatechange=null)},i.onerror=(s,o,a,u,l)=>{t(l)},n.appendChild(i)}function dh(r,e=!0){if(e){const t=window.L;window.L&&(window.L=void 0);const n=window.define;return window.define&&(window.define=void 0),new Promise((i,s)=>{bp(r,i,s)}).then(()=>(window.define=n,window.L=t,Promise.resolve()))}else return new Promise((t,n)=>{bp(r,t,n)})}async function Pp(r,e=""){return new Promise((t,n)=>{var i=new Image;i.crossOrigin=e,i.src=r,i.onload=()=>t(i),i.onerror=s=>n(s)})}class E_ extends B{constructor(e){super(),this._owner=e}get owner(){return this._owner}}function C_(r,e){if(r.length%3!==0)throw new Error("positions.length % 3 !== 0");const t=r.length/3;function*n(o){for(let a=0;a<t;++a)yield r[a*3+o]}const i=(e==null?void 0:e.min)??[NaN,NaN,NaN],s=(e==null?void 0:e.max)??[NaN,NaN,NaN];return i[0]=os(n(0))??NaN,i[1]=os(n(1))??NaN,i[2]=os(n(2))??NaN,s[0]=Di(n(0))??NaN,s[1]=Di(n(1))??NaN,s[2]=Di(n(2))??NaN,{min:i,max:s}}async function S_(r,e=fetch){const t=await e(r);return t.ok?await t.arrayBuffer():void 0}function Ol(r,...e){if(r>16)throw new Error("length > 16");const t=new Array(r);for(let n=0;n<r;++n)t[n]=e[n]??0;return t}class Dl{constructor(e,t){this._xyzw=e,this._length=t}set 0(e){this._xyzw.x=e}set 1(e){this._xyzw.y=e}set 2(e){this._xyzw.z=e}set 3(e){this._xyzw.w=e}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function b_(r){return new Dl(r,2)}function P_(r){return new Dl(r,3)}function I_(r){return new Dl(r,4)}class x_{constructor(e,t,n,i){this._array=e,this._length=t,this._start=n,this._stride=i}get length(){return this._length}set 0(e){this._array[this._start+0*this._stride]=e}set 1(e){this._array[this._start+1*this._stride]=e}set 2(e){this._array[this._start+2*this._stride]=e}set 3(e){this._array[this._start+3*this._stride]=e}set 4(e){this._array[this._start+4*this._stride]=e}set 5(e){this._array[this._start+5*this._stride]=e}set 6(e){this._array[this._start+6*this._stride]=e}set 7(e){this._array[this._start+7*this._stride]=e}set 8(e){this._array[this._start+8*this._stride]=e}set 9(e){this._array[this._start+9*this._stride]=e}set 10(e){this._array[this._start+10*this._stride]=e}set 11(e){this._array[this._start+11*this._stride]=e}set 12(e){this._array[this._start+12*this._stride]=e}set 13(e){this._array[this._start+13*this._stride]=e}set 14(e){this._array[this._start+14*this._stride]=e}set 15(e){this._array[this._start+15*this._stride]=e}set 16(e){this._array[this._start+16*this._stride]=e}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function T_(r,e,t=0,n=1){return new x_(r,e,t,n)}g.Vector=void 0,(r=>{function e(U,...q){if(U=U||Ol(q.length),q.length>U.length)throw new Error("args.length > target.length");return U instanceof Float64Array?U.set(q):N(q,U),U}r.set=e;function t(U,q){const xt=U.length;for(let pe=0;pe<xt;++pe)if(!q(U[pe],pe))return!1;return!0}r.every=t;function n(U,q,xt){const pe=U.length;let Rn=xt;for(let Ti=0;Ti<pe;++Ti)Rn=q(Rn,U[Ti],Ti);return Rn}r.reduce=n;function*i(U){for(let q=0;q<U.length;++q)yield U[q]}r.itr=i;const s=(U,q)=>U+=q*q;function o(U){return n(U,s,0)}r.magnitudeSquared=o;function a(U){const q=o(U);return Math.sqrt(q)}r.magnitude=a;function u(U,q=1e-5){const xt=o(U);return Math.abs(xt-1)<q}r.isNormalized=u;let l;const c=(U,q,xt)=>U+q*l[xt];function h(U,q){return P(U,q),l=q,n(U,c,0)}r.dot=h;let f;const p=(U,q,xt)=>U+=(q-f[xt])*(q-f[xt]);function m(U,q){return P(U,q),f=q,n(U,p,0)}r.distanceSquared=m;function w(U,q){return Math.sqrt(m(U,q))}r.distance=w;let E;const b=(U,q)=>U===E[q];function v(U,q){return P(U,q),E=q,t(U,b)}r.equals=v;let y,_;const C=(U,q)=>Math.abs(U-y[q])<_;function S(U,q,xt=0){return P(U,q),y=q,_=xt,t(U,C)}r.equalsEpsilon=S;function P(U,q){if(U.length!==q.length)throw new Error("left.length !== right.length")}function T(U,q,xt){const pe=U.length;xt=xt||Ol(pe),P(U,xt);for(let Rn=0;Rn<pe;++Rn)xt[Rn]=q(U[Rn],Rn);return xt}r.op1=T;function R(U,q,xt,pe){P(U,q),pe&&P(U,pe);const Rn=U.length;pe=pe||Ol(Rn);for(let Ti=0;Ti<Rn;++Ti)pe[Ti]=xt(U[Ti],q[Ti]);return pe}r.op2=R;const F=U=>U;function N(U,q){return T(U,F,q)}r.clone=N;let L=0;const M=(U,q)=>U*L;function k(U,q,xt){return L=q,T(U,M,xt)}r.multiplyByScalar=k;function J(U,q,xt=0){const pe=o(U);if(pe<=xt)return;const Rn=Math.sqrt(pe);return k(U,1/Rn,q)}r.normalize=J;function st(U,q){return k(U,-1,q)}r.negate=st;const gt=U=>Math.abs(U);function Ft(U,q){return T(U,gt,q)}r.abs=Ft;const ne=U=>U-Math.floor(U);function hn(U,q){return T(U,ne,q)}r.fract=hn;const Bt=(U,q)=>U-q;function kt(U,q,xt){return R(U,q,Bt,xt)}r.subtract=kt;const Se=(U,q)=>U+q;function hu(U,q,xt){return R(U,q,Se,xt)}r.add=hu;const Vs=(U,q)=>U*q;function Ab(U,q,xt){return R(U,q,Vs,xt)}r.multiply=Ab;const Fb=(U,q)=>U/q;function kb(U,q,xt){return R(U,q,Fb,xt)}r.divide=kb;let dp;const Vb=(U,q)=>U*(1-dp)+q*dp;function Bb(U,q,xt,pe){return dp=xt,R(U,q,Vb,pe)}r.lerp=Bb})(g.Vector||(g.Vector={}));function Ml(r,e=0,t=1){return r<e?e:r>t?t:r}class Rl extends B{constructor(t,n,i,s,o,a,u,l){super();d(this,"__status");d(this,"_statusChangedEvent");d(this,"_forceCancelFunc");d(this,"_startEvent");d(this,"_progressEvent");d(this,"_completeEvent");d(this,"_cancelEvent");d(this,"_cancelledEvent");d(this,"_errorEvent");d(this,"_finishedEvent");d(this,"_processingID",-1);this._startProcessingFunc=t,this.startFunc=n,this.progressFunc=i,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=u,this.finishedFunc=l,this._status="Initial",this.dispose(()=>{var c;return(c=this._statusChangedEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._startEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._progressEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._completeEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelledEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._errorEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._finishedEvent)==null?void 0:c.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new I,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new I,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new I,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new I,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new I,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new I,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new I,this._finishedEvent}_completeFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(n),this._completeEvent&&this._completeEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Completed",value:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:n}))}_cancelFunc(t){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(t),this._cancelEvent&&this._cancelEvent.emit(t))}_cancelledFunc(t){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(t),this._cancelledEvent&&this._cancelledEvent.emit(t),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:t}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:t}))}_errorFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(n),this._errorEvent&&this._errorEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Error",error:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:n}))}_progressFunc(t,n){this.processingID===t&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(n),this._progressEvent&&this._progressEvent.emit(n))}_startFunc(...t){if(this._status==="Initial"){this._status="Running";const n=++this._processingID,i={completeFunc:this._completeFunc.bind(this,n),errorFunc:this._errorFunc.bind(this,n),progressFunc:this._progressFunc.bind(this,n),cancelFunc:this._cancel.bind(this,n),processingID:n},s=this._startProcessingFunc(i,...t);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...t),this._startEvent&&this._startEvent.emit(...t),n}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(t){if(this.__status!==t){const n=this.__status;this.__status=t,this._statusChangedEvent&&this._statusChangedEvent.emit(t,n)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new I),this._statusChangedEvent}reset(t){this._status==="Running"&&this.cancel(t),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(t,n=this.processingID){return this._cancel(n,t)}_cancel(t,n){if(this.processingID===t)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(n);const i=this._forceCancelFunc(n);if(this._forceCancelFunc=void 0,i&&i instanceof Promise)return i.then(()=>{this._cancelledFunc(n)});this._cancelledFunc(n)}else console.warn("this._status !== 'Running' but cancel")}start(...t){try{return this._startFunc(...t)}catch(n){console.error(`processing start error: ${n}`)}}restart(t,...n){try{return this.isRunning&&this.cancel(t),this.isFinished&&this.reset(t),this.isInitial?this._startFunc(...n):(console.warn("restart failed!"),-1)}catch(i){console.error(`processing restart error: ${i}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let fh=class extends Error{};function Ip(r,e){typeof r=="function"?r(e):r.cancelFunc=e}class ph extends Rl{constructor(t=300){super(({progressFunc:n,completeFunc:i,errorFunc:s})=>{const[o,a]=Pl(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");n([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});d(this,"_lastDebounceValue");d(this,"_debouncTimes",0);d(this,"_d");this._delayTime=t}get delayTime(){return this._delayTime}debounce(...t){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=t,this._d&&this._d()):console.warn("Debouncing is not running!")}}function xp(r,e,...t){const n=new AbortController;let i=n.signal,[s,o]=t;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=i;let a=!1;Ip(r,()=>{a=!0,n.abort()});let u=fetch(s,o);return e&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length"),h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const m=l.body.getReader();w();function w(){m.read().then(({done:E,value:b})=>{if(E){p.close();return}if(!b)throw new Error("!value");if(!e)throw new Error("!progressFunc");f+=b.byteLength,e(f,h),p.enqueue(b),w()}).catch(E=>{p.error(E)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw a?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new fh("fetching cancelled!")):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),u}function Tp(...r){if(r.length>=1)if(typeof r[0]=="function"||typeof r[0]>"u"){const e={};let t=xp(e,...r);const{cancelFunc:n}=e;if(!n)throw new Error("!cancelResult.cancelFunc");return[n,t]}else return xp(...r);throw new Error("cancelableFetch args error!")}class N_ extends Rl{constructor(t,...n){super(({progressFunc:i,completeFunc:s,errorFunc:o},...a)=>{const u={};let l={loaded:0,total:0};const c=(p,m)=>{l.loaded=p,l.total=m,i(l)},h=this._fetchArgs||a;if(h.length===0)throw new Error("fetchArgs.length === 0");if(Tp(u,c,...h).then(t).then(s).catch(p=>{p instanceof fh||o(p)}),!u.cancelFunc)throw new Error("!cancelResult.cancelFunc");return u.cancelFunc});d(this,"_fetchArgs");n.length>0&&(this._fetchArgs=n)}get fetchArgs(){return this._fetchArgs}}function gh(r,e,t,n){const i="_"+e,s="_"+e+"Changed",o=e+"Changed";Object.defineProperties(r.prototype,{[e]:{get(){return typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),this[i]},set(a){if(typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),n?!n(this[i],a):this[i]!==a){const u=this[i];this[i]=a,this[s]&&this[s].emit(a,u)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new I,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class mh extends Rl{constructor(t,n=!0){super(({progressFunc:i,completeFunc:s,errorFunc:o})=>(this._intervalFunc=i,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&i(),this._intervalID=setInterval(i,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));d(this,"_intervalID");d(this,"_intervalFunc");this.intervalTime=t,this.leading=n,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}gh(mh,"leading",!0),gh(mh,"intervalTime",500);function O_(r,e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o()},r)}),s=o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new fh("sleep cancel error!"))};if(typeof e=="boolean"&&e)return[s,i];if(e)return Ip(e,s),i}class D_{constructor(e=0,t=0,n=0,i,s){d(this,"_processData");d(this,"_lastUpdateTimeStamp",0);this.startTime=e,this.duration=t,this.delay=n,this.proccessFunc=i,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(e){const t=(e-this.startTime)/this.duration;t>=0&&(this._processData.ratio=t,this._processData.timeStamp=e,this._processData.timeStampFromStart=e-this.startTime,this._processData.timeStampFromLastUpdate=e-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=e,this.proccessFunc&&this.proccessFunc(this._processData),t>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class Np extends Rl{constructor(t=1e3,n=0,i=Nl){let s;function o(){s&&s()}super(({progressFunc:u,completeFunc:l,errorFunc:c})=>{const h=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=u,this._base.completeFunc=()=>{h&&h(),l()},this._base.start(),s=h,o});d(this,"_base");d(this,"duration");d(this,"delay");d(this,"startUpdateFunc");this._base=new D_,this.duration=t,this.delay=n,this.startUpdateFunc=i}get startTime(){return this._base.startTime}}class M_ extends B{constructor(t){super();d(this,"_target",0);d(this,"_current",0);d(this,"_start",0);d(this,"_timing",new Np(Number.POSITIVE_INFINITY));d(this,"_currentChanged");this._duration=t,this._timing.progressFunc=({ratio:n})=>{n=n<0?0:n>1?1:n;const i=this._start*(1-n)+this._target*n;this._current=i,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(t,n=t){this._timing.isRunning&&this._timing.cancel(),this._target=t,this._current=n,this._start=t}set target(t){if(this._target!==t){this._target=t,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const n=Math.abs(this._target-this._start);this._timing.duration=n*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new I),this._currentChanged}}function Op(r,e){e=e||[];const t=r.parentNode;return t?Op(t,e.concat(t)):e}function R_(r){const e=r.composedPath&&r.composedPath()||r.path,t=r.target;if(e!=null)return e.indexOf(window)<0?e.concat(window):e;if(t===window)return[window];if(t===null)throw new Error("target === null");return[t].concat(Op(t),window)}function dn(r,e=!1){const{offsetX:t,offsetY:n}=r;let i=t,s=n;{const o=R_(r);for(let a=0;a<o.length;++a){const u=o[a];if(u!==r.currentTarget&&u instanceof HTMLElement)i+=u.clientLeft,s+=u.clientTop,i+=u.offsetLeft,s+=u.offsetTop;else break}}return e?[i*window.devicePixelRatio,s*window.devicePixelRatio]:[i,s]}function Bo(r,e=!1){const t=r.target,n=r.currentTarget||r.__xbsj_lastCurrentTarget__;if(!t||!n)return[r.clientX,r.clientY];const i=t.getBoundingClientRect(),s=n.getBoundingClientRect(),o=i.left+r.offsetX,a=i.top+r.offsetY,u=o-s.left,l=a-s.top;return e?[u*window.devicePixelRatio,l*window.devicePixelRatio]:[u,l]}class Dp extends B{constructor(t){super();d(this,"_clickEvent",new I);d(this,"_dbclickEvent",new I);d(this,"_downEvent",new I);d(this,"_upEvent",new I);d(this,"_moveEvent",new I);d(this,"_debouncing",new ph(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let n=!1,i=[0,0],s=!1;this._debouncing.progressFunc=([[c,h,f],p])=>{p===1?this._clickEvent.emit(c,h,f):p>=2?this._dbclickEvent.emit(c,h,f):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=c=>{n=!0;const[h,f]=dn(c);i[0]=h,i[1]=f,this._downEvent.emit(h,f,c)},a=c=>{const[h,f]=dn(c);n&&!s&&this._debouncing.debounce(h,f,c),n=!1,s=!1,this._upEvent.emit(h,f,c)},u=c=>{const[h,f]=dn(c);if(n&&!s){const[p,m]=i;(Math.abs(h-p)>3||Math.abs(f-m)>3)&&(s=!0)}this._moveEvent.emit(h,f,c)},l=()=>{n=!1,s=!1};t.addEventListener("pointerdown",o),t.addEventListener("pointerup",a),t.addEventListener("pointermove",u),t.addEventListener("pointerout",l),this.dispose(()=>{t.removeEventListener("pointerdown",o),t.removeEventListener("pointerup",a),t.removeEventListener("pointermove",u),t.removeEventListener("pointerout",l)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class vh extends B{constructor(){super();d(this,"_pickRectEvent",this.disposeVar(new I));d(this,"_updateRectEvent",this.disposeVar(new I));d(this,"_pointerActionEvent",this.disposeVar(new I));d(this,"_active",this.disposeVar(V(!1)));d(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let t=0,n=0,i=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:u})=>{o==="PointerDown"?(this._active.value=!0,t=a,n=u,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:t,left1:n,top0:i,top1:s}){this._pickRect.left0=t,this._pickRect.left1=n,this._pickRect.top0=i,this._pickRect.top1=s}pointerDown(t,n){this._pointerActionEvent.emit({type:"PointerDown",left:t,top:n})}pointerMove(t,n){this._pointerActionEvent.emit({type:"PointerMove",left:t,top:n})}pointerUp(t,n){this._pointerActionEvent.emit({type:"PointerUp",left:t,top:n})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(t,n){n=n||{left:0,top:0,width:0,height:0,forward:!0};const{left0:i,top0:s,left1:o,top1:a}=t;return n.width=Math.abs(i-o),n.height=Math.abs(s-a),n.left=Math.min(i,o),n.top=Math.min(s,a),n.forward=o>i,n}static contains(t,n,i){const{left:s,top:o,width:a,height:u}=i;return t>s&&t<=s+a&&n>=o&&n<=o+u}}class L_ extends vh{constructor(e){super();const t=this.disposeVar(new Dp(e));this.dispose(t.downEvent.disposableOn((o,a,u)=>u.altKey&&this.pointerDown(o,a))),this.dispose(t.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(t.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const n=document.createElement("div");n.style.backgroundColor="rgba(0, 0, 0, 0)",n.style.border="2px dashed red",n.style.position="absolute",n.style.boxSizing="border-box",n.style.pointerEvents="none",n.style.height="0px",n.style.width="0px",n.style.left="0px",n.style.top="0px",n.style.display="none",e.appendChild(n),this.dispose(()=>e.removeChild(n)),this.dispose(this.activeEvent.disposableOn(o=>{n.style.display=o?"block":"none"}));const i=()=>{this.reset()};e.addEventListener("contextmenu",i),this.dispose(()=>e.removeEventListener("contextmenu",i));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(vh.getLeftTopAndSize(o,s)){const{left:a,top:u,width:l,height:c}=s;n.style.height=`${c|0}px`,n.style.width=`${l|0}px`,n.style.left=`${a|0}px`,n.style.top=`${u|0}px`}}))}}class Sr extends Error{}function as(r,e){An(r,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),ti(r,"_promise_cancel",e)}function jo(r){return An(r,"_promise_cancel")}function zo(r){return!!jo(r)}function yh(r,e){const t=jo(r);return t?(t(e),!0):!1}function _h(r){const[e,t]=r;return as(t,e),t}function Ll(r){let e;const t=new Promise((n,i)=>{e=i,r.then(n).catch(i)});return as(t,e),t}function A_(r){let e,t;var n=new Promise((i,s)=>{t=r.disposableOn((...o)=>{t&&t(),i(o)}),e=o=>{t&&t(),s(o)}});return[e,n]}function F_(r){const e=new I,t=new I;return r.then(n=>{e.isDestroyed()||e.emit(n)}).catch(n=>{t.isDestroyed()||t.emit(n)}),[e,t]}class wh extends B{constructor(){super();d(this,"_cancelled",!1);d(this,"_cancelError");d(this,"_promiseSet",new Set);d(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new B,this._disposer}destroyImp(){this.finally()}cancel(t){var n;if(!this._cancelled){this._cancelled=!0,(n=this._disposer)==null||n.destroy(),this._cancelError=t;for(let i of this._promiseSet)yh(i);this._promiseSet.clear()}}get cancelFuncsNum(){return vu(this._promiseSet,t=>t+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new Sr("cancel from CancelManager!")}promise(t){return this._promiseSet.add(t),t.finally(()=>(this._promiseSet.delete(t),this.check()))}promiseAny(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),zo(s)&&n.push(jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(i).finally(()=>(n.forEach((s=>s(new Sr("cancel from promiseAny!")))),n.length=0))}promiseAll(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),zo(s)&&n.push(jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(i).finally(()=>(n.forEach((s=>s(new Sr("cancel from promiseAll!")))),n.length=0))}promiseRace(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),zo(s)&&n.push(jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(i).finally(()=>(n.forEach((s=>s(new Sr("cancel from promiseRace!")))),n.length=0))}}class Pe extends B{constructor(t){super();d(this,"_status","Initial");d(this,"_completeEvent");d(this,"_errorEvent");d(this,"_completeFunc");d(this,"_errorFunc");d(this,"_cancelFunc");d(this,"_runningId",-1);this._startFunc=t,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new I),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new I),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(t){this._errorFunc!==t&&(this._errorFunc=t)}set completeFunc(t){this._completeFunc!==t&&(this._completeFunc=t)}start(...t){if(this._status!=="Initial")return;const n=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(i),(s=this._completeEvent)==null||s.emit(i))},errorFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(i),(s=this._errorEvent)==null||s.emit(i))},runningingID:n},...t)}cancel(t=new Sr("")){var n;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(t),(n=this._errorEvent)==null||n.emit(t),this._cancelFunc(t),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(t=new Sr(""),...n){this.isRunning&&this.cancel(t),this.reset(),this.start(...n)}restartIfNotRunning(...t){this.isRunning||(this.reset(),this.start(...t))}}function _u(r){return(e,...t)=>{const n=new wh,{completeFunc:i,errorFunc:s}=e,o=r(n,...t).then(i).catch(s).finally(()=>n.destroy());return as(o,n.cancel.bind(n)),a=>yh(o,a)}}class k_ extends Pe{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=Pl(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class V_ extends Pe{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=Pl(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}function B_(r){return new Pe(_u((e,...t)=>e.promise(r(...t))))}function j_(r,...e){return new Pe(_u(t=>t.promise(r(...e))))}function Al(r){return B_((...e)=>{const t=r(...e);return zo(t)?t:Ll(t)})}function Eh(r,...e){return j_(()=>{const t=r(...e);return zo(t)?t:Ll(t)})}function z_(r){let e;const t=new Promise((n,i)=>{e=()=>{r(),i()}});return as(t,e),t}function U_(r,...e){const t=new wh,n=r(t,...e).finally(()=>t.destroy());return as(n,t.cancel.bind(t)),n}function Zn(r){return new Pe(_u(r))}function G_(r,...e){return new Pe(_u(t=>r(t,...e)))}function Mp(r,...e){const t=new AbortController;let n=t.signal,[i,s]=e;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=n;let o=!1;const a=()=>{o=!0,t.abort()};let u=fetch(i,s);return r&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length");c||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const m=l.body.getReader();w();function w(){m.read().then(({done:E,value:b})=>{if(E){p.close();return}if(!b)throw new Error("!value");if(!r)throw new Error("!progressFunc");f+=b.byteLength,r(f,h),p.enqueue(b),w()}).catch(E=>{p.error(E)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw o?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Sr(`fetching cancelled! error: ${l}`)):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),as(u,a),u}function W_(r,...e){return Mp(r,...e)}function Ch(...r){return Mp(void 0,...r)}function q_(){return Al(Ch)}function X_(...r){return Eh(Ch,...r)}function Sh(r,...e){let t=-1;var n=new Promise((i,s)=>{r.isRunning&&r.cancel(),r.reset();const o=new B;o.dispose(r.completeEvent.disposableOn(a=>{if(i(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(r.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),r.start(...e),t=r.runningId});return[i=>t===r.runningId&&r.isRunning&&r.cancel(i),n]}function ni(r,e,...t){try{return e(...t)}catch(n){r(n)}}function H_(){return new Pe(({completeFunc:r,errorFunc:e},t)=>Vo(()=>ni(e,()=>{t&&t(),r()})))}function Y_(r){return new Pe(({completeFunc:e,errorFunc:t})=>Vo(()=>ni(t,()=>{r&&r(),e()})))}function J_(){return new Pe(({completeFunc:r,errorFunc:e},t)=>fu(()=>{ni(e,()=>{t&&t(),r()})}))}function Z_(r){return new Pe(({completeFunc:e,errorFunc:t})=>fu(()=>{ni(t,()=>{r&&r(),e()})}))}function Rp(){return new Pe(({completeFunc:r,errorFunc:e},t,n)=>sh(()=>{ni(e,()=>{t&&t(),r()})},n??1e3))}function Lp(r,e){return new Pe(({completeFunc:t,errorFunc:n})=>sh(()=>{ni(n,()=>{r&&r(),t()})},e??1e3))}function K_(){return new Pe(({errorFunc:r},e,t=1e3)=>ih(()=>ni(r,e),t))}function Q_(r,e=1e3){return new Pe(({errorFunc:t})=>ih(()=>ni(t,r),e))}function wu(){return new Pe(({errorFunc:r},e)=>Il(t=>ni(r,e,t)))}function Uo(r){return new Pe(({errorFunc:e})=>Il(t=>ni(e,r,t)))}function Eu(r,...e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o(e)},r)});return as(i,o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new Sr("sleep cancel error!"))}),i}function $_(){return Al(Eu)}function t0(r,...e){return Eh(Eu,r,...e)}function Gs(r,e,...t){return r.promise(_h(Sh(Zn(async(n,...i)=>(r.disposer.dispose(()=>{n.isDestroyed()||n.cancel()}),await e(n,...i))),...t)))}function e0(r,e,...t){return r.promise(_h(Sh(e,...t)))}class n0 extends Pe{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=hh(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class r0 extends Pe{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=hh(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class Fl extends B{constructor(t=1e3,n=Nl){super();d(this,"_speed");d(this,"_speedChangedEvent");d(this,"_duration");d(this,"_durationChangedEvent");d(this,"_loop");d(this,"startUpdateFunc");d(this,"_updateBindThis");d(this,"_cancelStartUpdateFunc");d(this,"_startTimeStamp");d(this,"_playingChangedEvent");d(this,"_startPlayingEvent");d(this,"_stopPlayingEvent");d(this,"_loopChangedEvent");d(this,"_currentTime",this.disposeVar(V(0)));this._speed=1,this._duration=t,this._loop=!1,this.startUpdateFunc=n,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new I,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new I,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new I,this._loopChangedEvent}set loop(t){this._loop!==t&&(this._loop=t,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(t){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const n=(t-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(n)}}get currentTime(){return this._currentTime.value}set currentTime(t){this._setCurrentTimeInner(t),this._resetStartTime()}_setCurrentTimeInner(t){this._currentTime.value!==t&&(this._duration<=0?this._currentTime.value=0:t<0?this.loop?this._currentTime.value=this._duration+t%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):t>this._duration?this.loop?this._currentTime.value=t%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=t)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new I),this._durationChangedEvent}get duration(){return this._duration}set duration(t){var n;if(t<0)console.warn("duration sholud greater than 0!");else if(this._duration!==t){const i=this._duration;this._duration=t,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(n=this._durationChangedEvent)==null||n.emit(this._duration,i)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new I),this._speedChangedEvent}get speed(){return this._speed}set speed(t){var n;if(this._speed!==t&&t!==0){const i=this._speed;this._speed=t,this._resetStartTime(),(n=this._speedChangedEvent)==null||n.emit(this._speed,i)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var t,n;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(t=this._startPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!0)}_stopPlaying(){var t,n;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(t=this._stopPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new I),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(t){!!this._cancelStartUpdateFunc!==t&&(t?this._startPlaying():this._stopPlaying())}}class Cu extends B{constructor(t){super();d(this,"_stop",this.disposeVar(V(0)));d(this,"_current",this.disposeVar(V(0)));d(this,"_start",this.disposeVar(V(0)));d(this,"_player",this.disposeVar(new Fl(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(n=>{let i=n/this._player.duration;i=i>1?1:i<0?0:i;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*i})),this.duration=t}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(t){this._player.duration=t}set target(t){this._start.value=this._current.value,this._stop.value=t,this._player.currentTime=0,this._player.playing=!0}reset(t){this._start.value=t,this._current.value=t,this._stop.value=t,this._player.playing=!1}}let Ap=-1;class Qt extends I{constructor(e,t,n,i){super(),this._domElement=e,this._type=t,this.callback=i;const s=o=>(o.__xbsj_listenerNo__=++Ap,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,n),this.dispose(()=>this._domElement.removeEventListener(this._type,s,n))}static getLastLisenNo(){return Ap}static getCurrentTarget(e){return e.__xbsj_lastCurrentTarget__}static getListenerNo(e){return e.__xbsj_listenerNo__}static getListenerTime(e){return e.__xbsj_listenerTime__}static on(e,t){const n=Qt.getLastLisenNo();return e.disposableOn(i=>{const s=Qt.getListenerNo(i);(s===void 0||s>n)&&t(i)})}get element(){return this._domElement}static create(e,t,n){return new Qt(e,t,n)}}class bh extends B{constructor(){super();d(this,"_clickEvent",this.disposeVar(new I));d(this,"_dbclickEvent",this.disposeVar(new I));d(this,"_pointerdownEvent",this.disposeVar(new I));d(this,"_pointerupEvent",this.disposeVar(new I));d(this,"_pointermoveEvent",this.disposeVar(new I));d(this,"_pointeroutEvent",this.disposeVar(new I));d(this,"dbClickDelayTime",300);d(this,"nativeClickDelayTime",500);d(this,"clickMovementTolerantPixelSize",3);d(this,"debugging",!1);d(this,"_enabled",this.disposeVar(V(!0)));const t=this.disposeVar(Zn(async i=>{do{const s=await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c),u.disposer.dispose(Qt.on(this._pointerdownEvent,l))})),o=dn(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!0),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(Qt.on(this._pointermoveEvent,f=>{const[p,m]=dn(f),[w,E]=o;(Math.abs(p-w)>3||Math.abs(m-E)>3)&&l(!1)})),u.disposer.dispose(Qt.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(Qt.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l("timeout"),this.dbClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(Qt.on(this._pointermoveEvent,f=>{const[p,m]=dn(f),[w,E]=o;(Math.abs(p-w)>3||Math.abs(m-E)>3)&&l("moved")})),u.disposer.dispose(Qt.on(this._pointerdownEvent,l)),u.disposer.dispose(Qt.on(this._pointeroutEvent,()=>l("pointouted"))),u.disposer.dispose(Qt.on(this._pointerupEvent,()=>l("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!1),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(Qt.on(this._pointermoveEvent,f=>{const[p,m]=dn(f),[w,E]=o;(Math.abs(p-w)>3||Math.abs(m-E)>3)&&l(!1)})),u.disposer.dispose(Qt.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(Qt.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),n=i=>{i?t.restart():t.isRunning&&t.cancel()};n(this.enabled),this.dispose(this.enabledChanged.disposableOn(n))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}}class i0 extends B{constructor(t,n){super();d(this,"_pointerClick",this.disposeVar(new bh));this._div=t;const{div:i,pointerClick:s}=this,o=c=>s.pointerDown(c),a=c=>s.pointerMove(c),u=c=>s.pointerOut(c),l=c=>s.pointerUp(c);i.addEventListener("pointerdown",o,n),i.addEventListener("pointermove",a,n),i.addEventListener("pointerout",u,n),i.addEventListener("pointerup",l,n),this.dispose(()=>{i.removeEventListener("pointerdown",o,n),i.removeEventListener("pointermove",a,n),i.removeEventListener("pointerout",u,n),i.removeEventListener("pointerup",l,n)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class Fp extends B{constructor(){super();d(this,"_hoverEvent",this.disposeVar(new I));d(this,"_hoverOutEvent",this.disposeVar(new I));d(this,"_pointerdownEvent",this.disposeVar(new I));d(this,"_pointerupEvent",this.disposeVar(new I));d(this,"_pointermoveEvent",this.disposeVar(new I));d(this,"_pointeroutEvent",this.disposeVar(new I));d(this,"delayTime",800);const t=this.disposeVar(Rp()),n=l=>{this._hoverOutEvent.emit()},i=l=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=l=>{s=l,t.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},u=l=>{t.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(n)),this.dispose(this._pointerupEvent.disposableOn(i)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(u))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}}class s0 extends B{constructor(t,n=1500){super();d(this,"_hoverEvent",new I);d(this,"_hoverOutEvent",new I);const i=new ph(n);this.dispose(()=>i.destroy());let s=0,o=0,a;i.progressFunc=()=>this._hoverEvent.emit(s,o,a);const u=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=dn(f),i.debounce(),this._hoverOutEvent.emit()},l=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=dn(a),i.debounce(),this._hoverOutEvent.emit()},c=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=dn(a),i.debounce(),this._hoverOutEvent.emit()},h=f=>{i.isRunning&&i.cancel(),this._hoverOutEvent.emit()};t.addEventListener("pointerdown",u),t.addEventListener("pointerup",l),t.addEventListener("pointermove",c),t.addEventListener("pointerout",h),this.dispose(()=>{t.removeEventListener("pointerdown",u),t.removeEventListener("pointerup",l),t.removeEventListener("pointermove",c),t.removeEventListener("pointerout",h)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class kp extends B{constructor(t,n={}){super();d(this,"_needRedrawEvent");d(this,"_needPickRedrawEvent");d(this,"_id",ko());d(this,"_clickEvent");d(this,"_clickOutEvent");d(this,"_dbclickEvent");d(this,"_dbclickOutEvent");d(this,"_actived",!1);d(this,"_activedChanged");d(this,"_hovered",!1);d(this,"_hoveredChanged");d(this,"_selected",!1);d(this,"_selectedChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_show",!0);d(this,"_showChanged");this._canvasPrimitivesContext=t;const{needRedraw:i=!0,needPickRedraw:s=!0}=n;i&&(this._needRedrawEvent=new I),s&&(this._needPickRedrawEvent=new I),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new I,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new I,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new I,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new I,this._dbclickOutEvent}set actived(t){this._actived!==t&&(this._actived=t,this._activedChanged&&this._activedChanged.emit(t,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new I,this._activedChanged}set hovered(t){this._hovered!==t&&(this._hovered=t,this._hoveredChanged&&this._hoveredChanged.emit(t,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new I,this._hoveredChanged}set selected(t){this._selected!==t&&(this._selected=t,this._selectedChanged&&this._selectedChanged.emit(t,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new I,this._selectedChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(t,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(t,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}}class Ph extends kp{constructor(t,n=[0,0],i=0){super(t);d(this,"_winPosAndDepthChanged");this._winPos=n,this._depth=i,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(t){(this._winPos[0]!==t[0]||this._winPos[1]!==t[1])&&(this._winPos[0]=t[0],this._winPos[1]=t[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(t){this._depth!==t&&(this._depth=t,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new I),this._winPosAndDepthChanged}}function Ws(r,e,t,n){const[i,s]=r,[o,a,u,l]=n,c=e[0]*t[0],h=e[1]*t[1],f=i-(c*o+u),p=s-(h*a+l);return{left:f,top:p,right:f+c,bottom:p+h}}function qs(r,e,t,n,i){r.beginPath(),r.moveTo(e,t),r.lineTo(e-n*.5,t-n*.5),r.arc(e,t-n,n*.7071067811865475,Math.PI*.75,Math.PI*.25),r.lineTo(e,t),r.fillStyle=i,r.fill()}function Vp(r,e,t,n,i,s){r.beginPath(),r.moveTo(e+s,t),r.lineTo(e+n-s,t),r.arcTo(e+n,t,e+n,t+s,s),r.lineTo(e+n,t+i-s),r.arcTo(e+n,t+i,e+n-s,t+i,s),r.lineTo(e+s,t+i),r.arcTo(e,t+i,e,t+i-s,s),r.lineTo(e,t+s),r.arcTo(e,t,e+s,t,s)}function Bp(r,e,t,n,i,s){r.font=i;const o=r.measureText(n),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,u=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,l=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let c=u+l;r.fillStyle=s,r.fillText(n,e-a*.5,t+c*.5-l)}function jp(r){const{width:e,height:t}=r,n=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,s=document.createElement("canvas");s.width=n,s.height=i;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(r,0,0,n,i),s}function zp(r,e){const{width:t,height:n}=r,i=r.getContext("2d");if(!i)throw new Error("!cavnasCtx");const[s,o,a]=e.map(h=>h*255|0),u=i.getImageData(0,0,t,n),l=u.data;for(var c=0;c<l.length;c+=4)l[c]=s,l[c+1]=o,l[c+2]=a;i.putImageData(u,0,0)}function Ih(r,e,t,n=[.5,1,0,0],i,s="12px Arial",o=2,a="#FFF",u="#000A"){r.font=s;const l=r.measureText(i),c=l.actualBoundingBoxLeft+l.actualBoundingBoxRight,h=l.fontBoundingBoxAscent+l.fontBoundingBoxDescent,f=e,p=t,m=c+o*2,w=h+o*2,{left:E,top:b,bottom:v}=Ws([f,p],[m,w],[1,1],n);r.fillStyle=u,Vp(r,E,b,m,w,o),r.fill(),r.fillStyle=a,r.fillText(i,E+o,v-o-l.fontBoundingBoxDescent)}function Su(r){return("00"+r.toString(16).toUpperCase()).substr(-2)}function bu(r){const[e,t,n,i]=r.map(s=>s*255|0);return`#${Su(e)}${Su(t)}${Su(n)}${Su(i)}`}function xh(r,e){const[t,n,i]=e,s=`${t}-${n}-${i}`;let o=An(r,s);return o||(o=jp(r),zp(o,e),ti(r,s,o)),o}class o0 extends Ph{constructor(t,n,i=[32,32],s=[.5,1,0,0],o="#F00F"){super(t);d(this,"_tooltip","");d(this,"_title","");d(this,"__scale",[1,1]);d(this,"_tooltipAlpha",0);d(this,"_bgColor",[.3,.3,.3,.8]);d(this,"_bgColorHexStr",bu(this._bgColor));d(this,"_fgColor",[1,1,1,1]);d(this,"_fgColorHexStr",bu(this._fgColor));this._image=n,this._size=i,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new Cu(100),u=new Cu(100);this.dispose(()=>{a.destroy(),u.destroy()});const l=()=>{if(this._clickEvent&&!this._clickEvent.empty){const c=(1+.08*u.current)*(1+.08*a.current);this._scale=[c,c],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(c=>{u.target=c?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(c=>{a.target=c?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(u.currentChanged.disposableOn(l)),this.dispose(a.currentChanged.disposableOn(l))}set size(t){const[n,i]=t,[s,o]=this._size;(s!==n||o!==i)&&(this._size[0]=n,this._size[1]=i,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(t){const[n,i]=t,[s,o]=this.__scale;(s!==n||o!==i)&&(this.__scale[0]=n,this.__scale[1]=i,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(t){if(!this._fgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._fgColor.splice(0,4,n,i,s,o),this._fgColorHexStr=bu(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(t){if(!this._bgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._bgColor.splice(0,4,n,i,s,o),this._bgColorHexStr=bu(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(t){const[n,i,s,o]=this._originRatioAndOffset,[a,u,l,c]=t;(n!==a||i!==u||s!==l||o!==c)&&(this._originRatioAndOffset.splice(0,4,a,u,l,c),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(t){this._image!==t&&(this._image=t,this.needRedraw())}get image(){return this._image}set defaultColorStr(t){this._defaultColorStr!==t&&(this._defaultColorStr=t,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(t){this._tooltip!==t&&(this._tooltip=t,this.needRedraw())}get tooltip(){return this._tooltip}set title(t){this._title!==t&&(this._title=t,this.needRedraw())}get title(){return this._title}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:u}=Ws([n,i],this._size,this.__scale,this._originRatioAndOffset),l=t.globalAlpha;if(t.globalAlpha=this.opacity,this._image){if(this.selected){const c=xh(this._image,[1,0,0]),{left:h,top:f}=Ws([n,i+3],[s+6,o+6],[1,1],this._originRatioAndOffset);t.drawImage(c,h,f,s+6,o+6)}if(this.actived){const[c,h,f,p]=this._fgColor,m=xh(this._image,[c,h,f]),{left:w,top:E}=Ws([n,i+4],[s+8,o+8],[1,1],this._originRatioAndOffset);t.drawImage(m,w,E,s+8,o+8)}if(this.hovered){const[c,h,f,p]=this._bgColor,m=xh(this._image,[c,h,f]),{left:w,top:E}=Ws([n,i+2],[s+4,o+4],[1,1],this._originRatioAndOffset);t.drawImage(m,w,E,s+4,o+4)}t.drawImage(this._image,a,u,s,o)}else t.fillStyle=this._fgColorHexStr,t.fillRect(a,u,s,o);if(this._title!==""&&Ih(t,n+20,i-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=l,this._hovered&&this._tooltip!==""){const c=t.globalAlpha;t.globalAlpha=this._tooltipAlpha,Ih(t,n,i-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=c}}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=n("default"),a=this._size[0]*this.__scale[0],u=this._size[1]*this.__scale[1],{left:l,top:c}=Ws([i,s],this._size,this.__scale,this._originRatioAndOffset);t.fillStyle=o,t.fillRect(l,c,a,u)}}class a0 extends Ph{constructor(t){super(t);d(this,"_width",16);d(this,"_text","");d(this,"_fillStyle","#0F0");d(this,"_scale",1);d(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const n=this.disposeVar(new Cu(100)),i=this.disposeVar(new Cu(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*i.current)*(1+.2*n.current))};this.dispose(i.currentChanged.disposableOn(s)),this.dispose(n.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{n.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(t){this._scale!==t&&(this._scale=t,this._scaleChanged&&this._scaleChanged.emit(t,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new I),this._scaleChanged}set width(t){this._width!==t&&(this._width=t,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(t){this._text!==t&&(this._text=t,this.needRedraw())}get text(){return this._text}set fillStyle(t){this._fillStyle!==t&&(this._fillStyle=t,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=t.globalAlpha;t.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&qs(t,n,i+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&qs(t,n,i+5,o+5,"#FFF"),this.hovered?qs(t,n,i+3,o+3,"#000A"):qs(t,n,i+1,o+1,"#000A"),qs(t,n,i,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";Bp(t,n,i-o,this._text,a,"#000"),t.globalAlpha=s}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=this._width*this._scale,a=n("default");qs(t,i,s,o,a)}}const Up=new ArrayBuffer(4),Gp=new Uint32Array(Up),Xs=new Uint8Array(Up);function Wp(r){if(r>=16777215)throw new Error("uint32 > 0xFFFFFF");return Gp[0]=r,[Xs[0],Xs[1],Xs[2]]}function qp(r,e,t){return Xs[0]=r,Xs[1]=e,Xs[2]=t,Xs[3]=0,Gp[0]}class Xp extends B{constructor(){super(...arguments);d(this,"_pickColors",new Array(16777215));d(this,"_pickColorIndex",0)}reset(){for(let t=0;t<this._pickColorIndex;++t){const n=this._pickColors[t];if(!n)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");n.poi=null,n.tag=""}this._pickColorIndex=0}createPickColor(t,n){const i=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[i];s?(s.poi=t,s.tag=n):this._pickColors[i]={poi:t,tag:n};const[o,a,u]=Wp(i);return[o,a,u]}getPickInfoFromColor(t,n,i){const s=qp(t,n,i);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Hp=(r,e)=>e.depth-r.depth;class u0 extends B{constructor(){super();d(this,"_pois",[]);d(this,"_canvasElement");d(this,"_ctx");d(this,"_offscreenCanvasElement");d(this,"_offscreenCanvasElement2");d(this,"_offscreenCtx");d(this,"_offscreenCtx2");d(this,"_size",[0,0]);d(this,"_needRedraw",!1);d(this,"_needPickRedraw",!1);d(this,"_pickColorManager",new Xp);const t=document.createElement("canvas");t.style.width="100%",t.style.height="100%",this._canvasElement=t;const n=t.getContext("2d");if(n===null)throw new Error("cannot get context 2d!");this._ctx=n,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(Uo(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:u}=this._canvasElement;(s!==a||o!==u)&&(this._size[0]=a,this._size[1]=u,this._canvasElement.width=a,this._canvasElement.height=u,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=u,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=u,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(t){if(typeof An(t,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(t)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(t),this._dirty();const n=t._needRedrawEvent;if(n){const s=n.on(()=>{this._needRedraw=!0});ti(t,"needRedrawEventHandler",s)}const i=t._needPickRedrawEvent;if(i){const s=i.on(()=>{this._needPickRedraw=!0});ti(t,"needPickRedrawEventHandler",s)}}removePoi(t){const n=this._pois.indexOf(t);if(n===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(n,1),this._dirty();const i=t._needRedrawEvent;if(i){const o=An(t,"needRedrawEventHandler");o?i.off(o):console.error("poi没有listenHandler!")}const s=t._needPickRedrawEvent;if(s){const o=An(t,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Hp);const[t,n]=this._size;this._ctx.clearRect(0,0,t,n),this._pois.forEach(i=>i.draw(this._ctx))}pick(t,n,i,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(t,n,i,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Hp);const[t,n]=this._size;this._offscreenCtx.clearRect(0,0,t,n),this._pois.forEach(i=>{const s=o=>{const[a,u,l]=this._pickColorManager.createPickColor(i,o);return`rgb(${a}, ${u}, ${l})`};i.drawForPick(this._offscreenCtx,s)})}_getPickInfo(t,n,i,s){const o=this._offscreenCtx.getImageData(t,n,i,s),a=[],u=o.data.length/4;for(let l=0;l<u;++l){const c=o.data[l*4+0],h=o.data[l*4+1],f=o.data[l*4+2];if(o.data[l*4+3]===255){const m=this._pickColorManager.getPickInfoFromColor(c,h,f);if(m&&m.poi&&!a.includes(m)){let w=!0;{const[E,b]=this._size;this._offscreenCtx2.clearRect(0,0,E,b);const v=P=>"rgb(255, 255, 255)";m.poi.drawForPick(this._offscreenCtx2,v);const y=this._offscreenCtx2.getImageData(t,n,i,s),_=y.data[l*4+0],C=y.data[l*4+1],S=y.data[l*4+2];y.data[l*4+3],_===255&&C===255&&S===255||(w=!1)}w&&a.push(m)}}}return a}}class Th extends B{constructor(){super(...arguments);d(this,"_closeEvent");d(this,"_show",!0);d(this,"_showChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_winPos",[0,0]);d(this,"_winPosChanged")}set winPos(t){const[n,i]=t,[s,o]=this._winPos;(n!==s||i!==o)&&(this._winPos[0]=n,this._winPos[1]=i,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new I,this._winPosChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new I),this._closeEvent}}const Nh=new WeakMap;function Oh(r){if(!Nh.has(r)){const e=new El(()=>new r,t=>t.reset());Nh.set(r,e)}return Nh.get(r)}class Dh extends Th{constructor(){super();d(this,"_div");d(this,"_contentDiv");d(this,"_originOffsetX",0);d(this,"_originOffsetY",0);d(this,"_originRatioX",.5);d(this,"_originRatioY",1);d(this,"_divChanged",new I);const t=document.createElement("div");t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const n=document.createElement("div");n.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const i=document.createElement("div");this._contentDiv=i,n.appendChild(i),t.appendChild(n),this._div=t,this.dispose(this._divChanged.disposableOn(()=>{n.style.left=`${-this._originOffsetX}px`,n.style.top=`${-this._originOffsetY}px`,n.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(t){this._originOffsetX!==t&&(this._originOffsetX=t,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(t){this._originOffsetY!==t&&(this._originOffsetY=t,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(t){this._originRatioX!==t&&(this._originRatioX=t,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(t){this._originRatioY!==t&&(this._originRatioY=t,this._divChanged.emit())}get element(){return this._div}}class Yp extends B{constructor(t,n){super();d(this,"_floatDiv");d(this,"_show",!1);d(this,"_showChanged");this._customDivClass=t,this._divContainer=n,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:n}=this;n.element.parentElement||this._divContainer.appendChild(n.element)}else{const{_floatDiv:n}=this;n&&n.element.parentElement&&this._divContainer.removeChild(n.element)}}set show(t){this._show!==t&&(this._show=t,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(t))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const t=Oh(this._customDivClass).create();this.dispose(()=>{Oh(this._customDivClass).destroy(t)}),this._floatDiv=t}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new I),this._showChanged}}const l0=["top","bottom","left","right"];function c0(r){return Object.entries(r).map(([e,t])=>l0.includes(e)?`${e}: ${t}px; `:"").join("")}function Jp(r,e,t){const n=document.createElement("div");n.style.cssText=`position: absolute; ${c0(t)} background-color: ${r}; border-radius: ${e}px;`;const i='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return n.innerHTML=i,n}function Zp(r,e,t="rgba(0,0,0,0.7)"){const n=document.createElement("div");n.style.cssText=`margin: 0 auto; width: ${r}px; height: ${e}px; position: relative; pointer-events: none;`;const i=document.createElement("div");return i.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${r*.5}px solid transparent; border-right: ${r*.5}px solid transparent; border-top: ${e}px solid ${t};`,n.appendChild(i),[n,i]}class Kp extends Dh{constructor(){super();d(this,"_borderDiv");d(this,"_closeDiv");d(this,"_innerContentDiv");d(this,"_colorStr","rgba(0, 0, 0, 0.7)");d(this,"_divColorChanged",new I);d(this,"_borderRadius",10);const t=document.createElement("div");t.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=t;const n=Jp(this._colorStr,10,{top:3,right:3}),[i,s]=Zp(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,t.appendChild(o),t.appendChild(n),this.contentDiv.appendChild(t),this.contentDiv.appendChild(i),n.style.opacity="0.1",n.onmouseenter=()=>{n.style.opacity="1.0"},n.onmouseleave=()=>{n.style.opacity="0.1"},n.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=n,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,t.style.backgroundColor=this._colorStr,i.style.width=`${this._borderRadius*2}px`,i.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=u=>{u.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(t){this._colorStr!==t&&(this._colorStr=t,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(t){this._borderRadius!==t&&(this._borderRadius=t,this._divColorChanged.emit())}}class h0 extends Kp{constructor(){super();d(this,"_iframe");d(this,"_iframeMessageEvent");const t=document.createElement("iframe");t.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",t.src="http://www.weather.com.cn/live/index.shtml",this._iframe=t,this.innerContentDiv.appendChild(t);const n=i=>{i.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(i):console.warn(`iframe消息接收到未处理!data: ${i.data}`))};window.addEventListener("message",n),this.dispose(()=>{window.removeEventListener("message",n)})}reset(){super.reset(),this.src=""}set src(t){this._iframe.src!==t&&(this._iframe.src=t)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new I,this._iframeMessageEvent}}class d0 extends Th{constructor(){super();d(this,"_div");d(this,"_contentContainer");d(this,"_text","");const t=document.createElement("div");this._div=t,t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const n=document.createElement("div");n.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const i=document.createElement("div");i.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",i.innerText=this._text,this._div.appendChild(n),n.appendChild(i),this._contentContainer=i,this._div=t,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(t){this._text!==t&&(this._text=t,this._contentContainer.innerText=t)}get text(){return this._text}}class f0 extends Dh{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class p0 extends B{constructor(t,n){super();d(this,"_cursorDiv");d(this,"_pointerOut",this.disposeVar(V(!1)));d(this,"_show",this.disposeVar(V(!0)));this._cursorDiv=new Yp(n,t),this.dispose(()=>this._cursorDiv.destroy());const i=o=>{const[a,u]=dn(o);this._cursorDiv.floatDiv.winPos=[a,u]};t.addEventListener("pointermove",i),this.dispose(()=>t.removeEventListener("pointermove",i));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(t){this._show.value=t}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(t){this._cursorDiv.floatDiv.contentDiv.innerText=t}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function Pu(r,e,t){if(!(r.tree===e.tree&&r!==e&&!r.isAncestorOf(e))||r.tree!==e.tree||!r.parent)return!1;if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(e===r||r.isAncestorOf(e)||t!=="inner"&&!e.parent||t==="inner"&&!e.children)}function kl(r,e,t){if(!r.tree||!e.tree||r.tree!==e.tree)return;if(!r.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(e===r){console.warn("自身不能拖放到自身!");return}if(r.isAncestorOf(e)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(t!=="inner"&&!e.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(t==="inner"&&!e.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}r.tree._startTransaction();const n=r.parent.children.indexOf(r);if(r.parent.children.splice(n,1),t!=="inner"){const{parent:i}=e;if(!i||!i.children)throw new Error("!parent");const s=i.children.indexOf(e);t==="before"?i.children.splice(s,0,r):t==="after"&&i.children.splice(s+1,0,r)}else e.children.push(r);r.tree._stopTransaction()}function Qp(r,e,t){return uh(r,n=>Pu(n,e,t))}function $p(r,e,t){for(let n of r)Pu(n,e,t)?kl(n,e,t):console.warn(`treeItem(id: ${n.id}) cannot move...`)}const g0={checked:1,unchecked:2,indeterminate:3},m0=["checked","unchecked","indeterminate"];class tg extends B{constructor(t){super();d(this,"_collapsed",this.disposeVar(V(!1)));d(this,"_checkedStatus",this.disposeVar(V("unchecked")));d(this,"_selected",this.disposeVar(V(!1)));d(this,"_moveToPositionMode",this.disposeVar(V("none")));d(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new I));this._treeItem=t;const n=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(n)),this.dispose(this._selected.changed.disposableOn(n)),this.dispose(this._moveToPositionMode.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const i=this.disposeVar(be(this._updateCheckedStatusFromChildrenEvent));this.dispose(i.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;ah(this._treeItem.children,o=>(s|=g0[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=m0[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,u=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const l=o.selectedItems.indexOf(this._treeItem);l===-1?u&&console.error("selectedItems index -1"):o.selectedItems.splice(l,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(t){this._collapsed.value=t}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(t){const n=t?"checked":"unchecked";if(this._checkedStatus.value!==n&&(this._checkedStatus.value=n,this._treeItem.children))for(let i of this._treeItem.children)i.uiTreeObject.check(t)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(t){this._selected.value=t}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(t){this._moveToPositionMode.value=t}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const qr=class qr extends B{constructor(t,n=!1,i){super();d(this,"_children");d(this,"_childrenResetedEvent");d(this,"_childrenToChangeEvent");d(this,"_childrenChangedEvent");d(this,"_parent",this.disposeVar(V(void 0)));d(this,"_level",this.disposeVar(V(0)));d(this,"_id");d(this,"_uiTreeObject",this.disposeVar(new tg(this)));this._tree=t,this._hasChildren=n,this._id=i??ko(),this._id!=="_ROOT"&&qr.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),qr.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!qr.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}qr.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),qr.allTreeItems.set(this._id,this),this.dispose(()=>{qr.allTreeItems.delete(this._id)})}static getFromId(t){return qr.wm.get(t)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const t=this.disposeVar(new yu);this._children=t,this.dispose(t.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:u,deleteCount:l,items:c}=a;for(let h=u;h<u+l;++h)o.get(h)._parent.value=void 0;for(let h of c){if(h.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");h._parent.value=this}}}));const n=new Set,i=new Set;this.dispose(t.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){n.clear(),i.clear();for(let u of s){const{start:l,deleteCount:c,items:h}=u;for(let f=l;f<l+c;++f)n.add(o.get(f));for(let f of h)i.add(f)}for(let u of n)i.has(u)&&(n.delete(u),i.delete(u));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,n,i)}})),this.dispose(t.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(t.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(t.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new I),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new I),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new I),this._childrenChangedEvent}resetChildren(t=!1){this._children&&(this._children.length=0),this._hasChildren=t,this._childrenResetedEvent&&this._childrenResetedEvent.emit(t)}*getDescendants(t){const n=this,i=[],s=[];for(n.children&&n.children.length>0&&(!t||t(n))&&(i.push(0),s.push(n.children));i.length>0;){const o=i[i.length-1],a=s[s.length-1],u=a.get(o);yield u,o<a.length-1?++i[i.length-1]:(s.pop(),i.pop()),u.children&&u.children.length>0&&(!t||t(u))&&(i.push(0),s.push(u.children))}}*getAncestors(t){let n=this.parent;for(;n&&(yield n,!(t&&!t(n)));)n=n.parent}isDescendantOf(t){for(let n of this.getAncestors())if(n===t)return!0;return!1}isAncestorOf(t){return t.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(t,n){return Pu(this,t,n)}moveTo(t,n){kl(this,t,n)}detachFromParent(){if(!this.parent||!this.parent.children)return;const t=this.parent.children.indexOf(this);this.parent.children.splice(t,1)}insertNewTreeItem(t,n){if(n&&n.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&t.startsWith("Inner"))return n&&this.children.push(n),!0;if(t==="Inner")return!1;const i=this.parent;if(!i||!i.children)return!1;const s=i.children.indexOf(this);return t.endsWith("Before")?n&&i.children.splice(s,0,n):t.endsWith("After")&&n&&i.children.splice(s+1,0,n),!0}};d(qr,"wm",new Map),d(qr,"allTreeItems",new Map);let Go=qr;class eg extends B{constructor(t){super();d(this,"_redrawEvent",this.disposeVar(new I));d(this,"_containerScrollTop",this.disposeVar(V(0)));d(this,"_containerClientHeight",this.disposeVar(V(-1)));d(this,"_container",this.disposeVar(V(void 0)));d(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=t;const n=this._containerClientHeight,i=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(be(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,n.changed,i.changed,s)),{redrawInfo:a}=this,u=c=>{const h=c.uiTreeObject;return!!c.children&&(!h||!h.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const c=lh(this._tree.getDescendants(u)),h=this._tree.itemDivHeight,f=h*c,p=Di([os([Di([f-n.value,0]),i.value]),0]),m=p/h|0,w=Math.ceil((p-m*h+n.value)/h)|0;m>0&&(a.topUnvisibleItemNum=m,a.topFreeSpaceHeight=m*this._tree.itemDivHeight);const E=m+w;let b=0;for(let y of this._tree.getDescendants(u)){if(b>=E)break;b>=m&&a.middleTreeItems.push(y),++b}const v=c-m-w;v>0&&(a.bottomUnvisibleItemNum=v,a.bottomFreeSpaceHeight=v*this._tree.itemDivHeight)}else for(let c of this._tree.getDescendants(u))a.middleTreeItems.push(c);this._redrawEvent.emit(a)}));let l;this.dispose(()=>l&&(l.destroy(),l=void 0)),this.dispose(this.containerChanged.disposableOn(c=>{l&&(l.destroy(),l=void 0),c&&(l=wu(),l.start(()=>{const{scrollTop:h,clientHeight:f}=c;typeof h>"u"||typeof f>"u"?Ao("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=h,this.containerClientHeight=f)}))}))}get container(){return this._container.value}set container(t){this._container.value=t}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(t){const n=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let i=0,s=!1;for(let o of this._tree.getDescendants(n)){if(o===t){s=!0;break}++i}if(s)return[i,i*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let t of this.tree.root.getDescendants()){const n=t.uiTreeObject;n.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(t){this._containerScrollTop.value=t}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(t){this._containerClientHeight.value=t}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(t){for(let n of this._tree.getDescendants())(!t||t(n))&&(yield n)}getAllSelectedItems(){return this.getAllItems(t=>t.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(t=>!t.children&&t.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(t){for(let n of this.getAllSelectedItems())(!t||!t.includes(n))&&(n.uiTreeObject.selected=!1)}}let Wo=(Xr=class extends B{constructor(t){super();d(this,"_root",this.disposeVar(new Go(this,!0,"_ROOT")));d(this,"_itemChildrenChanged",this.disposeVar(new I));d(this,"_itemChildrenToChange",this.disposeVar(new I));d(this,"_itemsAdded",this.disposeVar(new I));d(this,"_itemsDeleted",this.disposeVar(new I));d(this,"_itemsChanged",this.disposeVar(new I));d(this,"_transactionStack",0);d(this,"_addedItems",new Set);d(this,"_deletedItems",new Set);d(this,"_selectedItems",this.disposeVar(new yu));d(this,"_itemDivHeight",this.disposeVar(V(Xr.defaultItemDivHeight)));d(this,"_forceRedrawEvent",this.disposeVar(new I));d(this,"_uiTree",this.disposeVar(new eg(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((n,i)=>{if(!n.children){console.error("!item.children");return}for(let s of i){const{start:o,deleteCount:a,items:u}=s;for(let l=o;l<o+a;++l){const c=n.children.get(l);this._deletedItems.has(c)?console.error(`this._deletedItems.has(currentItem(${c.id}))`):this._deletedItems.add(c)}for(let l of u)this._deletedItems.has(l)?this._deletedItems.delete(l):this._addedItems.add(l)}this._execTransaction()})),t!==void 0&&(this.itemDivHeight=t)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(t){this._itemDivHeight.value=t}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(t){return this._root.getDescendants(t)}getTreeItemFromId(t){let n;for(let i of this.getDescendants())if(i.id===t){n=i;break}return n}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},d(Xr,"defaultItemDivHeight",24),d(Xr,"canMoveToTreeItem",Pu),d(Xr,"moveToTreeItem",kl),d(Xr,"canMoveToTreeItems",Qp),d(Xr,"moveToTreeItems",$p),Xr);class le extends B{constructor(t,n,i=!0,s){super();d(this,"_obj",this.disposeVar(V(void 0)));this._resetEvent=t,this._createFunc=n;const o=this._resetEvent,a=this._createFunc,u=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(u);const l=(...c)=>{u(),this._obj.value=a(...c)};i&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(l))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class v0 extends B{constructor(t,n=!0,i){super();d(this,"_event",this.disposeVar(new I));d(this,"_objResettingWithEvent");this._createFunc=t,this._execOnInit=n,this._initParams=i,this._objResettingWithEvent=this.disposeVar(new le(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...t){this._event.emit(...t)}}const Jc=class Jc extends B{constructor(){super();d(this,"_set",new Set);d(this,"_toChangeEvent",this.dv(new I));d(this,"_changedEvent",this.dv(new I));d(this,"main");this.dispose(()=>{this._set.size!==0&&(Jc.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...t){if(t.length==2&&typeof t[1]=="boolean")t[1]&&(this.main=t[0]);else for(let n of t)this._toChangeEvent.emit([],[n]),this._set.add(n),this._changedEvent.emit([],[n])}delete(...t){for(let n of t)this.main&&this.main==n&&(this.main=void 0),this._toChangeEvent.emit([n],[]),this._set.delete(n),this._changedEvent.emit([n],[])}disposableAdd(...t){return t.length==2&&typeof t[1]=="boolean"?(t[1]&&(this.main=t[0]),this.add(t[0]),()=>this.delete(t[0])):(this.add(...t),()=>this.delete(...t))}get size(){return this._set.size}clear(){const t=[...this._set];this._toChangeEvent.emit([],t),this._set.clear(),this._changedEvent.emit([],t),this.main=void 0}values(){return this._set.values()}};d(Jc,"warnOnDestroying",!0);let Vl=Jc;async function ng(r){const e=[],t=[],n=r.entries();for await(const[i,s]of n){const o=s;o.kind==="file"?e.push(i):o.kind==="directory"&&t.push(i)}return{files:e,dirs:t}}async function Mh(r){return await(await r.getFile()).text()}async function rg(r){const e=await Mh(r);try{return JSON.parse(e)}catch{return}}async function ig(r){return await(await r.getFile()).arrayBuffer()}class sg extends B{constructor(e){super(),this._rootDirHandle=e}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await ng(this._rootDirHandle)}async getDir(e){let t=this._rootDirHandle;for(const n of e)if(t=await(t==null?void 0:t.getDirectoryHandle(n)),!t){console.log(`getDirectoryHandle ${n} failed`);return}return t}async getFile(e,t){const n=await this.getDir(e);if(n)try{return await n.getFileHandle(t)}catch(i){console.error(`未能获取当前文件 ${e.join("/")}/${t} error: ${i}`,i);return}}}class og extends B{constructor(t){super();d(this,"_startRootDirId",0);d(this,"_dirMap",new Map);this._prefix=t}get prefix(){return this._prefix}async getRootDirId(t){let n;try{console.log("window.showDirectoryPicker begin"),n=await window.showDirectoryPicker({id:t,mode:"read"}),console.log("window.showDirectoryPicker end",n)}catch(i){console.error(`LocalFileServer getRootDirId failed: ${i}`,i);return}if(n){const i=++this._startRootDirId,s=`${this._prefix}${i}`;return this._dirMap.set(s,new sg(n)),s}}getRootDir(t){return this._dirMap.get(t)}async getFile(t){const n=t.split("/");if(n.length<2){console.warn(`LocalFileServer getFile failed: ${t}`);return}const i=n[0],s=this._dirMap.get(i);if(!s){console.warn(`LocalFileServer getFile failed: ${t}`);return}const o=n.slice(1,n.length-1),a=n[n.length-1],u=await s.getFile(o,a);if(!u){console.warn(`LocalFileServer getFile failed: ${t}`);return}return u}async getText(t){const n=await this.getFile(t);if(n)return await Mh(n)}async getArrayBuffer(t){const n=await this.getFile(t);if(n)return await ig(n)}async getJson(t){const n=await this.getFile(t);if(n)return await rg(n)}async getLocalFilePath(t,n,i){const s=await this.getRootDirId(n);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const u=t?a.files.filter(l=>t.some(c=>l.endsWith(c))):a.files;if(u.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${u[0]}`}}const ag=new og("xe2_local");async function y0(r,e,t){return await ag.getLocalFilePath(r,e,t)}class ug extends B{constructor(t,n){super();d(this,"_processing",this.disposeVar(Zn(async t=>{const n=this._complexImage,i=await t.promise(Pp(this._imageUri,this._complexImage.crossOrigin));i&&i instanceof HTMLImageElement&&(n.size=[i.naturalWidth,i.naturalHeight],n.pixelFormat="RGBA",n.copyTexture({source:i}))})));d(this,"_processingStart",this._processing.start());this._complexImage=t,this._imageUri=n}get processing(){return this._processing}}const lg=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],cg=["img","gif","video","flv","hls"];let _0=class extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden",i.style.width="0px",i.style.height="0px";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class hg extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new _0(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Rh(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Lh={},Mi={},dg;function w0(){if(dg)return Mi;dg=1,Object.defineProperty(Mi,"__esModule",{value:!0}),Mi.loop=Mi.conditional=Mi.parse=void 0;var r=function n(i,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(l){return n(i,l,o,a)});else if(typeof s=="function")s(i,o,a,n);else{var u=Object.keys(s)[0];Array.isArray(s[u])?(a[u]={},n(i,s[u],o,a[u])):a[u]=s[u](i,o,a,n)}return o};Mi.parse=r;var e=function(i,s){return function(o,a,u,l){s(o,a,u)&&l(o,i,a,u)}};Mi.conditional=e;var t=function(i,s){return function(o,a,u,l){for(var c=[],h=o.pos;s(o,a,u);){var f={};if(l(o,i,a,f),o.pos===h)break;h=o.pos,c.push(f)}return c}};return Mi.loop=t,Mi}var ce={},fg;function pg(){if(fg)return ce;fg=1,Object.defineProperty(ce,"__esModule",{value:!0}),ce.readBits=ce.readArray=ce.readUnsigned=ce.readString=ce.peekBytes=ce.readBytes=ce.peekByte=ce.readByte=ce.buildStream=void 0;var r=function(h){return{data:h,pos:0}};ce.buildStream=r;var e=function(){return function(h){return h.data[h.pos++]}};ce.readByte=e;var t=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(f){return f.data[f.pos+h]}};ce.peekByte=t;var n=function(h){return function(f){return f.data.subarray(f.pos,f.pos+=h)}};ce.readBytes=n;var i=function(h){return function(f){return f.data.subarray(f.pos,f.pos+h)}};ce.peekBytes=i;var s=function(h){return function(f){return Array.from(n(h)(f)).map(function(p){return String.fromCharCode(p)}).join("")}};ce.readString=s;var o=function(h){return function(f){var p=n(2)(f);return h?(p[1]<<8)+p[0]:(p[0]<<8)+p[1]}};ce.readUnsigned=o;var a=function(h,f){return function(p,m,w){for(var E=typeof f=="function"?f(p,m,w):f,b=n(h),v=new Array(E),y=0;y<E;y++)v[y]=b(p);return v}};ce.readArray=a;var u=function(h,f,p){for(var m=0,w=0;w<p;w++)m+=h[f+w]&&Math.pow(2,p-w-1);return m},l=function(h){return function(f){for(var p=e()(f),m=new Array(8),w=0;w<8;w++)m[7-w]=!!(p&1<<w);return Object.keys(h).reduce(function(E,b){var v=h[b];return v.length?E[b]=u(m,v.index,v.length):E[b]=m[v.index],E},{})}};return ce.readBits=l,ce}var gg;function E0(){return gg||(gg=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var e=w0(),t=pg(),n={blocks:function(f){for(var p=0,m=[],w=f.data.length,E=0,b=(0,t.readByte)()(f);b!==p&&b;b=(0,t.readByte)()(f)){if(f.pos+b>=w){var v=w-f.pos;m.push((0,t.readBytes)(v)(f)),E+=v;break}m.push((0,t.readBytes)(b)(f)),E+=b}for(var y=new Uint8Array(E),_=0,C=0;C<m.length;C++)y.set(m[C],_),_+=m[C].length;return y}},i=(0,e.conditional)({gce:[{codes:(0,t.readBytes)(2)},{byteSize:(0,t.readByte)()},{extras:(0,t.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,t.readUnsigned)(!0)},{transparentColorIndex:(0,t.readByte)()},{terminator:(0,t.readByte)()}]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===249}),s=(0,e.conditional)({image:[{code:(0,t.readByte)()},{descriptor:[{left:(0,t.readUnsigned)(!0)},{top:(0,t.readUnsigned)(!0)},{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{lct:(0,t.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,e.conditional)({lct:(0,t.readArray)(3,function(h,f,p){return Math.pow(2,p.descriptor.lct.size+1)})},function(h,f,p){return p.descriptor.lct.exists}),{data:[{minCodeSize:(0,t.readByte)()},n]}]},function(h){return(0,t.peekByte)()(h)===44}),o=(0,e.conditional)({text:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{preData:function(f,p,m){return(0,t.readBytes)(m.text.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===1}),a=(0,e.conditional)({application:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{id:function(f,p,m){return(0,t.readString)(m.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===255}),u=(0,e.conditional)({comment:[{codes:(0,t.readBytes)(2)},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===254}),l=[{header:[{signature:(0,t.readString)(3)},{version:(0,t.readString)(3)}]},{lsd:[{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{gct:(0,t.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,t.readByte)()},{pixelAspectRatio:(0,t.readByte)()}]},(0,e.conditional)({gct:(0,t.readArray)(3,function(h,f){return Math.pow(2,f.lsd.gct.size+1)})},function(h,f){return f.lsd.gct.exists}),{frames:(0,e.loop)([i,a,u,s,o],function(h){var f=(0,t.peekByte)()(h);return f===33||f===44})}],c=l;r.default=c})(Lh)),Lh}var C0=E0();const S0=Rh(C0);var b0=pg();const P0=(r,e)=>{const t=new Array(r.length),n=r.length/e,i=function(c,h){const f=r.slice(h*e,(h+1)*e);t.splice.apply(t,[c*e,e].concat(f))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,u=0;u<4;u++)for(var l=s[u];l<n;l+=o[u])i(l,a),a++;return t},I0=(r,e,t)=>{const s=t;var o,a,u,l,c,h,f,C,p,m,_,w,S,P,R,T;const E=new Array(t),b=new Array(4096),v=new Array(4096),y=new Array(4097);for(w=r,a=1<<w,c=a+1,o=a+2,f=-1,l=w+1,u=(1<<l)-1,p=0;p<a;p++)b[p]=0,v[p]=p;var _,C,S,P,T,R;for(_=C=S=P=T=R=0,m=0;m<s;){if(P===0){if(C<l){_+=e[R]<<C,C+=8,R++;continue}if(p=_&u,_>>=l,C-=l,p>o||p==c)break;if(p==a){l=w+1,u=(1<<l)-1,o=a+2,f=-1;continue}if(f==-1){y[P++]=v[p],f=p,S=p;continue}for(h=p,p==o&&(y[P++]=S,p=f);p>a;)y[P++]=v[p],p=b[p];S=v[p]&255,y[P++]=S,o<4096&&(b[o]=f,v[o]=S,o++,(o&u)===0&&o<4096&&(l++,u+=o)),f=h}P--,E[T++]=y[P],m++}for(m=T;m<s;m++)E[m]=0;return E},x0=r=>{const e=new Uint8Array(r);return Ln.parse(b0.buildStream(e),S0)},T0=r=>{const e=r.pixels.length,t=new Uint8ClampedArray(e*4);for(var n=0;n<e;n++){const i=n*4,s=r.pixels[n],o=r.colorTable[s]||[0,0,0];t[i]=o[0],t[i+1]=o[1],t[i+2]=o[2],t[i+3]=s!==r.transparentIndex?255:0}return t},N0=(r,e,t)=>{if(!r.image){console.warn("gif frame does not have associated image.");return}const{image:n}=r,i=n.descriptor.width*n.descriptor.height;var s=I0(n.data.minCodeSize,n.data.blocks,i);n.descriptor.lct.interlaced&&(s=P0(s,n.descriptor.width));const o={pixels:s,dims:{top:r.image.descriptor.top,left:r.image.descriptor.left,width:r.image.descriptor.width,height:r.image.descriptor.height}};return n.descriptor.lct&&n.descriptor.lct.exists?o.colorTable=n.lct:o.colorTable=e,r.gce&&(o.delay=(r.gce.delay||10)*10,o.disposalType=r.gce.extras.disposal,r.gce.extras.transparentColorGiven&&(o.transparentIndex=r.gce.transparentColorIndex)),o.patch=T0(o),o},O0=(r,e)=>r.frames.filter(t=>t.image).map(t=>N0(t,r.gct));async function mg(r){const t=await(await fetch(r)).arrayBuffer(),n=x0(t),i=O0(n);return{gif:n,gifFrames:i,arrayBuffer:t}}function vg(r,e,t){return r<e?e:r>t?t:r}class yg extends Fl{constructor(t,n=!0,i){super();d(this,"_gifFrames",this.disposeVar(V(void 0)));d(this,"_gifDurations",[]);d(this,"_gifDuration",this.disposeVar(V(0)));d(this,"_gifSize",this.disposeVar(V([0,0],(t,n)=>t.every((i,s)=>i===n[s]),t=>[...t])));d(this,"_autoPlayOnLoad",this.disposeVar(V(!0)));d(this,"_gifCanvas");this._container=t,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(l=>{if(!l||l.length===0){s.width=0,s.height=0;return}const{width:c,height:h}=l[0].dims;this._gifSize.value=[c,h];const f=l.length;let p=0;this._gifDurations.length=0;for(let m=0;m<f;++m)p+=l[m].delay,this._gifDurations.push(p);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=c,s.height=h,a=o.createImageData(c,h),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let u=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(l=>{const c=vg(l/this.duration,0,1),h=this.gifDuration*c,f=this._gifFrames.value;if(f&&f.length>0){const p=this._getFrame(h);if(p===u)return;u=p;const m=f[p];if(m.disposalType!==0&&m.disposalType!==1&&m.disposalType!==2&&Ao(`gif parsed get disposalType ${m.disposalType}... frame: ${p} size: ${JSON.stringify(m.dims)}`,`gif parsed get disposalType ${m.disposalType}...`),a&&(p===0||m.disposalType===2)&&a.data.fill(0),a){const[w,E]=this._gifSize.value,{width:b,height:v,left:y,top:_}=m.dims;if(v>E)throw new Error("height > canvasHeight");for(let C=0;C<v;++C)for(let S=0;S<b;++S){const P=C*b+S,T=_+C,R=y+S,F=T*w+R,N=a.data,L=m.patch,M=L[P*4+3]/255;N[F*4+0]=N[F*4+0]*(1-M)+L[P*4+0]*M|0,N[F*4+1]=N[F*4+1]*(1-M)+L[P*4+1]*M|0,N[F*4+2]=N[F*4+2]*(1-M)+L[P*4+2]*M|0,N[F*4+3]=vg(N[F*4+3]+L[P*4+3],0,255)|0}o.putImageData(a,0,0)}}else Ao("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=n,this._gifFrames.value=i}get gifCanvas(){return this._gifCanvas}set gifFrames(t){this._gifFrames.value=t}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(t){this._autoPlayOnLoad.value=t}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(t){const n=this._gifDurations.length;for(let i=0;i<n;++i)if(t<=this._gifDurations[i])return i;throw new Error("should not be here")}}class _g extends B{constructor(t){super();d(this,"_player");d(this,"_url",this.disposeVar(V("")));d(this,"_loadGifFramesProcessing",this.disposeVar(Al(t=>Ll(mg(t)))));this._player=this.disposeVar(new yg(t)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:n})=>this._player.gifFrames=n,this.dispose(this._url.changed.disposableOn(n=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new Sr(`reload gif(${n})`),n)}))}get player(){return this._player}set url(t){this._url.value=t}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class wg extends B{constructor(t,n){super();d(this,"_gif",this.disposeVar(new _g));d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:t}=this._gif;if(!t.gifFrames)return;const n=this._complexImage,{width:i,height:s}=t.gifCanvas;n.size=[i,s],n.pixelFormat="RGBA",n.copyTexture({source:t.gifCanvas});{const o=()=>{t.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{t.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function Eg(r,e){const[t,n,i]=Ni(r),s=V(void 0),o=()=>{const a=t()??e;s.value=a&&Z.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(Z.context.environmentVariablesChanged.don(o)),s}function Cg(r){const e=/\${(.*?)\}/g;if(!e.test(r))return r;const t=r.replace(e,(n,i)=>{const s=Z.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Cg(t)}class D0 extends B{constructor(t){super();d(this,"_sceneObjRefs",new Map);d(this,"_refs",{});d(this,"_refsChanged",this.dv(new I));const n=(i,s,o)=>{if(o){const a=this.getLastSceneObject(o),u=this._sceneObjRefs.get(o);if(!u)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const c=u.indexOf(i);c===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${i.id} type: ${i.typeName})!可能系统存在逻辑问题`):(u.splice(c,1),u.length===0&&this._sceneObjRefs.delete(o))}const l=this.getLastSceneObject(o);this._refs[o]=l,this._refsChanged.emit(l,a)}if(s){const a=this.getLastSceneObject(s),u=this._sceneObjRefs.get(s);u?(u.push(i),u.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
|
|
21
|
+
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[r]=g.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>fp(g.copyright),1e3*60),setInterval(()=>fp(g.copyright),1440*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&g.copyright.print()}catch{console.warn("版本信息有误!")}const pp=new Set;function Ao(r,e=r){pp.has(e)||(pp.add(e),console.warn(r))}function Ni(r){const e=bl(r),t=()=>e[0][e[1]],n=s=>{try{e[0][e[1]]=s}catch(o){Ao(`setValue error, obj(${e[0].constructor.name}) prop(${e[1]}) error(${o})`)}},i=e[0][e[2]];return[t,n,i]}function Zy(){return!0}function Ky(){throw new Error("throwOnDestroyed")}function gp(r){for(var e in r)typeof r[e]=="function"&&(r[e]=Ky);r.isDestroyed=Zy}const Yc=class Yc{constructor(){d(this,"_memId",++Yc._lastMemId);d(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(e){return this.disposers.push(e),e}d(e){return this.dispose(e)}disposeVar(e){return this.disposers.push(()=>e.destroy()),e}dv(e){return this.disposeVar(e)}tryDisposeVar(e){return this.disposers.push(()=>e.tryDestroy()),e}tdv(e){return this.tryDisposeVar(e)}autoDispose(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}ad(e){return typeof e=="function"?this.dispose(e):this.disposeVar(e)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const e=this._disposers,t=e.length;for(let n=t-1;n>=0;--n)e[n]();e.length=0,this._disposers=void 0}catch(e){console.error(`destroy get error! ${e}`)}return gp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};d(Yc,"_lastMemId",-1);let B=Yc,Kc;function mp(r){Kc=r}Object.defineProperties(B.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!Kc)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new Kc)}return this._toDestroyEvent}}});class El{constructor(e,t,n=!1){d(this,"_freeElements");d(this,"_usedElementsCount");d(this,"_usedElements");d(this,"_nextCreateID");d(this,"_scratchObjs");this._createDefaultFunc=e,this._destroyFunc=t,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],n&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let e;return this._freeElements.length>0?e=this._freeElements.pop():e=this._createDefaultFunc&&this._createDefaultFunc()||{},e._cid=this._getCreateID(),e}create(){return this._create()}multiCreate(e){this._scratchObjs.length=0;for(let t=0;t<e;++t)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(e){this._destroyFunc&&this._destroyFunc(e),e._cid=void 0}destroy(...e){const t=e.length;for(let n=0;n<t;++n)this._destroy(e[n])}}function Qy(){return{item:void 0,previous:void 0,next:void 0}}function $y(r){r.item=void 0,r.previous=void 0,r.next=void 0}const vp=new El(Qy,$y,!0);function Qc(r,e,t){const n=vp.create();return n.item=r,n.previous=e,n.next=t,n}function yp(r){if(!r)throw new Error("node is undefined!");vp.destroy(r)}function $c(r,e){e.previous&&e.next?(e.previous.next=e.next,e.next.previous=e.previous):e.previous?(e.previous.next=void 0,r.tail=e.previous):e.next?(e.next.previous=void 0,r.head=e.next):(r.head=void 0,r.tail=void 0),e.next=void 0,e.previous=void 0}class _p{constructor(e){d(this,"head");d(this,"tail");d(this,"_length");const{needLength:t}=e||{needLength:!0};this.head=void 0,this.tail=void 0,t&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(e){typeof this._length=="number"&&(this._length=e)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let e=this.head;for(;e;)yield e,e=e.next}remove(e){if(!e)throw new Error("node is undefined!");$c(this,e),this._decrementLength(),yp(e)}getNode(e){let t=this.head;for(;t!==null;){if(!t)throw new Error("current is undefined!");if(t.item===e)return t;t=t.next}}moveAfter(e,t){if(e!==t){$c(this,t);var n=e.next;e.next=t,this.tail===e?this.tail=t:n&&(n.previous=t),t.next=n,t.previous=e}}moveBefore(e,t){if(e!==t){$c(this,t);var n=e.previous;e.previous=t,this.head===e?this.head=t:n&&(n.next=t),t.previous=n,t.next=e}}insertBefore(e,t){const n=Qc(t,e.previous,e);return e.previous&&(e.previous.next=n),e.previous=n,this.head===e&&(this.head=n),this._incrementLength(),n}insertAfter(e,t){const n=Qc(t,e,e.next);return e.next&&(e.next.previous=n),e.next=n,this.tail===e&&(this.tail=n),this._incrementLength(),n}_setFirstNode(e){if(this.head||this.tail)throw new Error("_setFirstNode error!");const t=Qc(e,void 0,void 0);if(this.head=t,this.tail=t,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return t}push(e){return this.tail?this.insertAfter(this.tail,e):this._setFirstNode(e)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const e=this.tail.item;return this.remove(this.tail),e}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const e=this.head.item;return this.remove(this.head),e}unshift(e){return this.head?this.insertBefore(this.head,e):this._setFirstNode(e)}removeAll(){let e=this.head;for(;e;){const t=e.next;yp(e),e=t}this.head=void 0,this.tail=void 0,this._setLength(0)}}function t_(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function e_(r){r.func=void 0,r.scope=void 0,r._hasRemoved=!1,r._once=!1}const js=new El(t_,e_,!0);class th{constructor(){d(this,"__dll");d(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new _p({needLength:!0}),this.__dll}_pushCurrentListener(e){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(e):this.__currentListenerStack=[this.__currentListenerStack,e]:this.__currentListenerStack=e}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(e){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(e)!==-1:this.__currentListenerStack===e:!1}do(...e){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const n=t.item;n._hasRemoved||(this._pushCurrentListener(n),n.func.call(n.scope,...e),this._popCurrentListener());const i=t.next;n._once&&!n._hasRemoved&&(this.remove(t),t=void 0),t&&this._clearHasRemoved(t),t=i}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let e=!0,t=this._dll.head;for(;t;){if(!t.item._hasRemoved){e=!1;break}t=t.next}return e}isHandlerValid(e){return!e.item._hasRemoved}nextHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.next;for(;t&&t.item._hasRemoved;)t=t.next;return t}prevHandler(e){if(!e.item._hasRemoved)throw new Error("handler has removed!");let t=e.previous;for(;t&&t.item._hasRemoved;)t=t.previous;return t}moveAfter(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(e,t)}moveBefore(e,t){if(e.item._hasRemoved||t.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(e,t)}insertBefore(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertBefore(e,s)}insertAfter(e,t,n,i=!1){if(e.item._hasRemoved)throw new Error("handler has removed!");const s=js.create();return s.func=t,s.scope=n,s._once=i,this._dll.insertAfter(e,s)}_clearHasRemoved(e){e.item._hasRemoved&&!this._hasCurrentListener(e.item)&&(js.destroy(e.item),this._dll.remove(e))}remove(e){if(!e.item||e.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(e.item)?e.item._hasRemoved=!0:(js.destroy(e.item),this._dll.remove(e))}removeAll(){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const t=e.next;e.item._hasRemoved||this.remove(e),e=t}}}destroy(){if(!this.__dll)return;let e=this._dll.head;for(;e;){const t=e.next,n=e;this._hasCurrentListener(n.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${n.item.func.toString()}`)),js.destroy(n.item),this._dll.remove(n),e=t}this.__dll=void 0,this.__currentListenerStack=void 0}push(e,t,n=!1){const i=js.create();return i.func=e,i.scope=t,i._once=n,this._dll.push(i)}pop(){const e=this.tail;if(!e)throw new Error("pop error!");this.remove(e)}shift(){const e=this.head;if(!e)throw new Error("shift error!");this.remove(e)}unshift(e,t,n=!1){const i=js.create();return i.func=e,i.scope=t,i._once=n,this._dll.unshift(i)}get tail(){let e=this._dll.tail;for(;e&&e.item._hasRemoved;)e=e.previous;return e}get head(){let e=this._dll.head;for(;e&&e.item._hasRemoved;)e=e.previous;return e}}class du{constructor(){d(this,"_listenerHandler");d(this,"_cid")}_reset(e,t){this._listenerHandler=e,this._cid=t}clone(e){return e=e??new du,e._reset(this._listenerHandler,this._cid),e}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const e=this._listenerHandler._cid;if(typeof e<"u"&&this._cid===e)return!0}return!1}}class eh extends du{}let I=class extends B{constructor(){super(...arguments);d(this,"__pipe");d(this,"beforeCallback");d(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new th,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...t){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...t),!this.isDestroyed()&&this._pipe.do(...t),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...t)}on(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!1):this._pipe.push(t,n,!1);return s=s??new eh,s._reset(o,o._cid),s}disposableOn(t,n,i=!1,s){const o=this.on(t,n,i,s);return()=>{o.valid&&this.off(o)}}don(t,n,i=!1,s){return this.disposableOn(t,n,i,s)}disposableWeakOn(t,n,i=!1,s){const o=new B,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(t,n,i,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(t,n,i=!1,s){return this.disposableWeakOn(t,n,i,s)}once(t,n,i=!1,s){const o=i?this._pipe.unshift(t,n,!0):this._pipe.push(t,n,!0);return s=s??new eh,s._reset(o,o._cid),s}disposableOnce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}donce(t,n,i=!1,s){const o=this.once(t,n,i,s);return()=>o.valid&&this.off(o)}off(t){if(!t.valid)throw new Error("handler is not valid!");this._pipe.remove(t._listenerHandler),t._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(Ao("The event is destroying with listeners!"),this._pipe.removeAll())}};mp(I);function Fo(r,e){return e=e??new du,e._reset(r,r._cid),e}class n_{constructor(){d(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new th,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...e){return this._pipe.do(...e)}isHandlerValid(e){return e.valid?this._pipe.isHandlerValid(e._listenerHandler):!1}moveAfter(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}moveBefore(e,t){if(!e.valid||!t.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(e._listenerHandler,t._listenerHandler)}insertBefore(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(e._listenerHandler,t,n,i);return Fo(o,s)}insertAfter(e,t,n,i=!1,s){if(!e.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(e._listenerHandler,t,n,i);return Fo(o,s)}remove(e){if(!e.valid)throw new Error("handler is not valid!");return this._pipe.remove(e._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(e,t,n=!1,i){const s=this._pipe.push(e,t,n);return Fo(s,i)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(e,t,n=!1,i){const s=this._pipe.unshift(e,t,n);return Fo(s,i)}getTail(e){const t=this._pipe.tail;if(t)return Fo(t,e)}getHead(e){const t=this._pipe.head;if(t)return Fo(t,e)}}class De extends B{constructor(t,n,i){super();d(this,"_changed");d(this,"_value");d(this,"_oldValue");d(this,"toChangeFunc");this._equalsFunc=n,this._assignFunc=i,this._value=this._assignFunc&&this._assignFunc(t,void 0)||t}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(t){return this._equalsFunc?this._equalsFunc(this._value,t):this._value===t}set value(t){if(this._equalsFunc?!this._equalsFunc(this._value,t):this._value!==t){if(this.toChangeFunc&&!this.toChangeFunc(t,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(t,this._value)):(this._oldValue=this._value,this._value=t),this._changed&&this._changed.emit(t,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new I)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function V(r,e,t){return new De(r,e,t)}function at(r){return new De(r,(e,t)=>e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function Ht(r){return V(r,(e,t)=>e===void 0||t===void 0?e===void 0&&t===void 0:e.length!==t.length?!1:e.every((n,i)=>n===t[i]),(e,t)=>{if(!e)return;const n=t||new Array(e.length);return n.length=e.length,e.forEach((i,s)=>n[s]=i),n})}function Cl(r,e,t){return V(r,(n,i)=>n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function ss(r,e,t){return V(r,(n,i)=>n===void 0||i===void 0?n===void 0&&i===void 0:n.length!==i.length?!1:n.every((s,o)=>e&&e(s,i[o])||s===i[o]),(n,i)=>{if(!n)return;const s=i||new Array(n.length);return s.length=n.length,n.forEach((o,a)=>{s[a]=t?t(o):o}),s})}function dt(r){return new De(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function jt(r){return new De(r,(e,t)=>e===t||e!==void 0&&t!==void 0&&JSON.stringify(e)===JSON.stringify(t),(e,t)=>{if(e!==void 0)return JSON.parse(JSON.stringify(e))})}function r_(r){return new De(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function i_(r){return new De(r,(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every((s,o)=>s===i[o]&&e[s]===t[s])},(e,t)=>e&&{...e})}function s_(r){return Cl(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function nh(r){return ss(r,(e,t)=>e.every((n,i)=>n===t[i]),e=>[...e])}function o_(r){return Cl(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function a_(r){return ss(r,(e,t)=>JSON.stringify(e)===JSON.stringify(t),e=>JSON.parse(JSON.stringify(e)))}function Sl(r){return nh(r)}function wp(r){return ss(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function u_(r){return ss(r,(e,t)=>e.length===t.length&&e.every((n,i)=>n.every((s,o)=>s===t[i][o])),e=>e.map(t=>[...t]))}function bl(r){const e=r instanceof De?[r,"value","changed"]:[...r];return e[2]=e[2]||e[1]+"Changed",e}function rh(r,e,t,n=!1){e[2]=e[2]||e[1]+"Changed";const i=()=>{const s=e[0][e[1]];t?r[0][r[1]]=t(s):r[0][r[1]]=s};return i(),n?e[0][e[2]].disposableWeakOn(i):e[0][e[2]].disposableOn(i)}function l_(r,e,t,n,i=!1){const s=rh(r,e,t,i),o=rh(e,r,n,i);return()=>(s(),o())}function j(r,e,t,n=!1){const i=r instanceof De?[r,"value","changed"]:r,s=e instanceof De?[e,"value","changed"]:e;return rh(i,s,t,n)}function $(r,e,t,n,i=!1){const s=bl(r),o=bl(e);return l_(s,o,t,n,i)}function c_(r,e,t,n=!1){const[i]=Ni(e);return $(r,e,s=>s??t,s=>{if(!(s===t&&i()===void 0))return s},n)}function ko(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r==="x"?e:e&3|8;return t.toString(16)})}function Pl(r,e){if(!window||!window.setTimeout||!window.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let t=0;function n(){t>0&&(window.clearTimeout(t),t=0)}function i(...s){n(),t=window.setTimeout(r,e,...s)}return[i,n]}function ih(r,e,...t){const n=setInterval(r,e,...t);return()=>clearInterval(n)}function sh(r,e,...t){const n=setTimeout(r,e,...t);return()=>clearTimeout(n)}function Il(r,...e){let t;const n=()=>{const i=performance.now();r(i,...e),t=requestAnimationFrame(n)};return n(),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function Vo(r,...e){let t;return t=requestAnimationFrame(()=>{const i=performance.now();r(i,...e)}),()=>typeof t<"u"&&(cancelAnimationFrame(t),t=void 0)}function fu(r,...e){let t=!1,n;return new Promise((i,s)=>{n=s,i()}).then(()=>{!t&&r(...e)}).catch(i=>{console.error(i)}),()=>(t=!0)&&n&&(n("nextMicroTask cancelled!"),n=void 0)}class xl extends I{constructor(t,n,...i){super();d(this,"_cancellFunc");this._nextFunc=t,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),i.forEach(s=>this.dispose(s[n?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class oh extends xl{constructor(...e){super(fu,!1,...e)}}function h_(...r){return new oh(...r)}class d_ extends xl{constructor(...e){super(fu,!0,...e)}}function f_(...r){return new oh(...r)}class Tl extends xl{constructor(...e){super(Vo,!1,...e)}}function be(...r){return new Tl(...r)}function p_(r,e){return new Tl(...r).don(e())}class Ep extends xl{constructor(...e){super(Vo,!0,...e)}}function g_(...r){return new Ep(...r)}function zs(r,e,t={time:"don",immediate:!1}){const n=new Tl(...Array.isArray(r)?r:[r]),i=n[t.time??"don"](e);return(t.immediate??!1)&&e(),()=>{i(),n.destroy()}}function pu(r){let e;if(typeof r.next=="function")e=r;else if(typeof r[Symbol.iterator]=="function")e=r[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return e}function ah(r,e){let t=!1;const n=pu(r);let i=-1;for(;;){const{done:s,value:o}=n.next();if(s)break;if(e(o,++i)){t=!0;break}}return t}function uh(r,e){return!ah(r,(n,i)=>!e(n,i))}function gu(r,e,t,n){const i=r;if(!i[e]){const s=n(),o=Object.fromEntries(Object.entries(s).filter(([a,u])=>{const l=Object.getPrototypeOf(t),c=a in l;if(c){const h=u instanceof De?u.value:u;r[a]=h}return!c}).map(([a,u])=>u instanceof De?[a,u]:[a,Array.isArray(u)?Ht(u):V(u)]));i[e]=o}return i[e]}function Oi(r,e){var n;const t=Symbol(`${(n=r==null?void 0:r.constructor)==null?void 0:n.name}-createDefaultProps`);r.constructor.__xbsj_dpSymbol=t,r.constructor.__xbsj_createDefaultProps=e;for(let[i,s]of Object.entries(e()))if(!Reflect.has(r,i)){const o=function(a){var c,h;if(a[t])return;const u=[];let l=Object.getPrototypeOf(a);for(;l;)u.push(l),l=Object.getPrototypeOf(l);u.reverse();for(let f of u){const p=(c=f.constructor)==null?void 0:c.__xbsj_dpSymbol;if(!p)continue;const m=(h=f.constructor)==null?void 0:h.__xbsj_createDefaultProps;m&&gu(a,p,f,m)}};Object.defineProperties(r,{[i]:{get(){return o(this),gu(this,t,r,e)[i].value},set(a){o(this);const u=gu(this,t,r,e)[i];if(!u){console.error("!propObj");debugger}u.value=a}},[`${i}Changed`]:{get(){return o(this),gu(this,t,r,e)[i].changed}},[`${i}React`]:{get(){return o(this),gu(this,t,r,e)[i]}}})}}const mu=new WeakMap;function ti(r,e,t){mu.has(r)||mu.set(r,{});const n=mu.get(r);n[e]=t}function An(r,e){return mu.has(r)?mu.get(r)[e]:void 0}function ei(r,e){const t=pu(r);let n=0;for(;;){const{done:i,value:s}=t.next();if(i)break;e(s,n++)}}function vu(r,e,t){const n=pu(r);let i=t,s=0;for(;;){const{done:o,value:a}=n.next();if(o)break;i=e(i,a,s++)}return i}const m_=r=>++r;function lh(r){return vu(r,m_,0)}function Di(r){return vu(r,(e,t)=>e>t?e:t,Number.NEGATIVE_INFINITY)}function os(r){return vu(r,(e,t)=>e<t?e:t,Number.POSITIVE_INFINITY)}function Cp(r,e){let t=r;for(let n of e)t=t[n];return t}function v_(r,e,t){if(e.length===0)throw new Error("props的数量必须大于0");const n=e.length-1,i=e[n];let s=r;for(let o=0;o<n;++o){const a=e[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[i]=t}function*Us(r,e){const t=pu(r);for(;;){const{done:n,value:i}=t.next();if(n)break;yield Cp(i,e)}}class yu extends B{constructor(){super();d(this,"_innerObj");d(this,"_toChangeEvent");d(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new I),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new I),this._changedEvent}_resetArray(t){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:t}],this);const{length:n}=t;this._innerObj.length=n;for(let i=0;i<n;++i)this._innerObj[i]=t[i];this._changedEvent&&this._changedEvent.emit(this)}splice(t,n,...i){const{length:s}=this._innerObj;t=t>this._innerObj.length?this._innerObj.length:t,t>s?t=s:t<0&&(t+=s,t<0&&(t=0));const o=this._innerObj.length-t;if(n>o?n=o:n<0&&(n=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:this._innerObj.length-t,items:[]}],this);const a=this._innerObj.splice(t);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:[]}],this);const a=this._innerObj.splice(t,n);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:n,items:i}],this);const a=this._innerObj.splice(t,n,...i);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const n=this._innerObj.length-1,i=1,s=[];this._toChangeEvent.emit([{start:n,deleteCount:i,items:s}],this)}const t=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),t}push(...t){if(this._toChangeEvent){const i=this._innerObj.length;this._toChangeEvent.emit([{start:i,deleteCount:0,items:t}],this)}const n=this._innerObj.push(...t);return this._changedEvent&&this._changedEvent.emit(this),n}get length(){return this._innerObj.length}set length(t){if(t<0)throw new Error("value < 0");const{length:n}=this._innerObj;if(n!==t){if(this._toChangeEvent){let i,s,o;n>t?(i=t,s=n-t,o=[]):(i=n,s=0,o=new Array(t-n)),this._toChangeEvent.emit([{start:i,deleteCount:s,items:o}],this)}this._innerObj.length=t,this._changedEvent&&this._changedEvent.emit(this)}}get(t){return this._innerObj[t]}set(t,n){const{length:i}=this._innerObj;if(t<0||t>=i)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:t,deleteCount:1,items:[n]}],this),this._innerObj[t]=n,this._changedEvent&&this._changedEvent.emit(this)}indexOf(t){return this._innerObj.indexOf(t)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function ch(r,e,...t){let n=r;for(let i of t){if(!n[i])if(e)n[i]={};else return;n=n[i]}return n}function y_(r,e,t){typeof t>"u"&&(e.endsWith(".gltf")?t="model/gltf+json":e.endsWith(".bin")?t="application/octet-stream":e.endsWith(".glb")?t="model/gltf-binary":e.endsWith(".jpg")||e.endsWith(".jpeg")?t="image/jpeg":e.endsWith(".png")?t="image/png":e.endsWith(".glsl")?t="text/plain":e.endsWith(".json")?t="application/json":e.endsWith(".b3dm")||e.endsWith(".i3dm")||e.endsWith("pnts")||e.endsWith("cmpt")?t="application/octet-stream":console.warn(`save ${e}: MimeType无法确定!`));const n=new Blob([r],{type:t||""});let i=URL.createObjectURL(n);var s=document.createElement("a"),o=new MouseEvent("click");s.download=e,s.href=i,s.dispatchEvent(o),URL.revokeObjectURL(i)}function __(r,e){const t=document.createElement("a"),n=new MouseEvent("click");t.download=e||"下载",t.href=r,t.dispatchEvent(n)}function w_(){return new Promise((r,e)=>{const t=performance.now();requestAnimationFrame(n=>r(n>t))})}const Nl=r=>{let e,t;return t=n=>{n=performance.now(),e=requestAnimationFrame(t),r(n)},e=requestAnimationFrame(t),()=>{cancelAnimationFrame(e)}};function hh(r,e,t=Nl){let n=Number.NEGATIVE_INFINITY,i;function s(u){u-n>e&&i&&(r(...i),i=void 0,n=u)}const o=t&&t(s)||void 0;function a(...u){i=u}return[a,o]}const Sp=[];function bp(r,e,t){if(Sp.includes(r)){console.warn(`_loadJs ${r} has loaded before!`),e&&e();return}var n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("src",r),i.onload=i.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(Sp.push(r),e&&e(),i.onload=i.onreadystatechange=null)},i.onerror=(s,o,a,u,l)=>{t(l)},n.appendChild(i)}function dh(r,e=!0){if(e){const t=window.L;window.L&&(window.L=void 0);const n=window.define;return window.define&&(window.define=void 0),new Promise((i,s)=>{bp(r,i,s)}).then(()=>(window.define=n,window.L=t,Promise.resolve()))}else return new Promise((t,n)=>{bp(r,t,n)})}async function Pp(r,e=""){return new Promise((t,n)=>{var i=new Image;i.crossOrigin=e,i.src=r,i.onload=()=>t(i),i.onerror=s=>n(s)})}class E_ extends B{constructor(e){super(),this._owner=e}get owner(){return this._owner}}function C_(r,e){if(r.length%3!==0)throw new Error("positions.length % 3 !== 0");const t=r.length/3;function*n(o){for(let a=0;a<t;++a)yield r[a*3+o]}const i=(e==null?void 0:e.min)??[NaN,NaN,NaN],s=(e==null?void 0:e.max)??[NaN,NaN,NaN];return i[0]=os(n(0))??NaN,i[1]=os(n(1))??NaN,i[2]=os(n(2))??NaN,s[0]=Di(n(0))??NaN,s[1]=Di(n(1))??NaN,s[2]=Di(n(2))??NaN,{min:i,max:s}}async function S_(r,e=fetch){const t=await e(r);return t.ok?await t.arrayBuffer():void 0}function Ol(r,...e){if(r>16)throw new Error("length > 16");const t=new Array(r);for(let n=0;n<r;++n)t[n]=e[n]??0;return t}class Dl{constructor(e,t){this._xyzw=e,this._length=t}set 0(e){this._xyzw.x=e}set 1(e){this._xyzw.y=e}set 2(e){this._xyzw.z=e}set 3(e){this._xyzw.w=e}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function b_(r){return new Dl(r,2)}function P_(r){return new Dl(r,3)}function I_(r){return new Dl(r,4)}class x_{constructor(e,t,n,i){this._array=e,this._length=t,this._start=n,this._stride=i}get length(){return this._length}set 0(e){this._array[this._start+0*this._stride]=e}set 1(e){this._array[this._start+1*this._stride]=e}set 2(e){this._array[this._start+2*this._stride]=e}set 3(e){this._array[this._start+3*this._stride]=e}set 4(e){this._array[this._start+4*this._stride]=e}set 5(e){this._array[this._start+5*this._stride]=e}set 6(e){this._array[this._start+6*this._stride]=e}set 7(e){this._array[this._start+7*this._stride]=e}set 8(e){this._array[this._start+8*this._stride]=e}set 9(e){this._array[this._start+9*this._stride]=e}set 10(e){this._array[this._start+10*this._stride]=e}set 11(e){this._array[this._start+11*this._stride]=e}set 12(e){this._array[this._start+12*this._stride]=e}set 13(e){this._array[this._start+13*this._stride]=e}set 14(e){this._array[this._start+14*this._stride]=e}set 15(e){this._array[this._start+15*this._stride]=e}set 16(e){this._array[this._start+16*this._stride]=e}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function T_(r,e,t=0,n=1){return new x_(r,e,t,n)}g.Vector=void 0,(r=>{function e(U,...q){if(U=U||Ol(q.length),q.length>U.length)throw new Error("args.length > target.length");return U instanceof Float64Array?U.set(q):N(q,U),U}r.set=e;function t(U,q){const xt=U.length;for(let pe=0;pe<xt;++pe)if(!q(U[pe],pe))return!1;return!0}r.every=t;function n(U,q,xt){const pe=U.length;let Rn=xt;for(let Ti=0;Ti<pe;++Ti)Rn=q(Rn,U[Ti],Ti);return Rn}r.reduce=n;function*i(U){for(let q=0;q<U.length;++q)yield U[q]}r.itr=i;const s=(U,q)=>U+=q*q;function o(U){return n(U,s,0)}r.magnitudeSquared=o;function a(U){const q=o(U);return Math.sqrt(q)}r.magnitude=a;function u(U,q=1e-5){const xt=o(U);return Math.abs(xt-1)<q}r.isNormalized=u;let l;const c=(U,q,xt)=>U+q*l[xt];function h(U,q){return P(U,q),l=q,n(U,c,0)}r.dot=h;let f;const p=(U,q,xt)=>U+=(q-f[xt])*(q-f[xt]);function m(U,q){return P(U,q),f=q,n(U,p,0)}r.distanceSquared=m;function w(U,q){return Math.sqrt(m(U,q))}r.distance=w;let E;const b=(U,q)=>U===E[q];function v(U,q){return P(U,q),E=q,t(U,b)}r.equals=v;let y,_;const C=(U,q)=>Math.abs(U-y[q])<_;function S(U,q,xt=0){return P(U,q),y=q,_=xt,t(U,C)}r.equalsEpsilon=S;function P(U,q){if(U.length!==q.length)throw new Error("left.length !== right.length")}function T(U,q,xt){const pe=U.length;xt=xt||Ol(pe),P(U,xt);for(let Rn=0;Rn<pe;++Rn)xt[Rn]=q(U[Rn],Rn);return xt}r.op1=T;function R(U,q,xt,pe){P(U,q),pe&&P(U,pe);const Rn=U.length;pe=pe||Ol(Rn);for(let Ti=0;Ti<Rn;++Ti)pe[Ti]=xt(U[Ti],q[Ti]);return pe}r.op2=R;const F=U=>U;function N(U,q){return T(U,F,q)}r.clone=N;let L=0;const M=(U,q)=>U*L;function k(U,q,xt){return L=q,T(U,M,xt)}r.multiplyByScalar=k;function J(U,q,xt=0){const pe=o(U);if(pe<=xt)return;const Rn=Math.sqrt(pe);return k(U,1/Rn,q)}r.normalize=J;function st(U,q){return k(U,-1,q)}r.negate=st;const gt=U=>Math.abs(U);function Ft(U,q){return T(U,gt,q)}r.abs=Ft;const ne=U=>U-Math.floor(U);function hn(U,q){return T(U,ne,q)}r.fract=hn;const Bt=(U,q)=>U-q;function kt(U,q,xt){return R(U,q,Bt,xt)}r.subtract=kt;const Se=(U,q)=>U+q;function hu(U,q,xt){return R(U,q,Se,xt)}r.add=hu;const Vs=(U,q)=>U*q;function Ab(U,q,xt){return R(U,q,Vs,xt)}r.multiply=Ab;const Fb=(U,q)=>U/q;function kb(U,q,xt){return R(U,q,Fb,xt)}r.divide=kb;let dp;const Vb=(U,q)=>U*(1-dp)+q*dp;function Bb(U,q,xt,pe){return dp=xt,R(U,q,Vb,pe)}r.lerp=Bb})(g.Vector||(g.Vector={}));function Ml(r,e=0,t=1){return r<e?e:r>t?t:r}class Rl extends B{constructor(t,n,i,s,o,a,u,l){super();d(this,"__status");d(this,"_statusChangedEvent");d(this,"_forceCancelFunc");d(this,"_startEvent");d(this,"_progressEvent");d(this,"_completeEvent");d(this,"_cancelEvent");d(this,"_cancelledEvent");d(this,"_errorEvent");d(this,"_finishedEvent");d(this,"_processingID",-1);this._startProcessingFunc=t,this.startFunc=n,this.progressFunc=i,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=u,this.finishedFunc=l,this._status="Initial",this.dispose(()=>{var c;return(c=this._statusChangedEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._startEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._progressEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._completeEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._cancelledEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._errorEvent)==null?void 0:c.destroy()}),this.dispose(()=>{var c;return(c=this._finishedEvent)==null?void 0:c.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new I,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new I,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new I,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new I,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new I,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new I,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new I,this._finishedEvent}_completeFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(n),this._completeEvent&&this._completeEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Completed",value:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:n}))}_cancelFunc(t){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(t),this._cancelEvent&&this._cancelEvent.emit(t))}_cancelledFunc(t){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(t),this._cancelledEvent&&this._cancelledEvent.emit(t),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:t}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:t}))}_errorFunc(t,n){this.processingID===t&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(n),this._errorEvent&&this._errorEvent.emit(n),this.finishedFunc&&this.finishedFunc({status:"Error",error:n}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:n}))}_progressFunc(t,n){this.processingID===t&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(n),this._progressEvent&&this._progressEvent.emit(n))}_startFunc(...t){if(this._status==="Initial"){this._status="Running";const n=++this._processingID,i={completeFunc:this._completeFunc.bind(this,n),errorFunc:this._errorFunc.bind(this,n),progressFunc:this._progressFunc.bind(this,n),cancelFunc:this._cancel.bind(this,n),processingID:n},s=this._startProcessingFunc(i,...t);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...t),this._startEvent&&this._startEvent.emit(...t),n}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(t){if(this.__status!==t){const n=this.__status;this.__status=t,this._statusChangedEvent&&this._statusChangedEvent.emit(t,n)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new I),this._statusChangedEvent}reset(t){this._status==="Running"&&this.cancel(t),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(t,n=this.processingID){return this._cancel(n,t)}_cancel(t,n){if(this.processingID===t)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(n);const i=this._forceCancelFunc(n);if(this._forceCancelFunc=void 0,i&&i instanceof Promise)return i.then(()=>{this._cancelledFunc(n)});this._cancelledFunc(n)}else console.warn("this._status !== 'Running' but cancel")}start(...t){try{return this._startFunc(...t)}catch(n){console.error(`processing start error: ${n}`)}}restart(t,...n){try{return this.isRunning&&this.cancel(t),this.isFinished&&this.reset(t),this.isInitial?this._startFunc(...n):(console.warn("restart failed!"),-1)}catch(i){console.error(`processing restart error: ${i}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let fh=class extends Error{};function Ip(r,e){typeof r=="function"?r(e):r.cancelFunc=e}class ph extends Rl{constructor(t=300){super(({progressFunc:n,completeFunc:i,errorFunc:s})=>{const[o,a]=Pl(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");n([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});d(this,"_lastDebounceValue");d(this,"_debouncTimes",0);d(this,"_d");this._delayTime=t}get delayTime(){return this._delayTime}debounce(...t){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=t,this._d&&this._d()):console.warn("Debouncing is not running!")}}function xp(r,e,...t){const n=new AbortController;let i=n.signal,[s,o]=t;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=i;let a=!1;Ip(r,()=>{a=!0,n.abort()});let u=fetch(s,o);return e&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length"),h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const m=l.body.getReader();w();function w(){m.read().then(({done:E,value:b})=>{if(E){p.close();return}if(!b)throw new Error("!value");if(!e)throw new Error("!progressFunc");f+=b.byteLength,e(f,h),p.enqueue(b),w()}).catch(E=>{p.error(E)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw a?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new fh("fetching cancelled!")):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),u}function Tp(...r){if(r.length>=1)if(typeof r[0]=="function"||typeof r[0]>"u"){const e={};let t=xp(e,...r);const{cancelFunc:n}=e;if(!n)throw new Error("!cancelResult.cancelFunc");return[n,t]}else return xp(...r);throw new Error("cancelableFetch args error!")}class N_ extends Rl{constructor(t,...n){super(({progressFunc:i,completeFunc:s,errorFunc:o},...a)=>{const u={};let l={loaded:0,total:0};const c=(p,m)=>{l.loaded=p,l.total=m,i(l)},h=this._fetchArgs||a;if(h.length===0)throw new Error("fetchArgs.length === 0");if(Tp(u,c,...h).then(t).then(s).catch(p=>{p instanceof fh||o(p)}),!u.cancelFunc)throw new Error("!cancelResult.cancelFunc");return u.cancelFunc});d(this,"_fetchArgs");n.length>0&&(this._fetchArgs=n)}get fetchArgs(){return this._fetchArgs}}function gh(r,e,t,n){const i="_"+e,s="_"+e+"Changed",o=e+"Changed";Object.defineProperties(r.prototype,{[e]:{get(){return typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),this[i]},set(a){if(typeof this[i]>"u"&&typeof t<"u"&&(this[i]=t),n?!n(this[i],a):this[i]!==a){const u=this[i];this[i]=a,this[s]&&this[s].emit(a,u)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new I,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class mh extends Rl{constructor(t,n=!0){super(({progressFunc:i,completeFunc:s,errorFunc:o})=>(this._intervalFunc=i,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&i(),this._intervalID=setInterval(i,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));d(this,"_intervalID");d(this,"_intervalFunc");this.intervalTime=t,this.leading=n,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}gh(mh,"leading",!0),gh(mh,"intervalTime",500);function O_(r,e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o()},r)}),s=o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new fh("sleep cancel error!"))};if(typeof e=="boolean"&&e)return[s,i];if(e)return Ip(e,s),i}class D_{constructor(e=0,t=0,n=0,i,s){d(this,"_processData");d(this,"_lastUpdateTimeStamp",0);this.startTime=e,this.duration=t,this.delay=n,this.proccessFunc=i,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(e){const t=(e-this.startTime)/this.duration;t>=0&&(this._processData.ratio=t,this._processData.timeStamp=e,this._processData.timeStampFromStart=e-this.startTime,this._processData.timeStampFromLastUpdate=e-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=e,this.proccessFunc&&this.proccessFunc(this._processData),t>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class Np extends Rl{constructor(t=1e3,n=0,i=Nl){let s;function o(){s&&s()}super(({progressFunc:u,completeFunc:l,errorFunc:c})=>{const h=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=u,this._base.completeFunc=()=>{h&&h(),l()},this._base.start(),s=h,o});d(this,"_base");d(this,"duration");d(this,"delay");d(this,"startUpdateFunc");this._base=new D_,this.duration=t,this.delay=n,this.startUpdateFunc=i}get startTime(){return this._base.startTime}}class M_ extends B{constructor(t){super();d(this,"_target",0);d(this,"_current",0);d(this,"_start",0);d(this,"_timing",new Np(Number.POSITIVE_INFINITY));d(this,"_currentChanged");this._duration=t,this._timing.progressFunc=({ratio:n})=>{n=n<0?0:n>1?1:n;const i=this._start*(1-n)+this._target*n;this._current=i,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(t,n=t){this._timing.isRunning&&this._timing.cancel(),this._target=t,this._current=n,this._start=t}set target(t){if(this._target!==t){this._target=t,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const n=Math.abs(this._target-this._start);this._timing.duration=n*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new I),this._currentChanged}}function Op(r,e){e=e||[];const t=r.parentNode;return t?Op(t,e.concat(t)):e}function R_(r){const e=r.composedPath&&r.composedPath()||r.path,t=r.target;if(e!=null)return e.indexOf(window)<0?e.concat(window):e;if(t===window)return[window];if(t===null)throw new Error("target === null");return[t].concat(Op(t),window)}function dn(r,e=!1){const{offsetX:t,offsetY:n}=r;let i=t,s=n;{const o=R_(r);for(let a=0;a<o.length;++a){const u=o[a];if(u!==r.currentTarget&&u instanceof HTMLElement)i+=u.clientLeft,s+=u.clientTop,i+=u.offsetLeft,s+=u.offsetTop;else break}}return e?[i*window.devicePixelRatio,s*window.devicePixelRatio]:[i,s]}function Bo(r,e=!1){const t=r.target,n=r.currentTarget||r.__xbsj_lastCurrentTarget__;if(!t||!n)return[r.clientX,r.clientY];const i=t.getBoundingClientRect(),s=n.getBoundingClientRect(),o=i.left+r.offsetX,a=i.top+r.offsetY,u=o-s.left,l=a-s.top;return e?[u*window.devicePixelRatio,l*window.devicePixelRatio]:[u,l]}class Dp extends B{constructor(t){super();d(this,"_clickEvent",new I);d(this,"_dbclickEvent",new I);d(this,"_downEvent",new I);d(this,"_upEvent",new I);d(this,"_moveEvent",new I);d(this,"_debouncing",new ph(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let n=!1,i=[0,0],s=!1;this._debouncing.progressFunc=([[c,h,f],p])=>{p===1?this._clickEvent.emit(c,h,f):p>=2?this._dbclickEvent.emit(c,h,f):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=c=>{n=!0;const[h,f]=dn(c);i[0]=h,i[1]=f,this._downEvent.emit(h,f,c)},a=c=>{const[h,f]=dn(c);n&&!s&&this._debouncing.debounce(h,f,c),n=!1,s=!1,this._upEvent.emit(h,f,c)},u=c=>{const[h,f]=dn(c);if(n&&!s){const[p,m]=i;(Math.abs(h-p)>3||Math.abs(f-m)>3)&&(s=!0)}this._moveEvent.emit(h,f,c)},l=()=>{n=!1,s=!1};t.addEventListener("pointerdown",o),t.addEventListener("pointerup",a),t.addEventListener("pointermove",u),t.addEventListener("pointerout",l),this.dispose(()=>{t.removeEventListener("pointerdown",o),t.removeEventListener("pointerup",a),t.removeEventListener("pointermove",u),t.removeEventListener("pointerout",l)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class vh extends B{constructor(){super();d(this,"_pickRectEvent",this.disposeVar(new I));d(this,"_updateRectEvent",this.disposeVar(new I));d(this,"_pointerActionEvent",this.disposeVar(new I));d(this,"_active",this.disposeVar(V(!1)));d(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let t=0,n=0,i=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:u})=>{o==="PointerDown"?(this._active.value=!0,t=a,n=u,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,i=a,s=u,this._setPickRect({left0:t,top0:n,left1:i,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:t,left1:n,top0:i,top1:s}){this._pickRect.left0=t,this._pickRect.left1=n,this._pickRect.top0=i,this._pickRect.top1=s}pointerDown(t,n){this._pointerActionEvent.emit({type:"PointerDown",left:t,top:n})}pointerMove(t,n){this._pointerActionEvent.emit({type:"PointerMove",left:t,top:n})}pointerUp(t,n){this._pointerActionEvent.emit({type:"PointerUp",left:t,top:n})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(t,n){n=n||{left:0,top:0,width:0,height:0,forward:!0};const{left0:i,top0:s,left1:o,top1:a}=t;return n.width=Math.abs(i-o),n.height=Math.abs(s-a),n.left=Math.min(i,o),n.top=Math.min(s,a),n.forward=o>i,n}static contains(t,n,i){const{left:s,top:o,width:a,height:u}=i;return t>s&&t<=s+a&&n>=o&&n<=o+u}}class L_ extends vh{constructor(e){super();const t=this.disposeVar(new Dp(e));this.dispose(t.downEvent.disposableOn((o,a,u)=>u.altKey&&this.pointerDown(o,a))),this.dispose(t.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(t.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const n=document.createElement("div");n.style.backgroundColor="rgba(0, 0, 0, 0)",n.style.border="2px dashed red",n.style.position="absolute",n.style.boxSizing="border-box",n.style.pointerEvents="none",n.style.height="0px",n.style.width="0px",n.style.left="0px",n.style.top="0px",n.style.display="none",e.appendChild(n),this.dispose(()=>e.removeChild(n)),this.dispose(this.activeEvent.disposableOn(o=>{n.style.display=o?"block":"none"}));const i=()=>{this.reset()};e.addEventListener("contextmenu",i),this.dispose(()=>e.removeEventListener("contextmenu",i));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(vh.getLeftTopAndSize(o,s)){const{left:a,top:u,width:l,height:c}=s;n.style.height=`${c|0}px`,n.style.width=`${l|0}px`,n.style.left=`${a|0}px`,n.style.top=`${u|0}px`}}))}}class Sr extends Error{}function as(r,e){An(r,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),ti(r,"_promise_cancel",e)}function jo(r){return An(r,"_promise_cancel")}function zo(r){return!!jo(r)}function yh(r,e){const t=jo(r);return t?(t(e),!0):!1}function _h(r){const[e,t]=r;return as(t,e),t}function Ll(r){let e;const t=new Promise((n,i)=>{e=i,r.then(n).catch(i)});return as(t,e),t}function A_(r){let e,t;var n=new Promise((i,s)=>{t=r.disposableOn((...o)=>{t&&t(),i(o)}),e=o=>{t&&t(),s(o)}});return[e,n]}function F_(r){const e=new I,t=new I;return r.then(n=>{e.isDestroyed()||e.emit(n)}).catch(n=>{t.isDestroyed()||t.emit(n)}),[e,t]}class wh extends B{constructor(){super();d(this,"_cancelled",!1);d(this,"_cancelError");d(this,"_promiseSet",new Set);d(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new B,this._disposer}destroyImp(){this.finally()}cancel(t){var n;if(!this._cancelled){this._cancelled=!0,(n=this._disposer)==null||n.destroy(),this._cancelError=t;for(let i of this._promiseSet)yh(i);this._promiseSet.clear()}}get cancelFuncsNum(){return vu(this._promiseSet,t=>t+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new Sr("cancel from CancelManager!")}promise(t){return this._promiseSet.add(t),t.finally(()=>(this._promiseSet.delete(t),this.check()))}promiseAny(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),zo(s)&&n.push(jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(i).finally(()=>(n.forEach((s=>s(new Sr("cancel from promiseAny!")))),n.length=0))}promiseAll(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),zo(s)&&n.push(jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(i).finally(()=>(n.forEach((s=>s(new Sr("cancel from promiseAll!")))),n.length=0))}promiseRace(t){const n=[],i=t.map(s=>(this._promiseSet.add(s),zo(s)&&n.push(jo(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(i).finally(()=>(n.forEach((s=>s(new Sr("cancel from promiseRace!")))),n.length=0))}}class Pe extends B{constructor(t){super();d(this,"_status","Initial");d(this,"_completeEvent");d(this,"_errorEvent");d(this,"_completeFunc");d(this,"_errorFunc");d(this,"_cancelFunc");d(this,"_runningId",-1);this._startFunc=t,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new I),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new I),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(t){this._errorFunc!==t&&(this._errorFunc=t)}set completeFunc(t){this._completeFunc!==t&&(this._completeFunc=t)}start(...t){if(this._status!=="Initial")return;const n=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(i),(s=this._completeEvent)==null||s.emit(i))},errorFunc:i=>{var s;n===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(i),(s=this._errorEvent)==null||s.emit(i))},runningingID:n},...t)}cancel(t=new Sr("")){var n;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(t),(n=this._errorEvent)==null||n.emit(t),this._cancelFunc(t),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(t=new Sr(""),...n){this.isRunning&&this.cancel(t),this.reset(),this.start(...n)}restartIfNotRunning(...t){this.isRunning||(this.reset(),this.start(...t))}}function _u(r){return(e,...t)=>{const n=new wh,{completeFunc:i,errorFunc:s}=e,o=r(n,...t).then(i).catch(s).finally(()=>n.destroy());return as(o,n.cancel.bind(n)),a=>yh(o,a)}}class k_ extends Pe{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=Pl(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class V_ extends Pe{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=Pl(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}function B_(r){return new Pe(_u((e,...t)=>e.promise(r(...t))))}function j_(r,...e){return new Pe(_u(t=>t.promise(r(...e))))}function Al(r){return B_((...e)=>{const t=r(...e);return zo(t)?t:Ll(t)})}function Eh(r,...e){return j_(()=>{const t=r(...e);return zo(t)?t:Ll(t)})}function z_(r){let e;const t=new Promise((n,i)=>{e=()=>{r(),i()}});return as(t,e),t}function U_(r,...e){const t=new wh,n=r(t,...e).finally(()=>t.destroy());return as(n,t.cancel.bind(t)),n}function Zn(r){return new Pe(_u(r))}function G_(r,...e){return new Pe(_u(t=>r(t,...e)))}function Mp(r,...e){const t=new AbortController;let n=t.signal,[i,s]=e;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=n;let o=!1;const a=()=>{o=!0,t.abort()};let u=fetch(i,s);return r&&(u=u.then(l=>{if(!l.ok)return l;if(!l.body)throw Error("ReadableStream not yet supported in this browser.");const c=l.headers.get("content-length");c||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const h=c?parseInt(c,10):0;let f=0;return new Response(new ReadableStream({start(p){if(!l.body)throw new Error("!response.body");const m=l.body.getReader();w();function w(){m.read().then(({done:E,value:b})=>{if(E){p.close();return}if(!b)throw new Error("!value");if(!r)throw new Error("!progressFunc");f+=b.byteLength,r(f,h),p.enqueue(b),w()}).catch(E=>{p.error(E)})}}}),{status:l.status,statusText:l.statusText,headers:l.headers})}).catch(l=>{throw o?(l instanceof Error&&l.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Sr(`fetching cancelled! error: ${l}`)):(l instanceof Error&&l.code===20&&console.error("error.code === 20"),l)})),as(u,a),u}function W_(r,...e){return Mp(r,...e)}function Ch(...r){return Mp(void 0,...r)}function q_(){return Al(Ch)}function X_(...r){return Eh(Ch,...r)}function Sh(r,...e){let t=-1;var n=new Promise((i,s)=>{r.isRunning&&r.cancel(),r.reset();const o=new B;o.dispose(r.completeEvent.disposableOn(a=>{if(i(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(r.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),r.start(...e),t=r.runningId});return[i=>t===r.runningId&&r.isRunning&&r.cancel(i),n]}function ni(r,e,...t){try{return e(...t)}catch(n){r(n)}}function H_(){return new Pe(({completeFunc:r,errorFunc:e},t)=>Vo(()=>ni(e,()=>{t&&t(),r()})))}function Y_(r){return new Pe(({completeFunc:e,errorFunc:t})=>Vo(()=>ni(t,()=>{r&&r(),e()})))}function J_(){return new Pe(({completeFunc:r,errorFunc:e},t)=>fu(()=>{ni(e,()=>{t&&t(),r()})}))}function Z_(r){return new Pe(({completeFunc:e,errorFunc:t})=>fu(()=>{ni(t,()=>{r&&r(),e()})}))}function Rp(){return new Pe(({completeFunc:r,errorFunc:e},t,n)=>sh(()=>{ni(e,()=>{t&&t(),r()})},n??1e3))}function Lp(r,e){return new Pe(({completeFunc:t,errorFunc:n})=>sh(()=>{ni(n,()=>{r&&r(),t()})},e??1e3))}function K_(){return new Pe(({errorFunc:r},e,t=1e3)=>ih(()=>ni(r,e),t))}function Q_(r,e=1e3){return new Pe(({errorFunc:t})=>ih(()=>ni(t,r),e))}function wu(){return new Pe(({errorFunc:r},e)=>Il(t=>ni(r,e,t)))}function Uo(r){return new Pe(({errorFunc:e})=>Il(t=>ni(e,r,t)))}function Eu(r,...e){let t,n;const i=new Promise((o,a)=>{n=a,t=globalThis.setTimeout(()=>{t=void 0,o(e)},r)});return as(i,o=>{t&&(clearTimeout(t),t=void 0),n&&n(o??new Sr("sleep cancel error!"))}),i}function $_(){return Al(Eu)}function t0(r,...e){return Eh(Eu,r,...e)}function Gs(r,e,...t){return r.promise(_h(Sh(Zn(async(n,...i)=>(r.disposer.dispose(()=>{n.isDestroyed()||n.cancel()}),await e(n,...i))),...t)))}function e0(r,e,...t){return r.promise(_h(Sh(e,...t)))}class n0 extends Pe{constructor(){super(({errorFunc:t},n,i)=>{try{const[s,o]=hh(n,i);return this._doFunc=s,o}catch(s){return t(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class r0 extends Pe{constructor(t,n){super(({errorFunc:i})=>{try{const[s,o]=hh(t,n);return this._doFunc=s,o}catch(s){return i(s),()=>{}}});d(this,"_doFunc")}do(...t){this._doFunc&&this._doFunc(...t)}}class Fl extends B{constructor(t=1e3,n=Nl){super();d(this,"_speed");d(this,"_speedChangedEvent");d(this,"_duration");d(this,"_durationChangedEvent");d(this,"_loop");d(this,"startUpdateFunc");d(this,"_updateBindThis");d(this,"_cancelStartUpdateFunc");d(this,"_startTimeStamp");d(this,"_playingChangedEvent");d(this,"_startPlayingEvent");d(this,"_stopPlayingEvent");d(this,"_loopChangedEvent");d(this,"_currentTime",this.disposeVar(V(0)));this._speed=1,this._duration=t,this._loop=!1,this.startUpdateFunc=n,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new I,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new I,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new I,this._loopChangedEvent}set loop(t){this._loop!==t&&(this._loop=t,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(t){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const n=(t-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(n)}}get currentTime(){return this._currentTime.value}set currentTime(t){this._setCurrentTimeInner(t),this._resetStartTime()}_setCurrentTimeInner(t){this._currentTime.value!==t&&(this._duration<=0?this._currentTime.value=0:t<0?this.loop?this._currentTime.value=this._duration+t%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):t>this._duration?this.loop?this._currentTime.value=t%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=t)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new I),this._durationChangedEvent}get duration(){return this._duration}set duration(t){var n;if(t<0)console.warn("duration sholud greater than 0!");else if(this._duration!==t){const i=this._duration;this._duration=t,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(n=this._durationChangedEvent)==null||n.emit(this._duration,i)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new I),this._speedChangedEvent}get speed(){return this._speed}set speed(t){var n;if(this._speed!==t&&t!==0){const i=this._speed;this._speed=t,this._resetStartTime(),(n=this._speedChangedEvent)==null||n.emit(this._speed,i)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var t,n;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(t=this._startPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!0)}_stopPlaying(){var t,n;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(t=this._stopPlayingEvent)==null||t.emit(this._currentTime.value),(n=this._playingChangedEvent)==null||n.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new I),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(t){!!this._cancelStartUpdateFunc!==t&&(t?this._startPlaying():this._stopPlaying())}}class Cu extends B{constructor(t){super();d(this,"_stop",this.disposeVar(V(0)));d(this,"_current",this.disposeVar(V(0)));d(this,"_start",this.disposeVar(V(0)));d(this,"_player",this.disposeVar(new Fl(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(n=>{let i=n/this._player.duration;i=i>1?1:i<0?0:i;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*i})),this.duration=t}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(t){this._player.duration=t}set target(t){this._start.value=this._current.value,this._stop.value=t,this._player.currentTime=0,this._player.playing=!0}reset(t){this._start.value=t,this._current.value=t,this._stop.value=t,this._player.playing=!1}}let Ap=-1;class Qt extends I{constructor(e,t,n,i){super(),this._domElement=e,this._type=t,this.callback=i;const s=o=>(o.__xbsj_listenerNo__=++Ap,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,n),this.dispose(()=>this._domElement.removeEventListener(this._type,s,n))}static getLastLisenNo(){return Ap}static getCurrentTarget(e){return e.__xbsj_lastCurrentTarget__}static getListenerNo(e){return e.__xbsj_listenerNo__}static getListenerTime(e){return e.__xbsj_listenerTime__}static on(e,t){const n=Qt.getLastLisenNo();return e.disposableOn(i=>{const s=Qt.getListenerNo(i);(s===void 0||s>n)&&t(i)})}get element(){return this._domElement}static create(e,t,n){return new Qt(e,t,n)}}class bh extends B{constructor(){super();d(this,"_clickEvent",this.disposeVar(new I));d(this,"_dbclickEvent",this.disposeVar(new I));d(this,"_pointerdownEvent",this.disposeVar(new I));d(this,"_pointerupEvent",this.disposeVar(new I));d(this,"_pointermoveEvent",this.disposeVar(new I));d(this,"_pointeroutEvent",this.disposeVar(new I));d(this,"dbClickDelayTime",300);d(this,"nativeClickDelayTime",500);d(this,"clickMovementTolerantPixelSize",3);d(this,"debugging",!1);d(this,"_enabled",this.disposeVar(V(!0)));const t=this.disposeVar(Zn(async i=>{do{const s=await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c),u.disposer.dispose(Qt.on(this._pointerdownEvent,l))})),o=dn(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!0),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(Qt.on(this._pointermoveEvent,f=>{const[p,m]=dn(f),[w,E]=o;(Math.abs(p-w)>3||Math.abs(m-E)>3)&&l(!1)})),u.disposer.dispose(Qt.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(Qt.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l("timeout"),this.dbClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(Qt.on(this._pointermoveEvent,f=>{const[p,m]=dn(f),[w,E]=o;(Math.abs(p-w)>3||Math.abs(m-E)>3)&&l("moved")})),u.disposer.dispose(Qt.on(this._pointerdownEvent,l)),u.disposer.dispose(Qt.on(this._pointeroutEvent,()=>l("pointouted"))),u.disposer.dispose(Qt.on(this._pointerupEvent,()=>l("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await Gs(i,u=>new Promise((l,c)=>{u.disposer.dispose(c);const h=setTimeout(()=>l(!1),this.nativeClickDelayTime);u.disposer.dispose(()=>clearTimeout(h)),u.disposer.dispose(Qt.on(this._pointermoveEvent,f=>{const[p,m]=dn(f),[w,E]=o;(Math.abs(p-w)>3||Math.abs(m-E)>3)&&l(!1)})),u.disposer.dispose(Qt.on(this._pointeroutEvent,()=>l(!1))),u.disposer.dispose(Qt.on(this._pointerupEvent,()=>l(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),n=i=>{i?t.restart():t.isRunning&&t.cancel()};n(this.enabled),this.dispose(this.enabledChanged.disposableOn(n))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}}class i0 extends B{constructor(t,n){super();d(this,"_pointerClick",this.disposeVar(new bh));this._div=t;const{div:i,pointerClick:s}=this,o=c=>s.pointerDown(c),a=c=>s.pointerMove(c),u=c=>s.pointerOut(c),l=c=>s.pointerUp(c);i.addEventListener("pointerdown",o,n),i.addEventListener("pointermove",a,n),i.addEventListener("pointerout",u,n),i.addEventListener("pointerup",l,n),this.dispose(()=>{i.removeEventListener("pointerdown",o,n),i.removeEventListener("pointermove",a,n),i.removeEventListener("pointerout",u,n),i.removeEventListener("pointerup",l,n)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class Fp extends B{constructor(){super();d(this,"_hoverEvent",this.disposeVar(new I));d(this,"_hoverOutEvent",this.disposeVar(new I));d(this,"_pointerdownEvent",this.disposeVar(new I));d(this,"_pointerupEvent",this.disposeVar(new I));d(this,"_pointermoveEvent",this.disposeVar(new I));d(this,"_pointeroutEvent",this.disposeVar(new I));d(this,"delayTime",800);const t=this.disposeVar(Rp()),n=l=>{this._hoverOutEvent.emit()},i=l=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=l=>{s=l,t.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},u=l=>{t.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(n)),this.dispose(this._pointerupEvent.disposableOn(i)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(u))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(t){this._pointerdownEvent.emit(t)}pointerUp(t){this._pointerupEvent.emit(t)}pointerMove(t){this._pointermoveEvent.emit(t)}pointerOut(t){this._pointeroutEvent.emit(t)}}class s0 extends B{constructor(t,n=1500){super();d(this,"_hoverEvent",new I);d(this,"_hoverOutEvent",new I);const i=new ph(n);this.dispose(()=>i.destroy());let s=0,o=0,a;i.progressFunc=()=>this._hoverEvent.emit(s,o,a);const u=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=dn(f),i.debounce(),this._hoverOutEvent.emit()},l=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=dn(a),i.debounce(),this._hoverOutEvent.emit()},c=f=>{!i.isRunning&&i.restart(),a=f,[s,o]=dn(a),i.debounce(),this._hoverOutEvent.emit()},h=f=>{i.isRunning&&i.cancel(),this._hoverOutEvent.emit()};t.addEventListener("pointerdown",u),t.addEventListener("pointerup",l),t.addEventListener("pointermove",c),t.addEventListener("pointerout",h),this.dispose(()=>{t.removeEventListener("pointerdown",u),t.removeEventListener("pointerup",l),t.removeEventListener("pointermove",c),t.removeEventListener("pointerout",h)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class kp extends B{constructor(t,n={}){super();d(this,"_needRedrawEvent");d(this,"_needPickRedrawEvent");d(this,"_id",ko());d(this,"_clickEvent");d(this,"_clickOutEvent");d(this,"_dbclickEvent");d(this,"_dbclickOutEvent");d(this,"_actived",!1);d(this,"_activedChanged");d(this,"_hovered",!1);d(this,"_hoveredChanged");d(this,"_selected",!1);d(this,"_selectedChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_show",!0);d(this,"_showChanged");this._canvasPrimitivesContext=t;const{needRedraw:i=!0,needPickRedraw:s=!0}=n;i&&(this._needRedrawEvent=new I),s&&(this._needPickRedrawEvent=new I),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new I,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new I,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new I,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new I,this._dbclickOutEvent}set actived(t){this._actived!==t&&(this._actived=t,this._activedChanged&&this._activedChanged.emit(t,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new I,this._activedChanged}set hovered(t){this._hovered!==t&&(this._hovered=t,this._hoveredChanged&&this._hoveredChanged.emit(t,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new I,this._hoveredChanged}set selected(t){this._selected!==t&&(this._selected=t,this._selectedChanged&&this._selectedChanged.emit(t,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new I,this._selectedChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(t,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(t,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}}class Ph extends kp{constructor(t,n=[0,0],i=0){super(t);d(this,"_winPosAndDepthChanged");this._winPos=n,this._depth=i,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(t){(this._winPos[0]!==t[0]||this._winPos[1]!==t[1])&&(this._winPos[0]=t[0],this._winPos[1]=t[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(t){this._depth!==t&&(this._depth=t,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new I),this._winPosAndDepthChanged}}function Ws(r,e,t,n){const[i,s]=r,[o,a,u,l]=n,c=e[0]*t[0],h=e[1]*t[1],f=i-(c*o+u),p=s-(h*a+l);return{left:f,top:p,right:f+c,bottom:p+h}}function qs(r,e,t,n,i){r.beginPath(),r.moveTo(e,t),r.lineTo(e-n*.5,t-n*.5),r.arc(e,t-n,n*.7071067811865475,Math.PI*.75,Math.PI*.25),r.lineTo(e,t),r.fillStyle=i,r.fill()}function Vp(r,e,t,n,i,s){r.beginPath(),r.moveTo(e+s,t),r.lineTo(e+n-s,t),r.arcTo(e+n,t,e+n,t+s,s),r.lineTo(e+n,t+i-s),r.arcTo(e+n,t+i,e+n-s,t+i,s),r.lineTo(e+s,t+i),r.arcTo(e,t+i,e,t+i-s,s),r.lineTo(e,t+s),r.arcTo(e,t,e+s,t,s)}function Bp(r,e,t,n,i,s){r.font=i;const o=r.measureText(n),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,u=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,l=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let c=u+l;r.fillStyle=s,r.fillText(n,e-a*.5,t+c*.5-l)}function jp(r){const{width:e,height:t}=r,n=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,s=document.createElement("canvas");s.width=n,s.height=i;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(r,0,0,n,i),s}function zp(r,e){const{width:t,height:n}=r,i=r.getContext("2d");if(!i)throw new Error("!cavnasCtx");const[s,o,a]=e.map(h=>h*255|0),u=i.getImageData(0,0,t,n),l=u.data;for(var c=0;c<l.length;c+=4)l[c]=s,l[c+1]=o,l[c+2]=a;i.putImageData(u,0,0)}function Ih(r,e,t,n=[.5,1,0,0],i,s="12px Arial",o=2,a="#FFF",u="#000A"){r.font=s;const l=r.measureText(i),c=l.actualBoundingBoxLeft+l.actualBoundingBoxRight,h=l.fontBoundingBoxAscent+l.fontBoundingBoxDescent,f=e,p=t,m=c+o*2,w=h+o*2,{left:E,top:b,bottom:v}=Ws([f,p],[m,w],[1,1],n);r.fillStyle=u,Vp(r,E,b,m,w,o),r.fill(),r.fillStyle=a,r.fillText(i,E+o,v-o-l.fontBoundingBoxDescent)}function Su(r){return("00"+r.toString(16).toUpperCase()).substr(-2)}function bu(r){const[e,t,n,i]=r.map(s=>s*255|0);return`#${Su(e)}${Su(t)}${Su(n)}${Su(i)}`}function xh(r,e){const[t,n,i]=e,s=`${t}-${n}-${i}`;let o=An(r,s);return o||(o=jp(r),zp(o,e),ti(r,s,o)),o}class o0 extends Ph{constructor(t,n,i=[32,32],s=[.5,1,0,0],o="#F00F"){super(t);d(this,"_tooltip","");d(this,"_title","");d(this,"__scale",[1,1]);d(this,"_tooltipAlpha",0);d(this,"_bgColor",[.3,.3,.3,.8]);d(this,"_bgColorHexStr",bu(this._bgColor));d(this,"_fgColor",[1,1,1,1]);d(this,"_fgColorHexStr",bu(this._fgColor));this._image=n,this._size=i,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new Cu(100),u=new Cu(100);this.dispose(()=>{a.destroy(),u.destroy()});const l=()=>{if(this._clickEvent&&!this._clickEvent.empty){const c=(1+.08*u.current)*(1+.08*a.current);this._scale=[c,c],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(c=>{u.target=c?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(c=>{a.target=c?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(u.currentChanged.disposableOn(l)),this.dispose(a.currentChanged.disposableOn(l))}set size(t){const[n,i]=t,[s,o]=this._size;(s!==n||o!==i)&&(this._size[0]=n,this._size[1]=i,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(t){const[n,i]=t,[s,o]=this.__scale;(s!==n||o!==i)&&(this.__scale[0]=n,this.__scale[1]=i,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(t){if(!this._fgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._fgColor.splice(0,4,n,i,s,o),this._fgColorHexStr=bu(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(t){if(!this._bgColor.every((n,i)=>t[i]===n)){const[n,i,s,o]=t;this._bgColor.splice(0,4,n,i,s,o),this._bgColorHexStr=bu(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(t){const[n,i,s,o]=this._originRatioAndOffset,[a,u,l,c]=t;(n!==a||i!==u||s!==l||o!==c)&&(this._originRatioAndOffset.splice(0,4,a,u,l,c),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(t){this._image!==t&&(this._image=t,this.needRedraw())}get image(){return this._image}set defaultColorStr(t){this._defaultColorStr!==t&&(this._defaultColorStr=t,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(t){this._tooltip!==t&&(this._tooltip=t,this.needRedraw())}get tooltip(){return this._tooltip}set title(t){this._title!==t&&(this._title=t,this.needRedraw())}get title(){return this._title}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:u}=Ws([n,i],this._size,this.__scale,this._originRatioAndOffset),l=t.globalAlpha;if(t.globalAlpha=this.opacity,this._image){if(this.selected){const c=xh(this._image,[1,0,0]),{left:h,top:f}=Ws([n,i+3],[s+6,o+6],[1,1],this._originRatioAndOffset);t.drawImage(c,h,f,s+6,o+6)}if(this.actived){const[c,h,f,p]=this._fgColor,m=xh(this._image,[c,h,f]),{left:w,top:E}=Ws([n,i+4],[s+8,o+8],[1,1],this._originRatioAndOffset);t.drawImage(m,w,E,s+8,o+8)}if(this.hovered){const[c,h,f,p]=this._bgColor,m=xh(this._image,[c,h,f]),{left:w,top:E}=Ws([n,i+2],[s+4,o+4],[1,1],this._originRatioAndOffset);t.drawImage(m,w,E,s+4,o+4)}t.drawImage(this._image,a,u,s,o)}else t.fillStyle=this._fgColorHexStr,t.fillRect(a,u,s,o);if(this._title!==""&&Ih(t,n+20,i-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=l,this._hovered&&this._tooltip!==""){const c=t.globalAlpha;t.globalAlpha=this._tooltipAlpha,Ih(t,n,i-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),t.globalAlpha=c}}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=n("default"),a=this._size[0]*this.__scale[0],u=this._size[1]*this.__scale[1],{left:l,top:c}=Ws([i,s],this._size,this.__scale,this._originRatioAndOffset);t.fillStyle=o,t.fillRect(l,c,a,u)}}class a0 extends Ph{constructor(t){super(t);d(this,"_width",16);d(this,"_text","");d(this,"_fillStyle","#0F0");d(this,"_scale",1);d(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const n=this.disposeVar(new Cu(100)),i=this.disposeVar(new Cu(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*i.current)*(1+.2*n.current))};this.dispose(i.currentChanged.disposableOn(s)),this.dispose(n.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{n.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(t){this._scale!==t&&(this._scale=t,this._scaleChanged&&this._scaleChanged.emit(t,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new I),this._scaleChanged}set width(t){this._width!==t&&(this._width=t,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(t){this._text!==t&&(this._text=t,this.needRedraw())}get text(){return this._text}set fillStyle(t){this._fillStyle!==t&&(this._fillStyle=t,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(t){if(!this._show)return;const[n,i]=this._winPos,s=t.globalAlpha;t.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&qs(t,n,i+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&qs(t,n,i+5,o+5,"#FFF"),this.hovered?qs(t,n,i+3,o+3,"#000A"):qs(t,n,i+1,o+1,"#000A"),qs(t,n,i,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";Bp(t,n,i-o,this._text,a,"#000"),t.globalAlpha=s}drawForPick(t,n){if(!this._show)return;const[i,s]=this._winPos,o=this._width*this._scale,a=n("default");qs(t,i,s,o,a)}}const Up=new ArrayBuffer(4),Gp=new Uint32Array(Up),Xs=new Uint8Array(Up);function Wp(r){if(r>=16777215)throw new Error("uint32 > 0xFFFFFF");return Gp[0]=r,[Xs[0],Xs[1],Xs[2]]}function qp(r,e,t){return Xs[0]=r,Xs[1]=e,Xs[2]=t,Xs[3]=0,Gp[0]}class Xp extends B{constructor(){super(...arguments);d(this,"_pickColors",new Array(16777215));d(this,"_pickColorIndex",0)}reset(){for(let t=0;t<this._pickColorIndex;++t){const n=this._pickColors[t];if(!n)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");n.poi=null,n.tag=""}this._pickColorIndex=0}createPickColor(t,n){const i=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[i];s?(s.poi=t,s.tag=n):this._pickColors[i]={poi:t,tag:n};const[o,a,u]=Wp(i);return[o,a,u]}getPickInfoFromColor(t,n,i){const s=qp(t,n,i);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Hp=(r,e)=>e.depth-r.depth;class u0 extends B{constructor(){super();d(this,"_pois",[]);d(this,"_canvasElement");d(this,"_ctx");d(this,"_offscreenCanvasElement");d(this,"_offscreenCanvasElement2");d(this,"_offscreenCtx");d(this,"_offscreenCtx2");d(this,"_size",[0,0]);d(this,"_needRedraw",!1);d(this,"_needPickRedraw",!1);d(this,"_pickColorManager",new Xp);const t=document.createElement("canvas");t.style.width="100%",t.style.height="100%",this._canvasElement=t;const n=t.getContext("2d");if(n===null)throw new Error("cannot get context 2d!");this._ctx=n,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(Uo(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:u}=this._canvasElement;(s!==a||o!==u)&&(this._size[0]=a,this._size[1]=u,this._canvasElement.width=a,this._canvasElement.height=u,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=u,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=u,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(t){if(typeof An(t,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(t)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(t),this._dirty();const n=t._needRedrawEvent;if(n){const s=n.on(()=>{this._needRedraw=!0});ti(t,"needRedrawEventHandler",s)}const i=t._needPickRedrawEvent;if(i){const s=i.on(()=>{this._needPickRedraw=!0});ti(t,"needPickRedrawEventHandler",s)}}removePoi(t){const n=this._pois.indexOf(t);if(n===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(n,1),this._dirty();const i=t._needRedrawEvent;if(i){const o=An(t,"needRedrawEventHandler");o?i.off(o):console.error("poi没有listenHandler!")}const s=t._needPickRedrawEvent;if(s){const o=An(t,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Hp);const[t,n]=this._size;this._ctx.clearRect(0,0,t,n),this._pois.forEach(i=>i.draw(this._ctx))}pick(t,n,i,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(t,n,i,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Hp);const[t,n]=this._size;this._offscreenCtx.clearRect(0,0,t,n),this._pois.forEach(i=>{const s=o=>{const[a,u,l]=this._pickColorManager.createPickColor(i,o);return`rgb(${a}, ${u}, ${l})`};i.drawForPick(this._offscreenCtx,s)})}_getPickInfo(t,n,i,s){const o=this._offscreenCtx.getImageData(t,n,i,s),a=[],u=o.data.length/4;for(let l=0;l<u;++l){const c=o.data[l*4+0],h=o.data[l*4+1],f=o.data[l*4+2];if(o.data[l*4+3]===255){const m=this._pickColorManager.getPickInfoFromColor(c,h,f);if(m&&m.poi&&!a.includes(m)){let w=!0;{const[E,b]=this._size;this._offscreenCtx2.clearRect(0,0,E,b);const v=P=>"rgb(255, 255, 255)";m.poi.drawForPick(this._offscreenCtx2,v);const y=this._offscreenCtx2.getImageData(t,n,i,s),_=y.data[l*4+0],C=y.data[l*4+1],S=y.data[l*4+2];y.data[l*4+3],_===255&&C===255&&S===255||(w=!1)}w&&a.push(m)}}}return a}}class Th extends B{constructor(){super(...arguments);d(this,"_closeEvent");d(this,"_show",!0);d(this,"_showChanged");d(this,"_opacity",1);d(this,"_opacityChanged");d(this,"_winPos",[0,0]);d(this,"_winPosChanged")}set winPos(t){const[n,i]=t,[s,o]=this._winPos;(n!==s||i!==o)&&(this._winPos[0]=n,this._winPos[1]=i,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new I,this._winPosChanged}set opacity(t){this._opacity!==t&&(this._opacity=t,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(t){this._show!==t&&(this._show=t,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new I),this._closeEvent}}const Nh=new WeakMap;function Oh(r){if(!Nh.has(r)){const e=new El(()=>new r,t=>t.reset());Nh.set(r,e)}return Nh.get(r)}class Dh extends Th{constructor(){super();d(this,"_div");d(this,"_contentDiv");d(this,"_originOffsetX",0);d(this,"_originOffsetY",0);d(this,"_originRatioX",.5);d(this,"_originRatioY",1);d(this,"_divChanged",new I);const t=document.createElement("div");t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const n=document.createElement("div");n.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const i=document.createElement("div");this._contentDiv=i,n.appendChild(i),t.appendChild(n),this._div=t,this.dispose(this._divChanged.disposableOn(()=>{n.style.left=`${-this._originOffsetX}px`,n.style.top=`${-this._originOffsetY}px`,n.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(t){this._originOffsetX!==t&&(this._originOffsetX=t,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(t){this._originOffsetY!==t&&(this._originOffsetY=t,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(t){this._originRatioX!==t&&(this._originRatioX=t,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(t){this._originRatioY!==t&&(this._originRatioY=t,this._divChanged.emit())}get element(){return this._div}}class Yp extends B{constructor(t,n){super();d(this,"_floatDiv");d(this,"_show",!1);d(this,"_showChanged");this._customDivClass=t,this._divContainer=n,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:n}=this;n.element.parentElement||this._divContainer.appendChild(n.element)}else{const{_floatDiv:n}=this;n&&n.element.parentElement&&this._divContainer.removeChild(n.element)}}set show(t){this._show!==t&&(this._show=t,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(t))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const t=Oh(this._customDivClass).create();this.dispose(()=>{Oh(this._customDivClass).destroy(t)}),this._floatDiv=t}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new I),this._showChanged}}const l0=["top","bottom","left","right"];function c0(r){return Object.entries(r).map(([e,t])=>l0.includes(e)?`${e}: ${t}px; `:"").join("")}function Jp(r,e,t){const n=document.createElement("div");n.style.cssText=`position: absolute; ${c0(t)} background-color: ${r}; border-radius: ${e}px;`;const i='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return n.innerHTML=i,n}function Zp(r,e,t="rgba(0,0,0,0.7)"){const n=document.createElement("div");n.style.cssText=`margin: 0 auto; width: ${r}px; height: ${e}px; position: relative; pointer-events: none;`;const i=document.createElement("div");return i.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${r*.5}px solid transparent; border-right: ${r*.5}px solid transparent; border-top: ${e}px solid ${t};`,n.appendChild(i),[n,i]}class Kp extends Dh{constructor(){super();d(this,"_borderDiv");d(this,"_closeDiv");d(this,"_innerContentDiv");d(this,"_colorStr","rgba(0, 0, 0, 0.7)");d(this,"_divColorChanged",new I);d(this,"_borderRadius",10);const t=document.createElement("div");t.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=t;const n=Jp(this._colorStr,10,{top:3,right:3}),[i,s]=Zp(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,t.appendChild(o),t.appendChild(n),this.contentDiv.appendChild(t),this.contentDiv.appendChild(i),n.style.opacity="0.1",n.onmouseenter=()=>{n.style.opacity="1.0"},n.onmouseleave=()=>{n.style.opacity="0.1"},n.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=n,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,t.style.backgroundColor=this._colorStr,i.style.width=`${this._borderRadius*2}px`,i.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=u=>{u.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(t){this._colorStr!==t&&(this._colorStr=t,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(t){this._borderRadius!==t&&(this._borderRadius=t,this._divColorChanged.emit())}}class h0 extends Kp{constructor(){super();d(this,"_iframe");d(this,"_iframeMessageEvent");const t=document.createElement("iframe");t.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",t.src="http://www.weather.com.cn/live/index.shtml",this._iframe=t,this.innerContentDiv.appendChild(t);const n=i=>{i.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(i):console.warn(`iframe消息接收到未处理!data: ${i.data}`))};window.addEventListener("message",n),this.dispose(()=>{window.removeEventListener("message",n)})}reset(){super.reset(),this.src=""}set src(t){this._iframe.src!==t&&(this._iframe.src=t)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new I,this._iframeMessageEvent}}class d0 extends Th{constructor(){super();d(this,"_div");d(this,"_contentContainer");d(this,"_text","");const t=document.createElement("div");this._div=t,t.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const n=document.createElement("div");n.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const i=document.createElement("div");i.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",i.innerText=this._text,this._div.appendChild(n),n.appendChild(i),this._contentContainer=i,this._div=t,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(t){this._text!==t&&(this._text=t,this._contentContainer.innerText=t)}get text(){return this._text}}class f0 extends Dh{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class p0 extends B{constructor(t,n){super();d(this,"_cursorDiv");d(this,"_pointerOut",this.disposeVar(V(!1)));d(this,"_show",this.disposeVar(V(!0)));this._cursorDiv=new Yp(n,t),this.dispose(()=>this._cursorDiv.destroy());const i=o=>{const[a,u]=dn(o);this._cursorDiv.floatDiv.winPos=[a,u]};t.addEventListener("pointermove",i),this.dispose(()=>t.removeEventListener("pointermove",i));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(t){this._show.value=t}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(t){this._cursorDiv.floatDiv.contentDiv.innerText=t}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function Pu(r,e,t){if(!(r.tree===e.tree&&r!==e&&!r.isAncestorOf(e))||r.tree!==e.tree||!r.parent)return!1;if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(e===r||r.isAncestorOf(e)||t!=="inner"&&!e.parent||t==="inner"&&!e.children)}function kl(r,e,t){if(!r.tree||!e.tree||r.tree!==e.tree)return;if(!r.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!r.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(e===r){console.warn("自身不能拖放到自身!");return}if(r.isAncestorOf(e)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(t!=="inner"&&!e.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(t==="inner"&&!e.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}r.tree._startTransaction();const n=r.parent.children.indexOf(r);if(r.parent.children.splice(n,1),t!=="inner"){const{parent:i}=e;if(!i||!i.children)throw new Error("!parent");const s=i.children.indexOf(e);t==="before"?i.children.splice(s,0,r):t==="after"&&i.children.splice(s+1,0,r)}else e.children.push(r);r.tree._stopTransaction()}function Qp(r,e,t){return uh(r,n=>Pu(n,e,t))}function $p(r,e,t){for(let n of r)Pu(n,e,t)?kl(n,e,t):console.warn(`treeItem(id: ${n.id}) cannot move...`)}const g0={checked:1,unchecked:2,indeterminate:3},m0=["checked","unchecked","indeterminate"];class tg extends B{constructor(t){super();d(this,"_collapsed",this.disposeVar(V(!1)));d(this,"_checkedStatus",this.disposeVar(V("unchecked")));d(this,"_selected",this.disposeVar(V(!1)));d(this,"_moveToPositionMode",this.disposeVar(V("none")));d(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new I));this._treeItem=t;const n=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(n)),this.dispose(this._selected.changed.disposableOn(n)),this.dispose(this._moveToPositionMode.changed.disposableOn(n)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const i=this.disposeVar(be(this._updateCheckedStatusFromChildrenEvent));this.dispose(i.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;ah(this._treeItem.children,o=>(s|=g0[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=m0[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,u=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const l=o.selectedItems.indexOf(this._treeItem);l===-1?u&&console.error("selectedItems index -1"):o.selectedItems.splice(l,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(t){this._collapsed.value=t}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(t){const n=t?"checked":"unchecked";if(this._checkedStatus.value!==n&&(this._checkedStatus.value=n,this._treeItem.children))for(let i of this._treeItem.children)i.uiTreeObject.check(t)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(t){this._selected.value=t}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(t){this._moveToPositionMode.value=t}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const qr=class qr extends B{constructor(t,n=!1,i){super();d(this,"_children");d(this,"_childrenResetedEvent");d(this,"_childrenToChangeEvent");d(this,"_childrenChangedEvent");d(this,"_parent",this.disposeVar(V(void 0)));d(this,"_level",this.disposeVar(V(0)));d(this,"_id");d(this,"_uiTreeObject",this.disposeVar(new tg(this)));this._tree=t,this._hasChildren=n,this._id=i??ko(),this._id!=="_ROOT"&&qr.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),qr.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!qr.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}qr.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),qr.allTreeItems.set(this._id,this),this.dispose(()=>{qr.allTreeItems.delete(this._id)})}static getFromId(t){return qr.wm.get(t)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const t=this.disposeVar(new yu);this._children=t,this.dispose(t.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:u,deleteCount:l,items:c}=a;for(let h=u;h<u+l;++h)o.get(h)._parent.value=void 0;for(let h of c){if(h.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");h._parent.value=this}}}));const n=new Set,i=new Set;this.dispose(t.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){n.clear(),i.clear();for(let u of s){const{start:l,deleteCount:c,items:h}=u;for(let f=l;f<l+c;++f)n.add(o.get(f));for(let f of h)i.add(f)}for(let u of n)i.has(u)&&(n.delete(u),i.delete(u));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,n,i)}})),this.dispose(t.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(t.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(t.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new I),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new I),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new I),this._childrenChangedEvent}resetChildren(t=!1){this._children&&(this._children.length=0),this._hasChildren=t,this._childrenResetedEvent&&this._childrenResetedEvent.emit(t)}*getDescendants(t){const n=this,i=[],s=[];for(n.children&&n.children.length>0&&(!t||t(n))&&(i.push(0),s.push(n.children));i.length>0;){const o=i[i.length-1],a=s[s.length-1],u=a.get(o);yield u,o<a.length-1?++i[i.length-1]:(s.pop(),i.pop()),u.children&&u.children.length>0&&(!t||t(u))&&(i.push(0),s.push(u.children))}}*getAncestors(t){let n=this.parent;for(;n&&(yield n,!(t&&!t(n)));)n=n.parent}isDescendantOf(t){for(let n of this.getAncestors())if(n===t)return!0;return!1}isAncestorOf(t){return t.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(t,n){return Pu(this,t,n)}moveTo(t,n){kl(this,t,n)}detachFromParent(){if(!this.parent||!this.parent.children)return;const t=this.parent.children.indexOf(this);this.parent.children.splice(t,1)}insertNewTreeItem(t,n){if(n&&n.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&t.startsWith("Inner"))return n&&this.children.push(n),!0;if(t==="Inner")return!1;const i=this.parent;if(!i||!i.children)return!1;const s=i.children.indexOf(this);return t.endsWith("Before")?n&&i.children.splice(s,0,n):t.endsWith("After")&&n&&i.children.splice(s+1,0,n),!0}};d(qr,"wm",new Map),d(qr,"allTreeItems",new Map);let Go=qr;class eg extends B{constructor(t){super();d(this,"_redrawEvent",this.disposeVar(new I));d(this,"_containerScrollTop",this.disposeVar(V(0)));d(this,"_containerClientHeight",this.disposeVar(V(-1)));d(this,"_container",this.disposeVar(V(void 0)));d(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=t;const n=this._containerClientHeight,i=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(be(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,n.changed,i.changed,s)),{redrawInfo:a}=this,u=c=>{const h=c.uiTreeObject;return!!c.children&&(!h||!h.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const c=lh(this._tree.getDescendants(u)),h=this._tree.itemDivHeight,f=h*c,p=Di([os([Di([f-n.value,0]),i.value]),0]),m=p/h|0,w=Math.ceil((p-m*h+n.value)/h)|0;m>0&&(a.topUnvisibleItemNum=m,a.topFreeSpaceHeight=m*this._tree.itemDivHeight);const E=m+w;let b=0;for(let y of this._tree.getDescendants(u)){if(b>=E)break;b>=m&&a.middleTreeItems.push(y),++b}const v=c-m-w;v>0&&(a.bottomUnvisibleItemNum=v,a.bottomFreeSpaceHeight=v*this._tree.itemDivHeight)}else for(let c of this._tree.getDescendants(u))a.middleTreeItems.push(c);this._redrawEvent.emit(a)}));let l;this.dispose(()=>l&&(l.destroy(),l=void 0)),this.dispose(this.containerChanged.disposableOn(c=>{l&&(l.destroy(),l=void 0),c&&(l=wu(),l.start(()=>{const{scrollTop:h,clientHeight:f}=c;typeof h>"u"||typeof f>"u"?Ao("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=h,this.containerClientHeight=f)}))}))}get container(){return this._container.value}set container(t){this._container.value=t}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(t){const n=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let i=0,s=!1;for(let o of this._tree.getDescendants(n)){if(o===t){s=!0;break}++i}if(s)return[i,i*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let t of this.tree.root.getDescendants()){const n=t.uiTreeObject;n.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(t){this._containerScrollTop.value=t}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(t){this._containerClientHeight.value=t}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(t){for(let n of this._tree.getDescendants())(!t||t(n))&&(yield n)}getAllSelectedItems(){return this.getAllItems(t=>t.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(t=>!t.children&&t.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(t){for(let n of this.getAllSelectedItems())(!t||!t.includes(n))&&(n.uiTreeObject.selected=!1)}}let Wo=(Xr=class extends B{constructor(t){super();d(this,"_root",this.disposeVar(new Go(this,!0,"_ROOT")));d(this,"_itemChildrenChanged",this.disposeVar(new I));d(this,"_itemChildrenToChange",this.disposeVar(new I));d(this,"_itemsAdded",this.disposeVar(new I));d(this,"_itemsDeleted",this.disposeVar(new I));d(this,"_itemsChanged",this.disposeVar(new I));d(this,"_transactionStack",0);d(this,"_addedItems",new Set);d(this,"_deletedItems",new Set);d(this,"_selectedItems",this.disposeVar(new yu));d(this,"_itemDivHeight",this.disposeVar(V(Xr.defaultItemDivHeight)));d(this,"_forceRedrawEvent",this.disposeVar(new I));d(this,"_uiTree",this.disposeVar(new eg(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((n,i)=>{if(!n.children){console.error("!item.children");return}for(let s of i){const{start:o,deleteCount:a,items:u}=s;for(let l=o;l<o+a;++l){const c=n.children.get(l);this._deletedItems.has(c)?console.error(`this._deletedItems.has(currentItem(${c.id}))`):this._deletedItems.add(c)}for(let l of u)this._deletedItems.has(l)?this._deletedItems.delete(l):this._addedItems.add(l)}this._execTransaction()})),t!==void 0&&(this.itemDivHeight=t)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(t){this._itemDivHeight.value=t}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(t){return this._root.getDescendants(t)}getTreeItemFromId(t){let n;for(let i of this.getDescendants())if(i.id===t){n=i;break}return n}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},d(Xr,"defaultItemDivHeight",24),d(Xr,"canMoveToTreeItem",Pu),d(Xr,"moveToTreeItem",kl),d(Xr,"canMoveToTreeItems",Qp),d(Xr,"moveToTreeItems",$p),Xr);class le extends B{constructor(t,n,i=!0,s){super();d(this,"_obj",this.disposeVar(V(void 0)));this._resetEvent=t,this._createFunc=n;const o=this._resetEvent,a=this._createFunc,u=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(u);const l=(...c)=>{u(),this._obj.value=a(...c)};i&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(l))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class v0 extends B{constructor(t,n=!0,i){super();d(this,"_event",this.disposeVar(new I));d(this,"_objResettingWithEvent");this._createFunc=t,this._execOnInit=n,this._initParams=i,this._objResettingWithEvent=this.disposeVar(new le(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...t){this._event.emit(...t)}}const Jc=class Jc extends B{constructor(){super();d(this,"_set",new Set);d(this,"_toChangeEvent",this.dv(new I));d(this,"_changedEvent",this.dv(new I));d(this,"main");this.dispose(()=>{this._set.size!==0&&(Jc.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...t){if(t.length==2&&typeof t[1]=="boolean")t[1]&&(this.main=t[0]);else for(let n of t)this._toChangeEvent.emit([],[n]),this._set.add(n),this._changedEvent.emit([],[n])}delete(...t){for(let n of t)this.main&&this.main==n&&(this.main=void 0),this._toChangeEvent.emit([n],[]),this._set.delete(n),this._changedEvent.emit([n],[])}disposableAdd(...t){return t.length==2&&typeof t[1]=="boolean"?(t[1]&&(this.main=t[0]),this.add(t[0]),()=>this.delete(t[0])):(this.add(...t),()=>this.delete(...t))}get size(){return this._set.size}clear(){const t=[...this._set];this._toChangeEvent.emit([],t),this._set.clear(),this._changedEvent.emit([],t),this.main=void 0}values(){return this._set.values()}};d(Jc,"warnOnDestroying",!0);let Vl=Jc;async function ng(r){const e=[],t=[],n=r.entries();for await(const[i,s]of n){const o=s;o.kind==="file"?e.push(i):o.kind==="directory"&&t.push(i)}return{files:e,dirs:t}}async function Mh(r){return await(await r.getFile()).text()}async function rg(r){const e=await Mh(r);try{return JSON.parse(e)}catch{return}}async function ig(r){return await(await r.getFile()).arrayBuffer()}class sg extends B{constructor(e){super(),this._rootDirHandle=e}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await ng(this._rootDirHandle)}async getDir(e){let t=this._rootDirHandle;for(const n of e)if(t=await(t==null?void 0:t.getDirectoryHandle(n)),!t){console.log(`getDirectoryHandle ${n} failed`);return}return t}async getFile(e,t){const n=await this.getDir(e);if(n)try{return await n.getFileHandle(t)}catch(i){console.error(`未能获取当前文件 ${e.join("/")}/${t} error: ${i}`,i);return}}}class og extends B{constructor(t){super();d(this,"_startRootDirId",0);d(this,"_dirMap",new Map);this._prefix=t}get prefix(){return this._prefix}async getRootDirId(t){let n;try{console.log("window.showDirectoryPicker begin"),n=await window.showDirectoryPicker({id:t,mode:"read"}),console.log("window.showDirectoryPicker end",n)}catch(i){console.error(`LocalFileServer getRootDirId failed: ${i}`,i);return}if(n){const i=++this._startRootDirId,s=`${this._prefix}${i}`;return this._dirMap.set(s,new sg(n)),s}}getRootDir(t){return this._dirMap.get(t)}async getFile(t){const n=t.split("/");if(n.length<2){console.warn(`LocalFileServer getFile failed: ${t}`);return}const i=n[0],s=this._dirMap.get(i);if(!s){console.warn(`LocalFileServer getFile failed: ${t}`);return}const o=n.slice(1,n.length-1),a=n[n.length-1],u=await s.getFile(o,a);if(!u){console.warn(`LocalFileServer getFile failed: ${t}`);return}return u}async getText(t){const n=await this.getFile(t);if(n)return await Mh(n)}async getArrayBuffer(t){const n=await this.getFile(t);if(n)return await ig(n)}async getJson(t){const n=await this.getFile(t);if(n)return await rg(n)}async getLocalFilePath(t,n,i){const s=await this.getRootDirId(n);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const u=t?a.files.filter(l=>t.some(c=>l.endsWith(c))):a.files;if(u.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${u[0]}`}}const ag=new og("xe2_local");async function y0(r,e,t){return await ag.getLocalFilePath(r,e,t)}class ug extends B{constructor(t,n){super();d(this,"_processing",this.disposeVar(Zn(async t=>{const n=this._complexImage,i=await t.promise(Pp(this._imageUri,this._complexImage.crossOrigin));i&&i instanceof HTMLImageElement&&(n.size=[i.naturalWidth,i.naturalHeight],n.pixelFormat="RGBA",n.copyTexture({source:i}))})));this._complexImage=t,this._imageUri=n,this._processing.start()}get processing(){return this._processing}}const lg=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],cg=["img","gif","video","flv","hls"];let _0=class extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden",i.style.width="0px",i.style.height="0px";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class hg extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new _0(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Rh(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Lh={},Mi={},dg;function w0(){if(dg)return Mi;dg=1,Object.defineProperty(Mi,"__esModule",{value:!0}),Mi.loop=Mi.conditional=Mi.parse=void 0;var r=function n(i,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(l){return n(i,l,o,a)});else if(typeof s=="function")s(i,o,a,n);else{var u=Object.keys(s)[0];Array.isArray(s[u])?(a[u]={},n(i,s[u],o,a[u])):a[u]=s[u](i,o,a,n)}return o};Mi.parse=r;var e=function(i,s){return function(o,a,u,l){s(o,a,u)&&l(o,i,a,u)}};Mi.conditional=e;var t=function(i,s){return function(o,a,u,l){for(var c=[],h=o.pos;s(o,a,u);){var f={};if(l(o,i,a,f),o.pos===h)break;h=o.pos,c.push(f)}return c}};return Mi.loop=t,Mi}var ce={},fg;function pg(){if(fg)return ce;fg=1,Object.defineProperty(ce,"__esModule",{value:!0}),ce.readBits=ce.readArray=ce.readUnsigned=ce.readString=ce.peekBytes=ce.readBytes=ce.peekByte=ce.readByte=ce.buildStream=void 0;var r=function(h){return{data:h,pos:0}};ce.buildStream=r;var e=function(){return function(h){return h.data[h.pos++]}};ce.readByte=e;var t=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(f){return f.data[f.pos+h]}};ce.peekByte=t;var n=function(h){return function(f){return f.data.subarray(f.pos,f.pos+=h)}};ce.readBytes=n;var i=function(h){return function(f){return f.data.subarray(f.pos,f.pos+h)}};ce.peekBytes=i;var s=function(h){return function(f){return Array.from(n(h)(f)).map(function(p){return String.fromCharCode(p)}).join("")}};ce.readString=s;var o=function(h){return function(f){var p=n(2)(f);return h?(p[1]<<8)+p[0]:(p[0]<<8)+p[1]}};ce.readUnsigned=o;var a=function(h,f){return function(p,m,w){for(var E=typeof f=="function"?f(p,m,w):f,b=n(h),v=new Array(E),y=0;y<E;y++)v[y]=b(p);return v}};ce.readArray=a;var u=function(h,f,p){for(var m=0,w=0;w<p;w++)m+=h[f+w]&&Math.pow(2,p-w-1);return m},l=function(h){return function(f){for(var p=e()(f),m=new Array(8),w=0;w<8;w++)m[7-w]=!!(p&1<<w);return Object.keys(h).reduce(function(E,b){var v=h[b];return v.length?E[b]=u(m,v.index,v.length):E[b]=m[v.index],E},{})}};return ce.readBits=l,ce}var gg;function E0(){return gg||(gg=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var e=w0(),t=pg(),n={blocks:function(f){for(var p=0,m=[],w=f.data.length,E=0,b=(0,t.readByte)()(f);b!==p&&b;b=(0,t.readByte)()(f)){if(f.pos+b>=w){var v=w-f.pos;m.push((0,t.readBytes)(v)(f)),E+=v;break}m.push((0,t.readBytes)(b)(f)),E+=b}for(var y=new Uint8Array(E),_=0,C=0;C<m.length;C++)y.set(m[C],_),_+=m[C].length;return y}},i=(0,e.conditional)({gce:[{codes:(0,t.readBytes)(2)},{byteSize:(0,t.readByte)()},{extras:(0,t.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,t.readUnsigned)(!0)},{transparentColorIndex:(0,t.readByte)()},{terminator:(0,t.readByte)()}]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===249}),s=(0,e.conditional)({image:[{code:(0,t.readByte)()},{descriptor:[{left:(0,t.readUnsigned)(!0)},{top:(0,t.readUnsigned)(!0)},{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{lct:(0,t.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,e.conditional)({lct:(0,t.readArray)(3,function(h,f,p){return Math.pow(2,p.descriptor.lct.size+1)})},function(h,f,p){return p.descriptor.lct.exists}),{data:[{minCodeSize:(0,t.readByte)()},n]}]},function(h){return(0,t.peekByte)()(h)===44}),o=(0,e.conditional)({text:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{preData:function(f,p,m){return(0,t.readBytes)(m.text.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===1}),a=(0,e.conditional)({application:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{id:function(f,p,m){return(0,t.readString)(m.blockSize)(f)}},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===255}),u=(0,e.conditional)({comment:[{codes:(0,t.readBytes)(2)},n]},function(h){var f=(0,t.peekBytes)(2)(h);return f[0]===33&&f[1]===254}),l=[{header:[{signature:(0,t.readString)(3)},{version:(0,t.readString)(3)}]},{lsd:[{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{gct:(0,t.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,t.readByte)()},{pixelAspectRatio:(0,t.readByte)()}]},(0,e.conditional)({gct:(0,t.readArray)(3,function(h,f){return Math.pow(2,f.lsd.gct.size+1)})},function(h,f){return f.lsd.gct.exists}),{frames:(0,e.loop)([i,a,u,s,o],function(h){var f=(0,t.peekByte)()(h);return f===33||f===44})}],c=l;r.default=c})(Lh)),Lh}var C0=E0();const S0=Rh(C0);var b0=pg();const P0=(r,e)=>{const t=new Array(r.length),n=r.length/e,i=function(c,h){const f=r.slice(h*e,(h+1)*e);t.splice.apply(t,[c*e,e].concat(f))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,u=0;u<4;u++)for(var l=s[u];l<n;l+=o[u])i(l,a),a++;return t},I0=(r,e,t)=>{const s=t;var o,a,u,l,c,h,f,C,p,m,_,w,S,P,R,T;const E=new Array(t),b=new Array(4096),v=new Array(4096),y=new Array(4097);for(w=r,a=1<<w,c=a+1,o=a+2,f=-1,l=w+1,u=(1<<l)-1,p=0;p<a;p++)b[p]=0,v[p]=p;var _,C,S,P,T,R;for(_=C=S=P=T=R=0,m=0;m<s;){if(P===0){if(C<l){_+=e[R]<<C,C+=8,R++;continue}if(p=_&u,_>>=l,C-=l,p>o||p==c)break;if(p==a){l=w+1,u=(1<<l)-1,o=a+2,f=-1;continue}if(f==-1){y[P++]=v[p],f=p,S=p;continue}for(h=p,p==o&&(y[P++]=S,p=f);p>a;)y[P++]=v[p],p=b[p];S=v[p]&255,y[P++]=S,o<4096&&(b[o]=f,v[o]=S,o++,(o&u)===0&&o<4096&&(l++,u+=o)),f=h}P--,E[T++]=y[P],m++}for(m=T;m<s;m++)E[m]=0;return E},x0=r=>{const e=new Uint8Array(r);return Ln.parse(b0.buildStream(e),S0)},T0=r=>{const e=r.pixels.length,t=new Uint8ClampedArray(e*4);for(var n=0;n<e;n++){const i=n*4,s=r.pixels[n],o=r.colorTable[s]||[0,0,0];t[i]=o[0],t[i+1]=o[1],t[i+2]=o[2],t[i+3]=s!==r.transparentIndex?255:0}return t},N0=(r,e,t)=>{if(!r.image){console.warn("gif frame does not have associated image.");return}const{image:n}=r,i=n.descriptor.width*n.descriptor.height;var s=I0(n.data.minCodeSize,n.data.blocks,i);n.descriptor.lct.interlaced&&(s=P0(s,n.descriptor.width));const o={pixels:s,dims:{top:r.image.descriptor.top,left:r.image.descriptor.left,width:r.image.descriptor.width,height:r.image.descriptor.height}};return n.descriptor.lct&&n.descriptor.lct.exists?o.colorTable=n.lct:o.colorTable=e,r.gce&&(o.delay=(r.gce.delay||10)*10,o.disposalType=r.gce.extras.disposal,r.gce.extras.transparentColorGiven&&(o.transparentIndex=r.gce.transparentColorIndex)),o.patch=T0(o),o},O0=(r,e)=>r.frames.filter(t=>t.image).map(t=>N0(t,r.gct));async function mg(r){const t=await(await fetch(r)).arrayBuffer(),n=x0(t),i=O0(n);return{gif:n,gifFrames:i,arrayBuffer:t}}function vg(r,e,t){return r<e?e:r>t?t:r}class yg extends Fl{constructor(t,n=!0,i){super();d(this,"_gifFrames",this.disposeVar(V(void 0)));d(this,"_gifDurations",[]);d(this,"_gifDuration",this.disposeVar(V(0)));d(this,"_gifSize",this.disposeVar(V([0,0],(t,n)=>t.every((i,s)=>i===n[s]),t=>[...t])));d(this,"_autoPlayOnLoad",this.disposeVar(V(!0)));d(this,"_gifCanvas");this._container=t,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(l=>{if(!l||l.length===0){s.width=0,s.height=0;return}const{width:c,height:h}=l[0].dims;this._gifSize.value=[c,h];const f=l.length;let p=0;this._gifDurations.length=0;for(let m=0;m<f;++m)p+=l[m].delay,this._gifDurations.push(p);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=c,s.height=h,a=o.createImageData(c,h),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let u=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(l=>{const c=vg(l/this.duration,0,1),h=this.gifDuration*c,f=this._gifFrames.value;if(f&&f.length>0){const p=this._getFrame(h);if(p===u)return;u=p;const m=f[p];if(m.disposalType!==0&&m.disposalType!==1&&m.disposalType!==2&&Ao(`gif parsed get disposalType ${m.disposalType}... frame: ${p} size: ${JSON.stringify(m.dims)}`,`gif parsed get disposalType ${m.disposalType}...`),a&&(p===0||m.disposalType===2)&&a.data.fill(0),a){const[w,E]=this._gifSize.value,{width:b,height:v,left:y,top:_}=m.dims;if(v>E)throw new Error("height > canvasHeight");for(let C=0;C<v;++C)for(let S=0;S<b;++S){const P=C*b+S,T=_+C,R=y+S,F=T*w+R,N=a.data,L=m.patch,M=L[P*4+3]/255;N[F*4+0]=N[F*4+0]*(1-M)+L[P*4+0]*M|0,N[F*4+1]=N[F*4+1]*(1-M)+L[P*4+1]*M|0,N[F*4+2]=N[F*4+2]*(1-M)+L[P*4+2]*M|0,N[F*4+3]=vg(N[F*4+3]+L[P*4+3],0,255)|0}o.putImageData(a,0,0)}}else Ao("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=n,this._gifFrames.value=i}get gifCanvas(){return this._gifCanvas}set gifFrames(t){this._gifFrames.value=t}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(t){this._autoPlayOnLoad.value=t}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(t){const n=this._gifDurations.length;for(let i=0;i<n;++i)if(t<=this._gifDurations[i])return i;throw new Error("should not be here")}}class _g extends B{constructor(t){super();d(this,"_player");d(this,"_url",this.disposeVar(V("")));d(this,"_loadGifFramesProcessing",this.disposeVar(Al(t=>Ll(mg(t)))));this._player=this.disposeVar(new yg(t)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:n})=>this._player.gifFrames=n,this.dispose(this._url.changed.disposableOn(n=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new Sr(`reload gif(${n})`),n)}))}get player(){return this._player}set url(t){this._url.value=t}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class wg extends B{constructor(t,n){super();d(this,"_gif",this.disposeVar(new _g));d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:t}=this._gif;if(!t.gifFrames)return;const n=this._complexImage,{width:i,height:s}=t.gifCanvas;n.size=[i,s],n.pixelFormat="RGBA",n.copyTexture({source:t.gifCanvas});{const o=()=>{t.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{t.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function Eg(r,e){const[t,n,i]=Ni(r),s=V(void 0),o=()=>{const a=t()??e;s.value=a&&Z.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(Z.context.environmentVariablesChanged.don(o)),s}function Cg(r){const e=/\${(.*?)\}/g;if(!e.test(r))return r;const t=r.replace(e,(n,i)=>{const s=Z.context.getEnv(i);return s===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):s});return Cg(t)}class D0 extends B{constructor(t){super();d(this,"_sceneObjRefs",new Map);d(this,"_refs",{});d(this,"_refsChanged",this.dv(new I));const n=(i,s,o)=>{if(o){const a=this.getLastSceneObject(o),u=this._sceneObjRefs.get(o);if(!u)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const c=u.indexOf(i);c===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${i.id} type: ${i.typeName})!可能系统存在逻辑问题`):(u.splice(c,1),u.length===0&&this._sceneObjRefs.delete(o))}const l=this.getLastSceneObject(o);this._refs[o]=l,this._refsChanged.emit(l,a)}if(s){const a=this.getLastSceneObject(s),u=this._sceneObjRefs.get(s);u?(u.push(i),u.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
|
|
22
22
|
${u.map(c=>`${c.id} ${c.typeName}
|
|
23
23
|
`).join(" ")}`)):this._sceneObjRefs.set(s,[i]);const l=this.getLastSceneObject(s);this._refs[s]=l,this._refsChanged.emit(l,a)}};this.d(t.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>n(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(t.sceneObjToDestroyEvent.don(i=>{i.ref&&n(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(t){const n=this.getSceneObjects(t);if(n)return n[n.length-1]}getSceneObjects(t){const n=this._sceneObjRefs.get(t);if(!(!n||n.length===0))return n}}class M0 extends B{constructor(){super();d(this,"_esObjConstructors",new Map);d(this,"_sceneObjs",new Map);d(this,"_sceneObjCreatedEvent",new I);d(this,"_sceneObjToDestroyEvent",new I);d(this,"_refsManager",this.dv(new D0(this)));d(this,"_environmentVariables",window.ESSDK_ENV||{});d(this,"_environmentVariablesChanged",this.dv(new I))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(t,n,i){return this._esObjConstructors.has(t)&&console.warn(`register warn: ${t} has registered ! will be override!`),this._esObjConstructors.set(t,n),i&&ti(n,"__sceneObjExtraInfo",i),t}_addSceneObject(t){this._sceneObjs.set(t.id,t),this._sceneObjCreatedEvent.emit(t),t.d(()=>this._deleteSceneObject(t))}addSceneObject(t){this._addSceneObject(t)}_deleteSceneObject(t){this._sceneObjToDestroyEvent.emit(t),this._sceneObjs.delete(t.id)}deleteSceneObject(t){this._deleteSceneObject(t)}createSceneObjectFromClass(t,n){if(!n||this._sceneObjs.has(n)){const s=ko();n&&console.warn(`已存在相同id的对象!id自动变更!${n} -> ${s} 请注意:id变更可能导致引用失效!`),n=s}if(!n)throw new Error("id不能为空!");const i=new t(n);return i.id!==n&&(console.warn(`sceneObj.id(${i.id}) !== id(${n}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(t,n){if(typeof t=="string"){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`Cannot find SceneObjectType: ${t}`);return}return this.createSceneObjectFromClass(i,n)}else return this.createSceneObjectFromClass(t,n)}createSceneObjectFromUrl(t,n){let i;const s=t.toLowerCase();if(s.includes(".gltf")||s.includes(".glb")?i="ESGltfModel":s.includes("tileset.json")?i="ES3DTileset":s.includes("layer.json")||s.includes("ion://1")?i="ESTerrainLayer":s.includes(".jpg")||s.includes(".png")||s.includes(".jpeg")||s.includes(".webp")||s.includes("image/jpg")||s.includes("image/png")||s.includes("image/jpeg")||s.includes("image/webp")?i="ESImageLabel":(s.includes("/tilemapresource.xml")||s.includes("ion://")||s.includes("wms")||s.includes("wmts")||s.includes("{x}")||s.includes("{y}")||s.includes("{z}"))&&(i="ESImageryLayer"),!!i)return this.createSceneObjectFromJson({type:i,id:n,url:t})}createSceneObjectFromJson(t){const n=this.createSceneObject(t.type,t.id);return n&&(n.json=t),n}destroySceneObject(t){return this._deleteSceneObject(t),t.destroy(),t.isDestroyed()}getSceneObjectById(t){return this._sceneObjs.get(t)}getSceneObject(t){if(!t&&t!="")return Array.from(this._sceneObjs.values());if(t.startsWith("ES")){const n=[];for(const i of this._sceneObjs.values())i.typeName===t&&n.push(i);return n}else return this._sceneObjs.get(t)}_getSceneObjConstructor(t){const n=this._esObjConstructors.get(t);if(n)return n}getProps(t){const n=this._getSceneObjConstructor(t);if(!n){console.warn(`cannot get constructor from type: ${t}`);return}return An(n,"__sceneObjExtraInfo")}setProps(t,n){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`cannot get constructor from type: ${t}`);return}let s=An(i,"__sceneObjExtraInfo");s||(s={},ti(i,"__sceneObjExtraInfo",s)),Object.assign(s,n)}getProp(t,n){const i=this.getProps(t);return i&&i[n]}setProp(t,n,i){this.setProps(t,{[n]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(t){for(let[n,i]of Object.entries(t))this.setEnv(n,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(t,n){if(this._environmentVariables[t]!==n){const i=this._environmentVariables[t];this._environmentVariables[t]=n,this._environmentVariablesChanged.emit(t,n,i)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(t){return this._environmentVariables[t]}getStrFromEnv(t){return Cg(t)}createEnvStrReact(t,n){return Eg(t,n)}createEvnStrReact(t,n){return Eg(t,n)}}const ht=class ht extends B{constructor(t){super();d(this,"_components",this.dv(new Vl));d(this,"_viewerAttached",this.dv(new I));d(this,"_viewerDetached",this.dv(new I));d(this,"_attachedViewers",(()=>{const t=new Set;return this.d(this._viewerAttached.don(n=>{n.actived&&(this.activeViewer=n),n.ad(n.activedChanged.don(i=>{i&&t.has(n)&&(this.activeViewer=n)})),t.add(n)})),this.d(this._viewerDetached.don(n=>{t.delete(n),this.activeViewer==n&&(this.activeViewer=void 0)})),t})());d(this,"_activeViewer",this.disposeVar(V(void 0)));d(this,"_createdEvent",this.dv(new I));d(this,"_flushEvent",this.dv(new I));d(this,"_id");d(this,"_updateFuncReact",this.dv(V(void 0)));d(this,"_toDestroyFuncReact",this.dv(V(void 0)));d(this,"_parentID");t!==void 0&&(typeof t!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof t},值为${t}`):t.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):t.trim()!==t&&console.warn(`id前后有空字符串!id: ${t}`)),this._id=t??ko(),this._initName();{const n=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};n(),this.d(this.execOnceFuncStrChanged.don(n))}{const n=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};n(),this.d(this.updateFuncStrChanged.don(n));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||wu(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const n=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(i){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`),this.toDestroyFunc=void 0}};n(),this.d(this.toDestroyFuncStrChanged.don(n)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(t,n,i){Oi(n.prototype,n.createDefaultProps);const s=n.createDefaultProps();n.defaults&&(n.defaults={});for(const o of Object.keys(s))n.defaults[o]=s[o]instanceof De?s[o].value:s[o];return this.innerRegister(t,n,i),t}static get envs(){return ht.context.environmentVariables}static get $refs(){return ht.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(t){this.attachedViewers.has(t)&&t.delete(this)}addToViewer(t){this.attachedViewers.has(t)||t.add(this)}registerAttachedObject(t){const n=new Map;this.d(()=>{n.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=t(i);s&&n.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!n.has(i))return;const s=n.get(i);s&&(s.destroy(),n.delete(i))}))}createAttachedObject(t){const n=new Map,i=(()=>{for(let[u,l]of n.entries())l.destroy();n.clear()}),s=u=>{const l=t(u);l&&n.set(u,l)};for(let u of this.attachedViewers)s(u);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(u=>{if(!n.has(u))return;const l=n.get(u);l&&(l.destroy(),n.delete(u))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(t){this.registerAttachedObject(n=>new R0(n,t))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.type}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return this.constructor.createDefaultProps()}_innerGetJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof De?s=o.equals(this[i]):s=o===this[i],s||(n[i]=this[i])}else n[i]=this[i];return n}_innerSetJson(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 s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof De&&(u=u.value),this[a]=u}}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(t){this._innerSetJson(JSON.parse(t))}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 parentID(){return this._parentID??this.id}set parentID(t){this._parentID=t}getProperties(t){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new rt(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new rt(n[s],s))}),i}getESProperties(){return{defaultMenu:"general",basic:[],general:[new ut([this,"typeName"],"类型",void 0,!1,!0),new ut([this,"id"],"唯一标识",void 0,!1,!0),new ut([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new ut([this,"ref"],"ref",void 0,!0),new K([this,"extras"],"extras",void 0,void 0,!0),new xg(()=>this._jsonStr,t=>t&&(this._jsonStr=t),"JSON")]}}};d(ht,"context",new M0),d(ht,"innerRegister",ht.context.register.bind(ht.context)),d(ht,"defaults",{}),d(ht,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:dt(void 0),devTags:Ht(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),d(ht,"type",ht.register("ESSceneObject",ht,{chsName:"场景类",tags:["ESObjects"],description:""})),d(ht,"create",ht.context.createSceneObject.bind(ht.context)),d(ht,"createFromUrl",ht.context.createSceneObjectFromUrl.bind(ht.context)),d(ht,"createFromClass",ht.context.createSceneObjectFromClass.bind(ht.context)),d(ht,"createFromJson",ht.context.createSceneObjectFromJson.bind(ht.context)),d(ht,"destroySceneObject",ht.context.destroySceneObject.bind(ht.context)),d(ht,"getSceneObjById",ht.context.getSceneObjectById.bind(ht.context)),d(ht,"getSceneObj",ht.context.getSceneObject.bind(ht.context)),d(ht,"getEnv",ht.context.getEnv.bind(ht.context)),d(ht,"setEnv",ht.context.setEnv.bind(ht.context)),d(ht,"getStrFromEnv",ht.context.getStrFromEnv.bind(ht.context)),d(ht,"getSceneObjectById",ht.context.getSceneObjectById.bind(ht.context)),d(ht,"getSceneObject",ht.context.getSceneObject.bind(ht.context));let Z=ht;class R0 extends B{constructor(e,t){super(),this.dv(new le(e.subContainerChanged,()=>{if(e.subContainer)return t(e,e.subContainer)}))}}const Zc=class Zc extends B{constructor(t,n){super();d(this,"_id",++Zc._accumId);this._name=t,this._description=n}get id(){return this._id}get name(){return this._name}get description(){return this._description}};d(Zc,"_accumId",-1);let us=Zc;class Ah extends us{constructor(e,t,n,i,s){super(e,t),this._withUndefined=n,this._readonly=i,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class yt extends Ah{constructor(e,t,n,i,s,o){const a=e instanceof De?"未获取到属性名":e[1].toString();super(t??a,o??a,i??!1,s??!1,n),this._reactVar=e}get reactVar(){return this._reactVar}}class X extends yt{get type(){return"BooleanProperty"}}class ut extends yt{get type(){return"StringProperty"}}class O extends yt{get type(){return"NumberProperty"}}class L0 extends yt{get type(){return"MaximumScreenSpaceErrorProperty"}}class Sg extends yt{get type(){return"StringsProperty"}}class A0 extends yt{get type(){return"NumbersProperty"}}class F0 extends yt{get type(){return"BooleansProperty"}}class k0 extends yt{get type(){return"String2Property"}}class V0 extends yt{get type(){return"String3Property"}}class B0 extends yt{get type(){return"String4Property"}}class bg extends yt{get type(){return"String2sProperty"}}class j0 extends yt{get type(){return"String3sProperty"}}class z0 extends yt{get type(){return"String4sProperty"}}class Ie extends yt{get type(){return"Number2Property"}}class Ke extends yt{get type(){return"Number3Property"}}class br extends yt{get type(){return"Number4Property"}}class U0 extends yt{get type(){return"Number4WithUndefinedProperty"}}class Pg extends yt{get type(){return"Number2sProperty"}}class Fh extends yt{get type(){return"Number3sProperty"}}class G0 extends yt{get type(){return"Number4sProperty"}}class W0 extends yt{get type(){return"Boolean2Property"}}class q0 extends yt{get type(){return"Boolean3Property"}}class X0 extends yt{get type(){return"Boolean4Property"}}class H0 extends yt{get type(){return"Boolean2sProperty"}}class Y0 extends yt{get type(){return"Boolean3sProperty"}}class J0 extends yt{get type(){return"Boolean4sProperty"}}class Z0 extends yt{get type(){return"StringNumberProperty"}}class K0 extends yt{get type(){return"StringNumbersProperty"}}class Et extends br{get type(){return"ColorProperty"}}class Q0 extends Ke{get type(){return"ColorRgbProperty"}}class $0 extends O{get type(){return"DashPatternProperty"}}class mt extends yt{constructor(e,t,n,i,s,o,a){super(e,n,i,s,o,a),this._enums=t}get type(){return"EnumProperty"}get enums(){return this._enums}}class tw extends yt{constructor(e,t,n,i,s,o,a){super(e,n,i,s,o,a),this._enums=t}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class ls extends yt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class Ig extends yt{constructor(e,t,n,i,s){super(e,t,i,!1,!1,s),this._paramTypes=n}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class it extends us{constructor(t,n,i,s,o){const a=s??"Unnamed Function";super(a,o??a);d(this,"_paramsProperty");d(this,"_getValueFunc");this._func=n;const u=this.disposeVar(dt(i));this._paramsProperty=this.disposeVar(new Ig(u,a+"_params",t,i));const[l]=Ni(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class rt extends us{constructor(e,t,n){const i=t??"分组";super(i,n??i),this._children=e}get type(){return"GroupProperty"}get children(){return this._children}}class K extends yt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class kh extends yt{constructor(e,t,n,i,s,o,a){super(e,t,n,s,o,a),this._sampleValue=i}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class ew extends Ie{get type(){return"MinmaxProperty"}}class nw extends br{get type(){return"NearFarScalerProperty"}}class xg extends Ah{constructor(e,t,n,i,s,o,a){const u=n??"非响应式Json";super(u,a??u,s??!1,o??!1,i),this._getJsonStringFunc=e,this._setJsonStringFunc=t}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class rw extends Ie{get type(){return"NumberRangeProperty"}}class Me extends yt{constructor(e,t,n,i,s,o,a,u){super(e,i,s,o,a,u),this._step=t,this._minMax=n}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function iw(r,e){const[t,n,i]=Ni(r),[s,o,a]=Ni(e),u=V((t()??0)/(s()??3e3)),l=()=>{const c=u.value,h=s()??3e3,f=t()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||(h<=0?u.value=0:u.value=f/h)};return u.dispose(i.disposableOn(l)),u.dispose(a.disposableOn(l)),u.dispose(u.changed.disposableOn(()=>{const c=u.value,h=s()??3e3,f=t()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||n(c*h)})),u}class Bl extends us{constructor(t,n,i,s,o,a){super(s??"播放器",a??"播放器");d(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=t,this._ratioReact=n,this._loopReact=i,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.ratio=o.ratio??this._defaults.ratio,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}d(Bl,"createPlayingRatio",iw);class qo extends Ke{get type(){return"PositionProperty"}}class Tg extends yt{get type(){return"PositionsProperty"}}class sw extends yt{get type(){return"PositionsSetPropety"}}class Vh extends Ke{get type(){return"RotationProperty"}}class Iu extends ut{get type(){return"UriProperty"}}class Ng extends us{constructor(t,n,i,s,o,a){const u=s??"视角播放器";super(u,a??u);d(this,"_defaults",{playing:!1,loop:!1});this._playingReact=t,this._stopFn=n,this._loopReact=i,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class Og extends yt{get type(){return"DatesProperty"}}class Hs extends yt{get type(){return"DateProperty"}}var Q=(r=>(r.Place="place",r.Translation="translation",r.Rotation="rotation",r.Scale="scale",r.DoublePointsAppend="doublePointsAppend",r.DoublePointsModify="doublePointsModify",r.CircularAppend="circularAppend",r.CircularInsert="circularInsert",r.LineStringAppend="lineStringAppend",r.LineStringInsert="lineStringInsert",r.ScatterAppend="scatterAppend",r.ScatterModify="scatterModify",r.VisibilityAppend="visibilityAppend",r.VisibilityModify="visibilityModify",r.HeightModify="heightModify",r))(Q||{}),Dg=(r=>(r.DECIMAL_DEGREE="DECIMAL_DEGREE",r.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",r.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",r))(Dg||{});class ow{constructor(e){this.childPickedInfo=e}}class aw{constructor(e,t,n,i,s,o){this.pickResult=e,this.sceneObject=t,this.tilesetPickInfo=n,this.geojsonPickInfo=i,this.attachedInfo=s,this.screenPosition=o}assign(e){e!=null&&e.pickedResult&&(this.pickResult=e.pickedResult),e!=null&&e.sceneObject&&(this.sceneObject=e.sceneObject),e!=null&&e.tilesetPickInfo&&(this.tilesetPickInfo=e.tilesetPickInfo),e!=null&&e.geojsonPickInfo&&(this.geojsonPickInfo=e.geojsonPickInfo),e!=null&&e.attachedInfo&&(this.attachedInfo=e.attachedInfo),e!=null&&e.screenPosition&&(this.screenPosition=e.screenPosition)}}const ue=class ue extends Z{constructor(t){super(t);d(this,"_editing",this.dv(V(!1)));d(this,"editingID");d(this,"editingBindMode","singlePoint");d(this,"_deprecated",[]);d(this,"_flyInEvent",this.dv(new I));d(this,"_flyToEvent",this.dv(new I));d(this,"_flyOverEvent",this.disposeVar(new I));d(this,"_pickedEvent",this.dv(new I));d(this,"_calcFlyToParamEvent",this.dv(new I));d(this,"_calcFlyInParamEvent",this.dv(new I));d(this,"useCalcFlyToParamInESObjectWithLocation",!1);Fg(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(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const u=i[s];typeof u=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(u).forEach((l=>{a===l&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${l} 下版本将会被移除,推荐使用属性值 ${u[l]}`)}))}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,ue._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,ue._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,general:[...t.general,new X([this,"show"],"是否显示",ue.defaults.show),new X([this,"collision"],"开启碰撞",ue.defaults.collision),new X([this,"allowPicking"],"允许拾取",ue.defaults.allowPicking),new it([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new it([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new it([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new it([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...t.more,new rt([],"飞行定位","飞向参数"),new it(["number"],n=>this.flyTo(n),[1],"飞向"),new K([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new O([this,"flyToDistance"],"flyToDistance",void 0,!0),new O([this,"flyToHeading"],"flyToHeading",void 0,!0),new O([this,"flyToPitch"],"flyToPitch",void 0,!0),new O([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new O([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new O([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new rt([],"飞入参数"),new it(["number"],n=>this.flyIn(n),[1],"飞入"),new K([this,"flyInParam"],"flyInParam",void 0,void 0,!0)]}}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??ue.defaultFlyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??ue.defaultFlyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??ue.defaultFlyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??ue.defaultFlyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ue.defaultFlyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??ue.defaultFlyToParam,pDelta:t}:void 0}};d(ue,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:jt(void 0),flyInParam:jt(void 0)})),d(ue,"type",ue.register("ESVisualObject",ue,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),d(ue,"supportEditingModes",[]),d(ue,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),d(ue,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),d(ue,"_lastFlyInId",0),d(ue,"_lastFlyToId",0);let Rt=ue;class Mg extends B{constructor(){super();d(this,"_data",this.dv(V(void 0)))}set data(t){this._data.value=t}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class Rg extends B{constructor(){super(...arguments);d(this,"_dragStartEvent",this.dv(new I));d(this,"_dragOverEvent",this.dv(new I));d(this,"_dragLeaveEvent",this.dv(new I));d(this,"_dropEvent",this.dv(new I))}dragStart(t){this._dragStartEvent.emit(t)}dragOver(t){this._dragOverEvent.emit(t)}dragLeave(t){this._dragLeaveEvent.emit(t)}drop(t){this._dropEvent.emit(t)}}function uw(r,e){e&&(Reflect.has(e,"editing")?e.editing=!0:Reflect.has(e,"positionEditing")&&(e.positionEditing=!0))}function lw(r){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(r.typeName)||(Reflect.has(r,"editing")?r.editing=!0:Reflect.has(r,"positionEditing")&&(r.positionEditing=!0)),typeof r.execOnCreating=="function"&&r.execOnCreating()}function jl(r,e){An(r,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),ti(r,"__treeItem",e)}function cw(r){return An(r,"__treeItem")}function hw(r){if(!(r.startsWith("./")||r.startsWith("../")||r.startsWith("/")))return r;const e=document.createElement("a");e.href=r;const t=e.href;return e.remove(),t}function Bh(r){if(typeof r!="string")return!1;try{const e=JSON.parse(r);return typeof e=="object"&&e!==null}catch{return!1}}function dw(r){try{return new DOMParser().parseFromString(r,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function fw(r){return r instanceof Function?r():r}function Lg(r,e){for(let t of r)if(e.includes(t))return!0;return!1}function Ri(r,e){const t=r,n=e;return t===void 0||t.length===0||n===void 0||n.length===0?!0:Lg(t,n)}function pw(r){const e=setTimeout(()=>{r(),clearTimeout(e)})}function Xo(r){let e=r%360;return e=e<0?360+e:e,e}function Ag(r){return Xo(r+180)-180}function zl(r,e,t){let n=Xo(r),i=Xo(e);Math.abs(n-i)>180&&(n<i?n+=360:i+=360);const s=n*(1-t)+i*t;return Ag(s)}function jh(r,e,t,n){return n=n||[0,0,0],n[0]=zl(r[0],e[0],t),n[1]=zl(r[1],e[1],t),n[2]=zl(r[2],e[2],t),n}function Fg(r,e,t="editing"){const n=new B;r.ad(n);const i=e.bind(r);return n.ad(new le(r.activeViewerChanged,()=>{const s=new B;let o=r.activeViewer;return o?(s.ad(r[`${t}Changed`].don(()=>{var a;r[`${t}`]?i():(a=(r.components.main??r).editingID)!=null&&a.includes("inner")&&r.activeViewer&&r.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(r.id)&&a.type==="end"){const u=r.components.main??r;u.editingID&&a.editingID.includes(u.editingID)?r[`${t}`]=!1:r[`${t}`]=!u.editingID.includes("outer")}}))):s.ad(r[`${t}Changed`].don(()=>{r[`${t}`]=!1})),s})),r[`${t}`]&&i(),n}class zh extends B{constructor(t){super();d(this,"_sceneObject",this.dv(V(void 0)));this._id=t,this.d(()=>{this._sceneObject.value=void 0});const n=Z.getSceneObjById(this._id);n&&(this._sceneObject.value=n),this.d(Z.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(Z.context.sceneObjToDestroyEvent.don(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 gw extends B{constructor(t,n){super();d(this,"_sofi");this._id=t,this._sofi=this.dv(new zh(this._id));{const i=()=>{n.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class kg extends B{constructor(){super();d(this,"_id",this.dv(V(void 0)));d(this,"_sceneObject",this.dv(V(void 0)));d(this,"_resetting",this.dv(new le(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new gw(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 mw extends B{constructor(t,n,i,s){super();d(this,"_sceneObjectId",this.dv(new kg));this._id=t,this._startTimeStamp=n,this._duration=i,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,u=a-this._startTimeStamp;this.player.currentTime=Ml(u,0,this._duration)*(this.player.speed??1)};o(),this.d(this._parent.currentTimeChanged.don(o)),this.d(this.playerChanged.don(o))}get player(){return this._sceneObjectId.sceneObject instanceof Pr?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const vw=`
|
|
24
24
|
用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
|
|
@@ -306,7 +306,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
306
306
|
};
|
|
307
307
|
|
|
308
308
|
\`\`\`
|
|
309
|
-
`,Jr=class Jr extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"size"],"尺寸",Jr.defaults.size),new X([this,"autoFollow"],"自动跟随",Jr.defaults.autoFollow),new mt([this,"mode"],Jr.modes,"模式","blueSky")],more:[...e.more,new O([this,"autoOpacityFactor"],"自动消失系数",Jr.defaults.autoOpacityFactor)]}}};d(Jr,"createDefaultProps",()=>({...tt.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),d(Jr,"type",Jr.register("ESLocalSkyBox",Jr,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),d(Jr,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let hf=Jr;const _l=class _l extends tt{constructor(t){super(t);d(this,"_location",this.disposeVar(V(void 0)));{const n=()=>{this.location=this.position};n(),this.ad(this.positionChanged.don(n))}}get location(){return this._location.value}set location(t){this._location.value=t}get locationChanged(){return this._location.changed}};d(_l,"type",_l.register("ESLocationMeasurement",_l,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let df=_l;const Ze=class Ze extends tt{constructor(t){super(t);d(this,"_player",this.dv(new Pr));{const n=Ze.defaults;this.d($([this._player,"loop"],[this,"playingLoop"],i=>i??n.playingLoop,i=>i??n.playingLoop)),this.d($([this._player,"currentTime"],[this,"currentTime"],i=>i??n.currentTime,i=>i??n.currentTime)),this.d($([this._player,"duration"],[this,"duration"],i=>i??n.duration,i=>i??n.duration)),this.d($([this._player,"playing"],[this,"playing"],i=>i??n.playing,i=>i??n.playing)),this.d($([this._player,"speed"],[this,"playingSpeed"],i=>i??n.playingSpeed,i=>i??n.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new it(["number"],n=>this.flyTo(n),[1e3],"飞入"),new ls([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new O([this,"emissionRate"],"发射率",5,!0),new X([this,"loop"],"是否循环",!0,!0),new O([this,"particleScale"],"等级",1,!0),new O([this,"startScale"],"初始等级",void 0,!0),new O([this,"endScale"],"结束等级",Ze.defaults.endScale,!0),new Et([this,"color"],"颜色",void 0,!0),new Et([this,"startColor"],"初始颜色",void 0,!0),new Et([this,"endColor"],"结束颜色",void 0,!0),new X([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new O([this,"speed"],"速度",1,!0),new O([this,"minimumSpeed"],"最小速度",void 0,!0),new O([this,"maximumSpeed"],"最大速度",void 0,!0),new O([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new O([this,"particleLife"],"粒子生命周期",Ze.defaults.particleLife,!0),new O([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new O([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new O([this,"mass"],"块数量",1,!0),new O([this,"minimumMass"],"最小块数量",void 0,!0),new O([this,"maximumMass"],"最大块数量",void 0,!0),new Ie([this,"imageSize"],"图片尺寸",Ze.defaults.imageSize,!0),new Ie([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new Ie([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new Iu([this,"image"],"图片",Ze.defaults.image,!0),new Ke([this,"translation"],"偏移",[0,0,0],!0),new Fh([this,"bursts"],"bursts",void 0,!0),new K([this,"emitter"],"emitter",Ze.defaults.emitter),new rt([],"播放器","播放器"),new O([this,"ratio"],"播放比率",0,!0),new Bl([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new X([this,"playingLoop"],"是否循环",Ze.defaults.playingLoop,!0),new O([this,"currentTime"],"当前时间",Ze.defaults.currentTime,!0),new O([this,"duration"],"过渡时间",Ze.defaults.duration,!0),new X([this,"playing"],"是否播放",Ze.defaults.playing,!0),new O([this,"playingSpeed"],"播放速度",Ze.defaults.playingSpeed,!0)]}}};d(Ze,"createDefaultProps",()=>({...tt.createDefaultProps(),emitter:jt({type:"CircleEmitter",radius:.5}),bursts:nh(void 0),translation:Ht(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:Ht([20,20]),minimumImageSize:Ht(void 0),maximumImageSize:Ht(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:Ht(void 0),startColor:Ht(void 0),endColor:Ht(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),d(Ze,"type",Ze.register("ESParticleSystemPrimitive",Ze,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let kc=Ze;const Zr=class Zr extends Yn{constructor(t){super(t);d(this,"initialStyle",this.ad(jt(void 0)));d(this,"_getInitialStyleEvent",this.disposeVar(new I))}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 mt([this,"mode"],Zr.modes,"模式",Zr.defaults.mode),new K([this,"style"],"样式",Zr.defaults.style),new X([this,"autoAnchor"],"自动锚点对齐",Zr.defaults.autoAnchor)]}}};d(Zr,"createDefaultProps",()=>({...Yn.createDefaultProps(),mode:"SquareH01",style:dt({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),d(Zr,"type",Zr.register("ESPoi2D",Zr,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Zr,"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"]]);let cl=Zr;const Ei=class Ei extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"mode"],Ei.modes,"模式",Ei.defaults.mode),new K([this,"style"],"样式",Ei.defaults.style)]}}};d(Ei,"createDefaultProps",()=>({...tt.createDefaultProps(),mode:"triangle",style:dt({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),d(Ei,"type",Ei.register("ESPoi3D",Ei,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Ei,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let ff=Ei;const Wa=class Wa extends At{constructor(t){super(t);d(this,"_czmFlattenedPlaneId",this.dv(V("")))}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 ut([this,"targetID"],"瓦片图层","")]}}};d(Wa,"createDefaultProps",()=>({...At.createDefaultProps(),targetID:"",filled:!1})),d(Wa,"type",Wa.register("ESPolygonFlattenedPlane",Wa,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let pf=Wa;const dy=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},fy=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},py=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},gy=async(r,e,t,n)=>{const{viewer:i}=r;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:n}});return s.error&&console.error("CutDownTrees:",s.error),s},my=async(r,e,t,n,i)=>{const{viewer:s}=r;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:n}});return o.error&&console.error("GrowthSimulation:",o.error),o},qa=class qa extends Rt{constructor(t){super(t);d(this,"_addTreesEvent",this.dv(new I));d(this,"_removeAllTreesEvent",this.dv(new I));d(this,"_updateTreeParamsEvent",this.dv(new I));d(this,"_cutDownTreesEvent",this.dv(new I));d(this,"_growthSimulationEvent",this.dv(new I))}async addTreesCallFunc(t,n){return await dy(t,this.id,n)}async updateTreeParamsCallFunc(t,n){return await py(t,this.id,n)}async cutDownTreesCallFunc(t,n,i){return await gy(t,this.id,n,i)}async removeAllTreesCallFunc(t){return await fy(t,this.id)}async growthSimulationCallFunc(t,n,i,s){return await my(t,this.id,n,i,s)}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)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用"),new K([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new O([this,"stumpId"],"树桩id"),new O([this,"intervalTime"],"动画间隔时间"),new O([this,"switchIntervalTime"],"切换间隔时间")]}}};d(qa,"createDefaultProps",()=>({...Rt.createDefaultProps(),treeTypes:jt([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),d(qa,"type",qa.register("ESSeparateFoliage",qa,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let gf=qa;function Vc(r,e,t){const n="buffer"in r,i=n?r.buffer:r;n&&(e+=r.byteOffset);const s=new Array(t),o=new DataView(i);for(let a=0;a<t;++a){const u=o.getUint8(e+a);s[a]=String.fromCharCode(u)}return s.join("")}function Bc(r,e){const t="buffer"in r,n=t?r.buffer:r;return t&&(e+=r.byteOffset),new DataView(n).getUint32(e,!0)}function vy(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 xS(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 TS(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 NS(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 yy(r){if(Vc(r,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=Bc(r,4);if(t!==2){console.error("Unsupported glTF version");return}const n=Bc(r,8);if(n!==r.byteLength){console.error("Invalid glTF length");return}const i=Bc(r,12);if(i+12+4>n){console.error("Invalid glTF chunk length");return}if(Vc(r,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=Vc(r,20,i),a={version:t,length:n,gltfJson:o};if(20+i<r.byteLength){const u=Bc(r,20+i);if(Vc(r,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const c=vy(r,20+i+8,u);a.gltfBinary=c}return a}window.parseGlb=yy;function _y(r){const e=yy(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],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=t.accessors[s],u=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const l=NS(e.gltfBinary,u.byteOffset??0,u.byteLength/4);var c=t.accessors[o],h=t.bufferViews[c.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let f;return c.componentType===5121?f=vy(e.gltfBinary,h.byteOffset??0,h.byteLength/1):c.componentType===5123?f=xS(e.gltfBinary,h.byteOffset??0,h.byteLength/2):c.componentType===5125&&(f=TS(e.gltfBinary,h.byteOffset??0,h.byteLength/4)),{name:n.name,posBuffer:l,indicesBuffer:f}})}window.parseWaterGlb=_y;const an=class an extends tt{constructor(t){super(t);d(this,"_submergingData");d(this,"_allMoments",[]);d(this,"readyEvent",this.dv(new I));{const n=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=_y(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};n(),this.d(this.urlChanged.don(()=>{n()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"url"],"Url地址",an.defaults.url),new Me([this,"amplitude"],.01,[0,1],"振幅",an.defaults.amplitude),new O([this,"frequency"],"频率",an.defaults.frequency),new O([this,"currentTime"],"当前时间",an.defaults.currentTime),new K([this,"materialParams"],"材质参数",an.defaults.materialParams),new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new Et([this,"waterColor"],"水的底色",an.defaults.waterColor),new Me([this,"waveVelocity"],.01,[0,1],"波动频率",an.defaults.waveVelocity),new O([this,"flowSpeed"],"水流速度",an.defaults.flowSpeed),new Me([this,"specularIntensity"],.01,[0,1],"镜面反射强度",an.defaults.specularIntensity),new Me([this,"murkiness"],.01,[0,10],"水体浑浊度",an.defaults.murkiness)]}}};d(an,"createDefaultProps",()=>({...tt.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:dt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),d(an,"type",an.register("ESSubmergingAnalysis",an,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let mf=an;const Io=class Io extends At{constructor(t){super(t);d(this,"_startEvent",this.dv(new I));d(this,"_stopEvent",this.dv(new I))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new Et([this,"startColor"],"起始颜色"),new Et([this,"endColor"],"结束颜色"),new O([this,"progress"],"计算进度"),new O([this,"extrudedHeight"],"高度m"),new O([this,"height"],"底面高度"),new O([this,"sampleDistance"],"采样间距m"),new O([this,"startTime"],"起始时间,时间戳"),new O([this,"endTime"],"结束时间,时间戳"),new O([this,"spanTime"],"时间跨度,默认1小时时间戳"),new it([],()=>this.start(),[],"开始分析"),new it([],()=>this.stop(),[],"结束分析")]}}};d(Io,"createDefaultProps",()=>({...At.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:at([1,1,0,1]),endColor:at([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),d(Io,"type",Io.register("ESSunshineAnalysis",Io,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),d(Io,"supportEditingModes",[...At.supportEditingModes,Q.HeightModify]);let vf=Io;const Ci=class Ci extends Rt{constructor(t){super(t);d(this,"_activateEvent",this.disposeVar(new I));d(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new O([this,"zIndex"],"层级序号",Ci.defaults.zIndex),new O([this,"opacity"],"透明度",Ci.defaults.opacity)],dataSource:[...t.dataSource,new K([this,"url"],"地形服务地址",Ci.defaults.url),new br([this,"rectangle"],"矩形范围",Ci.defaults.rectangle)],more:[...t.more,new O([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new O([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};d(Ci,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:at([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0})),d(Ci,"type",Ci.register("ESTerrainLayer",Ci,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"}));let yf=Ci;const Si=class Si extends Yn{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Et([this,"color"],"文本颜色",[1,1,1,1]),new O([this,"fontSize"],"文字大小",14),new kh([this,"text"],"内容",Si.defaults.text,void 0,!0),new Et([this,"backgroundColor"],"背景颜色",Si.defaults.backgroundColor),new br([this,"padding"],"内边距",Si.defaults.padding),new Et([this,"borderColor"],"边界颜色"),new br([this,"borderRadius"],"边界圆角"),new O([this,"borderWidth"],"边界宽度")],more:[...e.more,new rt([],"czm","czm"),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new O([this,"width"],"宽度",Si.defaults.width,!0),new O([this,"opacity"],"透明度"),new mt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new mt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(Si,"createDefaultProps",()=>({...Yn.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:at([1,1,1,1]),backgroundColor:at([0,0,0,.8]),padding:at([5,5,5,5]),borderRadius:at([6,6,6,6]),borderWidth:0,borderColor:at([1,1,1,1]),borderStyle:"solid"})),d(Si,"type",Si.register("ESTextLabel",Si,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let Na=Si;const OS=`
|
|
309
|
+
`,Jr=class Jr extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"size"],"尺寸",Jr.defaults.size),new X([this,"autoFollow"],"自动跟随",Jr.defaults.autoFollow),new mt([this,"mode"],Jr.modes,"模式","blueSky")],more:[...e.more,new O([this,"autoOpacityFactor"],"自动消失系数",Jr.defaults.autoOpacityFactor)]}}};d(Jr,"createDefaultProps",()=>({...tt.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),d(Jr,"type",Jr.register("ESLocalSkyBox",Jr,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),d(Jr,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let hf=Jr;const _l=class _l extends tt{constructor(t){super(t);d(this,"_location",this.disposeVar(V(void 0)));{const n=()=>{this.location=this.position};n(),this.ad(this.positionChanged.don(n))}}get location(){return this._location.value}set location(t){this._location.value=t}get locationChanged(){return this._location.changed}};d(_l,"type",_l.register("ESLocationMeasurement",_l,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let df=_l;const Ze=class Ze extends tt{constructor(t){super(t);d(this,"_player",this.dv(new Pr));{const n=Ze.defaults;this.d($([this._player,"loop"],[this,"playingLoop"],i=>i??n.playingLoop,i=>i??n.playingLoop)),this.d($([this._player,"currentTime"],[this,"currentTime"],i=>i??n.currentTime,i=>i??n.currentTime)),this.d($([this._player,"duration"],[this,"duration"],i=>i??n.duration,i=>i??n.duration)),this.d($([this._player,"playing"],[this,"playing"],i=>i??n.playing,i=>i??n.playing)),this.d($([this._player,"speed"],[this,"playingSpeed"],i=>i??n.playingSpeed,i=>i??n.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new it(["number"],n=>this.flyTo(n),[1e3],"飞入"),new ls([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new O([this,"emissionRate"],"发射率",5,!0),new X([this,"loop"],"是否循环",!0,!0),new O([this,"particleScale"],"等级",1,!0),new O([this,"startScale"],"初始等级",void 0,!0),new O([this,"endScale"],"结束等级",Ze.defaults.endScale,!0),new Et([this,"color"],"颜色",void 0,!0),new Et([this,"startColor"],"初始颜色",void 0,!0),new Et([this,"endColor"],"结束颜色",void 0,!0),new X([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new O([this,"speed"],"速度",1,!0),new O([this,"minimumSpeed"],"最小速度",void 0,!0),new O([this,"maximumSpeed"],"最大速度",void 0,!0),new O([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new O([this,"particleLife"],"粒子生命周期",Ze.defaults.particleLife,!0),new O([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new O([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new O([this,"mass"],"块数量",1,!0),new O([this,"minimumMass"],"最小块数量",void 0,!0),new O([this,"maximumMass"],"最大块数量",void 0,!0),new Ie([this,"imageSize"],"图片尺寸",Ze.defaults.imageSize,!0),new Ie([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new Ie([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new Iu([this,"image"],"图片",Ze.defaults.image,!0),new Ke([this,"translation"],"偏移",[0,0,0],!0),new Fh([this,"bursts"],"bursts",void 0,!0),new K([this,"emitter"],"emitter",Ze.defaults.emitter),new rt([],"播放器","播放器"),new O([this,"ratio"],"播放比率",0,!0),new Bl([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new X([this,"playingLoop"],"是否循环",Ze.defaults.playingLoop,!0),new O([this,"currentTime"],"当前时间",Ze.defaults.currentTime,!0),new O([this,"duration"],"过渡时间",Ze.defaults.duration,!0),new X([this,"playing"],"是否播放",Ze.defaults.playing,!0),new O([this,"playingSpeed"],"播放速度",Ze.defaults.playingSpeed,!0)]}}};d(Ze,"createDefaultProps",()=>({...tt.createDefaultProps(),emitter:jt({type:"CircleEmitter",radius:.5}),bursts:nh(void 0),translation:Ht(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:Ht([20,20]),minimumImageSize:Ht(void 0),maximumImageSize:Ht(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:Ht(void 0),startColor:Ht(void 0),endColor:Ht(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),d(Ze,"type",Ze.register("ESParticleSystemPrimitive",Ze,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let kc=Ze;const Zr=class Zr extends Yn{constructor(t){super(t);d(this,"initialStyle",this.ad(jt(void 0)));d(this,"_getInitialStyleEvent",this.disposeVar(new I))}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 mt([this,"mode"],Zr.modes,"模式",Zr.defaults.mode),new K([this,"style"],"样式",Zr.defaults.style),new X([this,"autoAnchor"],"自动锚点对齐",Zr.defaults.autoAnchor)]}}};d(Zr,"createDefaultProps",()=>({...Yn.createDefaultProps(),mode:"SquareH01",style:dt({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),d(Zr,"type",Zr.register("ESPoi2D",Zr,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Zr,"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"]]);let cl=Zr;const Ei=class Ei extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"mode"],Ei.modes,"模式",Ei.defaults.mode),new K([this,"style"],"样式",Ei.defaults.style)]}}};d(Ei,"createDefaultProps",()=>({...tt.createDefaultProps(),mode:"triangle",style:dt({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),d(Ei,"type",Ei.register("ESPoi3D",Ei,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Ei,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let ff=Ei;const Wa=class Wa extends At{constructor(t){super(t);d(this,"_czmFlattenedPlaneId",this.dv(V("")))}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 ut([this,"targetID"],"瓦片图层","")]}}};d(Wa,"createDefaultProps",()=>({...At.createDefaultProps(),targetID:"",filled:!1})),d(Wa,"type",Wa.register("ESPolygonFlattenedPlane",Wa,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let pf=Wa;const dy=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},fy=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},py=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},gy=async(r,e,t,n)=>{const{viewer:i}=r;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:n}});return s.error&&console.error("CutDownTrees:",s.error),s},my=async(r,e,t,n,i)=>{const{viewer:s}=r;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:n}});return o.error&&console.error("GrowthSimulation:",o.error),o},qa=class qa extends Rt{constructor(t){super(t);d(this,"_addTreesEvent",this.dv(new I));d(this,"_removeAllTreesEvent",this.dv(new I));d(this,"_updateTreeParamsEvent",this.dv(new I));d(this,"_cutDownTreesEvent",this.dv(new I));d(this,"_growthSimulationEvent",this.dv(new I))}async addTreesCallFunc(t,n){return await dy(t,this.id,n)}async updateTreeParamsCallFunc(t,n){return await py(t,this.id,n)}async cutDownTreesCallFunc(t,n,i){return await gy(t,this.id,n,i)}async removeAllTreesCallFunc(t){return await fy(t,this.id)}async growthSimulationCallFunc(t,n,i,s){return await my(t,this.id,n,i,s)}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)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用"),new K([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new O([this,"stumpId"],"树桩id"),new O([this,"intervalTime"],"动画间隔时间"),new O([this,"switchIntervalTime"],"切换间隔时间")]}}};d(qa,"createDefaultProps",()=>({...Rt.createDefaultProps(),treeTypes:jt([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),d(qa,"type",qa.register("ESSeparateFoliage",qa,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let gf=qa;function Vc(r,e,t){const n="buffer"in r,i=n?r.buffer:r;n&&(e+=r.byteOffset);const s=new Array(t),o=new DataView(i);for(let a=0;a<t;++a){const u=o.getUint8(e+a);s[a]=String.fromCharCode(u)}return s.join("")}function Bc(r,e){const t="buffer"in r,n=t?r.buffer:r;return t&&(e+=r.byteOffset),new DataView(n).getUint32(e,!0)}function vy(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 xS(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 TS(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 NS(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 yy(r){if(Vc(r,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=Bc(r,4);if(t!==2){console.error("Unsupported glTF version");return}const n=Bc(r,8);if(n!==r.byteLength){console.error("Invalid glTF length");return}const i=Bc(r,12);if(i+12+4>n){console.error("Invalid glTF chunk length");return}if(Vc(r,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=Vc(r,20,i),a={version:t,length:n,gltfJson:o};if(20+i<r.byteLength){const u=Bc(r,20+i);if(Vc(r,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const c=vy(r,20+i+8,u);a.gltfBinary=c}return a}window.parseGlb=yy;function _y(r){const e=yy(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],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=t.accessors[s],u=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const l=NS(e.gltfBinary,u.byteOffset??0,u.byteLength/4);var c=t.accessors[o],h=t.bufferViews[c.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let f;return c.componentType===5121?f=vy(e.gltfBinary,h.byteOffset??0,h.byteLength/1):c.componentType===5123?f=xS(e.gltfBinary,h.byteOffset??0,h.byteLength/2):c.componentType===5125&&(f=TS(e.gltfBinary,h.byteOffset??0,h.byteLength/4)),{name:n.name,posBuffer:l,indicesBuffer:f}})}window.parseWaterGlb=_y;const an=class an extends tt{constructor(t){super(t);d(this,"_submergingData");d(this,"_allMoments",[]);d(this,"readyEvent",this.dv(new I));{const n=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=_y(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};n(),this.d(this.urlChanged.don(()=>{n()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ut([this,"url"],"Url地址",an.defaults.url),new Me([this,"amplitude"],.01,[0,1],"振幅",an.defaults.amplitude),new O([this,"frequency"],"频率",an.defaults.frequency),new O([this,"currentTime"],"当前时间",an.defaults.currentTime),new K([this,"materialParams"],"材质参数",an.defaults.materialParams),new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new Et([this,"waterColor"],"水的底色",an.defaults.waterColor),new Me([this,"waveVelocity"],.01,[0,1],"波动频率",an.defaults.waveVelocity),new O([this,"flowSpeed"],"水流速度",an.defaults.flowSpeed),new Me([this,"specularIntensity"],.01,[0,1],"镜面反射强度",an.defaults.specularIntensity),new Me([this,"murkiness"],.01,[0,10],"水体浑浊度",an.defaults.murkiness)]}}};d(an,"createDefaultProps",()=>({...tt.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:dt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),d(an,"type",an.register("ESSubmergingAnalysis",an,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let mf=an;const Io=class Io extends At{constructor(t){super(t);d(this,"_startEvent",this.dv(new I));d(this,"_stopEvent",this.dv(new I))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new Et([this,"startColor"],"起始颜色"),new Et([this,"endColor"],"结束颜色"),new O([this,"progress"],"计算进度"),new O([this,"extrudedHeight"],"高度m"),new O([this,"height"],"底面高度"),new O([this,"sampleDistance"],"采样间距m"),new O([this,"startTime"],"起始时间,时间戳"),new O([this,"endTime"],"结束时间,时间戳"),new O([this,"spanTime"],"时间跨度,默认1小时时间戳"),new it([],()=>this.start(),[],"开始分析"),new it([],()=>this.stop(),[],"结束分析")]}}};d(Io,"createDefaultProps",()=>({...At.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:at([1,1,0,1]),endColor:at([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),d(Io,"type",Io.register("ESSunshineAnalysis",Io,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),d(Io,"supportEditingModes",[...At.supportEditingModes,Q.HeightModify]);let vf=Io;const Qi=class Qi extends Rt{constructor(t){super(t);d(this,"_activateEvent",this.disposeVar(new I));d(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new O([this,"zIndex"],"层级序号",Qi.defaults.zIndex)],dataSource:[...t.dataSource,new K([this,"url"],"地形服务地址",Qi.defaults.url),new br([this,"rectangle"],"矩形范围",Qi.defaults.rectangle)],more:[...t.more,new O([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new O([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};d(Qi,"createDefaultProps",()=>({...Rt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:at([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0})),d(Qi,"type",Qi.register("ESTerrainLayer",Qi,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"}));let yf=Qi;const Ci=class Ci extends Yn{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Et([this,"color"],"文本颜色",[1,1,1,1]),new O([this,"fontSize"],"文字大小",14),new kh([this,"text"],"内容",Ci.defaults.text,void 0,!0),new Et([this,"backgroundColor"],"背景颜色",Ci.defaults.backgroundColor),new br([this,"padding"],"内边距",Ci.defaults.padding),new Et([this,"borderColor"],"边界颜色"),new br([this,"borderRadius"],"边界圆角"),new O([this,"borderWidth"],"边界宽度")],more:[...e.more,new rt([],"czm","czm"),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new O([this,"width"],"宽度",Ci.defaults.width,!0),new O([this,"opacity"],"透明度"),new mt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new mt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};d(Ci,"createDefaultProps",()=>({...Yn.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:at([1,1,1,1]),backgroundColor:at([0,0,0,.8]),padding:at([5,5,5,5]),borderRadius:at([6,6,6,6]),borderWidth:0,borderColor:at([1,1,1,1]),borderStyle:"solid"})),d(Ci,"type",Ci.register("ESTextLabel",Ci,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let Na=Ci;const OS=`
|
|
310
310
|
#### 默认值如下
|
|
311
311
|
\`\`\`js
|
|
312
312
|
{
|
|
@@ -351,7 +351,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
351
351
|
\`\`\`
|
|
352
352
|
${wy}
|
|
353
353
|
\`\`\`
|
|
354
|
-
`,RS="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",Ct=class Ct extends Rt{constructor(t){super(t);d(this,"_flyToFeatureEvent",this.dv(new I));d(this,"_flyToFeatureIndexEvent",this.dv(new I));d(this,"_features",this.disposeVar(jt(void 0)));d(this,"pickedInfoType","FeatureCollection");d(this,"abortController");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,n,i){this._flyToFeatureEvent.emit(t,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,n){this._flyToFeatureIndexEvent.emit(t,n)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var n;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const t=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Bh(this.url)?this.features=JSON.parse(this.url):await fetch(Z.context.getStrFromEnv(this.url),{signal:t}).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{i.name!="AbortError"&&console.warn("ESEntityCluster数据加载失败",i)}),this.pickedInfoType=((n=this.features)==null?void 0:n.type)??"FeatureCollection"}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",dataSource:[...t.dataSource,new K([this,"url"],"服务地址",Ct.defaults.url),new O([this,"minFeatureVisibleDistance"],"要素最小可视距离",Ct.defaults.minFeatureVisibleDistance),new O([this,"maxFeatureVisibleDistance"],"要素最大可视距离",Ct.defaults.maxFeatureVisibleDistance),new mt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...t.style,new rt([],"点样式集合"),new X([this,"textShow"],"是否显示",Ct.defaults.textShow),new Ie([this,"textAnchor"],"锚点",Ct.defaults.anchor),new ut([this,"textProperty"],"标注显示属性",Ct.defaults.textStyle.textProperty),new ut([this,"textDefaultText"],"默认文本",Ct.defaults.textStyle.defaultText),new Et([this,"textColor"],"文本颜色",Ct.defaults.textStyle.color),new Et([this,"textBackgroundColor"],"文本背景颜色",Ct.defaults.textStyle.backgroundColor),new ut([this,"textFontStyle"],"字体样式",Ct.defaults.textStyle.fontStyle),new ut([this,"textFontWeight"],"字体粗细",Ct.defaults.textStyle.fontWeight),new O([this,"textFontSize"],"字体大小",Ct.defaults.textStyle.fontSize),new Ie([this,"textOffset"],"像素偏移",Ct.defaults.textStyle.offset),new rt([],"点图片样式集合"),new X([this,"imageShow"],"是否显示",Ct.defaults.imageShow),new Ie([this,"imageAnchor"],"锚点",Ct.defaults.imageStyle.anchor),new K([this,"imageUrl"],"图片地址",Ct.defaults.imageStyle.url),new Ie([this,"imageSize"],"图片大小",Ct.defaults.imageStyle.size),new Ie([this,"imageOffset"],"像素偏移",Ct.defaults.imageStyle.offset),new rt([],"线样式集合"),new X([this,"stroked"],"是否显示",Ct.defaults.stroked),new X([this,"strokeGround"],"贴地",Ct.defaults.strokeStyle.ground),new O([this,"strokeWidth"],"线宽",Ct.defaults.strokeStyle.width),new mt([this,"strokeWidthType"],Ct.strokeStyleWidthTypes,"线宽类型"),new Et([this,"strokeColor"],"线颜色",Ct.defaults.strokeStyle.color),new ut([this,"strokeMaterial"],"线材质",Ct.defaults.strokeStyle.material),new K([this,"strokeMaterialParams"],"线材质参数",Ct.defaults.strokeStyle.materialParams),new rt([],"面样式集合"),new X([this,"filled"],"是否显示",Ct.defaults.filled),new X([this,"fillGround"],"贴地",Ct.defaults.fillStyle.ground),new Et([this,"fillColor"],"填充颜色",Ct.defaults.fillStyle.color),new ut([this,"fillMaterial"],"填充材质",Ct.defaults.fillStyle.material),new K([this,"fillMaterialParams"],"填充材质参数",Ct.defaults.fillStyle.materialParams)],more:[...t.more,new rt([],"标注文本样式"),new ut([this,"textFontFamily"],"字体",Ct.defaults.textStyle.fontFamily),new rt([],"通用"),new ls([this,"loadFuncStr"],"loadFnStr",wy,MS,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};d(Ct,"createDefaultProps",()=>({...Rt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:RS,stroked:!0,strokeStyle:dt({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:dt({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:dt({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:dt({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})),d(Ct,"type",Ct.register("ESGeoJson",Ct,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),d(Ct,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let hl=Ct;const To=class To extends wt{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_height",this.disposeVar(V(0)));{const n=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};n(),this.ad(this.pointsChanged.don(n))}}get height(){return this._height.value}set height(t){this._height.value=t}get heightChanged(){return this._height.changed}};d(To,"createDefaultProps",()=>({...wt.createDefaultProps(),stroked:!0,strokeStyle:dt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(To,"type",To.register("ESHeightMeasurement",To,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),d(To,"supportEditingModes",[...wt.supportEditingModes,Q.DoublePointsAppend,Q.DoublePointsModify]);let Pf=To;const Ha=class Ha extends Ji{constructor(t){super(t);d(this,"_area",this.dv(V(0)));d(this,"_perimeter",this.dv(V(0)));d(this,"editingBindMode","doublePoints");const n=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};n(),this.d(this.radiusChanged.don(n))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(t=10,n){return Kv([...this.position],this.radius,t,n)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new O([this,"radius"],"圆半径",1,!0)],coordinate:[...t.coordinate,new X([this,"editing"],"是否编辑"),new qo([this,"position"],"三维坐标",[0,0,0],!0),new O([this,"area"],"面积",0,!1,!0),new O([this,"perimeter"],"周长",0,!1,!0)]}}};d(Ha,"createDefaultProps",()=>({...Ji.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:dt({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(Ha,"type",Ha.register("ESLocalCircle",Ha,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let If=Ha;const Ya=class Ya extends Ji{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Pg([this,"points"],"坐标",[])]}}};d(Ya,"createDefaultProps",()=>({...Ji.createDefaultProps(),points:Wd([]),filled:!0})),d(Ya,"type",Ya.register("ESLocalPolygon",Ya,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let dl=Ya;const Ja=class Ja extends Ta{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Fh([this,"points"],"本地位置数组")]}}};d(Ja,"createDefaultProps",()=>({...Ta.createDefaultProps(),points:Sl(void 0),filled:!0})),d(Ja,"type",Ja.register("ESLocalPolygonZ",Ja,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let xf=Ja;const Za=class Za extends Ji{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"width"],"宽度"),new O([this,"height"],"高度")]}}};d(Za,"createDefaultProps",()=>({...Ji.createDefaultProps(),width:5e5,height:3e5,filled:!0})),d(Za,"type",Za.register("ESLocalRectangle",Za,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let Tf=Za;const Qi=class Qi extends wt{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_distance",this.dv(V(0)));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const n=()=>{if(this.points&&this.points.length>=2){const i=al(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new O([this,"height"],"高度",10),new O([this,"width"],"宽度",10),new mt([this,"materialMode"],Qi.materialModes,"模式","purple")],coordinate:[...t.coordinate,new O([this,"distance"],"距离",0,!1,!0)]}}};d(Qi,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:dt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Qi,"type",Qi.register("ESPipeFence",Qi,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),d(Qi,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),d(Qi,"supportEditingModes",[...wt.supportEditingModes,Q.LineStringAppend,Q.LineStringInsert]);let jc=Qi;const $i=class $i extends mr{constructor(t){super(t);d(this,"_setLayerVisibleEvent",this.dv(new I));d(this,"_setLayerColorEvent",this.dv(new I))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,n){this._setLayerVisibleEvent.emit(t,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,n){this._setLayerColorEvent.emit(t,n)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"ESPipeserTileset"),new it(["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""],"setLayerVisible"),new it(["string","string"],(n,i)=>this.setLayerColor(n,i),["",""],"setLayerColor"),new mt([this,"colorMode"],$i.colorModes,"colorMode",$i.defaults.colorMode,!0)]}}};d($i,"createDefaultProps",()=>({...mr.createDefaultProps(),colorMode:"default"})),d($i,"type",$i.register("ESPipeserTileset",$i,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),d($i,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let Nf=$i;const ts=class ts extends wt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new O([this,"area"],"面积",0,!1,!0),new O([this,"perimeter"],"周长",0,!1,!0)],basic:[...t.basic,new O([this,"height"],"高度",10),new mt([this,"materialMode"],ts.materialModes,"模式","danger")]}}};d(ts,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),d(ts,"type",ts.register("ESPolygonFence",ts,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),d(ts,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),d(ts,"supportEditingModes",[...wt.supportEditingModes,Q.CircularAppend,Q.CircularInsert,Q.HeightModify]);let zc=ts;const Ls=class Ls extends wt{constructor(t){super(t);d(this,"_deprecated",["ground"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new X([this,"ground"],"是否贴地"),new X([this,"outlineTranslucent"],"轮廓线半透明"),new O([this,"height"],"高度"),new O([this,"extrudedHeight"],"拉伸高度"),new br([this,"rectangle"],"范围",Ls.defaults.rectangle,!0),new O([this,"stRotation"],"纹理旋转角度"),new O([this,"rotation"],"旋转角度"),new X([this,"pointEditing"],"是否单点编辑")]}}};d(Ls,"createDefaultProps",()=>({...wt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:Ht(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),d(Ls,"type",Ls.register("ESRectangle",Ls,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Ls,"supportEditingModes",[...wt.supportEditingModes,Q.DoublePointsAppend,Q.DoublePointsModify]);let Of=Ls;const Ka=class Ka extends At{getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new K([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};d(Ka,"createDefaultProps",()=>({...At.createDefaultProps(),innerRings:wp([])})),d(Ka,"type",Ka.register("ESPolygonWithHole",Ka,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Df=Ka;const As=class As extends At{constructor(t){super(t);d(this,"_startEvent",this.disposeVar(new I));d(this,"_stopEvent",this.dv(new I));d(this,"_surfaceArea",this.disposeVar(V(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(t){this._surfaceArea.value=t}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"表面积测量","表面积测量"),new it([],()=>this.start(),[],"开始计算"),new O([this,"interpolation"],"插值距离",As.defaults.interpolation),new O([this,"offsetHeight"],"偏移高度",As.defaults.offsetHeight)]}}};d(As,"createDefaultProps",()=>({...At.createDefaultProps(),interpolation:.5,offsetHeight:0,units:at(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:dt({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),d(As,"type",As.register("ESSurfaceAreaMeasurement",As,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Mf=As;const Fs=class Fs extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"downloadProgress"],"下载进度",Fs.defaults.downloadProgress,!0,!0),new K([this,"importOptions"],"导入参数",Fs.defaults.importOptions,void 0,!0)],dataSource:[...e.dataSource,new K([this,"url"],"路径")]}}};d(Fs,"createDefaultProps",()=>({...tt.createDefaultProps(),url:"",importOptions:jt({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),d(Fs,"type",Fs.register("ESDatasmithRuntimeModel",Fs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let Rf=Fs;const ln=class ln extends dl{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",ln.defaults.waterType),new O([this,"frequency"],"频率",ln.defaults.frequency),new Me([this,"amplitude"],.01,[0,1],"振幅",ln.defaults.amplitude),new Me([this,"flowDirection"],1,[0,360],"流向",ln.defaults.flowDirection),new Me([this,"waveVelocity"],.01,[0,1],"波动频率",ln.defaults.waveVelocity),new Me([this,"specularIntensity"],.01,[0,1],"镜面反射强度",ln.defaults.specularIntensity),new Me([this,"murkiness"],.1,[0,10],"水体浑浊度",ln.defaults.murkiness),new O([this,"flowSpeed"],"水流速度",ln.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",ln.defaults.waterColor),new K([this,"waterImage"],"水的图片",ln.defaults.waterImage)]}}};d(ln,"createDefaultProps",()=>({...dl.createDefaultProps(),allowPicking:!0,waterImage:jt(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),d(ln,"type",ln.register("ESDynamicWater",ln,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Lf=ln;const cn=class cn extends At{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",cn.defaults.waterType),new O([this,"frequency"],"频率",cn.defaults.frequency),new Me([this,"amplitude"],.01,[0,1],"振幅",cn.defaults.amplitude),new Me([this,"flowDirection"],1,[0,360],"流向",cn.defaults.flowDirection),new Me([this,"waveVelocity"],.01,[0,1],"波动频率",cn.defaults.waveVelocity),new Me([this,"specularIntensity"],.01,[0,1],"镜面反射强度",cn.defaults.specularIntensity),new Me([this,"murkiness"],.1,[0,10],"水体浑浊度",cn.defaults.murkiness),new O([this,"flowSpeed"],"水流速度",cn.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",cn.defaults.waterColor),new K([this,"waterImage"],"水的图片",cn.defaults.waterImage)]}}};d(cn,"createDefaultProps",()=>({...At.createDefaultProps(),allowPicking:!0,waterImage:jt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),d(cn,"type",cn.register("ESGeoWater",cn,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Af=cn;const No=class No extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"downloadProgress"],"下载进度",No.defaults.downloadProgress,!0,!0),new ut([this,"levelName"],"levelName",""),new O([this,"levelLoadDistance"],"levelLoadDistance",1e3),new Ke([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...e.dataSource,new K([this,"url"],"url","")]}}};d(No,"createDefaultProps",()=>({...tt.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:at([0,0,0]),levelLoadDistance:1e3})),d(No,"type",No.register("ESLevelRuntimeModel",No,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Ff=No;const Jn=class Jn extends Zi{constructor(t){super(t);d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new O([this,"radius"],"半径",Jn.defaults.radius),new O([this,"sides"],"圆边数",Jn.defaults.sides),new O([this,"speed"],"材质速度",Jn.defaults.speed),new mt([this,"materialMode"],Jn.materialModes,"材质模式",Jn.defaults.materialMode),new K([this,"materialImage"],"材质图片和重复度",Jn.defaults.materialImage)]}}};d(Jn,"createDefaultProps",()=>({...Zi.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:dt({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:dt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Jn,"type",Jn.register("ESPipeline",Jn,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),d(Jn,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let kf=Jn;const bi=class bi extends wt{constructor(t){super(t);d(this,"editingBindMode","visibility")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Et([this,"visibleColor"],"可视区域颜色",bi.defaults.visibleColor),new Et([this,"invisibleColor"],"遮挡区域颜色",bi.defaults.invisibleColor),new O([this,"heightOffset"],"视点高度偏移",bi.defaults.heightOffset)]}}};d(bi,"createDefaultProps",()=>({...wt.createDefaultProps(),visibleColor:at([0,1,0,1]),invisibleColor:at([1,0,0,1]),heightOffset:0})),d(bi,"type",bi.register("ESVisibilityAnalysis",bi,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),d(bi,"supportEditingModes",[...wt.supportEditingModes,Q.VisibilityAppend,Q.VisibilityModify]);let Vf=bi;const Qa=class Qa extends At{constructor(t){super(t);d(this,"_startEvent",this.dv(new I));d(this,"_clearEvent",this.dv(new I));d(this,"_volume",this.disposeVar(V(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(t){this._volume.value=t}get volumeChanged(){return this._volume.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new O([this,"planeHeight"],"基准面高程",void 0,!0),new O([this,"gridWidth"],"采样间距 m"),new O([this,"cutVolume"],"挖方",0,!1,!0),new O([this,"fillVolume"],"填方",0,!1,!0),new O([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new O([this,"progress"],"计算进度",0,!1,!0),new it([],()=>this.start(),[],"开始分析"),new it([],()=>this.clear(),[],"清空分析结果"),new X([this,"depthTest"],"是否开启深度检测")]}}};d(Qa,"createDefaultProps",()=>({...At.createDefaultProps(),planeHeight:V(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:dt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Qa,"type",Qa.register("ESVolumeMeasurement",Qa,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Bf=Qa;const $a=class $a extends po{constructor(t){super(t);d(this,"_human",this.dv(new po));d(this,"_poi",this.dv(new cl));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:n,_poi:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d($([n,"scale"],[this,"scale"])),this.d($([i,"scale"],[this,"scale"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d($([n,"flyInParam"],[this,"flyInParam"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"animation"],[this,"animation"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(j([i,"name"],[this,"name"])),this.d(j([i,"mode"],[this,"poiMode"])),this.d(j([i,"autoAnchor"],[this,"autoAnchor"])),this.d(j([i,"screenRender"],[this,"screenRender"])),this.d(j([i,"size"],[this,"size"])),this.d(j([i,"anchor"],[this,"anchor"])),this.d(j([i,"sizeByContent"],[this,"sizeByContent"])),this.d(j([i,"renderMode"],[this,"renderMode"])),this.d(j([i,"rotationType"],[this,"rotationType"])),this.d(j([i,"zOrder"],[this,"zOrder"])),this.d(j([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d($([n,"position"],[this,"position"])),this.d($([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{n.flyIn(s)})),this.d(this.flyToEvent.don(s=>{n.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{n.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{n.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{n.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{n.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new mt([this,"poiMode"],cl.modes,"poi模式","SquareH01"),new O([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};d($a,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:dt({}),autoAnchor:!0,screenRender:!0,size:at([100,100]),anchor:at([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...po.createDefaultProps()})),d($a,"type",$a.register("ESHumanPoi",$a,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let jf=$a;const Kr=class Kr extends At{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"depth"],"深度",Kr.defaults.depth),new O([this,"interpolation"],"插值",Kr.defaults.interpolation),new O([this,"opacity"],"透明度",Kr.defaults.opacity),new K([this,"sideImage"],"侧面图片",Kr.defaults.sideImage),new K([this,"bottomImage"],"底面图片",Kr.defaults.bottomImage)]}}};d(Kr,"createDefaultProps",()=>({...At.createDefaultProps(),depth:100,sideImage:dt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:dt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),d(Kr,"type",Kr.register("ESPit",Kr,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let Oa=Kr;const tu=class tu extends Oa{constructor(t){super(t);d(this,"_excavate",this.dv(new ll));d(this,"_pit",this.dv(new Oa));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:n,_pit:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d($([i,"points"],[this,"points"])),this.d(j([n,"points"],[this,"points"])),this.d(j([i,"pointed"],[this,"pointed"])),this.d(j([n,"pointed"],[this,"pointed"])),this.d(j([i,"pointStyle"],[this,"pointStyle"])),this.d(j([n,"pointStyle"],[this,"pointStyle"])),this.d(j([i,"stroked"],[this,"stroked"])),this.d(j([n,"stroked"],[this,"stroked"])),this.d(j([i,"strokeStyle"],[this,"strokeStyle"])),this.d(j([n,"strokeStyle"],[this,"strokeStyle"])),this.d(j([i,"filled"],[this,"filled"])),this.d(j([i,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"targetID"],[this,"targetID"])),this.d(j([i,"depth"],[this,"depth"])),this.d(j([i,"sideImage"],[this,"sideImage"])),this.d(j([i,"bottomImage"],[this,"bottomImage"])),this.d(j([i,"opacity"],[this,"opacity"])),this.d(j([i,"interpolation"],[this,"interpolation"])),this.d($([i,"flyInParam"],[this,"flyInParam"])),this.d($([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new mt([this,"mode"],ll.modes,"模式","in"),new ut([this,"targetID"],"瓦片图层","")]}}};d(tu,"createDefaultProps",()=>({...Oa.createDefaultProps(),mode:"in",targetID:""})),d(tu,"type",tu.register("ESHole",tu,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let zf=tu;const Uf={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},LS=async(r,e,t,n)=>{try{const i=window.localStorage.getItem("Authorization");let s=r+`${Uf.layerconfigfind}?tileServiceName=${e}`;t&&(s+=`&earthdstoken=${encodeURIComponent(n)}`);const o={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},AS=async(r,e,t,n,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=r+Uf.layerconfigsave;const a=i??{};t&&(o+=`?earthdstoken=${encodeURIComponent(n)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!t&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(a)})},c=await(await fetch(o,u)).text();return JSON.parse(c)}catch(s){console.error(s)}},FS=async(r,e,t)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},kS=async(r,e,t,n,i)=>{try{const s={tileServiceName:e,featureId:t},o=window.localStorage.getItem("Authorization");let a=r+Uf.featureproperty;n&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!n&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),c=JSON.parse(l);if(c.status=="ok")return c.data;console.error(c.data.status);return}catch(s){console.error(s)}},eu=class eu extends mr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new mr));d(this,"_ids",this.dv(dt([])));d(this,"_useEarthDSToken",this.dv(V(!1)));d(this,"_earthdstoken",this.dv(V("")));d(this,"_visJson",this.disposeVar(V({})));d(this,"_highlightInner3DtilesetEvent",this.dv(new I));d(this,"_removeHighlightInner3DtilesetEvent",this.dv(new I));d(this,"_tilesetServePort",this.dv(V("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d($([n,"offset"],[this,"offset"])),this.d($([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d($([n,"supportEdit"],[this,"supportEdit"])),this.d($([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d($([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d($([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d($([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d($([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d($([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{n.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}get visJson(){return this._visJson.value}set visJson(t){this._visJson.value=t}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(t,n){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[n[0].value]=n[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}async getFeatureProperty(t){return await kS(this.baseUrl,this.tileServiceName,t,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const t=await LS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await AS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,n){var a,u,l;const i=await t.pick(n),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(u=i==null?void 0:i.tilesetPickInfo)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(l=i==null?void 0:i.sceneObject)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await FS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new K([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};d(eu,"createDefaultProps",()=>({...mr.createDefaultProps(),layerConfig:jt([])})),d(eu,"type",eu.register("ESRtsTileset",eu,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Gf=eu;function VS(r){return typeof r=="number"&&!isNaN(r)}const nu=class nu extends mr{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation,offset:this.offset}}set json(e){this._innerSetJson(e)}async init(e,t){this.featureId=t;const n=await e.getFeatureProperty(t);this.uiShowprops=n.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:VS(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=n.datasetName,e.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{e.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const i=e.tileServiceIp,s=e.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${i}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:e}),e.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,e.removeHighlightDSFeature(this)})}constructor(e){super(e)}};d(nu,"createDefaultProps",()=>({...mr.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:dt({}),changeMaterial:jt(void 0),uiShowprops:dt({}),props:dt({})})),d(nu,"type",nu.register("ESRtsFeatureEditing",nu,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Wf=nu;const BS=async(r,e,t)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},wl=class wl extends mr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new mr));d(this,"_tilesetServePort",this.dv(V("")));d(this,"_useEarthDSToken",this.dv(V(!1)));d(this,"_earthdstoken",this.dv(V("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d($([n,"offset"],[this,"offset"])),this.d($([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d($([n,"supportEdit"],[this,"supportEdit"])),this.d($([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d($([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d($([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d($([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d($([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d($([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}async getport(){const t=await BS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};d(wl,"type",wl.register("ESMsTileset",wl,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let qf=wl;const Ey={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
|
|
354
|
+
`,RS="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",Ct=class Ct extends Rt{constructor(t){super(t);d(this,"_flyToFeatureEvent",this.dv(new I));d(this,"_flyToFeatureIndexEvent",this.dv(new I));d(this,"_features",this.disposeVar(jt(void 0)));d(this,"pickedInfoType","FeatureCollection");d(this,"abortController");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,n,i){this._flyToFeatureEvent.emit(t,n,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,n){this._flyToFeatureIndexEvent.emit(t,n)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var n;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const t=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Bh(this.url)?this.features=JSON.parse(this.url):await fetch(Z.context.getStrFromEnv(this.url),{signal:t}).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{i.name!="AbortError"&&console.warn("ESEntityCluster数据加载失败",i)}),this.pickedInfoType=((n=this.features)==null?void 0:n.type)??"FeatureCollection"}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",dataSource:[...t.dataSource,new K([this,"url"],"服务地址",Ct.defaults.url),new O([this,"minFeatureVisibleDistance"],"要素最小可视距离",Ct.defaults.minFeatureVisibleDistance),new O([this,"maxFeatureVisibleDistance"],"要素最大可视距离",Ct.defaults.maxFeatureVisibleDistance),new mt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...t.style,new rt([],"点样式集合"),new X([this,"textShow"],"是否显示",Ct.defaults.textShow),new Ie([this,"textAnchor"],"锚点",Ct.defaults.anchor),new ut([this,"textProperty"],"标注显示属性",Ct.defaults.textStyle.textProperty),new ut([this,"textDefaultText"],"默认文本",Ct.defaults.textStyle.defaultText),new Et([this,"textColor"],"文本颜色",Ct.defaults.textStyle.color),new Et([this,"textBackgroundColor"],"文本背景颜色",Ct.defaults.textStyle.backgroundColor),new ut([this,"textFontStyle"],"字体样式",Ct.defaults.textStyle.fontStyle),new ut([this,"textFontWeight"],"字体粗细",Ct.defaults.textStyle.fontWeight),new O([this,"textFontSize"],"字体大小",Ct.defaults.textStyle.fontSize),new Ie([this,"textOffset"],"像素偏移",Ct.defaults.textStyle.offset),new rt([],"点图片样式集合"),new X([this,"imageShow"],"是否显示",Ct.defaults.imageShow),new Ie([this,"imageAnchor"],"锚点",Ct.defaults.imageStyle.anchor),new K([this,"imageUrl"],"图片地址",Ct.defaults.imageStyle.url),new Ie([this,"imageSize"],"图片大小",Ct.defaults.imageStyle.size),new Ie([this,"imageOffset"],"像素偏移",Ct.defaults.imageStyle.offset),new rt([],"线样式集合"),new X([this,"stroked"],"是否显示",Ct.defaults.stroked),new X([this,"strokeGround"],"贴地",Ct.defaults.strokeStyle.ground),new O([this,"strokeWidth"],"线宽",Ct.defaults.strokeStyle.width),new mt([this,"strokeWidthType"],Ct.strokeStyleWidthTypes,"线宽类型"),new Et([this,"strokeColor"],"线颜色",Ct.defaults.strokeStyle.color),new ut([this,"strokeMaterial"],"线材质",Ct.defaults.strokeStyle.material),new K([this,"strokeMaterialParams"],"线材质参数",Ct.defaults.strokeStyle.materialParams),new rt([],"面样式集合"),new X([this,"filled"],"是否显示",Ct.defaults.filled),new X([this,"fillGround"],"贴地",Ct.defaults.fillStyle.ground),new Et([this,"fillColor"],"填充颜色",Ct.defaults.fillStyle.color),new ut([this,"fillMaterial"],"填充材质",Ct.defaults.fillStyle.material),new K([this,"fillMaterialParams"],"填充材质参数",Ct.defaults.fillStyle.materialParams)],more:[...t.more,new rt([],"标注文本样式"),new ut([this,"textFontFamily"],"字体",Ct.defaults.textStyle.fontFamily),new rt([],"通用"),new ls([this,"loadFuncStr"],"loadFnStr",wy,MS,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};d(Ct,"createDefaultProps",()=>({...Rt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:RS,stroked:!0,strokeStyle:dt({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:dt({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:dt({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:dt({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})),d(Ct,"type",Ct.register("ESGeoJson",Ct,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),d(Ct,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let hl=Ct;const To=class To extends wt{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_height",this.disposeVar(V(0)));{const n=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};n(),this.ad(this.pointsChanged.don(n))}}get height(){return this._height.value}set height(t){this._height.value=t}get heightChanged(){return this._height.changed}};d(To,"createDefaultProps",()=>({...wt.createDefaultProps(),stroked:!0,strokeStyle:dt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(To,"type",To.register("ESHeightMeasurement",To,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),d(To,"supportEditingModes",[...wt.supportEditingModes,Q.DoublePointsAppend,Q.DoublePointsModify]);let Pf=To;const Ha=class Ha extends Ji{constructor(t){super(t);d(this,"_area",this.dv(V(0)));d(this,"_perimeter",this.dv(V(0)));d(this,"editingBindMode","doublePoints");const n=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};n(),this.d(this.radiusChanged.don(n))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(t=10,n){return Kv([...this.position],this.radius,t,n)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new O([this,"radius"],"圆半径",1,!0)],coordinate:[...t.coordinate,new X([this,"editing"],"是否编辑"),new qo([this,"position"],"三维坐标",[0,0,0],!0),new O([this,"area"],"面积",0,!1,!0),new O([this,"perimeter"],"周长",0,!1,!0)]}}};d(Ha,"createDefaultProps",()=>({...Ji.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:dt({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),d(Ha,"type",Ha.register("ESLocalCircle",Ha,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let If=Ha;const Ya=class Ya extends Ji{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Pg([this,"points"],"坐标",[])]}}};d(Ya,"createDefaultProps",()=>({...Ji.createDefaultProps(),points:Wd([]),filled:!0})),d(Ya,"type",Ya.register("ESLocalPolygon",Ya,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let dl=Ya;const Ja=class Ja extends Ta{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new Fh([this,"points"],"本地位置数组")]}}};d(Ja,"createDefaultProps",()=>({...Ta.createDefaultProps(),points:Sl(void 0),filled:!0})),d(Ja,"type",Ja.register("ESLocalPolygonZ",Ja,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let xf=Ja;const Za=class Za extends Ji{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"width"],"宽度"),new O([this,"height"],"高度")]}}};d(Za,"createDefaultProps",()=>({...Ji.createDefaultProps(),width:5e5,height:3e5,filled:!0})),d(Za,"type",Za.register("ESLocalRectangle",Za,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let Tf=Za;const Si=class Si extends wt{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_distance",this.dv(V(0)));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const n=()=>{if(this.points&&this.points.length>=2){const i=al(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};n(),this.d(this.pointsChanged.don(n))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new O([this,"height"],"高度",10),new O([this,"width"],"宽度",10),new mt([this,"materialMode"],Si.materialModes,"模式",Si.defaults.materialMode)],coordinate:[...t.coordinate,new O([this,"distance"],"距离",0,!1,!0)]}}};d(Si,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:dt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Si,"type",Si.register("ESPipeFence",Si,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),d(Si,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),d(Si,"supportEditingModes",[...wt.supportEditingModes,Q.LineStringAppend,Q.LineStringInsert]);let jc=Si;const $i=class $i extends mr{constructor(t){super(t);d(this,"_setLayerVisibleEvent",this.dv(new I));d(this,"_setLayerColorEvent",this.dv(new I))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,n){this._setLayerVisibleEvent.emit(t,n)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,n){this._setLayerColorEvent.emit(t,n)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"ESPipeserTileset"),new it(["string","string"],(n,i)=>this.setLayerVisible(n,i),["",""],"setLayerVisible"),new it(["string","string"],(n,i)=>this.setLayerColor(n,i),["",""],"setLayerColor"),new mt([this,"colorMode"],$i.colorModes,"colorMode",$i.defaults.colorMode,!0)]}}};d($i,"createDefaultProps",()=>({...mr.createDefaultProps(),colorMode:"default"})),d($i,"type",$i.register("ESPipeserTileset",$i,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),d($i,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let Nf=$i;const ts=class ts extends wt{constructor(t){super(t);d(this,"editingBindMode","circular")}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new O([this,"area"],"面积",0,!1,!0),new O([this,"perimeter"],"周长",0,!1,!0)],basic:[...t.basic,new O([this,"height"],"高度",10),new mt([this,"materialMode"],ts.materialModes,"模式","danger")]}}};d(ts,"createDefaultProps",()=>({...wt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),d(ts,"type",ts.register("ESPolygonFence",ts,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),d(ts,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),d(ts,"supportEditingModes",[...wt.supportEditingModes,Q.CircularAppend,Q.CircularInsert,Q.HeightModify]);let zc=ts;const Ls=class Ls extends wt{constructor(t){super(t);d(this,"_deprecated",["ground"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());d(this,"editingBindMode","doublePoints")}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new X([this,"ground"],"是否贴地"),new X([this,"outlineTranslucent"],"轮廓线半透明"),new O([this,"height"],"高度"),new O([this,"extrudedHeight"],"拉伸高度"),new br([this,"rectangle"],"范围",Ls.defaults.rectangle,!0),new O([this,"stRotation"],"纹理旋转角度"),new O([this,"rotation"],"旋转角度"),new X([this,"pointEditing"],"是否单点编辑")]}}};d(Ls,"createDefaultProps",()=>({...wt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:Ht(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),d(Ls,"type",Ls.register("ESRectangle",Ls,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Ls,"supportEditingModes",[...wt.supportEditingModes,Q.DoublePointsAppend,Q.DoublePointsModify]);let Of=Ls;const Ka=class Ka extends At{getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new K([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};d(Ka,"createDefaultProps",()=>({...At.createDefaultProps(),innerRings:wp([])})),d(Ka,"type",Ka.register("ESPolygonWithHole",Ka,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let Df=Ka;const As=class As extends At{constructor(t){super(t);d(this,"_startEvent",this.disposeVar(new I));d(this,"_stopEvent",this.dv(new I));d(this,"_surfaceArea",this.disposeVar(V(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(t){this._surfaceArea.value=t}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"表面积测量","表面积测量"),new it([],()=>this.start(),[],"开始计算"),new O([this,"interpolation"],"插值距离",As.defaults.interpolation),new O([this,"offsetHeight"],"偏移高度",As.defaults.offsetHeight)]}}};d(As,"createDefaultProps",()=>({...At.createDefaultProps(),interpolation:.5,offsetHeight:0,units:at(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:dt({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),d(As,"type",As.register("ESSurfaceAreaMeasurement",As,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let Mf=As;const Fs=class Fs extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"downloadProgress"],"下载进度",Fs.defaults.downloadProgress,!0,!0),new K([this,"importOptions"],"导入参数",Fs.defaults.importOptions,void 0,!0)],dataSource:[...e.dataSource,new K([this,"url"],"路径")]}}};d(Fs,"createDefaultProps",()=>({...tt.createDefaultProps(),url:"",importOptions:jt({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),d(Fs,"type",Fs.register("ESDatasmithRuntimeModel",Fs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let Rf=Fs;const ln=class ln extends dl{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",ln.defaults.waterType),new O([this,"frequency"],"频率",ln.defaults.frequency),new Me([this,"amplitude"],.01,[0,1],"振幅",ln.defaults.amplitude),new Me([this,"flowDirection"],1,[0,360],"流向",ln.defaults.flowDirection),new Me([this,"waveVelocity"],.01,[0,1],"波动频率",ln.defaults.waveVelocity),new Me([this,"specularIntensity"],.01,[0,1],"镜面反射强度",ln.defaults.specularIntensity),new Me([this,"murkiness"],.1,[0,10],"水体浑浊度",ln.defaults.murkiness),new O([this,"flowSpeed"],"水流速度",ln.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",ln.defaults.waterColor),new K([this,"waterImage"],"水的图片",ln.defaults.waterImage)]}}};d(ln,"createDefaultProps",()=>({...dl.createDefaultProps(),allowPicking:!0,waterImage:jt(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),d(ln,"type",ln.register("ESDynamicWater",ln,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let Lf=ln;const cn=class cn extends At{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new mt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",cn.defaults.waterType),new O([this,"frequency"],"频率",cn.defaults.frequency),new Me([this,"amplitude"],.01,[0,1],"振幅",cn.defaults.amplitude),new Me([this,"flowDirection"],1,[0,360],"流向",cn.defaults.flowDirection),new Me([this,"waveVelocity"],.01,[0,1],"波动频率",cn.defaults.waveVelocity),new Me([this,"specularIntensity"],.01,[0,1],"镜面反射强度",cn.defaults.specularIntensity),new Me([this,"murkiness"],.1,[0,10],"水体浑浊度",cn.defaults.murkiness),new O([this,"flowSpeed"],"水流速度",cn.defaults.flowSpeed),new Et([this,"waterColor"],"水的底色",cn.defaults.waterColor),new K([this,"waterImage"],"水的图片",cn.defaults.waterImage)]}}};d(cn,"createDefaultProps",()=>({...At.createDefaultProps(),allowPicking:!0,waterImage:jt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),d(cn,"type",cn.register("ESGeoWater",cn,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let Af=cn;const No=class No extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"downloadProgress"],"下载进度",No.defaults.downloadProgress,!0,!0),new ut([this,"levelName"],"levelName",""),new O([this,"levelLoadDistance"],"levelLoadDistance",1e3),new Ke([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...e.dataSource,new K([this,"url"],"url","")]}}};d(No,"createDefaultProps",()=>({...tt.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:at([0,0,0]),levelLoadDistance:1e3})),d(No,"type",No.register("ESLevelRuntimeModel",No,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let Ff=No;const Jn=class Jn extends Zi{constructor(t){super(t);d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new O([this,"radius"],"半径",Jn.defaults.radius),new O([this,"sides"],"圆边数",Jn.defaults.sides),new O([this,"speed"],"材质速度",Jn.defaults.speed),new mt([this,"materialMode"],Jn.materialModes,"材质模式",Jn.defaults.materialMode),new K([this,"materialImage"],"材质图片和重复度",Jn.defaults.materialImage)]}}};d(Jn,"createDefaultProps",()=>({...Zi.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:dt({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:dt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),d(Jn,"type",Jn.register("ESPipeline",Jn,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),d(Jn,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let kf=Jn;const bi=class bi extends wt{constructor(t){super(t);d(this,"editingBindMode","visibility")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Et([this,"visibleColor"],"可视区域颜色",bi.defaults.visibleColor),new Et([this,"invisibleColor"],"遮挡区域颜色",bi.defaults.invisibleColor),new O([this,"heightOffset"],"视点高度偏移",bi.defaults.heightOffset)]}}};d(bi,"createDefaultProps",()=>({...wt.createDefaultProps(),visibleColor:at([0,1,0,1]),invisibleColor:at([1,0,0,1]),heightOffset:0})),d(bi,"type",bi.register("ESVisibilityAnalysis",bi,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),d(bi,"supportEditingModes",[...wt.supportEditingModes,Q.VisibilityAppend,Q.VisibilityModify]);let Vf=bi;const Qa=class Qa extends At{constructor(t){super(t);d(this,"_startEvent",this.dv(new I));d(this,"_clearEvent",this.dv(new I));d(this,"_volume",this.disposeVar(V(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(t){this._volume.value=t}get volumeChanged(){return this._volume.changed}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new rt([],"通用","通用"),new O([this,"planeHeight"],"基准面高程",void 0,!0),new O([this,"gridWidth"],"采样间距 m"),new O([this,"cutVolume"],"挖方",0,!1,!0),new O([this,"fillVolume"],"填方",0,!1,!0),new O([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new O([this,"progress"],"计算进度",0,!1,!0),new it([],()=>this.start(),[],"开始分析"),new it([],()=>this.clear(),[],"清空分析结果"),new X([this,"depthTest"],"是否开启深度检测")]}}};d(Qa,"createDefaultProps",()=>({...At.createDefaultProps(),planeHeight:V(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:dt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),d(Qa,"type",Qa.register("ESVolumeMeasurement",Qa,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let Bf=Qa;const $a=class $a extends po{constructor(t){super(t);d(this,"_human",this.dv(new po));d(this,"_poi",this.dv(new cl));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:n,_poi:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d($([n,"scale"],[this,"scale"])),this.d($([i,"scale"],[this,"scale"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d($([n,"flyInParam"],[this,"flyInParam"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"animation"],[this,"animation"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([n,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(j([i,"name"],[this,"name"])),this.d(j([i,"mode"],[this,"poiMode"])),this.d(j([i,"autoAnchor"],[this,"autoAnchor"])),this.d(j([i,"screenRender"],[this,"screenRender"])),this.d(j([i,"size"],[this,"size"])),this.d(j([i,"anchor"],[this,"anchor"])),this.d(j([i,"sizeByContent"],[this,"sizeByContent"])),this.d(j([i,"renderMode"],[this,"renderMode"])),this.d(j([i,"rotationType"],[this,"rotationType"])),this.d(j([i,"zOrder"],[this,"zOrder"])),this.d(j([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(j([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d($([n,"position"],[this,"position"])),this.d($([n,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{n.flyIn(s)})),this.d(this.flyToEvent.don(s=>{n.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{n.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{n.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,u)=>{n.smoothMoveOnGround(s,o,a,u)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,u,l)=>{n.smoothMoveWithRotationOnGround(s,o,a,u,l)})),this.d(this.automaticLandingEvent.don(()=>{n.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new mt([this,"poiMode"],cl.modes,"poi模式","SquareH01"),new O([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};d($a,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:dt({}),autoAnchor:!0,screenRender:!0,size:at([100,100]),anchor:at([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...po.createDefaultProps()})),d($a,"type",$a.register("ESHumanPoi",$a,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let jf=$a;const Kr=class Kr extends At{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new O([this,"depth"],"深度",Kr.defaults.depth),new O([this,"interpolation"],"插值",Kr.defaults.interpolation),new O([this,"opacity"],"透明度",Kr.defaults.opacity),new K([this,"sideImage"],"侧面图片",Kr.defaults.sideImage),new K([this,"bottomImage"],"底面图片",Kr.defaults.bottomImage)]}}};d(Kr,"createDefaultProps",()=>({...At.createDefaultProps(),depth:100,sideImage:dt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:dt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),d(Kr,"type",Kr.register("ESPit",Kr,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let Oa=Kr;const tu=class tu extends Oa{constructor(t){super(t);d(this,"_excavate",this.dv(new ll));d(this,"_pit",this.dv(new Oa));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:n,_pit:i}=this;this.d(j([n,"show"],[this,"show"])),this.d(j([i,"show"],[this,"show"])),this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([i,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d(j([i,"collision"],[this,"collision"])),this.d($([i,"points"],[this,"points"])),this.d(j([n,"points"],[this,"points"])),this.d(j([i,"pointed"],[this,"pointed"])),this.d(j([n,"pointed"],[this,"pointed"])),this.d(j([i,"pointStyle"],[this,"pointStyle"])),this.d(j([n,"pointStyle"],[this,"pointStyle"])),this.d(j([i,"stroked"],[this,"stroked"])),this.d(j([n,"stroked"],[this,"stroked"])),this.d(j([i,"strokeStyle"],[this,"strokeStyle"])),this.d(j([n,"strokeStyle"],[this,"strokeStyle"])),this.d(j([i,"filled"],[this,"filled"])),this.d(j([i,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"fillStyle"],[this,"fillStyle"])),this.d(j([n,"mode"],[this,"mode"])),this.d(j([n,"targetID"],[this,"targetID"])),this.d(j([i,"depth"],[this,"depth"])),this.d(j([i,"sideImage"],[this,"sideImage"])),this.d(j([i,"bottomImage"],[this,"bottomImage"])),this.d(j([i,"opacity"],[this,"opacity"])),this.d(j([i,"interpolation"],[this,"interpolation"])),this.d($([i,"flyInParam"],[this,"flyInParam"])),this.d($([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new mt([this,"mode"],ll.modes,"模式","in"),new ut([this,"targetID"],"瓦片图层","")]}}};d(tu,"createDefaultProps",()=>({...Oa.createDefaultProps(),mode:"in",targetID:""})),d(tu,"type",tu.register("ESHole",tu,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let zf=tu;const Uf={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},LS=async(r,e,t,n)=>{try{const i=window.localStorage.getItem("Authorization");let s=r+`${Uf.layerconfigfind}?tileServiceName=${e}`;t&&(s+=`&earthdstoken=${encodeURIComponent(n)}`);const o={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},u=await(await fetch(s,o)).text();return JSON.parse(u)}catch(i){console.error(i)}},AS=async(r,e,t,n,i)=>{try{const s=window.localStorage.getItem("Authorization");let o=r+Uf.layerconfigsave;const a=i??{};t&&(o+=`?earthdstoken=${encodeURIComponent(n)}`);const u={method:"POST",headers:{"Content-Type":"application/json",...!t&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(a)})},c=await(await fetch(o,u)).text();return JSON.parse(c)}catch(s){console.error(s)}},FS=async(r,e,t)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},kS=async(r,e,t,n,i)=>{try{const s={tileServiceName:e,featureId:t},o=window.localStorage.getItem("Authorization");let a=r+Uf.featureproperty;n&&(a+=`?earthdstoken=${encodeURIComponent(i)}`);const l=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!n&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),c=JSON.parse(l);if(c.status=="ok")return c.data;console.error(c.data.status);return}catch(s){console.error(s)}},eu=class eu extends mr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new mr));d(this,"_ids",this.dv(dt([])));d(this,"_useEarthDSToken",this.dv(V(!1)));d(this,"_earthdstoken",this.dv(V("")));d(this,"_visJson",this.disposeVar(V({})));d(this,"_highlightInner3DtilesetEvent",this.dv(new I));d(this,"_removeHighlightInner3DtilesetEvent",this.dv(new I));d(this,"_tilesetServePort",this.dv(V("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d($([n,"offset"],[this,"offset"])),this.d($([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d($([n,"supportEdit"],[this,"supportEdit"])),this.d($([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d($([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d($([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d($([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d($([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d($([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{n.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}get visJson(){return this._visJson.value}set visJson(t){this._visJson.value=t}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(t,n){var i;if((i=this.layerConfig)!=null&&i.length){const s={};s[n[0].value]=n[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(t,typeof n=="string"?JSON.parse(n):n)}async getFeatureProperty(t){return await kS(this.baseUrl,this.tileServiceName,t,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const t=await LS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await AS(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,n){var a,u,l;const i=await t.pick(n),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(u=i==null?void 0:i.tilesetPickInfo)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(l=i==null?void 0:i.sceneObject)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await FS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new K([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};d(eu,"createDefaultProps",()=>({...mr.createDefaultProps(),layerConfig:jt([])})),d(eu,"type",eu.register("ESRtsTileset",eu,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Gf=eu;function VS(r){return typeof r=="number"&&!isNaN(r)}const nu=class nu extends mr{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation,offset:this.offset}}set json(e){this._innerSetJson(e)}async init(e,t){this.featureId=t;const n=await e.getFeatureProperty(t);this.uiShowprops=n.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:VS(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=n.datasetName,e.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{e.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const i=e.tileServiceIp,s=e.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${i}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:e}),e.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,e.removeHighlightDSFeature(this)})}constructor(e){super(e)}};d(nu,"createDefaultProps",()=>({...mr.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:dt({}),changeMaterial:jt(void 0),uiShowprops:dt({}),props:dt({})})),d(nu,"type",nu.register("ESRtsFeatureEditing",nu,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let Wf=nu;const BS=async(r,e,t)=>{try{const n=window.localStorage.getItem("Authorization");let i=r;e&&(i+=`?earthdstoken=${encodeURIComponent(t)}`);const s={headers:{...!e&&n?{Authorization:n}:{}},mode:"cors"},a=await(await fetch(i,s)).text(),u=JSON.parse(a);if(u.status=="ok")return u.data.port;console.error(u.status);return}catch(n){console.error(n)}},wl=class wl extends mr{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new mr));d(this,"_tilesetServePort",this.dv(V("")));d(this,"_useEarthDSToken",this.dv(V(!1)));d(this,"_earthdstoken",this.dv(V("")));{const n=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{n()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const n=this._es3DTileset;this.d(j([n,"allowPicking"],[this,"allowPicking"])),this.d(j([n,"collision"],[this,"collision"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d($([n,"flyToParam"],[this,"flyToParam"])),this.d(j([n,"actorTag"],[this,"actorTag"])),this.d(j([n,"materialMode"],[this,"materialMode"])),this.d(j([n,"highlight"],[this,"highlight"])),this.d(j([n,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(j([n,"highlightID"],[this,"highlightID"])),this.d(j([n,"highlightColor"],[this,"highlightColor"])),this.d($([n,"offset"],[this,"offset"])),this.d($([n,"rotation"],[this,"rotation"])),this.d(j([n,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(j([n,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(j([n,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(j([n,"czmClassificationType"],[this,"czmClassificationType"])),this.d(j([n,"czmStyleJson"],[this,"czmStyleJson"])),this.d(j([n,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(j([n,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(j([n,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(j([n,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(j([n,"colorBlendMode"],[this,"colorBlendMode"])),this.d(j([n,"cacheBytes"],[this,"cacheBytes"])),this.d(j([n,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(j([n,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(j([n,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(j([n,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(j([n,"materialParams"],[this,"materialParams"])),this.d($([n,"supportEdit"],[this,"supportEdit"])),this.d($([n,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d($([n,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d($([n,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d($([n,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d($([n,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d($([n,"excavateId"],[this,"excavateId"]))}{const n=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{n.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{n.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{n.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{n.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{n.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{n.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{n.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{n.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{n.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{n.calcFlyInParam(...i)}))}{const n=this._es3DTileset;this.d(n.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(n.pickedEvent.don(i=>{i.assign({sceneObject:this}),this.pickedEvent.emit(i)}))}{const n=()=>{this.es3DTileset.show=this.show};n(),this.d(this.showChanged.don(()=>{n()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(t){this._useEarthDSToken.value=t}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(t){this._earthdstoken.value=t}async getport(){const t=await BS(this.url,this.useEarthDSToken,this.earthdstoken);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],n=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${n}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!n)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return n}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const n=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!n)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return n}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};d(wl,"type",wl.register("ESMsTileset",wl,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let qf=wl;const Ey={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
|
|
355
355
|
## 参数类型为 ESPoiType[]
|
|
356
356
|
\`\`\`js
|
|
357
357
|
type Vector2D = [number, number]
|
|
@@ -484,7 +484,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
|
|
|
484
484
|
${Iy}
|
|
485
485
|
\`\`\`
|
|
486
486
|
|
|
487
|
-
`,pl=Date.now();new Date(pl).toISOString(),new Date(pl+1440*60*1e3).toISOString();const $r=class $r extends Z{constructor(t){super(t);d(this,"_flyToEvent",this.disposeVar(new I));d(this,"_resetClockEvent",this.disposeVar(new I))}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 K([this,"data"],$r.defaults.data,HS,"数据",!0),new K([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new X([this,"clockEnabled"],"启用",!1),new O([this,"multiplier"],"倍速",$r.defaults.multiplier),new X([this,"autoResetClock"],"自动设置时钟",!0),new Hs([this,"startTime"],"开始时间",$r.defaults.startTime,!0),new Hs([this,"stopTime"],"结束时间",$r.defaults.stopTime,!0),new Hs([this,"currentTime"],"当前时间",$r.defaults.currentTime,!0),new mt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new mt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new X([this,"shouldAnimate"],"是否启用动画",!1)],general:[...t.general,new X([this,"show"],"是否显示",!0),new X([this,"collision"],"开启碰撞",!1),new X([this,"allowPicking"],"允许拾取",!1)],more:[...t.more,new it(["number"],n=>this.flyTo(n),[1e3],"飞入"),new it([],()=>this.resetClock(),[],"重设时钟"),new ls([this,"loadFuncStr"],"loadFnStr",Iy,YS,!0)]}}};d($r,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:jt(XS),autoResetClock:!0,clockEnabled:!1,startTime:pl,stopTime:pl+1440*60*1e3,currentTime:pl,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...Z.createDefaultProps()})),d($r,"type",$r.register("ESCzml",$r,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Qf=$r;const au=class au extends Z{getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([]),new X([this,"show"],"是否显示"),new O([this,"cssSize"],"尺寸"),new Ie([this,"cssPosition"],"位置"),new Iu([this,"imgUrl"],"图片地址")]}}};d(au,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),d(au,"type",au.register("ESNavigator",au,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let $f=au;const Ii=class Ii extends Z{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用","通用"),new X([this,"show"],"是否显示",Ii.defaults.show),new O([this,"height"],"高度",Ii.defaults.height,!0),new O([this,"fontSize"],"文字大小",Ii.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",Ii.defaults.bgColor,!0)]}}};d(Ii,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:at([71/255,71/255,71/255,.8])})),d(Ii,"type",Ii.register("ESViewerStatusBar",Ii,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let tp=Ii;const xi=class xi extends Z{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用","通用"),new X([this,"show"],"是否显示",xi.defaults.show),new O([this,"height"],"高度",xi.defaults.height,!0),new O([this,"fontSize"],"文字大小",xi.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",xi.defaults.bgColor,!0)]}}};d(xi,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:at([71/255,71/255,71/255,.8])})),d(xi,"type",xi.register("ESViewerStatusBarScale",xi,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let ep=xi;const uu=class uu extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ut([this,"url"],"路径","",!0),new O([this,"progress"],"进度",0,!1,!0)]}}};d(uu,"createDefaultProps",()=>({...tt.createDefaultProps(),url:"",progress:0})),d(uu,"type",uu.register("ESGaussianSplatting",uu,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let np=uu;const Mo=class Mo extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ut([this,"mesh"],"mesh地址",Mo.defaults.mesh)]}}};d(Mo,"createDefaultProps",()=>({...tt.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),d(Mo,"type",Mo.register("ESStaticMesh",Mo,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let rp=Mo;const lu=class lu extends wt{constructor(t){super(t);d(this,"_startEvent",this.dv(new I));d(this,"_clearEvent",this.dv(new I));d(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new go),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(j([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(j([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(j([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new it([],()=>this.start(),[],"开始分析"),new it([],()=>this.clear(),[],"清除分析"),new K([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new K([this,"depths"],"深度值",[],void 0,!1,!0),new O([this,"radius"],"半径",1e4,!0)]}}};d(lu,"createDefaultProps",()=>({...wt.createDefaultProps(),windowPositions:Wd([]),depths:Ht([]),radius:V(1e4)})),d(lu,"type",lu.register("ESSkylineAnalysis",lu,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let ip=lu;const es=class es extends Rt{constructor(e){super(e)}getESProperties(){const e=super.getESProperties();return{...e,basic:[...e.basic,new K([this,"data"],"数据",[],void 0,!0),new K([this,"gradient"],"渐变",es.defaults.gradient,void 0,!0),new O([this,"radius"],"半径",es.defaults.radius,void 0,!0),new O([this,"blur"],"模糊",es.defaults.blur,!0),new X([this,"is3D"],"is3D",!1,!0)]}}};d(es,"createDefaultProps",()=>({...Rt.createDefaultProps(),is3D:V(!1),data:Sl([]),gradient:jt({".5":"green",".7":"yellow",".95":"red"}),radius:V(10),blur:V(.85)})),d(es,"type",es.register("ESHeatMap",es,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Uc=es;const Ro=class Ro extends wt{constructor(t){super(t);d(this,"editingBindMode","scatter")}};d(Ro,"createDefaultProps",()=>({...wt.createDefaultProps(),pointed:!0})),d(Ro,"type",Ro.register("ESGeoPoints",Ro,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),d(Ro,"supportEditingModes",[...wt.supportEditingModes,Q.ScatterAppend,Q.ScatterModify]);let gl=Ro;const xy=async(r,e=[],t)=>{const n=[];for(const i of e){const{coordinates:s}=i.geometry;for(const o of s){const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}}return n},Ty=async(r,e=[],t)=>await Promise.all(e.map(async n=>{var u,l,c,h,f,p,m,w,E;const i=((u=n.geometry)==null?void 0:u.x)??((c=(l=n.geometry)==null?void 0:l.coordinates)==null?void 0:c[0]),s=((h=n.geometry)==null?void 0:h.y)??((p=(f=n.geometry)==null?void 0:f.coordinates)==null?void 0:p[1]);let a=((m=n.geometry)==null?void 0:m.z)??((E=(w=n.geometry)==null?void 0:w.coordinates)==null?void 0:E[2])??0;if(t)if(t.type==="absolute")a=t.height??a;else if(t.type==="relative"){const b=await r.getTerrainHeight([i,s])??0;a=(t.height??a)+b}else t.type==="terrain"&&(a=await r.getTerrainHeight([i,s])??0);return{...n,points:[i,s,a]}})),Ny=async(r,e=[],t)=>{const n=[];return await Promise.all(e.map(async i=>{const{coordinates:s}=i.geometry;await Promise.all(s.map(async o=>{const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}))})),n};function JS(r){const e=Ue.lineString(r),t=Ue.length(e),n=Ue.along(e,t/2);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function ZS(r,e){const t=Ue.lineString(r),n=Ue.length(t),i=Math.floor(n/e),s=[];if(s.push(r[0]),i<1)return[r[0]];for(let o=1;o<i;o+=1){const a=Ue.along(t,n*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function KS(r){const e=[...r];JSON.stringify(r[0])!==JSON.stringify(r[r.length-1])&&e.push(r[0]);const t=Ue.polygon([e]),n=Ue.center(t);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function Oy(r,e,t){const n=r.dv(new Na);for(const i in t)i!=="type"&&(n[i]=t[i]);n.position=e,r.d(r.components.disposableAdd(n))}function sp(r,e,t,n){let i=n.textTemplate||n.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(i);){const c=i.match(s);if(c){const h=c[1].trim(),f=t[`${h}`]||"-";i=i.replace(c[0],f)}}let o=n.symbol;const{minVisibleDistance:a,maxVisibleDistance:u}=n;a&&u&&(o={...o,minVisibleDistance:a,maxVisibleDistance:u});const l={...o,text:i};Oy(r,e,l)}function Ra(r,e){const t={width:null,height:null,color:null,opacity:null,rotation:null};return e.forEach(n=>{n.type==="size"?n.axis==="width"?t.width=r[n.field]||null:n.axis==="height"&&(t.height=r[n.field]||null):n.type==="color"?t.color=r[n.field]||null:n.type==="opacity"?t.opacity=r[n.field]||null:n.type==="rotation"&&(t.rotation=r[n.field]||null)}),t}function op(r,e,t){const i={...e.symbol};if(t&&t.length>0){const s=Ra(r,t);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function ap(r,e,t){var l,c;const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o,defaultSymbol:a}=n;let u={...a};if(Array.isArray(s)){const f=s.map(p=>r[p]??"").join(o);u=((l=i.find(p=>p.value==f))==null?void 0:l.symbol)||a}else u=((c=i.find(h=>h.value==r[s]))==null?void 0:c.symbol)||a;if(t&&t.length>0){const h=Ra(r,t);for(let f in h)u[f]!==void 0&&h[f]!==null&&(u[f]=h[f])}return u}function up(r,e,t){const n=e,{classBreakInfos:i,field:s,defaultSymbol:o}=n;let a=o;const u=r[s];if(u===void 0||typeof u!="number")a=o;else{const l=i.find(c=>u<=c.maxValue&&u>=c.minValue);l?a=l.symbol:a=o}if(t&&t.length>0){const l=Ra(r,t);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function QS(r,e){function t(l,c,h,f){const p=C=>C*Math.PI/180,m=C=>C*180/Math.PI,w=p(l),E=p(h),b=p(f-c),v=Math.sin(b)*Math.cos(E),y=Math.cos(w)*Math.sin(E)-Math.sin(w)*Math.cos(E)*Math.cos(b),_=Math.atan2(v,y);return(m(_)+360)%360}function n(l,c,h,f,p){const w=P=>P*Math.PI/180,E=P=>P*180/Math.PI,b=f/6371e3,v=w(p),y=w(l),_=w(c),C=Math.asin(Math.sin(y)*Math.cos(b)+Math.cos(y)*Math.sin(b)*Math.cos(v)),S=_+Math.atan2(Math.sin(v)*Math.sin(b)*Math.cos(y),Math.cos(b)-Math.sin(y)*Math.sin(C));return{lat:E(C),lng:E(S),alt:h}}function i(l){const c=[];l.length>1&&c.push(t(l[0].lat,l[0].lng,l[1].lat,l[1].lng));for(let h=1;h<l.length-1;h++){const f=t(l[h-1].lat,l[h-1].lng,l[h].lat,l[h].lng),p=t(l[h].lat,l[h].lng,l[h+1].lat,l[h+1].lng);let m=(f+p)/2;Math.abs(f-p)>180&&(m=(m+180)%360),c.push(m)}return l.length>1&&c.push(t(l[l.length-2].lat,l[l.length-2].lng,l[l.length-1].lat,l[l.length-1].lng)),l.length===1&&c.push(0),c}if(!r||r.length<2)throw new Error("至少需要两个点才能生成路径");if(e<=0)throw new Error("宽度必须大于0");const s=e/2,o=i(r),a=[],u=[];for(let l=0;l<r.length;l++){const c=(o[l]+90)%360,h=(o[l]+270)%360,f=r[l].alt!==void 0?r[l].alt:0;a.push(n(r[l].lat,r[l].lng,f,s,c)),u.push(n(r[l].lat,r[l].lng,f,s,h))}return a.concat(u.reverse())}function $S(r,e,t,n){function i(w){return w*(Math.PI/180)}const s=6378137,o=i(r),a=i(e),u=i(t),l=i(n),c=u-o,h=l-a,f=Math.sin(c/2)**2+Math.cos(o)*Math.cos(u)*Math.sin(h/2)**2,p=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return s*p}const Dy=(r,e,t)=>Array.isArray(e)?e.map(s=>r[s]??"").join(t):r[e]??"";function My(r,e){const n={...e.symbol};return{points:r.map(i=>i.points),symbol:n}}function Ry(r,e){const t=e,{uniqueValueInfos:n,field:i,fieldDelimiter:s,defaultSymbol:o}=t,a=[],u=n.reduce((c,h)=>{const f=h.value.toString();return c[f]={points:[],value:h.value,symbol:h.symbol},c},{});for(let c=0;c<r.length;c++){const h=r[c],f=Dy(h,i,s);if(f!==void 0&&f!==""){const p=u[f.toString()];p?p.points.push(h.points):a.push(h.points)}else a.push(h.points)}const l=[];for(let c in u){const{points:h,symbol:f}=u[c];h.length>0&&l.push({points:h,symbol:f})}return a.length>0&&l.push({points:a,symbol:o}),l}function Ly(r,e){const t=e,{classBreakInfos:n,field:i,defaultSymbol:s}=t,o=[],a=n.map(l=>({...l,points:[]}));for(let l=0;l<r.length;l++){const c=r[l],h=c[i];if(h===void 0||typeof h!="number")o.push(c.points);else{const f=a.findIndex(p=>h<=p.maxValue&&h>=p.minValue);f!==-1?a[f].points.push(c.points):o.push(c.points)}}const u=[];return a.forEach(l=>{l.points.length>0&&u.push({points:l.points,symbol:l.symbol})}),o.length>0&&u.push({points:o,symbol:s}),u}function tb(r,e,t=[]){const i={...e.symbol},s=r.map(o=>{const a=Ra(o,t);return{position:o.points,rotation:a.rotation||i.rotation||[0,0,0],scale:i.scale||[1,1,1]}});return{url:i.url,locations:s}}function eb(r,e,t=[]){const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o}=n,a=n.defaultSymbol,u=[],l=i.reduce((h,f)=>{const p=f.value.toString();return h[p]={locations:[],value:f.value,symbol:f.symbol},h},{});for(let h=0;h<r.length;h++){const f=r[h],p=Dy(f,s,o);if(p){const m=l[p.toString()];if(m){const w=Ra(f,t);m.locations.push({position:f.points,rotation:w.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const c=[];for(let h in l){const{locations:f,symbol:p}=l[h];f.length>0&&c.push({url:p.url,locations:f})}return u.length>0&&c.push({url:a.url,locations:u}),c}function nb(r,e,t=[]){const n=e,{classBreakInfos:i,field:s}=n,o=n.defaultSymbol,a=[],u=i.map(c=>({...c,locations:[]}));for(let c=0;c<r.length;c++){const h=r[c],f=h[s];if(f===void 0||typeof f!="number")a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const p=u.findIndex(m=>f<=m.maxValue&&f>=m.minValue);if(p!==-1){const m=Ra(h,t);u[p].locations.push({position:h.points,rotation:m.rotation||o.rotation||[0,0,0],scale:u[p].symbol.scale||[1,1,1]})}else a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]})}}const l=[];return u.forEach(c=>{c.locations.length>0&&l.push({url:c.symbol.url,locations:c.locations})}),a.length>0&&l.push({url:o.url,locations:a}),l}class rb extends B{constructor(t,n,i,s){super();d(this,"labelingInfo");this.sceneObject=t;const o=n;if(s&&ei(o,a=>{this.renderLabel(a,s)}),i)if(i.type==="simple"){const{visualVariables:a}=i;if(i.symbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!");const u=My(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=My(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=tb(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=op(o[u],i,a);this.render(o[u],l)}}else if(i.type==="unique-value"){const{visualVariables:a}=i;if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Ry(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Ry(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),eb(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=ap(o[h],i,a);this.render(o[h],f)}}else if(i.type==="class-breaks"){const{visualVariables:a}=i;if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Ly(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Ly(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),nb(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=up(o[h],i,a);this.render(o[h],f)}}else if(i.type==="heatmap"){const{field:a,fieldValueMax:u,fieldValueMin:l}=i;console.time();const c=o.map(h=>{const{points:f}=h;if(a&&typeof a=="string"){let p=h[a];typeof p=="number"&&(typeof u=="number"&&p>u&&(p=u),typeof l=="number"&&p<l&&(p=l),f[2]=p)}return f});this.renderHeatmap(c,i)}else console.error("PointLayer: renderer type is not supported")}renderLabel(t,n){const{points:i}=t;sp(this.sceneObject,i,t,n)}renderHeatmap(t,n){const{is3D:i,radius:s,blur:o,gradient:a}=n,u=this.dv(new Uc);this.d(this.sceneObject.components.disposableAdd(u)),u.is3D=i,u.radius=s,u.blur=o,a&&(u.gradient={...a}),u.data=t}render(t,n){n.type==="simple-point"?this._simplePointRender(t,n):n.type==="ESImageLabel"?this._simpleImageRender(t,n):n.type==="ESGltfModel"?this._simpleModelRender(t,n):n.type==="ESTextLabel"?Oy(this.sceneObject,t.points,n):n.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(t,n):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(t,n){const{points:i}=t,{size:s,color:o,outlineColor:a,outlineWidth:u}=n,l=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=a,l.pointOutlineWidth=u,l.pointSize=s,l.pointColor=o,l.allowPicking=(n==null?void 0:n.allowPicking)??!0,l.extras={selected:!1},l.points=[i]}_simplePointAllRender(t,n){const{size:i,color:s,outlineColor:o,outlineWidth:a}=n,u=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=o,u.pointOutlineWidth=a,u.pointSize=i,u.pointColor=s,u.allowPicking=(n==null?void 0:n.allowPicking)??!0,u.points=[...t]}_simpleImageRender(t,n){const{points:i}=t,{rotation:s,offset:o,size:a,url:u,screenRender:l,anchor:c,renderMode:h,rotationType:f}=n,p=this.dv(new Fc),m=this.dv(new Na);this.d(this.sceneObject.components.disposableAdd(p)),this.d(this.sceneObject.components.disposableAdd(m)),p.url=u,p.renderMode=h??0,s&&(p.rotation=s),o&&(p.offset=o),p.size=a||[32,32],c&&(p.anchor=c),f&&(p.rotationType=f),p.screenRender=l??!0,p.allowPicking=(n==null?void 0:n.allowPicking)??!0,p.extras={selected:!1},p.position=[...i],p.sizeByContent=!1,m.allowPicking=(n==null?void 0:n.allowPicking)??!0;const w=a?Math.max(...a)+10:Math.max(...p.size)+10;m.sizeByContent=!1,m.screenRender=!0,m.size=[w,w],m.borderRadius=[w,w,w,w],m.padding=[w/2,w/2,w/2,w/2],m.borderWidth=w/10,m.offset=[0,w/10+5],m.text="",m.backgroundColor=[0,0,0,0],m.borderColor=[0,0,0,0]}_imageAllRender(t,n){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:t}}]},s=this.dv(new hl);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Na);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:u,url:l,anchor:c}=n;s.imageUrl=l,c&&(s.imageAnchor=c),a&&(s.imageOffset=a),s.imageSize=u||[32,32],s.url=i,s.allowPicking=(n==null?void 0:n.allowPicking)??!0,s.extras={selected:!1},o.allowPicking=!0;const h=u?Math.max(...u)+10:Math.max(...s.imageSize)+10;o.sizeByContent=!1,o.size=[h,h],o.borderRadius=[h,h,h,h],o.padding=[h/2,h/2,h/2,h/2],o.borderWidth=h/10,o.offset=[0,h/10+5],o.text="",o.backgroundColor=[0,0,0,0],o.borderColor=[0,0,0,0]}_simpleModelRender(t,n){const{points:i}=t,{rotation:s,scale:o,url:a}=n,u=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(u)),u.url=a,s&&(u.rotation=s),o&&(u.scale=o),u.position=[...i]}_modelAllRender(t,n){const i=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(i)),i.url=t,i.instances=n}_simpleParticleRender(t,n){const{points:i}=t,s=this.dv(new kc);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(n).forEach(o=>{s[o]=n[o]})}}class ib extends B{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&ei(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;ei(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;ei(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;ei(s,a=>{const u=up(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}render(e,t){console.log("PolyLineLayer: render",e,t),t.type==="simple-line"?this._simpleLineRender(e,t):t.type==="ESPolygonFence"?this._esPolygonFenceRender(e,t):t.type==="ESPipeFence"?this._esPipeFenceRender(e,t):t.type==="ESPath"?this._esPathRender(e,t):t.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(e,t):t.type==="ESlineWall"?this._eslineWallRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Zi);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.stroked=!0,i.strokeColor=t.color,i.strokeWidth=t.width||1,i.allowPicking=(t==null?void 0:t.allowPicking)??!0,i.extras={selected:!1}}_esPolygonFenceRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new zc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.materialMode=t.materialMode}_esPipeFenceRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new jc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.width=t.width,i.materialMode=t.materialMode}_esPathRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Ma),s=this.dv(new Da);if(this.d(this.sceneObject.components.disposableAdd(i)),this.d(this.sceneObject.components.disposableAdd(s)),i.points=[...n],i.speed=t.speed,i.strokeColor=t.color,i.materialMode=t.materialMode,i.strokeWidth=t.width||1,t!=null&&t.runModel){const a=t==null?void 0:t.runSpeed,u=t==null?void 0:t.modelSymbol;let l;switch(t==null?void 0:t.runModel){case"ESHuman":l=this.dv(new po);break;case"ESCar":l=this.dv(new Rc);break;case"ESGltfModel":l=this.dv(new Ns)}if(this.d(this.sceneObject.components.disposableAdd(l)),u)for(let h in u)l[h]=u[h];const c=[0];for(var o=0;o<n.length-1;o+=1){const h=n[o],f=n[o+1],p=$S(h[1],h[0],f[1],f[0]);c.push(c[o]+Math.ceil(p/a)*1e3)}i.timeStamps=c,t!=null&&t.runSpeed&&(i.currentPositionChanged.don(h=>{i.currentPosition&&(l.position=i.currentPosition,i.currentRotation&&(l.rotation=i.currentRotation))}),s.startTime=0,s.stopTime=c[c.length-1],s.playing=!0,s.loop=(t==null?void 0:t.runLoop)??!0,s.currentTimeChanged.don(h=>{i.path.currentTime=h}))}}_eslineInterpolationModelRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=(t==null?void 0:t.interpolationDistance)??0;if(!i)return;const s=ZS(n,i/1e3),o=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(o)),o.url=t.url,o.instances=s.map(a=>({position:a,rotation:t.rotation,scale:t.scale}))}_eslineWallRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=t.height??0,s=t.width??0,o=t.extrudedHeight??0,a=n.map(c=>({lng:(c==null?void 0:c[0])??0,lat:(c==null?void 0:c[1])??0,alt:(c==null?void 0:c[2])??0})),u=QS(a,s).map(c=>[(c==null?void 0:c.lng)??0,(c==null?void 0:c.lat)??0,(c==null?void 0:c.alt)??0]),l=this.dv(new go);this.d(this.sceneObject.components.disposableAdd(l)),l.height=i,l.extrudedHeight=o,l.filled=t.filled??!0,l.fillColor=t.fillColor,l.allowPicking=(t==null?void 0:t.allowPicking)??!0,l.extras={selected:!1},l.points=u}renderLabel(e,t){const{points:n}=e,i=JS(n);sp(this.sceneObject,i,e,t)}}function Ay(r,e){try{JSON.stringify(r[r.length-1])!==JSON.stringify(r[0])&&r.push(r[0]);const t=Ue.featureCollection(r.map(u=>Ue.point(u))),n=Ue.polygon([r]),i={gridType:"point",units:"meters"};return Ue.interpolate(t,e,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>Ue.booleanPointInPolygon(Ue.point(u),n))}catch(t){return console.error(t),[]}}class sb extends B{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&ei(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;ei(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;ei(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;ei(s,a=>{const u=up(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(e,t){const{points:n}=e;console.log("PolygonLayer: renderLabel",n);const i=KS(n);sp(this.sceneObject,i,e,t)}render(e,t){t.type==="simple-fill"?this._simplePolygonRender(e,t):t.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(e,t):t.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(e,t):t.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:i,outline:s,filled:o,ground:a}=t,{width:u,color:l,stroked:c}=s,h=this.dv(new At);this.d(this.sceneObject.components.disposableAdd(h)),h.stroked=c??!1,h.strokeColor=l??[1,1,1,1],h.strokeWidth=u??1,h.filled=o??!0,h.fillGround=a??!1,h.fillColor=i??[1,1,1,1],h.allowPicking=(t==null?void 0:t.allowPicking)??!0,h.extras={selected:!1},h.points=[...n]}_esGeoExtrudedPolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,extrudedHeight:s,color:o}=t,a=this.dv(new go);this.d(this.sceneObject.components.disposableAdd(a)),a.height=i,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(t==null?void 0:t.allowPicking)??!0,a.extras={selected:!1},a.points=[...n]}_polygonInterpolateESGltfModelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,url:o,rotation:a,scale:u}=t,l=Ay(n,s??10),c=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(c)),c.url=o,c.instances=l.map(h=>({position:[...h,i??0],rotation:a??[0,0,0],scale:u??[1,1,1]}))}_polygonInterpolateESImageLabelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,offset:o,size:a,url:u,anchor:l}=t,h={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...Ay(n,s??10).map(p=>[...p,i??0])]}}]},f=this.dv(new hl);this.d(this.sceneObject.components.disposableAdd(f)),f.textDefaultText="",f.imageUrl=u,l&&(f.imageAnchor=l),o&&(f.imageOffset=o),a&&(f.imageSize=a),f.url=h}}class ob extends B{constructor(t,n){super();d(this,"_initEvent",this.dv(new I));const i=this,s=async()=>{try{const a=t.featureProps;if(!a)return;const{heightMode:u,features:l,layerType:c,url:h}=a;let f=[];if(!l&&h){let p=await fetch(h).then(m=>m.json());return p=(p==null?void 0:p.features)??p,c==="polylineVector"?f=await xy(n,p,u):c==="polygonVector"?f=await Ny(n,p,u):c==="pointVector"&&(f=await Ty(n,p,u)),f}else c==="polylineVector"?f=await xy(n,l,u):c==="polygonVector"?f=await Ny(n,l,u):c==="pointVector"&&(f=await Ty(n,l,u));return f}catch(a){console.error(a);return}},o=this.dv(be(this._initEvent,t.featurePropsChanged));i.dv(new le(o,()=>{if(!t.featureProps)return;const a=t.featureProps;let u;return(async()=>{const{layerType:c,renderer:h,labelingInfo:f}=a,p=await s();!p||p.length===0||(c==="pointVector"?u=new rb(t,p,h,f):c==="polylineVector"?u=new ib(t,p,h,f):c==="polygonVector"&&(u=new sb(t,p,h,f)),console.log("polygonVectorLayer","createLayer",u))})().catch(console.error),{destroy:()=>{var c;(c=u==null?void 0:u.destroy)==null||c.call(u),u=void 0}}}));{const a=(u,l=1)=>{const c=$v(u);if(!c)return;const{center:h,radius:f}=c;n.flyTo({distance:f*4,heading:0,pitch:-90,flyDuration:l??1,hDelta:0,pDelta:0},h)};i.d(t.flyToEvent.don(async u=>{const{featureProps:l}=t;if(!l)return;const c=await s();if(!c)return;let h=[];l.layerType==="polylineVector"?h=c.map(f=>f.points).flat():l.layerType==="polygonVector"?h=c.map(f=>f.points).flat():l.layerType==="pointVector"&&(h=c.map(f=>f.points)),h.length!==0&&a(h,u)}))}}init(){this._initEvent.emit()}}const cu=class cu extends Rt{constructor(t){super(t);d(this,"featureLayerMap",new Map);const n=this;n.d(n.viewerAttached.don(i=>{if(console.log("ESFeatureLayer","viewerAttached",i.id),n.featureLayerMap.has(i.id))return;const s=new ob(n,i);s.init(),n.featureLayerMap.set(i.id,s)})),n.d(n.viewerDetached.don(i=>{var s;console.log("ESFeatureLayer","viewerDetached",i.id),n.featureLayerMap.has(i.id)&&((s=n.featureLayerMap.get(i.id))==null||s.destroy(),n.featureLayerMap.delete(i.id))})),n.d(()=>{for(const i of n.featureLayerMap.values())i.destroy();n.featureLayerMap.clear()}),n.d(zs(n.showChanged,()=>{for(const i of n.components.values())Reflect.has(i,"show")&&(i.show=n.show)},{immediate:!0}))}};d(cu,"createDefaultProps",()=>({...Rt.createDefaultProps(),featureProps:jt(void 0)})),d(cu,"type",cu.register("ESFeatureLayer",cu,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let lp=cu;const ns=class ns extends B{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new I));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Zn(async t=>{if(this._loading=!0,window.Hls)console.info("可能系统已经加载hlsjs,此处不再加载!");else{const n=Z.context.getStrFromEnv(ns.path);await t.promise(dh(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));d(this,"_processingStart",this._processing.start())}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return ns._instance=ns._instance||new ns,ns._instance}};d(ns,"path","${xr-utils-script-dir}/xr-static/xr-utils/hlsjs/1.4.12/hls.min.js"),d(ns,"_instance");let Gc=ns,ab=class extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class ub extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Zn(async t=>{const{videoSrc:n}=this,i=Gc.instance();await t.promise(i.loadedPromise);const s=window.Hls,o=new s,a=this.element;await Gs(t,()=>new Promise((u,l)=>{a.xbsjHLS=o,o.attachMedia(a),o.on(s.Events.MEDIA_ATTACHED,()=>{o.loadSource(n),o.on(s.Events.MANIFEST_PARSED,(c,h)=>{a.play(),u()})}),o.on(s.Events.ERROR,(c,h)=>{const{type:f,details:p,fatal:m}=h;m&&(o.destroy(),l(p))})}))})));d(this,"_processingStartup",this._processing.start());this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new ab(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class Fy extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new ub(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}const rs=class rs extends B{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new I));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Zn(async t=>{if(this._loading=!0,window.flvjs)console.info("可能系统已经加载flvjs,此处不再加载!");else{const n=Z.context.getStrFromEnv(rs.path);await t.promise(dh(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));d(this,"_processingStart",this._processing.start())}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return rs._instance=rs._instance||new rs,rs._instance}};d(rs,"path","${xr-utils-script-dir}/xr-static/xr-utils/flvjs/1.6.2/flv.min.js"),d(rs,"_instance");let Wc=rs;class lb extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}}class cb extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Zn(async t=>{const{videoSrc:n}=this,i=Wc.instance();await t.promise(i.loadedPromise);const s=window.flvjs,o=this.element;await Gs(t,()=>new Promise((a,u)=>{if(!s.isSupported()){u("flvjs不支持!");return}var l=s.createPlayer({type:"flv",url:n});l.attachMediaElement(o),l.load(),l.play(),o.xbsjFlvPlayer=l}))})));d(this,"_processingStartup",this._processing.start());this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new lb(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class ky extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new cb(t,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Vy(r){const e=r.substring(r.lastIndexOf(".")+1);return ml.suffixTypes[e]}class ml extends B{constructor(){super();d(this,"_enabled",this.disposeVar(V(!1)));d(this,"_uri",this.disposeVar(V("")));d(this,"_type",this.disposeVar(V(void 0)));d(this,"_size",this.disposeVar(Ht(void 0)));d(this,"_pixelFormat",this.disposeVar(V("RGBA")));d(this,"_flipY",this.disposeVar(V(!0)));d(this,"_crossOriginReact",this.disposeVar(V("")));d(this,"_autoplayReact",this.disposeVar(V(!0)));d(this,"_loopReact",this.disposeVar(V(!0)));d(this,"_copyTextureEvent",this.disposeVar(new I));d(this,"_imageProcessingResettingEvent",this.disposeVar(be(this.enabledChanged,this.uriChanged,this.typeChanged)));d(this,"_imageProcessingResetting",this.disposeVar(new le(this._imageProcessingResettingEvent,()=>{do{if(!this.enabled||!this.uri)break;let{type:t}=this;if(t||(t=Vy(this.uri)),!t)break;if(t==="img")return new ug(this,this.uri);if(t==="video")return new hg(this,this.uri);if(t==="gif")return new wg(this,this.uri);if(t==="hls")return new Fy(this,this.uri);if(t==="flv")return new ky(this,this.uri)}while(!1)})));d(this,"_createNativeTextureEvent",this.disposeVar(be(this.enabledChanged,this.sizeChanged,this.pixelFormatChanged,this.flipYChanged)))}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}get uri(){return this._uri.value}set uri(t){this._uri.value=t}get uriChanged(){return this._uri.changed}get type(){return this._type.value}set type(t){this._type.value=t}get typeChanged(){return this._type.changed}get size(){return this._size.value}set size(t){this._size.value=t}get sizeChanged(){return this._size.changed}get pixelFormat(){return this._pixelFormat.value}set pixelFormat(t){this._pixelFormat.value=t}get pixelFormatChanged(){return this._pixelFormat.changed}get flipY(){return this._flipY.value}set flipY(t){this._flipY.value=t}get flipYChanged(){return this._flipY.changed}get crossOrigin(){return this._crossOriginReact.value}set crossOrigin(t){this._crossOriginReact.value=t}get crossOriginChanged(){return this._crossOriginReact.changed}get autoplay(){return this._autoplayReact.value}set autoplay(t){this._autoplayReact.value=t}get autoplayChanged(){return this._autoplayReact.changed}get loop(){return this._loopReact.value}set loop(t){this._loopReact.value=t}get loopChanged(){return this._loopReact.changed}get copyTextureEvent(){return this._copyTextureEvent}copyTexture(t){this._createNativeTextureEvent.flush(),this._copyTextureEvent.emit(t)}get imageProcessingResetting(){return this._imageProcessingResetting}get createNativeTextureEvent(){return this._createNativeTextureEvent}copyFromCanvas(t){if(t.width<=0||t.height<=0){console.warn("canvas.width <= 0 || canvas.height <= 0");return}this.size=[t.width,t.height],this.pixelFormat="RGBA",this.copyTexture({source:t})}}d(ml,"types",cg),d(ml,"czmPixelFormats",lg),d(ml,"suffixTypes",{png:"img",jpg:"img",svg:"img",webp:"img",gif:"gif",mp4:"video",mov:"video",webm:"video",flv:"flv",m3u8:"hls"});const hb=[0,0,0,0];class db{constructor(){d(this,"_value",[]);d(this,"_valueStr","[]");d(this,"_valueChanged");this.value=[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]}get valueChanged(){return this._valueChanged||(this._valueChanged=new I),this._valueChanged}set value(e){if(e.length===0){console.error("value.length === 0");return}let t;if(this._value.length===e.length){const i=[...e].sort((s,o)=>s.ratio-o.ratio);if(t=JSON.stringify(i),this._valueStr===t)return}t=t||JSON.stringify([...e].sort((i,s)=>i.ratio-s.ratio));const n=this._value;if(this._value=JSON.parse(t),this._value.length===0)throw console.error("this._colorStops.length === 0"),new Error("this._colorStops.length === 0");this._valueChanged&&this._valueChanged.emit(this._value,n)}get value(){return JSON.parse(JSON.stringify(this._value))}get valueStr(){return this._valueStr}get minRatio(){return this._value[0].ratio}get maxRatio(){return this._value[this._value.length-1].ratio}_getRatioIndex(e){if(e<this._value[0].ratio||e>this._value[this._value.length-1].ratio)throw console.error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio"),new Error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio");let t=this._value.length;for(let n=0;n<t-1;++n)if(e>=this._value[n].ratio&&e<=this._value[n+1].ratio)return n;throw console.error("shoud not be here!"),new Error("shoud not be here!")}getRatioColor(e,t){e=Ml(e,this.minRatio,this.maxRatio);const n=this._getRatioIndex(e),i=this._value[n],s=this._value[n+1],o=(e-i.ratio)/(s.ratio-i.ratio);for(let a=0;a<4;++a)t[a]=i.rgba[a]*(1-o)+s.rgba[a]*o;if(t.some(Number.isNaN)){console.error("result NaN");return}return t}getColorsInUint8(e){if(e.length%4!==0)throw console.error("result.length % 4 !== 0"),new Error("result.length % 4 !== 0");const t=e.length/4,n=1/t;for(let i=0;i<t;++i){const s=hb;this.getRatioColor((i+.5)*n,s)||s.splice(0,4,0,0,0,0);for(let o=0;o<4;++o)e[i*4+o]=255*s[o]|0}return e}}class fb extends B{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;return s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s,n}getEngineObjConstructor(t,n){const i=this.registerEngines[n];if(!i)return;let s=t.constructor,o=t.typeName,a=i.get(o);if(a)return a;if(t.components.main)return;const u=o;for(;o!=="ESSceneObject"&&(s=s.getParentClass(),!!s);)if(o=s.type,a=i.get(o),a)return console.warn(`未找到${u}在${n}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(t,n){const i=this.getEngineObjConstructor(t,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new mo(t,n);return s.createdEvent.emit(),s}}}class pb extends B{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s}getEngineObjConstructor(t,n){const s=(this.registerEngines[n]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${n}中对应的实现类!`)}createEngineObject(t,n){const i=this.getEngineObjConstructor(t.typeName,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new mo(t,n);return s.createdEvent.emit(),s}}}const Cr=class Cr extends B{constructor(t,n,i=!1){super();d(this,"_createdEvent",this.dv(new I));d(this,"_id",++Cr._accumId);this._sceneObject=t,this._viewer=n;{if(i)return;const s=(o,a)=>{for(let u of o)this._viewer.delete(u);for(let u of a)u.parentID=this.sceneObject.id,this._viewer.add(u)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};d(Cr,"context",new fb),d(Cr,"contextEditing",new pb),d(Cr,"register",Cr.context.register.bind(Cr.context)),d(Cr,"registerEditing",Cr.contextEditing.register.bind(Cr.contextEditing)),d(Cr,"_accumId",-1);let mo=Cr;function By(r){return typeof r=="string"?document.getElementById(r):r}function cp(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 jy extends B{constructor(t,n){super();d(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=n;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let u of o){const l=i.get(u);l&&(l.destroy(),i.delete(u))}if(a)for(let u of a){if(i.get(u)){console.warn(`listeningSceneObjects已存在某对象:${u.name}`,u);debugger}const c=this.createSceneObjectListeningFunc(u);c&&i.set(u,c)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class gb extends B{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class n extends B{constructor(s){super(),this._esPath=s,this.dv(new le(t.activeViewerChanged,()=>{const o=t.activeViewer;if(!o)return;class a extends B{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const h=t.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new jy(t.sceneObjectsManager,i=>{if(i instanceof Ma)return new n(i)}))}{const t=this._esObjectsManager;class n extends B{constructor(s){super();const o=()=>{const a=t.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new jy(t.sceneObjectsManager,i=>{if(i instanceof Da)return new n(i)}))}}}class mb extends B{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 vb extends B{constructor(t){super();d(this,"_player");d(this,"_channels",this.dv(at([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new le(this.channelsChanged,()=>{if(this.channels.length===0)return;const n=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=Z.getSceneObjById(s.pathId);if(!o||!(o instanceof Ma))continue;const u=s.sceneObjectIds.map(l=>Z.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&n.push({path:o,sceneObjects:u})}if(n.length!==0)return new mb(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 qc(r){if(r.data){const{type:e,value:t}=r.data;if(e==="UITreeA"&&t instanceof on){const{sceneObject:n}=t;if(n)return n.id}}}function yb(r,e){const{property:t,customEventName:n,otherParams:i}=e,{dragstartDataMananger:s}=r;if(!(t instanceof qo)){if(!(t instanceof Tg)){if(t instanceof ut){const[o,a]=Ni(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;qc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=qc(s);l!==void 0&&a(l)}}else if(t instanceof Sg){const[o,a]=Ni(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;qc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,c=i[0].index;u.preventDefault();const h=qc(s);if(h!==void 0){l[c].firstChild.value=h;const f=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(f)}}}else if(t instanceof bg){const[o,a]=Ni(t.reactVar)}}}}function zy(r,e,t,n){if(t)n.currentActiveEditing=[r,e];else if(n.currentActiveEditing){const[i,s]=n.currentActiveEditing;i===r&&s===e&&(t||(n.currentActiveEditing=void 0))}}const _b=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class wb extends B{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of _b){const s=i+"Changed",o=n[s];if(o){{const a=n[i];zy(n,i,a,t)}this.dispose(o.disposableOn((a=>zy(n,i,a,t))))}}}get sceneObject(){return this._sceneObject}}class Eb extends B{constructor(){super();d(this,"_currentActiveEditing",this.disposeVar(Ht(void 0)));d(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,n)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),n){const[i,s]=n;i[s]===!0&&(i[s]=!1)}if(t){const[i,s]=t;i[s]=!0}})),Z.context.sceneObjCreatedEvent.don(t=>{t.dv(new wb(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 Cb extends B{constructor(){super();d(this,"_sceneObjects",new Set);d(this,"_sceneObjectsToChange",this.dv(new I));this.d(()=>{const t=lh(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){return this._sceneObjects.has(t)?(console.warn(`创建失败:对象${t.typeName+":"+t.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t),!0)}deleteSceneObject(t){return this._sceneObjects.has(t)?(this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t),!0):(console.warn(`删除失败:对象${t.typeName+":"+t.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(t,n){const i=Z.context.createSceneObject(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromUrl(t,n){const i=Z.context.createSceneObjectFromUrl(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,n){const i=Z.context.createSceneObjectFromClass(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const n=Z.context.createSceneObjectFromJson(t);return n&&this.addSceneObject(n),n}}class Sb extends B{constructor(t){super();d(this,"viewer");const n=this.viewer=t;this.ad(new le(n.rollerShutterChanged,()=>{const i=n.container;if(!i||!n.rollerShutter)return;const s=new B;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let t=document.createElement("div");t.style.position="absolute",t.style.left="50%",t.style.top="0",t.style.backgroundColor="#d3d3d3",t.style.width="5px",t.style.height="100%",t.style.zIndex="9999";const n=i=>{if(!t.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/t.parentElement.offsetWidth;t.style.left=`${100*o}%`,this.viewer.splitPosition=o};return t.addEventListener("mouseenter",i=>{t.style.cursor="ew-resize"}),t.addEventListener("mouseleave",i=>{t.style.cursor="default"}),t.addEventListener("mousedown",i=>{t.style.cursor="ew-resize",document.addEventListener("mousemove",n)}),document.addEventListener("mouseup",i=>{t.style.cursor="default",document.removeEventListener("mousemove",n)}),t}}class bb extends B{constructor(t){super();d(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new Sb(t))}}function Uy(r,e){return r.length===e.length&&r.every((t,n)=>t===e[n])}class Pb extends B{constructor(e){super(),this._viewer=e,this.d(j([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class Ib extends B{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const n=Wr.createCommonProps(),i=[];Object.keys(n).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(be(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(n).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(wu());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const u=this._activeViewer.getCurrentCameraInfo(),l=this._viewer.getCurrentCameraInfo();if(!u)return;const{position:c,rotation:h}=u;l&&Uy(c,l.position)&&Uy(h,l.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>a.cancel())}}const xb=`<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">
|
|
487
|
+
`,pl=Date.now();new Date(pl).toISOString(),new Date(pl+1440*60*1e3).toISOString();const $r=class $r extends Z{constructor(t){super(t);d(this,"_flyToEvent",this.disposeVar(new I));d(this,"_resetClockEvent",this.disposeVar(new I))}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 K([this,"data"],$r.defaults.data,HS,"数据",!0),new K([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new X([this,"clockEnabled"],"启用",!1),new O([this,"multiplier"],"倍速",$r.defaults.multiplier),new X([this,"autoResetClock"],"自动设置时钟",!0),new Hs([this,"startTime"],"开始时间",$r.defaults.startTime,!0),new Hs([this,"stopTime"],"结束时间",$r.defaults.stopTime,!0),new Hs([this,"currentTime"],"当前时间",$r.defaults.currentTime,!0),new mt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new mt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new X([this,"shouldAnimate"],"是否启用动画",!1)],general:[...t.general,new X([this,"show"],"是否显示",!0),new X([this,"collision"],"开启碰撞",!1),new X([this,"allowPicking"],"允许拾取",!1)],more:[...t.more,new it(["number"],n=>this.flyTo(n),[1e3],"飞入"),new it([],()=>this.resetClock(),[],"重设时钟"),new ls([this,"loadFuncStr"],"loadFnStr",Iy,YS,!0)]}}};d($r,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:jt(XS),autoResetClock:!0,clockEnabled:!1,startTime:pl,stopTime:pl+1440*60*1e3,currentTime:pl,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...Z.createDefaultProps()})),d($r,"type",$r.register("ESCzml",$r,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Qf=$r;const au=class au extends Z{getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([]),new X([this,"show"],"是否显示"),new O([this,"cssSize"],"尺寸"),new Ie([this,"cssPosition"],"位置"),new Iu([this,"imgUrl"],"图片地址")]}}};d(au,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),d(au,"type",au.register("ESNavigator",au,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let $f=au;const Ii=class Ii extends Z{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用","通用"),new X([this,"show"],"是否显示",Ii.defaults.show),new O([this,"height"],"高度",Ii.defaults.height,!0),new O([this,"fontSize"],"文字大小",Ii.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",Ii.defaults.bgColor,!0)]}}};d(Ii,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:at([71/255,71/255,71/255,.8])})),d(Ii,"type",Ii.register("ESViewerStatusBar",Ii,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let tp=Ii;const xi=class xi extends Z{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new rt([],"通用","通用"),new X([this,"show"],"是否显示",xi.defaults.show),new O([this,"height"],"高度",xi.defaults.height,!0),new O([this,"fontSize"],"文字大小",xi.defaults.fontSize,!0),new Et([this,"bgColor"],"背景颜色",xi.defaults.bgColor,!0)]}}};d(xi,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:at([71/255,71/255,71/255,.8])})),d(xi,"type",xi.register("ESViewerStatusBarScale",xi,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let ep=xi;const uu=class uu extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ut([this,"url"],"路径","",!0),new O([this,"progress"],"进度",0,!1,!0)]}}};d(uu,"createDefaultProps",()=>({...tt.createDefaultProps(),url:"",progress:0})),d(uu,"type",uu.register("ESGaussianSplatting",uu,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let np=uu;const Mo=class Mo extends tt{constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ut([this,"mesh"],"mesh地址",Mo.defaults.mesh)]}}};d(Mo,"createDefaultProps",()=>({...tt.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),d(Mo,"type",Mo.register("ESStaticMesh",Mo,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let rp=Mo;const lu=class lu extends wt{constructor(t){super(t);d(this,"_startEvent",this.dv(new I));d(this,"_clearEvent",this.dv(new I));d(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new go),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(j([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(j([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(j([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(j([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(j([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new it([],()=>this.start(),[],"开始分析"),new it([],()=>this.clear(),[],"清除分析"),new K([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new K([this,"depths"],"深度值",[],void 0,!1,!0),new O([this,"radius"],"半径",1e4,!0)]}}};d(lu,"createDefaultProps",()=>({...wt.createDefaultProps(),windowPositions:Wd([]),depths:Ht([]),radius:V(1e4)})),d(lu,"type",lu.register("ESSkylineAnalysis",lu,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let ip=lu;const es=class es extends Rt{constructor(e){super(e)}getESProperties(){const e=super.getESProperties();return{...e,basic:[...e.basic,new K([this,"data"],"数据",[],void 0,!0),new K([this,"gradient"],"渐变",es.defaults.gradient,void 0,!0),new O([this,"radius"],"半径",es.defaults.radius,void 0,!0),new O([this,"blur"],"模糊",es.defaults.blur,!0),new X([this,"is3D"],"is3D",!1,!0)]}}};d(es,"createDefaultProps",()=>({...Rt.createDefaultProps(),is3D:V(!1),data:Sl([]),gradient:jt({".5":"green",".7":"yellow",".95":"red"}),radius:V(10),blur:V(.85)})),d(es,"type",es.register("ESHeatMap",es,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let Uc=es;const Ro=class Ro extends wt{constructor(t){super(t);d(this,"editingBindMode","scatter")}};d(Ro,"createDefaultProps",()=>({...wt.createDefaultProps(),pointed:!0})),d(Ro,"type",Ro.register("ESGeoPoints",Ro,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),d(Ro,"supportEditingModes",[...wt.supportEditingModes,Q.ScatterAppend,Q.ScatterModify]);let gl=Ro;const xy=async(r,e=[],t)=>{const n=[];for(const i of e){const{coordinates:s}=i.geometry;for(const o of s){const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}}return n},Ty=async(r,e=[],t)=>await Promise.all(e.map(async n=>{var u,l,c,h,f,p,m,w,E;const i=((u=n.geometry)==null?void 0:u.x)??((c=(l=n.geometry)==null?void 0:l.coordinates)==null?void 0:c[0]),s=((h=n.geometry)==null?void 0:h.y)??((p=(f=n.geometry)==null?void 0:f.coordinates)==null?void 0:p[1]);let a=((m=n.geometry)==null?void 0:m.z)??((E=(w=n.geometry)==null?void 0:w.coordinates)==null?void 0:E[2])??0;if(t)if(t.type==="absolute")a=t.height??a;else if(t.type==="relative"){const b=await r.getTerrainHeight([i,s])??0;a=(t.height??a)+b}else t.type==="terrain"&&(a=await r.getTerrainHeight([i,s])??0);return{...n,points:[i,s,a]}})),Ny=async(r,e=[],t)=>{const n=[];return await Promise.all(e.map(async i=>{const{coordinates:s}=i.geometry;await Promise.all(s.map(async o=>{const a=await Promise.all(o.map(async u=>{let l=u[2]??0;if(t)if(t.type==="absolute")l=t.height??l;else if(t.type==="relative"){const c=await r.getTerrainHeight([u[0],u[1]])??0;l=(t.height??l)+c}else t.type==="terrain"&&(l=await r.getTerrainHeight([u[0],u[1]])??0);return[u[0],u[1],l]}));n.push({...i,points:a})}))})),n};function JS(r){const e=Ue.lineString(r),t=Ue.length(e),n=Ue.along(e,t/2);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function ZS(r,e){const t=Ue.lineString(r),n=Ue.length(t),i=Math.floor(n/e),s=[];if(s.push(r[0]),i<1)return[r[0]];for(let o=1;o<i;o+=1){const a=Ue.along(t,n*(o/i));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function KS(r){const e=[...r];JSON.stringify(r[0])!==JSON.stringify(r[r.length-1])&&e.push(r[0]);const t=Ue.polygon([e]),n=Ue.center(t);return[n.geometry.coordinates[0],n.geometry.coordinates[1],n.geometry.coordinates[2]||0]}function Oy(r,e,t){const n=r.dv(new Na);for(const i in t)i!=="type"&&(n[i]=t[i]);n.position=e,r.d(r.components.disposableAdd(n))}function sp(r,e,t,n){let i=n.textTemplate||n.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(i);){const c=i.match(s);if(c){const h=c[1].trim(),f=t[`${h}`]||"-";i=i.replace(c[0],f)}}let o=n.symbol;const{minVisibleDistance:a,maxVisibleDistance:u}=n;a&&u&&(o={...o,minVisibleDistance:a,maxVisibleDistance:u});const l={...o,text:i};Oy(r,e,l)}function Ra(r,e){const t={width:null,height:null,color:null,opacity:null,rotation:null};return e.forEach(n=>{n.type==="size"?n.axis==="width"?t.width=r[n.field]||null:n.axis==="height"&&(t.height=r[n.field]||null):n.type==="color"?t.color=r[n.field]||null:n.type==="opacity"?t.opacity=r[n.field]||null:n.type==="rotation"&&(t.rotation=r[n.field]||null)}),t}function op(r,e,t){const i={...e.symbol};if(t&&t.length>0){const s=Ra(r,t);for(let o in s)i[o]!==void 0&&s[o]!==null&&(i[o]=s[o])}return i}function ap(r,e,t){var l,c;const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o,defaultSymbol:a}=n;let u={...a};if(Array.isArray(s)){const f=s.map(p=>r[p]??"").join(o);u=((l=i.find(p=>p.value==f))==null?void 0:l.symbol)||a}else u=((c=i.find(h=>h.value==r[s]))==null?void 0:c.symbol)||a;if(t&&t.length>0){const h=Ra(r,t);for(let f in h)u[f]!==void 0&&h[f]!==null&&(u[f]=h[f])}return u}function up(r,e,t){const n=e,{classBreakInfos:i,field:s,defaultSymbol:o}=n;let a=o;const u=r[s];if(u===void 0||typeof u!="number")a=o;else{const l=i.find(c=>u<=c.maxValue&&u>=c.minValue);l?a=l.symbol:a=o}if(t&&t.length>0){const l=Ra(r,t);for(let c in l)a[c]!==void 0&&l[c]!==null&&(a[c]=l[c])}return a}function QS(r,e){function t(l,c,h,f){const p=C=>C*Math.PI/180,m=C=>C*180/Math.PI,w=p(l),E=p(h),b=p(f-c),v=Math.sin(b)*Math.cos(E),y=Math.cos(w)*Math.sin(E)-Math.sin(w)*Math.cos(E)*Math.cos(b),_=Math.atan2(v,y);return(m(_)+360)%360}function n(l,c,h,f,p){const w=P=>P*Math.PI/180,E=P=>P*180/Math.PI,b=f/6371e3,v=w(p),y=w(l),_=w(c),C=Math.asin(Math.sin(y)*Math.cos(b)+Math.cos(y)*Math.sin(b)*Math.cos(v)),S=_+Math.atan2(Math.sin(v)*Math.sin(b)*Math.cos(y),Math.cos(b)-Math.sin(y)*Math.sin(C));return{lat:E(C),lng:E(S),alt:h}}function i(l){const c=[];l.length>1&&c.push(t(l[0].lat,l[0].lng,l[1].lat,l[1].lng));for(let h=1;h<l.length-1;h++){const f=t(l[h-1].lat,l[h-1].lng,l[h].lat,l[h].lng),p=t(l[h].lat,l[h].lng,l[h+1].lat,l[h+1].lng);let m=(f+p)/2;Math.abs(f-p)>180&&(m=(m+180)%360),c.push(m)}return l.length>1&&c.push(t(l[l.length-2].lat,l[l.length-2].lng,l[l.length-1].lat,l[l.length-1].lng)),l.length===1&&c.push(0),c}if(!r||r.length<2)throw new Error("至少需要两个点才能生成路径");if(e<=0)throw new Error("宽度必须大于0");const s=e/2,o=i(r),a=[],u=[];for(let l=0;l<r.length;l++){const c=(o[l]+90)%360,h=(o[l]+270)%360,f=r[l].alt!==void 0?r[l].alt:0;a.push(n(r[l].lat,r[l].lng,f,s,c)),u.push(n(r[l].lat,r[l].lng,f,s,h))}return a.concat(u.reverse())}function $S(r,e,t,n){function i(w){return w*(Math.PI/180)}const s=6378137,o=i(r),a=i(e),u=i(t),l=i(n),c=u-o,h=l-a,f=Math.sin(c/2)**2+Math.cos(o)*Math.cos(u)*Math.sin(h/2)**2,p=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return s*p}const Dy=(r,e,t)=>Array.isArray(e)?e.map(s=>r[s]??"").join(t):r[e]??"";function My(r,e){const n={...e.symbol};return{points:r.map(i=>i.points),symbol:n}}function Ry(r,e){const t=e,{uniqueValueInfos:n,field:i,fieldDelimiter:s,defaultSymbol:o}=t,a=[],u=n.reduce((c,h)=>{const f=h.value.toString();return c[f]={points:[],value:h.value,symbol:h.symbol},c},{});for(let c=0;c<r.length;c++){const h=r[c],f=Dy(h,i,s);if(f!==void 0&&f!==""){const p=u[f.toString()];p?p.points.push(h.points):a.push(h.points)}else a.push(h.points)}const l=[];for(let c in u){const{points:h,symbol:f}=u[c];h.length>0&&l.push({points:h,symbol:f})}return a.length>0&&l.push({points:a,symbol:o}),l}function Ly(r,e){const t=e,{classBreakInfos:n,field:i,defaultSymbol:s}=t,o=[],a=n.map(l=>({...l,points:[]}));for(let l=0;l<r.length;l++){const c=r[l],h=c[i];if(h===void 0||typeof h!="number")o.push(c.points);else{const f=a.findIndex(p=>h<=p.maxValue&&h>=p.minValue);f!==-1?a[f].points.push(c.points):o.push(c.points)}}const u=[];return a.forEach(l=>{l.points.length>0&&u.push({points:l.points,symbol:l.symbol})}),o.length>0&&u.push({points:o,symbol:s}),u}function tb(r,e,t=[]){const i={...e.symbol},s=r.map(o=>{const a=Ra(o,t);return{position:o.points,rotation:a.rotation||i.rotation||[0,0,0],scale:i.scale||[1,1,1]}});return{url:i.url,locations:s}}function eb(r,e,t=[]){const n=e,{uniqueValueInfos:i,field:s,fieldDelimiter:o}=n,a=n.defaultSymbol,u=[],l=i.reduce((h,f)=>{const p=f.value.toString();return h[p]={locations:[],value:f.value,symbol:f.symbol},h},{});for(let h=0;h<r.length;h++){const f=r[h],p=Dy(f,s,o);if(p){const m=l[p.toString()];if(m){const w=Ra(f,t);m.locations.push({position:f.points,rotation:w.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else u.push({position:f.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const c=[];for(let h in l){const{locations:f,symbol:p}=l[h];f.length>0&&c.push({url:p.url,locations:f})}return u.length>0&&c.push({url:a.url,locations:u}),c}function nb(r,e,t=[]){const n=e,{classBreakInfos:i,field:s}=n,o=n.defaultSymbol,a=[],u=i.map(c=>({...c,locations:[]}));for(let c=0;c<r.length;c++){const h=r[c],f=h[s];if(f===void 0||typeof f!="number")a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const p=u.findIndex(m=>f<=m.maxValue&&f>=m.minValue);if(p!==-1){const m=Ra(h,t);u[p].locations.push({position:h.points,rotation:m.rotation||o.rotation||[0,0,0],scale:u[p].symbol.scale||[1,1,1]})}else a.push({position:h.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]})}}const l=[];return u.forEach(c=>{c.locations.length>0&&l.push({url:c.symbol.url,locations:c.locations})}),a.length>0&&l.push({url:o.url,locations:a}),l}class rb extends B{constructor(t,n,i,s){super();d(this,"labelingInfo");this.sceneObject=t;const o=n;if(s&&ei(o,a=>{this.renderLabel(a,s)}),i)if(i.type==="simple"){const{visualVariables:a}=i;if(i.symbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!");const u=My(o,i);this._simplePointAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const u=My(o,i);this._imageAllRender(u.points,u.symbol);return}if(i.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:u,locations:l}=tb(o,i,a);this._modelAllRender(u,l);return}for(let u=0;u<o.length;u++){const l=op(o[u],i,a);this.render(o[u],l)}}else if(i.type==="unique-value"){const{visualVariables:a}=i;if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Ry(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Ry(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.uniqueValueInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),eb(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=ap(o[h],i,a);this.render(o[h],f)}}else if(i.type==="class-breaks"){const{visualVariables:a}=i;if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="simple-point")===-1&&i.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),Ly(o,i).forEach(({points:f,symbol:p})=>{this._simplePointAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESImageLabel")===-1&&i.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),Ly(o,i).forEach(({points:f,symbol:p})=>{this._imageAllRender(f,p)});return}if(i.classBreakInfos.findIndex(h=>h.symbol.type!=="ESGltfModel")===-1&&i.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),nb(o,i,a).forEach(({url:f,locations:p})=>{this._modelAllRender(f,p)});return}for(let h=0;h<o.length;h++){const f=up(o[h],i,a);this.render(o[h],f)}}else if(i.type==="heatmap"){const{field:a,fieldValueMax:u,fieldValueMin:l}=i;console.time();const c=o.map(h=>{const{points:f}=h;if(a&&typeof a=="string"){let p=h[a];typeof p=="number"&&(typeof u=="number"&&p>u&&(p=u),typeof l=="number"&&p<l&&(p=l),f[2]=p)}return f});this.renderHeatmap(c,i)}else console.error("PointLayer: renderer type is not supported")}renderLabel(t,n){const{points:i}=t;sp(this.sceneObject,i,t,n)}renderHeatmap(t,n){const{is3D:i,radius:s,blur:o,gradient:a}=n,u=this.dv(new Uc);this.d(this.sceneObject.components.disposableAdd(u)),u.is3D=i,u.radius=s,u.blur=o,a&&(u.gradient={...a}),u.data=t}render(t,n){n.type==="simple-point"?this._simplePointRender(t,n):n.type==="ESImageLabel"?this._simpleImageRender(t,n):n.type==="ESGltfModel"?this._simpleModelRender(t,n):n.type==="ESTextLabel"?Oy(this.sceneObject,t.points,n):n.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(t,n):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(t,n){const{points:i}=t,{size:s,color:o,outlineColor:a,outlineWidth:u}=n,l=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=a,l.pointOutlineWidth=u,l.pointSize=s,l.pointColor=o,l.allowPicking=(n==null?void 0:n.allowPicking)??!0,l.extras={selected:!1},l.points=[i]}_simplePointAllRender(t,n){const{size:i,color:s,outlineColor:o,outlineWidth:a}=n,u=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=o,u.pointOutlineWidth=a,u.pointSize=i,u.pointColor=s,u.allowPicking=(n==null?void 0:n.allowPicking)??!0,u.points=[...t]}_simpleImageRender(t,n){const{points:i}=t,{rotation:s,offset:o,size:a,url:u,screenRender:l,anchor:c,renderMode:h,rotationType:f}=n,p=this.dv(new Fc),m=this.dv(new Na);this.d(this.sceneObject.components.disposableAdd(p)),this.d(this.sceneObject.components.disposableAdd(m)),p.url=u,p.renderMode=h??0,s&&(p.rotation=s),o&&(p.offset=o),p.size=a||[32,32],c&&(p.anchor=c),f&&(p.rotationType=f),p.screenRender=l??!0,p.allowPicking=(n==null?void 0:n.allowPicking)??!0,p.extras={selected:!1},p.position=[...i],p.sizeByContent=!1,m.allowPicking=(n==null?void 0:n.allowPicking)??!0;const w=a?Math.max(...a)+10:Math.max(...p.size)+10;m.sizeByContent=!1,m.screenRender=!0,m.size=[w,w],m.borderRadius=[w,w,w,w],m.padding=[w/2,w/2,w/2,w/2],m.borderWidth=w/10,m.offset=[0,w/10+5],m.text="",m.backgroundColor=[0,0,0,0],m.borderColor=[0,0,0,0]}_imageAllRender(t,n){const i={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:t}}]},s=this.dv(new hl);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new Na);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:u,url:l,anchor:c}=n;s.imageUrl=l,c&&(s.imageAnchor=c),a&&(s.imageOffset=a),s.imageSize=u||[32,32],s.url=i,s.allowPicking=(n==null?void 0:n.allowPicking)??!0,s.extras={selected:!1},o.allowPicking=!0;const h=u?Math.max(...u)+10:Math.max(...s.imageSize)+10;o.sizeByContent=!1,o.size=[h,h],o.borderRadius=[h,h,h,h],o.padding=[h/2,h/2,h/2,h/2],o.borderWidth=h/10,o.offset=[0,h/10+5],o.text="",o.backgroundColor=[0,0,0,0],o.borderColor=[0,0,0,0]}_simpleModelRender(t,n){const{points:i}=t,{rotation:s,scale:o,url:a}=n,u=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(u)),u.url=a,s&&(u.rotation=s),o&&(u.scale=o),u.position=[...i]}_modelAllRender(t,n){const i=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(i)),i.url=t,i.instances=n}_simpleParticleRender(t,n){const{points:i}=t,s=this.dv(new kc);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...i],Object.keys(n).forEach(o=>{s[o]=n[o]})}}class ib extends B{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&ei(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;ei(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;ei(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;ei(s,a=>{const u=up(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}render(e,t){console.log("PolyLineLayer: render",e,t),t.type==="simple-line"?this._simpleLineRender(e,t):t.type==="ESPolygonFence"?this._esPolygonFenceRender(e,t):t.type==="ESPipeFence"?this._esPipeFenceRender(e,t):t.type==="ESPath"?this._esPathRender(e,t):t.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(e,t):t.type==="ESlineWall"?this._eslineWallRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Zi);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.stroked=!0,i.strokeColor=t.color,i.strokeWidth=t.width||1,i.allowPicking=(t==null?void 0:t.allowPicking)??!0,i.extras={selected:!1}}_esPolygonFenceRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new zc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.materialMode=t.materialMode}_esPipeFenceRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new jc);this.d(this.sceneObject.components.disposableAdd(i)),i.points=[...n],i.height=t.height,i.width=t.width,i.materialMode=t.materialMode}_esPathRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=this.dv(new Ma),s=this.dv(new Da);if(this.d(this.sceneObject.components.disposableAdd(i)),this.d(this.sceneObject.components.disposableAdd(s)),i.points=[...n],i.speed=t.speed,i.strokeColor=t.color,i.materialMode=t.materialMode,i.strokeWidth=t.width||1,t!=null&&t.runModel){const a=t==null?void 0:t.runSpeed,u=t==null?void 0:t.modelSymbol;let l;switch(t==null?void 0:t.runModel){case"ESHuman":l=this.dv(new po);break;case"ESCar":l=this.dv(new Rc);break;case"ESGltfModel":l=this.dv(new Ns)}if(this.d(this.sceneObject.components.disposableAdd(l)),u)for(let h in u)l[h]=u[h];const c=[0];for(var o=0;o<n.length-1;o+=1){const h=n[o],f=n[o+1],p=$S(h[1],h[0],f[1],f[0]);c.push(c[o]+Math.ceil(p/a)*1e3)}i.timeStamps=c,t!=null&&t.runSpeed&&(i.currentPositionChanged.don(h=>{i.currentPosition&&(l.position=i.currentPosition,i.currentRotation&&(l.rotation=i.currentRotation))}),s.startTime=0,s.stopTime=c[c.length-1],s.playing=!0,s.loop=(t==null?void 0:t.runLoop)??!0,s.currentTimeChanged.don(h=>{i.path.currentTime=h}))}}_eslineInterpolationModelRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=(t==null?void 0:t.interpolationDistance)??0;if(!i)return;const s=ZS(n,i/1e3),o=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(o)),o.url=t.url,o.instances=s.map(a=>({position:a,rotation:t.rotation,scale:t.scale}))}_eslineWallRender(e,t){const{points:n}=e;if(n.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const i=t.height??0,s=t.width??0,o=t.extrudedHeight??0,a=n.map(c=>({lng:(c==null?void 0:c[0])??0,lat:(c==null?void 0:c[1])??0,alt:(c==null?void 0:c[2])??0})),u=QS(a,s).map(c=>[(c==null?void 0:c.lng)??0,(c==null?void 0:c.lat)??0,(c==null?void 0:c.alt)??0]),l=this.dv(new go);this.d(this.sceneObject.components.disposableAdd(l)),l.height=i,l.extrudedHeight=o,l.filled=t.filled??!0,l.fillColor=t.fillColor,l.allowPicking=(t==null?void 0:t.allowPicking)??!0,l.extras={selected:!1},l.points=u}renderLabel(e,t){const{points:n}=e,i=JS(n);sp(this.sceneObject,i,e,t)}}function Ay(r,e){try{JSON.stringify(r[r.length-1])!==JSON.stringify(r[0])&&r.push(r[0]);const t=Ue.featureCollection(r.map(u=>Ue.point(u))),n=Ue.polygon([r]),i={gridType:"point",units:"meters"};return Ue.interpolate(t,e,i).features.map(u=>u.geometry.coordinates)[0][0].filter(u=>Ue.booleanPointInPolygon(Ue.point(u),n))}catch(t){return console.error(t),[]}}class sb extends B{constructor(e,t,n,i){super(),this.sceneObject=e;const s=t;if(i&&ei(s,o=>{this.renderLabel(o,i)}),n)if(n.type==="simple"){const{visualVariables:o}=n;ei(s,a=>{const u=op(a,n,o);this.render(a,u)})}else if(n.type==="unique-value"){const{visualVariables:o}=n;ei(s,a=>{const u=ap(a,n,o);this.render(a,u)})}else if(n.type==="class-breaks"){const{visualVariables:o}=n;ei(s,a=>{const u=up(a,n,o);this.render(a,u)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(e,t){const{points:n}=e;console.log("PolygonLayer: renderLabel",n);const i=KS(n);sp(this.sceneObject,i,e,t)}render(e,t){t.type==="simple-fill"?this._simplePolygonRender(e,t):t.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(e,t):t.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(e,t):t.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(e,t):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:i,outline:s,filled:o,ground:a}=t,{width:u,color:l,stroked:c}=s,h=this.dv(new At);this.d(this.sceneObject.components.disposableAdd(h)),h.stroked=c??!1,h.strokeColor=l??[1,1,1,1],h.strokeWidth=u??1,h.filled=o??!0,h.fillGround=a??!1,h.fillColor=i??[1,1,1,1],h.allowPicking=(t==null?void 0:t.allowPicking)??!0,h.extras={selected:!1},h.points=[...n]}_esGeoExtrudedPolygonRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,extrudedHeight:s,color:o}=t,a=this.dv(new go);this.d(this.sceneObject.components.disposableAdd(a)),a.height=i,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(t==null?void 0:t.allowPicking)??!0,a.extras={selected:!1},a.points=[...n]}_polygonInterpolateESGltfModelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,url:o,rotation:a,scale:u}=t,l=Ay(n,s??10),c=this.dv(new Ns);this.d(this.sceneObject.components.disposableAdd(c)),c.url=o,c.instances=l.map(h=>({position:[...h,i??0],rotation:a??[0,0,0],scale:u??[1,1,1]}))}_polygonInterpolateESImageLabelRender(e,t){const{points:n}=e;if(n.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:i,interpolateDistance:s,offset:o,size:a,url:u,anchor:l}=t,h={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...Ay(n,s??10).map(p=>[...p,i??0])]}}]},f=this.dv(new hl);this.d(this.sceneObject.components.disposableAdd(f)),f.textDefaultText="",f.imageUrl=u,l&&(f.imageAnchor=l),o&&(f.imageOffset=o),a&&(f.imageSize=a),f.url=h}}class ob extends B{constructor(t,n){super();d(this,"_initEvent",this.dv(new I));const i=this,s=async()=>{try{const a=t.featureProps;if(!a)return;const{heightMode:u,features:l,layerType:c,url:h}=a;let f=[];if(!l&&h){let p=await fetch(h).then(m=>m.json());return p=(p==null?void 0:p.features)??p,c==="polylineVector"?f=await xy(n,p,u):c==="polygonVector"?f=await Ny(n,p,u):c==="pointVector"&&(f=await Ty(n,p,u)),f}else c==="polylineVector"?f=await xy(n,l,u):c==="polygonVector"?f=await Ny(n,l,u):c==="pointVector"&&(f=await Ty(n,l,u));return f}catch(a){console.error(a);return}},o=this.dv(be(this._initEvent,t.featurePropsChanged));i.dv(new le(o,()=>{if(!t.featureProps)return;const a=t.featureProps;let u;return(async()=>{const{layerType:c,renderer:h,labelingInfo:f}=a,p=await s();!p||p.length===0||(c==="pointVector"?u=new rb(t,p,h,f):c==="polylineVector"?u=new ib(t,p,h,f):c==="polygonVector"&&(u=new sb(t,p,h,f)),console.log("polygonVectorLayer","createLayer",u))})().catch(console.error),{destroy:()=>{var c;(c=u==null?void 0:u.destroy)==null||c.call(u),u=void 0}}}));{const a=(u,l=1)=>{const c=$v(u);if(!c)return;const{center:h,radius:f}=c;n.flyTo({distance:f*4,heading:0,pitch:-90,flyDuration:l??1,hDelta:0,pDelta:0},h)};i.d(t.flyToEvent.don(async u=>{const{featureProps:l}=t;if(!l)return;const c=await s();if(!c)return;let h=[];l.layerType==="polylineVector"?h=c.map(f=>f.points).flat():l.layerType==="polygonVector"?h=c.map(f=>f.points).flat():l.layerType==="pointVector"&&(h=c.map(f=>f.points)),h.length!==0&&a(h,u)}))}}init(){this._initEvent.emit()}}const cu=class cu extends Rt{constructor(t){super(t);d(this,"featureLayerMap",new Map);const n=this;n.d(n.viewerAttached.don(i=>{if(console.log("ESFeatureLayer","viewerAttached",i.id),n.featureLayerMap.has(i.id))return;const s=new ob(n,i);s.init(),n.featureLayerMap.set(i.id,s)})),n.d(n.viewerDetached.don(i=>{var s;console.log("ESFeatureLayer","viewerDetached",i.id),n.featureLayerMap.has(i.id)&&((s=n.featureLayerMap.get(i.id))==null||s.destroy(),n.featureLayerMap.delete(i.id))})),n.d(()=>{for(const i of n.featureLayerMap.values())i.destroy();n.featureLayerMap.clear()}),n.d(zs(n.showChanged,()=>{for(const i of n.components.values())Reflect.has(i,"show")&&(i.show=n.show)},{immediate:!0}))}};d(cu,"createDefaultProps",()=>({...Rt.createDefaultProps(),featureProps:jt(void 0)})),d(cu,"type",cu.register("ESFeatureLayer",cu,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let lp=cu;const ns=class ns extends B{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new I));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Zn(async t=>{if(this._loading=!0,window.Hls)console.info("可能系统已经加载hlsjs,此处不再加载!");else{const n=Z.context.getStrFromEnv(ns.path);await t.promise(dh(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return ns._instance=ns._instance||new ns,ns._instance}};d(ns,"path","${xr-utils-script-dir}/xr-static/xr-utils/hlsjs/1.4.12/hls.min.js"),d(ns,"_instance");let Gc=ns,ab=class extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}};class ub extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Zn(async t=>{const{videoSrc:n}=this,i=Gc.instance();await t.promise(i.loadedPromise);const s=window.Hls,o=new s,a=this.element;await Gs(t,()=>new Promise((u,l)=>{a.xbsjHLS=o,o.attachMedia(a),o.on(s.Events.MEDIA_ATTACHED,()=>{o.loadSource(n),o.on(s.Events.MANIFEST_PARSED,(c,h)=>{a.play(),u()})}),o.on(s.Events.ERROR,(c,h)=>{const{type:f,details:p,fatal:m}=h;m&&(o.destroy(),l(p))})}))})));d(this,"_processingStartup",this._processing.start());this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new ab(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class Fy extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new ub(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}const rs=class rs extends B{constructor(){super();d(this,"_loading",!1);d(this,"_loadedEvent",this.disposeVar(new I));d(this,"_loaded",!1);d(this,"_loadedPromiseResolve");d(this,"_loadedPromise",new Promise(t=>{this._loadedPromiseResolve=t}));d(this,"_processing",this.disposeVar(Zn(async t=>{if(this._loading=!0,window.flvjs)console.info("可能系统已经加载flvjs,此处不再加载!");else{const n=Z.context.getStrFromEnv(rs.path);await t.promise(dh(n))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return rs._instance=rs._instance||new rs,rs._instance}};d(rs,"path","${xr-utils-script-dir}/xr-static/xr-utils/flvjs/1.6.2/flv.min.js"),d(rs,"_instance");let Wc=rs;class lb extends B{constructor(t,n){super();d(this,"_element");this._complexImage=t,this._videoSrc=n;var i=document.createElement("video");i.src=this._videoSrc,i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="-100",i.style.visibility="hidden";{const s=()=>{i.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{i.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{i.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}i.muted=!0,document.body.appendChild(i),this._element=i,this.dispose(()=>document.body.removeChild(i))}get element(){return this._element}}class cb extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_processing",this.disposeVar(Zn(async t=>{const{videoSrc:n}=this,i=Wc.instance();await t.promise(i.loadedPromise);const s=window.flvjs,o=this.element;await Gs(t,()=>new Promise((a,u)=>{if(!s.isSupported()){u("flvjs不支持!");return}var l=s.createPlayer({type:"flv",url:n});l.attachMediaElement(o),l.load(),l.play(),o.xbsjFlvPlayer=l}))})));this._complexImage=t,this._videoSrc=n,this._videoDom=this.disposeVar(new lb(this._complexImage,"")),this._processing.start()}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class ky extends B{constructor(t,n){super();d(this,"_videoDom");d(this,"_update",this.disposeVar(Uo(()=>this.update())));d(this,"_updateStart",this._update.start());this._complexImage=t,this._imageUri=n,this._videoDom=this.disposeVar(new cb(t,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const t=this._complexImage,{videoWidth:n,videoHeight:i}=this.videoElement;t.size=[n,i],t.pixelFormat="RGBA",t.copyTexture({source:this.videoElement})}}function Vy(r){const e=r.substring(r.lastIndexOf(".")+1);return ml.suffixTypes[e]}class ml extends B{constructor(){super();d(this,"_enabled",this.disposeVar(V(!1)));d(this,"_uri",this.disposeVar(V("")));d(this,"_type",this.disposeVar(V(void 0)));d(this,"_size",this.disposeVar(Ht(void 0)));d(this,"_pixelFormat",this.disposeVar(V("RGBA")));d(this,"_flipY",this.disposeVar(V(!0)));d(this,"_crossOriginReact",this.disposeVar(V("")));d(this,"_autoplayReact",this.disposeVar(V(!0)));d(this,"_loopReact",this.disposeVar(V(!0)));d(this,"_copyTextureEvent",this.disposeVar(new I));d(this,"_imageProcessingResettingEvent",this.disposeVar(be(this.enabledChanged,this.uriChanged,this.typeChanged)));d(this,"_imageProcessingResetting",this.disposeVar(new le(this._imageProcessingResettingEvent,()=>{do{if(!this.enabled||!this.uri)break;let{type:t}=this;if(t||(t=Vy(this.uri)),!t)break;if(t==="img")return new ug(this,this.uri);if(t==="video")return new hg(this,this.uri);if(t==="gif")return new wg(this,this.uri);if(t==="hls")return new Fy(this,this.uri);if(t==="flv")return new ky(this,this.uri)}while(!1)})));d(this,"_createNativeTextureEvent",this.disposeVar(be(this.enabledChanged,this.sizeChanged,this.pixelFormatChanged,this.flipYChanged)))}get enabled(){return this._enabled.value}set enabled(t){this._enabled.value=t}get enabledChanged(){return this._enabled.changed}get uri(){return this._uri.value}set uri(t){this._uri.value=t}get uriChanged(){return this._uri.changed}get type(){return this._type.value}set type(t){this._type.value=t}get typeChanged(){return this._type.changed}get size(){return this._size.value}set size(t){this._size.value=t}get sizeChanged(){return this._size.changed}get pixelFormat(){return this._pixelFormat.value}set pixelFormat(t){this._pixelFormat.value=t}get pixelFormatChanged(){return this._pixelFormat.changed}get flipY(){return this._flipY.value}set flipY(t){this._flipY.value=t}get flipYChanged(){return this._flipY.changed}get crossOrigin(){return this._crossOriginReact.value}set crossOrigin(t){this._crossOriginReact.value=t}get crossOriginChanged(){return this._crossOriginReact.changed}get autoplay(){return this._autoplayReact.value}set autoplay(t){this._autoplayReact.value=t}get autoplayChanged(){return this._autoplayReact.changed}get loop(){return this._loopReact.value}set loop(t){this._loopReact.value=t}get loopChanged(){return this._loopReact.changed}get copyTextureEvent(){return this._copyTextureEvent}copyTexture(t){this._createNativeTextureEvent.flush(),this._copyTextureEvent.emit(t)}get imageProcessingResetting(){return this._imageProcessingResetting}get createNativeTextureEvent(){return this._createNativeTextureEvent}copyFromCanvas(t){if(t.width<=0||t.height<=0){console.warn("canvas.width <= 0 || canvas.height <= 0");return}this.size=[t.width,t.height],this.pixelFormat="RGBA",this.copyTexture({source:t})}}d(ml,"types",cg),d(ml,"czmPixelFormats",lg),d(ml,"suffixTypes",{png:"img",jpg:"img",svg:"img",webp:"img",gif:"gif",mp4:"video",mov:"video",webm:"video",flv:"flv",m3u8:"hls"});const hb=[0,0,0,0];class db{constructor(){d(this,"_value",[]);d(this,"_valueStr","[]");d(this,"_valueChanged");this.value=[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]}get valueChanged(){return this._valueChanged||(this._valueChanged=new I),this._valueChanged}set value(e){if(e.length===0){console.error("value.length === 0");return}let t;if(this._value.length===e.length){const i=[...e].sort((s,o)=>s.ratio-o.ratio);if(t=JSON.stringify(i),this._valueStr===t)return}t=t||JSON.stringify([...e].sort((i,s)=>i.ratio-s.ratio));const n=this._value;if(this._value=JSON.parse(t),this._value.length===0)throw console.error("this._colorStops.length === 0"),new Error("this._colorStops.length === 0");this._valueChanged&&this._valueChanged.emit(this._value,n)}get value(){return JSON.parse(JSON.stringify(this._value))}get valueStr(){return this._valueStr}get minRatio(){return this._value[0].ratio}get maxRatio(){return this._value[this._value.length-1].ratio}_getRatioIndex(e){if(e<this._value[0].ratio||e>this._value[this._value.length-1].ratio)throw console.error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio"),new Error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio");let t=this._value.length;for(let n=0;n<t-1;++n)if(e>=this._value[n].ratio&&e<=this._value[n+1].ratio)return n;throw console.error("shoud not be here!"),new Error("shoud not be here!")}getRatioColor(e,t){e=Ml(e,this.minRatio,this.maxRatio);const n=this._getRatioIndex(e),i=this._value[n],s=this._value[n+1],o=(e-i.ratio)/(s.ratio-i.ratio);for(let a=0;a<4;++a)t[a]=i.rgba[a]*(1-o)+s.rgba[a]*o;if(t.some(Number.isNaN)){console.error("result NaN");return}return t}getColorsInUint8(e){if(e.length%4!==0)throw console.error("result.length % 4 !== 0"),new Error("result.length % 4 !== 0");const t=e.length/4,n=1/t;for(let i=0;i<t;++i){const s=hb;this.getRatioColor((i+.5)*n,s)||s.splice(0,4,0,0,0,0);for(let o=0;o<4;++o)e[i*4+o]=255*s[o]|0}return e}}class fb extends B{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;return s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s,n}getEngineObjConstructor(t,n){const i=this.registerEngines[n];if(!i)return;let s=t.constructor,o=t.typeName,a=i.get(o);if(a)return a;if(t.components.main)return;const u=o;for(;o!=="ESSceneObject"&&(s=s.getParentClass(),!!s);)if(o=s.type,a=i.get(o),a)return console.warn(`未找到${u}在${n}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(t,n){const i=this.getEngineObjConstructor(t,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new mo(t,n);return s.createdEvent.emit(),s}}}class pb extends B{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,n,i){const s=this.registerEngines[t]||new Map;s.has(n)&&console.warn(`register warn:${t}中${n}的实现类已经被注册,再次注册会覆盖。`),s.set(n,i),this.registerEngines[t]=s}getEngineObjConstructor(t,n){const s=(this.registerEngines[n]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${n}中对应的实现类!`)}createEngineObject(t,n){const i=this.getEngineObjConstructor(t.typeName,n.typeName);if(i){const s=new i(t,n);return s.createdEvent.emit(),s}else{const s=new mo(t,n);return s.createdEvent.emit(),s}}}const Cr=class Cr extends B{constructor(t,n,i=!1){super();d(this,"_createdEvent",this.dv(new I));d(this,"_id",++Cr._accumId);this._sceneObject=t,this._viewer=n;{if(i)return;const s=(o,a)=>{for(let u of o)this._viewer.delete(u);for(let u of a)u.parentID=this.sceneObject.id,this._viewer.add(u)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};d(Cr,"context",new fb),d(Cr,"contextEditing",new pb),d(Cr,"register",Cr.context.register.bind(Cr.context)),d(Cr,"registerEditing",Cr.contextEditing.register.bind(Cr.contextEditing)),d(Cr,"_accumId",-1);let mo=Cr;function By(r){return typeof r=="string"?document.getElementById(r):r}function cp(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 jy extends B{constructor(t,n){super();d(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=n;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let u of o){const l=i.get(u);l&&(l.destroy(),i.delete(u))}if(a)for(let u of a){if(i.get(u)){console.warn(`listeningSceneObjects已存在某对象:${u.name}`,u);debugger}const c=this.createSceneObjectListeningFunc(u);c&&i.set(u,c)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class gb extends B{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class n extends B{constructor(s){super(),this._esPath=s,this.dv(new le(t.activeViewerChanged,()=>{const o=t.activeViewer;if(!o)return;class a extends B{constructor(l){if(super(),this._esPath=l,!o)throw new Error("!viewer");const c=()=>{const h=t.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(o.simulationTimeChanged.don(c))}}return new a(this._esPath)}))}}this.dv(new jy(t.sceneObjectsManager,i=>{if(i instanceof Ma)return new n(i)}))}{const t=this._esObjectsManager;class n extends B{constructor(s){super();const o=()=>{const a=t.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new jy(t.sceneObjectsManager,i=>{if(i instanceof Da)return new n(i)}))}}}class mb extends B{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 vb extends B{constructor(t){super();d(this,"_player");d(this,"_channels",this.dv(at([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new le(this.channelsChanged,()=>{if(this.channels.length===0)return;const n=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=Z.getSceneObjById(s.pathId);if(!o||!(o instanceof Ma))continue;const u=s.sceneObjectIds.map(l=>Z.getSceneObjById(l)).filter(l=>l!==void 0);u.length!==0&&n.push({path:o,sceneObjects:u})}if(n.length!==0)return new mb(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 qc(r){if(r.data){const{type:e,value:t}=r.data;if(e==="UITreeA"&&t instanceof on){const{sceneObject:n}=t;if(n)return n.id}}}function yb(r,e){const{property:t,customEventName:n,otherParams:i}=e,{dragstartDataMananger:s}=r;if(!(t instanceof qo)){if(!(t instanceof Tg)){if(t instanceof ut){const[o,a]=Ni(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;qc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const l=qc(s);l!==void 0&&a(l)}}else if(t instanceof Sg){const[o,a]=Ni(t.reactVar);if(n==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const u=i[0];if(u.preventDefault(),!u.dataTransfer)return;qc(s)?u.dataTransfer.dropEffect="move":u.dataTransfer.dropEffect="none"}else if(n==="ondrop"){if(!i)throw new Error("!otherParams");const u=i[0].$event,l=i[0].strinsPropDom,c=i[0].index;u.preventDefault();const h=qc(s);if(h!==void 0){l[c].firstChild.value=h;const f=new Event("input",{bubbles:!0,cancelable:!0});l[c].firstChild.dispatchEvent(f)}}}else if(t instanceof bg){const[o,a]=Ni(t.reactVar)}}}}function zy(r,e,t,n){if(t)n.currentActiveEditing=[r,e];else if(n.currentActiveEditing){const[i,s]=n.currentActiveEditing;i===r&&s===e&&(t||(n.currentActiveEditing=void 0))}}const _b=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class wb extends B{constructor(e,t){super(),this._sceneObject=e;const n=this._sceneObject;for(let i of _b){const s=i+"Changed",o=n[s];if(o){{const a=n[i];zy(n,i,a,t)}this.dispose(o.disposableOn((a=>zy(n,i,a,t))))}}}get sceneObject(){return this._sceneObject}}class Eb extends B{constructor(){super();d(this,"_currentActiveEditing",this.disposeVar(Ht(void 0)));d(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,n)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),n){const[i,s]=n;i[s]===!0&&(i[s]=!1)}if(t){const[i,s]=t;i[s]=!0}})),Z.context.sceneObjCreatedEvent.don(t=>{t.dv(new wb(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 Cb extends B{constructor(){super();d(this,"_sceneObjects",new Set);d(this,"_sceneObjectsToChange",this.dv(new I));this.d(()=>{const t=lh(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){return this._sceneObjects.has(t)?(console.warn(`创建失败:对象${t.typeName+":"+t.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t),!0)}deleteSceneObject(t){return this._sceneObjects.has(t)?(this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t),!0):(console.warn(`删除失败:对象${t.typeName+":"+t.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(t,n){const i=Z.context.createSceneObject(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromUrl(t,n){const i=Z.context.createSceneObjectFromUrl(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,n){const i=Z.context.createSceneObjectFromClass(t,n);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const n=Z.context.createSceneObjectFromJson(t);return n&&this.addSceneObject(n),n}}class Sb extends B{constructor(t){super();d(this,"viewer");const n=this.viewer=t;this.ad(new le(n.rollerShutterChanged,()=>{const i=n.container;if(!i||!n.rollerShutter)return;const s=new B;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return i.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,i.removeChild(o)}),s}))}getRollerShutterDIV(){let t=document.createElement("div");t.style.position="absolute",t.style.left="50%",t.style.top="0",t.style.backgroundColor="#d3d3d3",t.style.width="5px",t.style.height="100%",t.style.zIndex="9999";const n=i=>{if(!t.parentElement)return;i.preventDefault?i.preventDefault():i.returnValue=!1;const o=i.x/t.parentElement.offsetWidth;t.style.left=`${100*o}%`,this.viewer.splitPosition=o};return t.addEventListener("mouseenter",i=>{t.style.cursor="ew-resize"}),t.addEventListener("mouseleave",i=>{t.style.cursor="default"}),t.addEventListener("mousedown",i=>{t.style.cursor="ew-resize",document.addEventListener("mousemove",n)}),document.addEventListener("mouseup",i=>{t.style.cursor="default",document.removeEventListener("mousemove",n)}),t}}class bb extends B{constructor(t){super();d(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new Sb(t))}}function Uy(r,e){return r.length===e.length&&r.every((t,n)=>t===e[n])}class Pb extends B{constructor(e){super(),this._viewer=e,this.d(j([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class Ib extends B{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const n=Wr.createCommonProps(),i=[];Object.keys(n).forEach(u=>{const l=this._activeViewer[u+"Changed"];i.push(l)});const s=this.dv(be(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(n).forEach(u=>{this._viewer[u]=this._activeViewer[u]})};this.d(s.don(o));const a=this.dv(wu());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const u=this._activeViewer.getCurrentCameraInfo(),l=this._viewer.getCurrentCameraInfo();if(!u)return;const{position:c,rotation:h}=u;l&&Uy(c,l.position)&&Uy(h,l.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>a.cancel())}}const xb=`<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">
|
|
488
488
|
<animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
|
|
489
489
|
</circle><g></g></g></svg>
|
|
490
490
|
`,Tb='<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>',Nb='<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>',Lo=class Lo extends B{constructor(e){super();const t=()=>{const n=this.dv(new Ac);this.d(j([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 B{constructor(o,a,u){super();d(this,"_div",document.createElement("div"));if(this._subContainer=o,!u)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const m=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};m(),this.d(a.showChanged.don(m))}let l,c,h,f,p;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",l=document.createElement("div"),this._div.appendChild(l),l.style.width="auto",l.style.position="absolute",l.style.left="50%",l.style.top="50%",l.style.transform="translate(-50%,-50%)",l.style.background="rgba(120, 120, 0, 0.7)",l.style.color="white",l.style.fontSize="10px",l.style.background="none",l.style.display="flex",l.style.justifyContent="center",l.style.alignItems="center",c=document.createElement("div"),l.appendChild(c),c.style.pointerEvents="none",c.style.display="block",c.style.width="40px",c.innerHTML=Lo.defaultsSvg.loadingSvg,c.style.filter="drop-shadow(0px 0px 1px black)",h=document.createElement("div"),l.appendChild(h),h.style.pointerEvents="none",h.style.marginLeft="10px",h.style.display="flex",h.style.flexFlow="column",h.style.maxWidth="300px",f=document.createElement("div"),h.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",p=document.createElement("div"),h.appendChild(p),p.style.fontWeight="400",p.style.textShadow="0 0 2px black";{const m=()=>{let E="Raw";u.status==="Raw"?E="初始状态":u.status==="Creating"?E="正在创建":u.status==="Created"?E="创建完成":u.status==="Error"?E="创建失败":u.status==="Reconnecting"&&(E="重新连接"),f.innerText=`${E}(${u.status})`,p.innerText=`${u.statusLog}`,(u.status==="Creating"||u.status==="Reconnecting")&&(c.innerHTML=Lo.defaultsSvg.loadingSvg),u.status==="Created"&&(c.innerHTML=Lo.defaultsSvg.successSvg),u.status==="Error"&&(c.innerHTML=Lo.defaultsSvg.warnSvg)};m();const w=this.dv(be(u.statusLogChanged,u.statusChanged));this.d(w.don(m))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,u=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${u}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};d(Lo,"defaultsSvg",{loadingSvg:xb,successSvg:Tb,warnSvg:Nb});let hp=Lo;class Ob extends B{constructor(e,t,n){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=n;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const c=o.zIndex??"";i.style.zIndex=c,s.style.zIndex=c};a(),this.d(o.zIndexChanged.don(a));const u=()=>{i.style.display=o.show??!0?"block":"none"};u(),this.d(o.showChanged.don(u));const l=()=>{i.style.opacity=`${o.opacity??1}`};l(),this.d(o.opacityChanged.don(l))}}function Xc(r){let e=An(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),ti(r,"_relativeContainer",e)),e}class Db extends B{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 Ob(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),Xc(this._container).appendChild(i),this.d(()=>Xc(this._container).removeChild(i)),Xc(this._container).appendChild(s),this.d(()=>Xc(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class Mb extends B{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;console.log(t);const i=this.getViewerConstructor(n);if(!i)throw new Error(`没有找到类型为${n}的Viewer构造器!`);return new i(t)}}class Gy extends B{constructor(e,t,n=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(Qt.create(t,"pointerdown")),o=this.dv(Qt.create(t,"pointermove")),a=this.dv(Qt.create(t,"pointerup")),u=this.dv(Qt.create(t,"pointerout")),l=this.dv(Qt.create(t,"pointerover")),c=this.dv(new bh),h=this.dv(new Fp),f=()=>{const _=this._viewer.hoverTime*1e3;h.delayTime=_};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(_=>c.pointerDown(_))),this.d(o.don(_=>c.pointerMove(_))),this.d(a.don(_=>c.pointerUp(_))),this.d(u.don(_=>c.pointerOut(_))),this.d(s.don(_=>h.pointerDown(_))),this.d(o.don(_=>h.pointerMove(_))),this.d(a.don(_=>h.pointerUp(_))),this.d(u.don(_=>h.pointerOut(_)));const{x:p,y:m}=t.getBoundingClientRect(),w=i?p:0,E=i?m:0;this.d(h.hoverEvent.don(_=>{const[C,S]=Bo(_,n);this._viewer.hoverEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(c.clickEvent.don(_=>{const[C,S]=Bo(_,n);this._viewer.clickEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(c.dbclickEvent.don(_=>{const[C,S]=Bo(_,n);_.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(s.don(_=>{const[C,S]=Bo(_,n);_.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(a.don(_=>{const[C,S]=Bo(_,n);_.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(o.don(_=>{const[C,S]=dn(_,n);this._viewer.pointerMoveEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(l.don(_=>{const[C,S]=dn(_,n);this._viewer.pointerOverEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})})),this.d(u.don(_=>{const[C,S]=dn(_,n);this._viewer.pointerOutEvent.emit({screenPosition:[C+w,S+E],pointerEvent:_})}));const b=this.dv(Qt.create(t,"keydown"));this.d(b.don(_=>this._viewer.keyDownEvent.emit(_)));const v=this.dv(Qt.create(t,"keyup"));this.d(v.don(_=>this._viewer.keyUpEvent.emit(_)));const y=this.dv(Qt.create(t,"wheel"));this.d(y.don(_=>this._viewer.wheelEvent.emit(_)))}}const is=class is extends B{constructor(t){super();d(this,"_forceRecreateEvent",this.dv(new I));d(this,"_container",this.dv(V(void 0)));d(this,"_containerSize",this.dv(V(void 0)));d(this,"_editingEvent",this.disposeVar(new I));d(this,"_status",this.dv(V("Raw")));d(this,"_statusLog",this.dv(V("")));d(this,"_statusContainer",this.dv(new hp(this)));d(this,"_useCustomInteraction",this.dv(V(!0)));d(this,"_resetInteractionEvent",this.dv(be(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));d(this,"_interactionResetting",this.dv(new le(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new Gy(this,this.container)})));d(this,"_viewerChanged",this.dv(new I));d(this,"_cameraChanged",this.dv(new I));d(this,"_containerResetEvent",this.dv(be(this.containerChanged,this._forceRecreateEvent)));d(this,"_containerResetting",this.dv(new le(this._containerResetEvent,()=>{if(this.container)return new Db(this.container,this)})));d(this,"_sceneObjectsMap",new Map);d(this,"_id");d(this,"_typeName");d(this,"_updateFuncReact",this.dv(V(void 0)));d(this,"_toDestroyFuncReact",this.dv(V(void 0)));d(this,"_statusInfo",is.defaults.statusInfo);d(this,"_navigationMode",this.dv(V("Map")));d(this,"_syncViewer",this.dv(V(void 0)));d(this,"_syncEventDon",this.dv(new le(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new Ib(this,t)})));d(this,"_timeSyncdon",this.dv(new le(this.timeSyncChanged,()=>{if(this.timeSync)return new Pb(this)})));d(this,"_hoverEvent",this.dv(new I));d(this,"_pointerOverEvent",this.dv(new I));d(this,"_pointerMoveEvent",this.dv(new I));d(this,"_pointerDownEvent",this.dv(new I));d(this,"_pointerUpEvent",this.dv(new I));d(this,"_pointerOutEvent",this.dv(new I));d(this,"_clickEvent",this.dv(new I));d(this,"_dblclickEvent",this.dv(new I));d(this,"_keyDownEvent",this.dv(new I));d(this,"_keyUpEvent",this.dv(new I));d(this,"_wheelEvent",this.dv(new I));d(this,"_actived",this.dv(V(!1)));this._id=t.id??ko();const n=By(t.container);if(n)this._container.value=cp(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,s=()=>{for(let[a,u]of i.entries())if(!u&&a){const l=mo.context.createEngineObject(a,this);l&&i.set(a,l)}},o=()=>{for(let[a,u]of i.entries())u&&!u.isDestroyed()&&u.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||wu(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new bb(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=cp(n):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=cp(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 cameraChanged(){return this._cameraChanged}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)){Z.context.addSceneObject(n);const i=mo.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(),Z.context.deleteSceneObject(n),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 is.createDefaultProps()}_getJson(t=!0){const n={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof De?s=o.equals(this[i]):s=o===this[i],s||(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 s=n||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let u=this.defaultProps[a];u instanceof De&&(u=u.value),this[a]=u}}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}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(t){const n={...this.getESProperties()},i=[];return n.general.length>0&&i.push(new rt(n.general,"general")),Object.keys(n).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&n[s].length>0&&i.push(new rt(n[s],s))}),i}};d(is,"context",new Mb),d(is,"register",is.context.register.bind(is.context)),d(is,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0,cameraMovableRegion:[0,0,0,0,0,0],depthTestAgainstTerrain:!0,terrainOpacity:1});let Wr=is;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:dt(void 0),devTags:Ht(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:Ht(void 0),editingAuxiliaryPointColor:Ht(void 0),editingLineWidth:void 0,editingLineColor:Ht(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:V(void 0),rollerShutter:!1,cameraMovableRegion:Ht(void 0),depthTestAgainstTerrain:!0,terrainOpacity:1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(Wr||(Wr={})),Oi(Wr.prototype,Wr.createDefaultProps);function Wy(r,e){const t=r._lastCameraInfo;if(t){const n=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:s,rotation:o}=t;e.flyIn(s,o,0),r._lastCameraInfo=void 0,n()})}}const Rb=r=>{const e=Wr.createCommonProps(),t={};try{Object.keys(e).forEach(n=>{t[n]=r[n]})}catch(n){console.warn(n)}return t},qy=(r,e)=>{const t=Wr.createCommonProps();try{Object.keys(t).forEach(n=>{r[n]=e[n]})}catch(n){console.warn(n)}};class Lb extends B{constructor(t){super();d(this,"_viewersChanged",this.disposeVar(new I));d(this,"_viewers",new Set);d(this,"_viewersToChange",this.dv(new I));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(s=>{i.forEach(o=>{Ri(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),n.forEach(o=>{Ri(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,Ri(o.devTags,s.devTags)),Ri(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((n,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)Ri(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),n.forEach(o=>{for(let a of s)Ri(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let u of a)console.log("viewersChanged",o.devTags,u.devTags,Ri(o.devTags,u.devTags)),Ri(o.devTags,u.devTags)&&(o.has(u)?console.warn(`${o.typeName}中已存${u.typeName},检查逻辑是否有问题!`):o.add(u))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const n=Wr.context.createViewer(t);return this._viewers.add(n),this._viewersChanged.emit([],[n]),n}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}class Hc extends B{constructor(...t){super();d(this,"_drgm",this.dv(new Mg));d(this,"_sobjm",this.dv(new Cb));d(this,"_vrm",this.dv(new Lb(this._sobjm)));d(this,"_sceneObjectEditingManager",this.disposeVar(new Eb));d(this,"_activeViewer",this.dv(V(void 0)));d(this,"_syncOtherViewersToActived",this.dv(V(!1)));d(this,"_cmrvm",this.createSceneObjectFromClass(Mc));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 ul("default",this.dragstartDataMananger,24,this)));d(this,"_propUiTreeManager",this.dv(new xa(24)));d(this,"_sceneTreeMap",new Map);d(this,"_viewerCreatedEvent",this.dv(new I));d(this,"_lastCameraInfo");d(this,"_lastActiveViewerJson");d(this,"_syncEventDonFunc",this.d(zs([this.activeViewerChanged,this.syncOtherViewersToActivedChanged],()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(n=>{t?n.syncOtherViewer(this.activeViewer):n.syncOtherViewer(void 0)})})));d(this,"_player",this.createSceneObjectFromClass(Da));d(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));d(this,"_esPlyarAndPathTime",this.dv(new gb(this)));d(this,"_pathAnimationManager",this.dv(new vb(this)))}static get envs(){return Z.context.environmentVariables}getSceneObjectById(t){return Z.getSceneObjectById(t)}getSceneObject(t){return Z.getSceneObject(t)}get $refs(){return Z.$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,this.viewers.values().forEach(n=>n.actived=n===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 h;const t=this._asset.createdTime||new Date().toISOString(),n=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:n,name:i},a=this.sceneTree.json,u=this._cmrvm.views,l=[...this._vrm.viewers].map(f=>f.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:o,viewers:l,sceneTree:a,viewCollection:u,lastView:c}}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(s=>s.id===n.id);i&&(n.json=i)})}catch(n){console.error(`ESObjectsManager解析json数据时发生错误! error: ${n}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(t){return yb(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 ul(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(s=>{s&&(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,s=!0){var l;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&n&&(this._lastCameraInfo=(l=this.activeViewer)==null?void 0:l.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?Rb(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=t.id,a=o?[...this.getViewers()].find(c=>c.id===o):[...this.getViewers()].find(c=>c.typeName===t.type);if(a)if(o&&a.typeName!==t.type)console.warn(`id为${o}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),n&&Wy(this,a),i&&this._lastActiveViewerJson&&(qy(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===By(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 u=this.createViewer(t);return console.log(t),console.log(this),n&&Wy(this,u),i&&this._lastActiveViewerJson&&(qy(u,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=u,u}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:n,viewSync:i,attributeSync:s,destroy:o,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:n,id:a},i??!0,s??!0,o??!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:s,attributeSync:o,destroy:a,id:u}=n;return this.switchViewer({type:"ESCesiumViewer",container:i,id:u},s,o,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:u,uri:l,app:c,token:h,viewSync:f,attributeSync:p,destroy:m,id:w}=t[0];n={type:"ESUeViewer",container:u,id:w,options:{uri:l,app:c,token:h}},i={viewSync:f??!0,attributeSync:p??!0,destroy:m??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:u,ws:l,esmsg:c,viewSync:h,attributeSync:f,id:p,destroy:m}=t[0];n={type:"ESUeViewer",container:u,id:p,options:{ws:l,esmsg:c}},i={viewSync:h??!0,attributeSync:f??!0,destroy:m??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:u,project:l,baseUrl:c,viewSync:h,attributeSync:f,id:p,destroy:m}=t[0];n={type:"ESUeViewer",container:u,id:p,options:{project:l,baseUrl:c}},i={viewSync:h??!0,attributeSync:f??!0,destroy:m??!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:s,attributeSync:o,destroy:a}=i;return this.switchViewer(n,s,o,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)}createOpenLayersViewer(...t){let n;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?n={...t[0],type:"ESOlViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(n={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESOlViewer"}),!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)}createSceneObjectFromUrl(t,n){return this._sobjm.createSceneObjectFromUrl(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(Hc,"getSceneObjById",Z.context.getSceneObjectById.bind(Z.context)),d(Hc,"getEnv",Z.context.getEnv.bind(Z.context)),d(Hc,"setEnv",Z.context.setEnv.bind(Z.context)),g.BasePropTreeItem=zd,g.Boolean2Property=W0,g.Boolean2sProperty=H0,g.Boolean3Property=q0,g.Boolean3sProperty=Y0,g.Boolean4Property=X0,g.Boolean4sProperty=J0,g.BooleanProperty=X,g.BooleansProperty=F0,g.BorderedPosFloatDiv=Kp,g.BoxPicker=vh,g.CancelError=Sr,g.CancelsManager=wh,g.CanvasImagePoi=o0,g.CanvasPoi=Ph,g.CanvasPointPoi=a0,g.CanvasPrimitive=kp,g.CanvasPrimitivesContext=u0,g.ColorProperty=Et,g.ColorRgbProperty=Q0,g.ColorStops=db,g.ComplexImage=ml,g.CursorFloatDiv=f0,g.CursorInfo=p0,g.DashPatternProperty=$0,g.DateProperty=Hs,g.DatesProperty=Og,g.Debouncing=k_,g.DebouncingDeprecated=ph,g.DebouncingWithStartValues=V_,g.Destroyable=B,g.DivBoxPicker=L_,g.DivPoi=Yp,g.DivPointerClick=i0,g.DomElementEvent=Qt,g.DoublyLinkedList=_p,g.DragStartDataManager=Mg,g.ES3DTileset=mr,g.ESAlarm=Jd,g.ESApertureEffect=Zd,g.ESAreaMeasurement=Kd,g.ESBlastParticleSystem=Qd,g.ESBoxClipping=$d,g.ESCameraView=Oc,g.ESCameraViewCollection=Mc,g.ESCameraVisibleRange=tf,g.ESCar=Rc,g.ESCityBasePoint=Kf,g.ESClassification=Lc,g.ESClippingPlane=ef,g.ESCustomDiv=Ac,g.ESCzml=Qf,g.ESDataMesh=nf,g.ESDatasmithRuntimeModel=Rf,g.ESDirectionMeasurement=bf,g.ESDistanceMeasurement=rf,g.ESDynamicWater=Lf,g.ESEntityCluster=Jf,g.ESExcavate=ll,g.ESFeatureLayer=lp,g.ESFireParticleSystem=sf,g.ESForestTileset=of,g.ESGaussianSplatting=np,g.ESGeoDiv=af,g.ESGeoDivTextPoi=Zf,g.ESGeoExtrudedPolygon=go,g.ESGeoJson=hl,g.ESGeoLineString=Zi,g.ESGeoPoints=gl,g.ESGeoPolygon=At,g.ESGeoRectangle=uf,g.ESGeoVector=wt,g.ESGeoWater=Af,g.ESGltfModel=Ns,g.ESHeatMap=Uc,g.ESHeightLimitAnalysis=Yf,g.ESHeightMeasurement=Pf,g.ESHole=zf,g.ESHuman=po,g.ESHumanPoi=jf,g.ESImageLabel=Fc,g.ESImageryLayer=cf,g.ESJEditingMode=Q,g.ESJLonLatFormat=Dg,g.ESJPickedResult=aw,g.ESLabel=Yn,g.ESLevelRuntimeModel=Ff,g.ESLocalCircle=If,g.ESLocalPolygon=dl,g.ESLocalPolygonZ=xf,g.ESLocalRectangle=Tf,g.ESLocalSkyBox=hf,g.ESLocalVector=Ta,g.ESLocalVector2D=Ji,g.ESLocationMeasurement=df,g.ESMsTileset=qf,g.ESNavigator=$f,g.ESObjectWithLocation=tt,g.ESObjectsManager=Hc,g.ESParticleSystemPrimitive=kc,g.ESPath=Ma,g.ESPathImpl=Os,g.ESPipeFence=jc,g.ESPipeline=kf,g.ESPipeserTileset=Nf,g.ESPit=Oa,g.ESPlayer=Da,g.ESPoi2D=cl,g.ESPoi3D=ff,g.ESPoiTileset=Xf,g.ESPolygonFence=zc,g.ESPolygonFlattenedPlane=pf,g.ESPolygonWithHole=Df,g.ESRectangle=Of,g.ESRtsFeatureEditing=Wf,g.ESRtsTileset=Gf,g.ESScale=Hf,g.ESSceneObject=Z,g.ESSceneObjectWithId=kg,g.ESSeparateFoliage=gf,g.ESSkylineAnalysis=ip,g.ESStaticMesh=rp,g.ESSubmergingAnalysis=mf,g.ESSunshineAnalysis=vf,g.ESSurfaceAreaMeasurement=Mf,g.ESTerrainLayer=yf,g.ESTestObject=Yd,g.ESTextLabel=Na,g.ESUEWidget=_f,g.ESUnrealActor=wf,g.ESVideoFusion=Ef,g.ESViewShed=Cf,g.ESViewer=Wr,g.ESViewerStatusBar=tp,g.ESViewerStatusBarScale=ep,g.ESVisibilityAnalysis=Vf,g.ESVisualObject=Rt,g.ESVolumeMeasurement=Bf,g.ESWidget=Sf,g.EngineObject=mo,g.EnumProperty=mt,g.EnumStringsProperty=tw,g.EvalStringProperty=ls,g.Event=I,g.EventListenerHandler=eh,g.Fetching=N_,g.FloatDiv=Th,g.FlvJsLoading=Wc,g.FlvProcessing=ky,g.FunctionProperty=it,g.Gif=_g,g.GifPlayer=yg,g.GifProcessing=wg,g.GroupPropTreeItem=Gd,g.GroupProperty=rt,g.HasOwner=E_,g.HlsJsLoading=Gc,g.HlsProcessing=Fy,g.IFrameBorderedPosFloatDiv=h0,g.ImageProcessing=ug,g.IntervalDeprecated=mh,g.JsonProperty=K,g.LeafPropTreeItem=Ud,g.ListenerPipe=th,g.LocalFileServer=og,g.LocalRootDir=sg,g.LongStringProperty=kh,g.MaximumScreenSpaceErrorProperty=L0,g.MinmaxProperty=ew,g.NearFarScalerProperty=nw,g.NextAnimateFrameEvent=Tl,g.NextAnimateFrameWeakEvent=Ep,g.NextMicroTaskEvent=oh,g.NextMicroTaskWeakEvent=d_,g.NonreactiveJsonStringProperty=xg,g.Number2Property=Ie,g.Number2sProperty=Pg,g.Number3Property=Ke,g.Number3sProperty=Fh,g.Number4Property=br,g.Number4WithUndefinedProperty=U0,g.Number4sProperty=G0,g.NumberProperty=O,g.NumberRangeProperty=rw,g.NumberSliderProperty=Me,g.NumbersProperty=A0,g.ObjPool=El,g.ObjResetting=v0,g.ObjResettingWithEvent=le,g.ObservableArray=yu,g.ObservableSet=Vl,g.ParamsProperty=Ig,g.PickColorMananger=Xp,g.PickedInfo=ow,g.Player=Pr,g.PlayerProperty=Bl,g.PointerClick=bh,g.PointerClickDeprecated=Dp,g.PointerHover=Fp,g.PointerHoverDeprecated=s0,g.PosFloatDiv=Dh,g.PositionProperty=qo,g.PositionsProperty=Tg,g.PositionsSetPropety=sw,g.Processing=Pe,g.PropTree=ey,g.PropUiTreeManager=xa,g.Property=us,g.ReactVarProperty=yt,g.ReactiveVariable=De,g.RotationProperty=Vh,g.SceneObjectFromId=zh,g.SceneTree=ul,g.SceneTreeContextMenu=ay,g.SceneTreeItem=on,g.SceneTreeItemDragDrop=oy,g.SmartListenerHandler=du,g.SmartListenerPipe=n_,g.SmoothMoveController=yS,g.String2Property=k0,g.String2sProperty=bg,g.String3Property=V0,g.String3sProperty=j0,g.String4Property=B0,g.String4sProperty=z0,g.StringNumberProperty=Z0,g.StringNumbersProperty=K0,g.StringProperty=ut,g.StringsProperty=Sg,g.Throttling=n0,g.ThrottlingWithStartValues=r0,g.TimingDeprecated=Np,g.ToolTipDiv=d0,g.Transition=Cu,g.TransitionDeprecated=M_,g.Tree=Wo,g.TreeItem=Go,g.TreeItemDragDrop=Rg,g.UiTree=eg,g.UiTreeObject=tg,g.UriProperty=Iu,g.VideoProcessing=hg,g.ViewPlayerProperty=Ng,g.ViewerCustomInteraction=Gy,g.Watcher=xu,g.WatcherTools=Vg,g.WithUndefinedProperty=Ah,g.XrPlayer=Fl,g.Xyzw2Ns=Dl,g.addTreesCallFunc=dy,g.animateFrame=Il,g.ary2Ns=T_,g.asyncFuncToCancelablePromise=U_,g.bind=$,g.bindCustomEditing=Fg,g.bindu=c_,g.booleanPointInPolygon=Cw,g.canMoveToTreeItem=Pu,g.canMoveToTreeItems=Qp,g.cancelFuncToCancelablePromise=z_,g.cancelPromise=yh,g.cancelableFetch=Ch,g.cancelableFetchDeprecated=Tp,g.cancelableFetchWithProgress=W_,g.cartesianDistance=ty,g.clamp=Ml,g.clamp0_360=Xo,g.clampN180_180=Ag,g.complexImageTypes=cg,g.createAnimateFrame=wu,g.createAnimateFrameWithStartValues=Uo,g.createBottomTriangleElement=Zp,g.createCancelablePromise=Ll,g.createCloseDiv=Jp,g.createEventsCallFunc=zs,g.createFetching=q_,g.createFetchingWithStartValues=X_,g.createGuid=ko,g.createInterval=K_,g.createIntervalWithStartValues=Q_,g.createNextAnimateFrame=H_,g.createNextAnimateFrameEvent=be,g.createNextAnimateFrameEventCallFunc=p_,g.createNextAnimateFrameWeakEvent=g_,g.createNextAnimateFrameWithStartValues=Y_,g.createNextMicroTask=J_,g.createNextMicroTaskEvent=h_,g.createNextMicroTaskWeakEvent=f_,g.createNextMicroTaskWithStartValues=Z_,g.createNumbers=Ol,g.createProcessingFromAsyncFunc=Zn,g.createProcessingFromAsyncFuncWithStartValues=G_,g.createProcessingFromPromiseCreateFunc=Al,g.createProcessingFromPromiseCreateFuncWithStartValues=Eh,g.createPropTreeFromSceneObject=ny,g.createSleeping=$_,g.createSleepingWithStartValues=t0,g.createStartFuncFromAsyncFunc=_u,g.createTimeout=Rp,g.createTimeoutWithStartValues=Lp,g.cutDownTreesCallFunc=gy,g.czmPixelFormats=lg,g.debounce=Pl,g.defaultGetLocalFilePath=y0,g.defaultInitSceneObjectOnCreatingFunc=lw,g.defaultLight122FromEnvironmentMapManager=Hd,g.defaultLocalFileServer=ag,g.defaultStartUpdateFunc=Nl,g.defaultUpdateSceneObjectOnPickingFunc=uw,g.defineReactiveProp=gh,g.destroyObject=gp,g.downloadLink=__,g.drawPoint=qs,g.drawRoundRectPath=Vp,g.drawText=Bp,g.drawTextBlock=Ih,g.equalsN3=qd,g.every=uh,g.extendClassProps=Oi,g.fetchArrayBuffer=S_,g.fetchImage=Pp,g.forEach=ei,g.forEachWithBreak=ah,g.geoAlong=Iw,g.geoArea=Yh,g.geoBuffer=Jv,g.geoCenterOfMass=iE,g.geoDestination=lm,g.geoDifference=Zv,g.geoDistance=Yl,g.geoHeading=Lu,g.geoIntersect=Hv,g.geoLineIntersect=pE,g.geoNearestPointOnLine=yE,g.geoPointToLineDistance=CE,g.geoPolygonFromCircle=Kv,g.geoPolygonOverlap=Bd,g.geoRhumbDestination=PE,g.geoRhumbDistance=Cm,g.geoRhumbHeading=xE,g.geoUnion=Yv,g.getColorHexStr=bu,g.getCompleteReactParams=bl,g.getDefaultValue=fw,g.getDistancesFromPositions=al,g.getDomEventCurrentTargetPos=dn,g.getDrawRect=Ws,g.getEventFromPromise=F_,g.getEventPosInCurrentTarget=Bo,g.getExtProp=An,g.getFileArrayBuffer=ig,g.getFileJson=rg,g.getFileText=Mh,g.getFloatDivPool=Oh,g.getGeoBoundingSphereFromPositions=$v,g.getIterator=pu,g.getMidpoint=mE,g.getMinMaxCorner=Qv,g.getMinMaxPosition=C_,g.getPromiseCancel=jo,g.getPromiseFromEvent=A_,g.getPromiseFromProcessing=Sh,g.getReactFuncs=Ni,g.getSceneObjectTreeItem=cw,g.getSubEntriesFromDir=ng,g.getTypeFromImageUri=Vy,g.getValueFromProps=Cp,g.getXyzFromPostion=jd,g.growthSimulationCallFunc=my,g.hasSameTags=Lg,g.hasSameViewerTags=Ri,g.imageToCanvas=jp,g.inOrderRunning=pw,g.interval=ih,g.isJSON=Bh,g.isPromiseCancelable=zo,g.isXML=dw,g.lbhToWebMerc=ww,g.lbhToXyz=ri,g.length=lh,g.lerpAngle=zl,g.lerpRotation=jh,g.loadGifFrames=mg,g.loadJs=dh,g.map=ry,g.max=Di,g.min=os,g.moveToTreeItem=kl,g.moveToTreeItems=$p,g.nextAnimateFrame=Vo,g.nextMicroTask=fu,g.objsIterator=Us,g.oneTimeWarning=Ao,g.optionsStr=IS,g.pairToPromise=_h,g.pluckProperty=ch,g.react=V,g.reactArray=at,g.reactArrayCollection=s_,g.reactArrayCollectionWithUndefined=nh,g.reactArrayWithUndefined=Ht,g.reactDeepArray=Cl,g.reactDeepArrayWithUndefined=ss,g.reactJson=dt,g.reactJsonCollection=o_,g.reactJsonCollectionWithUndefined=a_,g.reactJsonWithUndefined=jt,g.reactPlainObject=r_,g.reactPlainObjectWithUndefined=i_,g.reactPosition2Ds=Wd,g.reactPosition2DsSet=u_,g.reactPositions=Sl,g.reactPositionsSet=wp,g.reduce=vu,g.registerCreatedEventUpdate=oS,g.registerEventCtor=mp,g.registerEventUpdate=aS,g.removeAllTreesCallFunc=fy,g.requestAnimationFrameTimeStampTest=w_,g.rpToap=hw,g.saveOnBrowser=y_,g.setCanvasUniformColor=zp,g.setExtProp=ti,g.setPromiseCancel=as,g.setSceneObjectTreeItem=jl,g.setValueFromProps=v_,g.sleep=Eu,g.sleepDeprecated=O_,g.step=Gs,g.stepProcessing=e0,g.throttle=hh,g.timeout=sh,g.track=j,g.uint32ToUint8s=Wp,g.uint8ToHexStr=Su,g.uint8sToUint32=qp,g.updateTreeParamsCallFunc=py,g.webMercToLbh=Ew,g.xyz2N2=b_,g.xyz2N3=P_,g.xyzToLbh=jg,g.xyzw2N4=I_,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
|