@juun-roh/cesium-utils
Version:
Solve common Cesium.js challenges: combine multiple terrain sources, tag and filter entity collections, and add visual highlights.
2 lines (1 loc) • 5.63 kB
JavaScript
var P=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var b=(a,e,i,r)=>{for(var t=r>1?void 0:r?E(e,i):e,n=a.length-1,s;n>=0;n--)(s=a[n])&&(t=(r?s(e,i,t):s(t))||t);return r&&t&&P(e,i,t),t};import{Credit as k,EllipsoidTerrainProvider as A,Event as w}from"cesium";var m=class a{static _instance;_level=a._fromEnv();constructor(){}static get(){return this._instance||(this._instance=new a),this._instance}debug(...e){this._emit(a.Level.debug,e)}info(...e){this._emit(a.Level.info,e)}warn(...e){this._emit(a.Level.warn,e)}error(...e){this._emit(a.Level.error,e)}static _fromEnv(){let e=process.env.LOG_LEVEL?.toLowerCase();return e&&e in a.Level?a.Level[e]:a.Level.info}_emit(e,i){if(e<this._level)return;let r=a.Level[e];console[r==="debug"?"log":r](`[${r.toUpperCase()}]`.padEnd(a.LABEL_PAD+2),...i)}};(i=>{let a;(o=>(o[o.debug=0]="debug",o[o.info=1]="info",o[o.warn=2]="warn",o[o.error=3]="error"))(a=i.Level||={}),i.LABEL_PAD=Math.max(...Object.keys(i.Level).map(r=>r.length))})(m||={});var p=m;var x=p.get();function c({once:a=!0,includeStack:e=!1,message:i}){return(r,t,n)=>{let{label:s}=i;function o(){(!a||!c.has(s))&&(x.warn(L(i)),e&&console.trace("Deprecation stack trace:"),c.add(s))}if(t===void 0)return class extends r{constructor(...d){o(),super(...d)}};if(n===void 0){o();return}if(n.get){let d=n.get;if(n.get=function(){return o(),d.call(this)},n.set){let l=n.set;n.set=function(f){o(),l.call(this,f)}}return n}if(n.set){let d=n.set;return n.set=function(l){o(),d.call(this,l)},n}if(typeof n.value=="function"){let d=n.value;return n.value=function(...l){return o(),d.apply(this,l)},n}return n}}(n=>{let a=new Set;function e(s){a.add(s)}n.add=e;function i(){a.clear()}n.clear=i;function r(){return a.size}n.size=r;function t(s){return a.has(s)}n.has=t})(c||={});function L({label:a,since:e,removedIn:i,replacement:r,additional:t}){return[`${a} is deprecated since ${e}.`,r?`Use ${r} instead.`:void 0,`This will be removed in ${i}.`,t].filter(Boolean).join(" ")}var y=c;var v=class v{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;_errorEvent;_removeEventListeners;_hasWaterMask;_hasVertexNormals;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new A,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,this._hasWaterMask=this._defaultProvider.hasWaterMask||this._regions.some(r=>r.provider.hasWaterMask),this._hasVertexNormals=this._defaultProvider.hasVertexNormals||this._regions.some(r=>r.provider.hasVertexNormals),this._errorEvent=new w,this._removeEventListeners=[];let i=new Set;for(let r of this._regions)i.has(r.provider)||(i.add(r.provider),this._removeEventListeners.push(r.provider.errorEvent.addEventListener(t=>{this._errorEvent.raiseEvent(t)})));i.has(this._defaultProvider)||this._removeEventListeners.push(this._defaultProvider.errorEvent.addEventListener(r=>{this._errorEvent.raiseEvent(r)})),i.has(this._fallbackProvider)||this._removeEventListeners.push(this._fallbackProvider.errorEvent.addEventListener(r=>{this._errorEvent.raiseEvent(r)})),this._ready=!0}get ready(){return this._ready}get tilingScheme(){return this._tilingScheme}get availability(){return this._availability}get regions(){return[...this._regions]}get defaultProvider(){return this._defaultProvider}get fallbackProvider(){return this._fallbackProvider}get credit(){let e=new Set,i=[];for(let r of this._regions){if(e.has(r.provider))continue;e.add(r.provider);let t=r.provider.credit?.html;t&&i.push(t)}if(!e.has(this._defaultProvider)){let r=this._defaultProvider.credit?.html;r&&i.push(r)}return new k(i.join(" "))}get errorEvent(){return this._errorEvent}get hasWaterMask(){return this._hasWaterMask}get hasVertexNormals(){return this._hasVertexNormals}loadTileDataAvailability(e,i,r){for(let t of this._regions)if(v.regionContainsTile(t,e,i,r))return t.provider.loadTileDataAvailability(e,i,r);return this._defaultProvider.loadTileDataAvailability(e,i,r)}getLevelMaximumGeometricError(e){let i=this._defaultProvider.getLevelMaximumGeometricError(e);for(let r of this._regions){let t=r.provider.getLevelMaximumGeometricError(e);t>i&&(i=t)}return i}requestTileGeometry(e,i,r,t){if(this._ready){for(let n of this._regions)if(v.regionContainsTile(n,e,i,r))return n.provider.requestTileGeometry(e,i,r,t);return this._defaultProvider.getTileDataAvailable(e,i,r)?this._defaultProvider.requestTileGeometry(e,i,r,t):this._fallbackProvider.requestTileGeometry(e,i,r,t)}}getTileDataAvailable(e,i,r){for(let t of this._regions)if(v.regionContainsTile(t,e,i,r))return!0;return this._defaultProvider.getTileDataAvailable(e,i,r)}destroy(){for(let e of this._removeEventListeners)e();this._removeEventListeners.length=0,this._ready=!1}};b([y({message:{label:"_fallbackProvider",since:"0.4.6",removedIn:"0.5.0"}})],v.prototype,"fallbackProvider",1);var h=v;(r=>{function a(t,n,s){return new r({regions:t.map(o=>({...o})),defaultProvider:n,fallbackProvider:s})}r.fromTileRanges=a;function e(t,n,s,o){if(t.levels&&!t.levels.includes(o))return!1;if(t.tiles){let u=t.tiles.get(o);if(!u)return!1;let[d,l]=Array.isArray(u.x)?u.x:[u.x,u.x],[f,g]=Array.isArray(u.y)?u.y:[u.y,u.y];return n>=d&&n<=l&&s>=f&&s<=g}return!1}r.regionContainsTile=e;let i;(n=>{function t(s,o,u,d){if(s.levels&&!s.levels.includes(d))return!1;if(s.tiles){let l=s.tiles.get(d);if(!l)return!1;let[f,g]=Array.isArray(l.x)?l.x:[l.x,l.x],[_,T]=Array.isArray(l.y)?l.y:[l.y,l.y];return o>=f&&o<=g&&u>=_&&u<=T}return!1}n.contains=t})(i=r.TerrainRegion||={})})(h||={});var M=h;export{M as HybridTerrainProvider};